# Funnels
NOTE
The URI for the API endpoint is often the same for multiple endpoints, the difference being in HTTP methods.
# Create Funnel
POST https://api.wolfeo.me/v1/funnel
Creates a new funnel. The funnel is created blank (no default steps). Use Create Funnel Step to add steps.
# Example Request
curl --request POST "https://api.wolfeo.me/v1/funnel" \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{"name": "My Launch Funnel"}'
# Parameters
| Parameter | Type | Description |
|---|---|---|
| name* | string | Name of the funnel |
| type | integer | Funnel type (default: 0 — blank) |
* denotes a required parameter
# Possible values for type
| Value | Description |
|---|---|
0 | Blank (no pages) |
1 | Lead funnel |
2 | Sales funnel |
# Sample Return
HTTP 201 Created
{
"success": true,
"data": {
"funnel_id": 17,
"name": "My Launch Funnel",
"type": 0
}
}
# Possible Errors
| Code | HTTP | Description |
|---|---|---|
| NO_SUBDOMAIN | 400 | No subdomain configured for this account |
# Create Funnel Step
POST https://api.wolfeo.me/v1/funnel-step
Adds a new page/step to an existing funnel. A form is automatically created and linked to the step. The URL path is auto-generated from the name (and made unique if needed).
# Example Request
curl --request POST "https://api.wolfeo.me/v1/funnel-step" \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{"funnel_id": 17, "name": "Landing Page"}'
# Parameters
| Parameter | Type | Description |
|---|---|---|
| funnel_id* | integer | The funnel ID to add the step to |
| name* | string | Name of the step |
| type | integer | Step type (default: 1) |
* denotes a required parameter
# Sample Return
HTTP 201 Created
{
"success": true,
"data": {
"step_id": 88,
"funnel_id": 17,
"name": "Landing Page",
"path": "landing-page",
"order": 1
}
}
TIP
path is the URL slug for this step. If landing-page is already taken in this funnel, it becomes landing-page-1, landing-page-2, etc.
# Possible Errors
| Code | HTTP | Description |
|---|---|---|
| NOT_FOUND | 404 | Funnel not found |
# Update Funnel Step Content
PUT https://api.wolfeo.me/v1/funnel-step-content
Sets or replaces the visual builder JSON content for a funnel step page.
# Example Request
curl --request PUT "https://api.wolfeo.me/v1/funnel-step-content" \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"step_id": 88,
"template_json": { "version": 2, "sections": [] },
"title": "My Landing Page",
"description": "Discover our offer"
}'
# Parameters
| Parameter | Type | Description |
|---|---|---|
| step_id* | integer | The step ID to update |
| template_json* | object or string | Builder JSON content — sent as object or JSON string |
| title | string | HTML <title> for the page |
| description | string | SEO meta description |
* denotes a required parameter
# Sample Return
{
"success": true,
"data": {
"step_id": 88,
"funnel_id": 17,
"updated": true
}
}
# Possible Errors
| Code | HTTP | Description |
|---|---|---|
| NOT_FOUND | 404 | Funnel step not found |
# List Funnels
GET https://api.wolfeo.me/v1/funnels
Returns a paginated list of all funnels in your account.
# Example Request
curl --request GET "https://api.wolfeo.me/v1/funnels?page=1&per_page=25" \
--header "Authorization: Bearer YOUR_API_KEY"
# Parameters
| Parameter | Type | Description |
|---|---|---|
| page | integer | Page number (default: 1) |
| per_page | integer | Results per page — max 100 (default: 50) |
# Sample Return
{
"success": true,
"data": [
{
"funnel_id": 17,
"name": "My Launch Funnel",
"type": 0,
"created_at": "2024-01-15T09:00:00.000000Z"
},
{
"funnel_id": 18,
"name": "Lead Magnet Funnel",
"type": 1,
"created_at": "2024-02-10T14:00:00.000000Z"
}
],
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 50,
"total": 2
}
}
# Get a Funnel
GET https://api.wolfeo.me/v1/funnel
Returns a single funnel with all its steps.
# Example Request
curl --request GET "https://api.wolfeo.me/v1/funnel?funnel_id=17" \
--header "Authorization: Bearer YOUR_API_KEY"
# Parameters
| Parameter | Type | Description |
|---|---|---|
| funnel_id* | integer | The funnel ID |
* denotes a required parameter
# Sample Return
{
"success": true,
"data": {
"funnel_id": 17,
"name": "My Launch Funnel",
"type": 0,
"created_at": "2024-01-15T09:00:00.000000Z",
"steps": [
{
"step_id": 88,
"name": "Landing Page",
"path": "landing-page",
"type": 1,
"order": 1,
"title": "My Landing Page"
}
]
}
}
# Possible Errors
| Code | HTTP | Description |
|---|---|---|
| NOT_FOUND | 404 | Funnel not found |
# Get a Funnel Step
GET https://api.wolfeo.me/v1/funnel-step
Returns a single funnel step.
# Example Request
curl --request GET "https://api.wolfeo.me/v1/funnel-step?step_id=88" \
--header "Authorization: Bearer YOUR_API_KEY"
# Parameters
| Parameter | Type | Description |
|---|---|---|
| step_id* | integer | The step ID |
* denotes a required parameter
# Sample Return
{
"success": true,
"data": {
"step_id": 88,
"funnel_id": 17,
"name": "Landing Page",
"path": "landing-page",
"type": 1,
"order": 1,
"title": "My Landing Page",
"description": "Discover our offer"
}
}
# Possible Errors
| Code | HTTP | Description |
|---|---|---|
| NOT_FOUND | 404 | Funnel step not found |
# Update Funnel
PUT https://api.wolfeo.me/v1/funnel
Updates an existing funnel's name or type.
# Example Request
curl --request PUT "https://api.wolfeo.me/v1/funnel" \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{"funnel_id": 17, "name": "Renamed Funnel"}'
# Parameters
| Parameter | Type | Description |
|---|---|---|
| funnel_id* | integer | The funnel ID to update |
| name | string | New name for the funnel |
| type | integer | Funnel type — 0, 1, or 2 |
* denotes a required parameter
# Sample Return
{
"success": true,
"data": {
"funnel_id": 17,
"name": "Renamed Funnel",
"type": 0,
"updated": true
}
}
# Possible Errors
| Code | HTTP | Description |
|---|---|---|
| NOT_FOUND | 404 | Funnel not found |
# Update Funnel Step
PUT https://api.wolfeo.me/v1/funnel-step
Updates an existing funnel step's properties.
# Example Request
curl --request PUT "https://api.wolfeo.me/v1/funnel-step" \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{"step_id": 88, "name": "Opt-in Page", "path": "opt-in"}'
# Parameters
| Parameter | Type | Description |
|---|---|---|
| step_id* | integer | The step ID to update |
| name | string | New name for the step |
| type | integer | Step type |
| title | string | HTML <title> for the page |
| path | string | URL slug for the step |
* denotes a required parameter
# Sample Return
{
"success": true,
"data": {
"step_id": 88,
"funnel_id": 17,
"name": "Opt-in Page",
"path": "opt-in",
"type": 1,
"order": 1,
"title": "My Landing Page",
"updated": true
}
}
# Possible Errors
| Code | HTTP | Description |
|---|---|---|
| NOT_FOUND | 404 | Funnel step not found |
| PATH_TAKEN | 409 | This URL path is already used in this funnel |
# Delete Funnel
DELETE https://api.wolfeo.me/v1/funnel
Permanently deletes a funnel and all its associated steps.
WARNING
This action is irreversible. All steps belonging to the funnel will also be deleted.
# Example Request
curl --request DELETE "https://api.wolfeo.me/v1/funnel" \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{"funnel_id": 17}'
# Parameters
| Parameter | Type | Description |
|---|---|---|
| funnel_id* | integer | The funnel ID to delete |
* denotes a required parameter
# Sample Return
{
"success": true,
"data": {
"deleted": true
}
}
# Possible Errors
| Code | HTTP | Description |
|---|---|---|
| NOT_FOUND | 404 | Funnel not found |
# Delete Funnel Step
DELETE https://api.wolfeo.me/v1/funnel-step
Permanently deletes a single funnel step.
# Example Request
curl --request DELETE "https://api.wolfeo.me/v1/funnel-step" \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{"step_id": 88}'
# Parameters
| Parameter | Type | Description |
|---|---|---|
| step_id* | integer | The step ID to delete |
* denotes a required parameter
# Sample Return
{
"success": true,
"data": {
"deleted": true
}
}
# Possible Errors
| Code | HTTP | Description |
|---|---|---|
| NOT_FOUND | 404 | Funnel step not found |