🎉 Black Friday Deal! Get 30% off the first year of any yearly plan with the code BF2026, until Dec 1


List funnels

Returns the list of funnels for the authenticated project.


Method

GET

Path

/v1/funnels

This endpoint returns all available funnels for the project linked to your API key.

Use it to list funnel definitions and retrieve the IDs and metadata you need before querying funnel analytics.

Headers

Authorization

required

Project API key (starts with vem_), created in the project settings on the API tab. Requests only return data of that key's project.

Example: Bearer vem_xxxxxxxxxxxx

Responses

200 Success
application/json

funnels

Description
All available funnels for the authenticated project.
Type
array<object>

id

Description
Unique funnel id.
Type
string
Example
"550e8400-e29b-41d4-a716-446655440000"

name

Description
Funnel name.
Type
string
Example
"Signup Funnel"

icon

Description
Optional funnel icon.
Type
string | null
Example
"🚀"

steps

Description
Ordered funnel steps.
Type
array<object>
Show nested properties (3)

id

Description
Unique funnel step id.
Type
string
Example
"zvpslSIPFJQ6oiRCXPMm3"

name

Description
Name of the funnel step.
Type
string
Example
"Visited Landing Page"

filter

Description
Condition that determines when the funnel step is considered completed. Either a pageview or a custom event filter.
Type
object
Example
{"type":"page","origin":{"value":"https://example.com","operator":"eq"},"path":{"value":"/blog","operator":"startsWith"}}
Show nested properties (2)

type: page

Description
Filter based on specific page view properties, like the full URL (origin + path + hash) or its individual parts.
Type
object
Default
"page"
Example
{"type":"page","origin":{"value":"https://example.com","operator":"eq"},"path":{"value":"/blog","operator":"startsWith"}}
Show nested properties (3)

origin

Description
Filter based on the page origin (protocol + host). For example, "https://example.com".
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


path

Description
Filter based on the page path. For example, "/blog".
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


hash

Description
Filter based on the page hash. For example, "#section1".
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"



type: event

Description
Filter by event name and/or event property values.
Type
object
Default
"event"
Example
{"type":"event","name":{"operator":"eq","value":"signup"},"properties":[{"property":"plan","operator":"eq","value":"pro"}]}
Show nested properties (2)

name

Description
Filter by event name.
Type
object
Show nested properties (2)

value

Description
Value to filter by
Type
string

operator

Description
Operator to apply for the string filter. "eq" means equals, "notEq" means not equals.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"


properties

Description
Filter by one or more custom event properties.
Type
array<object>
Show nested properties (3)

property

Description
Event property key inside custom event data.
Type
string
Example
"provider"

value

Description
Event property value to compare against.
Type
string
Example
"github"

operator

Description
String matching operator for value.
Type
"any" | "eq" | "notEq" | "contains" | "notContains" | "startsWith" | "endsWith"
Example
"eq"





createdAt

Description
Funnel creation timestamp (ISO 8601).
Type
string
Example
"2026-03-01T10:00:00.000Z"

updatedAt

Description
Funnel last update timestamp (ISO 8601).
Type
string
Example
"2026-03-02T11:30:00.000Z"


400 Bad request - invalid request payload or parameters
application/json

error

Description
Error details.
Type
object

code

Description
Machine-readable error code. HTTP_ERROR is returned for a malformed JSON body.
Type
"VALIDATION_ERROR" | "HTTP_ERROR"

message

Description
Human-readable error message.
Type
string

details

Description
Per-field validation issues. Only present for VALIDATION_ERROR.
Type
array<object>
Show nested properties (2)

field

Description
Path to the invalid request field.
Type
string
Example
"groupBy.0"

message

Description
Validation error message for the field.
Type
string



401 Unauthorized - missing, malformed, invalid or revoked API key
application/json

error

Description
Error details.
Type
object

code

Description
Machine-readable error code.
Type
"UNAUTHORIZED"

message

Description
Human-readable error message.
Type
string


429 Rate limit exceeded - retry after the number of seconds in the Retry-After header
application/json

error

Description
Error details.
Type
object

code

Description
Machine-readable error code.
Type
"RATE_LIMIT_EXCEEDED"

message

Description
Human-readable error message.
Type
string


500 Unexpected internal error
application/json

error

Description
Error details.
Type
object

code

Description
Machine-readable error code.
Type
"INTERNAL_ERROR"

message

Description
Human-readable error message.
Type
string


Ready to understand your users?

Start tracking
Pricing About Documentation Customers Changelog Blog