Create funnel
POST https://datafa.st/api/v1/admin/websites/{websiteId}/funnelsCreate a conversion funnel with 2 to 8 ordered steps. Each step matches either a pageview (by URL) or a custom goal (by name).
Duplicate funnel names return 409.
Related: Conversion funnels · Funnel analytics in the API
Request
Path parameters
websiteIdstring
Body parameters
namestring
required
Funnel display name. Example:
"Signup funnel".stepsobject[]
required
Ordered array of 2–8 steps. Each step needs
name, type, and either url (pageview) or goalName (goal).Example request body
{
"name": "Signup funnel",
"steps": [
{ "name": "Landing", "type": "pageview", "url": "/" },
{ "name": "Pricing", "type": "pageview", "url": "/pricing" },
{ "name": "Signup", "type": "goal", "goalName": "signup" }
]
}
Response
Returns a JSON object with
status: "success" and endpoint-specific fields in data.Response fields
data[].idstring
Funnel ObjectId.
data[].websiteIdstring
Website ObjectId used by account tokens to choose which website to query or manage.
data[].namestring
Human-readable name for the resource or event. The exact meaning depends on the endpoint.
data[].slugstring
Generated slug.
data[].stepsobject[]
Ordered funnel steps.
data[].isActiveboolean
Whether the funnel is active.
data[].createdAtstring
Creation timestamp.
data[].updatedAtstring
Last update timestamp.
Authentication
Use a
dft_ account token with funnels:write.A
df_ website API key for the same website can also call this route when the path websiteId matches the key's website. Write access with a df_ key is capped at member level — owner-only actions such as team management require a dft_ token and owner role.Errors
400 — Invalid steps (wrong count, missing
url or goalName, invalid goal name format).409 — Funnel with this name already exists.
See API errors for the standard error envelope, auth failures, validation errors, permission errors, and rate limits.