> ## Documentation Index
> Fetch the complete documentation index at: https://help.hoopai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Funnels Overview

> Build, manage, and optimize sales funnels and funnel pages using the HoopAI Platform REST API. Automate funnel creation, redirect rules, order forms, and domain management programmatically.

The Funnels API gives you programmatic control over every part of your sales funnel infrastructure on the HoopAI Platform. Create and manage funnels, funnel steps, funnel pages, order forms, URL redirects, domains, custom events, and product listings — all through a single REST API. Whether you are building automated onboarding flows, syncing funnel data with external systems, or managing a multi-location organization, the Funnels API provides the endpoints you need to operate at scale.

## Base URL

```
https://services.leadconnectorhq.com
```

## Authentication

All requests require a Bearer token in the `Authorization` header. Obtain tokens through the [OAuth 2.0 flow](/api-reference/oauth/overview).

```http theme={null}
Authorization: Bearer <access_token>
Version: 2021-07-28
```

The `Version` header is required on every request and must be set to `2021-07-28`.

## OAuth scopes

| Scope              | Access                                                                     |
| ------------------ | -------------------------------------------------------------------------- |
| `funnels.readonly` | Read funnel data, pages, redirects, and order forms                        |
| `funnels.write`    | Full read and write access including create, update, and delete operations |

## Quick start

Retrieve your list of funnels for a given location:

```bash theme={null}
curl --request GET \
  --url 'https://services.leadconnectorhq.com/funnels/funnel/list?locationId=YOUR_LOCATION_ID' \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  --header 'Version: 2021-07-28'
```

## Endpoints

The Funnels API is organized around six resource groups.

### Funnels

| Method  | Path                                        | Description                             |
| ------- | ------------------------------------------- | --------------------------------------- |
| `GET`   | `/funnels/funnel/list`                      | List all funnels for a location         |
| `POST`  | `/funnels/funnel/create`                    | Create a new funnel                     |
| `GET`   | `/funnels/funnel/fetch/{id}`                | Fetch a funnel by ID                    |
| `PATCH` | `/funnels/funnel/update/{id}`               | Update a funnel                         |
| `POST`  | `/funnels/funnel/delete`                    | Delete a funnel                         |
| `POST`  | `/funnels/funnel/clone-funnel-to-locations` | Clone a funnel to one or more locations |
| `GET`   | `/funnels/funnel/{funnelId}/step/{id}`      | Fetch a funnel step                     |
| `POST`  | `/funnels/funnel/create-step`               | Create a new funnel step                |
| `PUT`   | `/funnels/funnel/step/{id}`                 | Update a funnel step                    |
| `POST`  | `/funnels/funnel/delete-step`               | Delete a funnel step                    |
| `POST`  | `/funnels/funnel/clone-funnel-step`         | Clone a funnel step                     |

### Pages

| Method | Path                                  | Description          |
| ------ | ------------------------------------- | -------------------- |
| `GET`  | `/funnels/page/list`                  | List funnel pages    |
| `GET`  | `/funnels/page/{id}`                  | Fetch a page by ID   |
| `POST` | `/funnels/page/create-page`           | Create a new page    |
| `POST` | `/funnels/funnel/funnel-page/{id}`    | Update a funnel page |
| `GET`  | `/funnels/page/data`                  | Fetch page data      |
| `POST` | `/funnels/page/view/workflow/trigger` | Page visit trigger   |
| `GET`  | `/funnels/page/view/event`            | Page visit event     |

### Redirects (URL lookups)

| Method   | Path                              | Description                |
| -------- | --------------------------------- | -------------------------- |
| `POST`   | `/funnels/lookup/redirect`        | Create a redirect rule     |
| `PATCH`  | `/funnels/lookup/redirect/{id}`   | Update a redirect by ID    |
| `DELETE` | `/funnels/lookup/redirect/{id}`   | Delete a redirect by ID    |
| `GET`    | `/funnels/lookup/redirect/list`   | List all redirects         |
| `GET`    | `/funnels/lookup/domain-and-path` | Look up by domain and path |

### Domains

| Method   | Path                                   | Description                 |
| -------- | -------------------------------------- | --------------------------- |
| `GET`    | `/funnels/domain/list`                 | List domains                |
| `POST`   | `/funnels/domain`                      | Create a domain             |
| `GET`    | `/funnels/domain/{id}`                 | Fetch a domain by ID        |
| `PUT`    | `/funnels/domain/{id}`                 | Update a domain             |
| `DELETE` | `/funnels/domain`                      | Delete a domain             |
| `POST`   | `/funnels/domain/attach-domain`        | Attach a domain to a funnel |
| `POST`   | `/funnels/domain/detach-funnel-domain` | Detach a domain             |
| `POST`   | `/funnels/domain/validate`             | Validate a domain           |

### Order forms and products

| Method   | Path                                              | Description                       |
| -------- | ------------------------------------------------- | --------------------------------- |
| `GET`    | `/funnels/order-form/products`                    | List order form products          |
| `POST`   | `/funnels/order-form/products`                    | Add a product to an order form    |
| `GET`    | `/funnels/order-form/products/{id}`               | Fetch an order form product by ID |
| `PUT`    | `/funnels/order-form/products/{id}`               | Update an order form product      |
| `DELETE` | `/funnels/order-form/products/{id}`               | Delete an order form product      |
| `GET`    | `/funnels/order-form/funnels/{funnelId}/products` | List products for a funnel        |
| `GET`    | `/funnels/order`                                  | List orders                       |
| `GET`    | `/funnels/transaction/list`                       | List transactions                 |

### Events

| Method   | Path                        | Description          |
| -------- | --------------------------- | -------------------- |
| `GET`    | `/funnels/event`            | Fetch all events     |
| `POST`   | `/funnels/event`            | Create an event      |
| `GET`    | `/funnels/event/{id}`       | Fetch an event by ID |
| `PATCH`  | `/funnels/event/{id}`       | Update an event      |
| `DELETE` | `/funnels/event/{id}`       | Delete an event      |
| `POST`   | `/funnels/event/conversion` | Conversion API       |

## Related

* [OAuth 2.0 overview](/api-reference/oauth/overview) — how to obtain and refresh access tokens
* [Contacts API](/api-reference/contacts/overview) — link funnel leads to contact records
* [Opportunities API](/api-reference/opportunities/overview) — move funnel-generated leads through your pipeline
