# 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

# What's next