Access the ClickFunnels 2.0 API with managed OAuth authentication. Manage contacts, products, orders, courses, forms, webhooks, and more.
Reference
List Teams
GET /clickfunnels/api/v2/teamsResponse:
[
{
"id": 412840,
"public_id": "vPNqAp",
"name": "My Team",
"time_zone": "Pacific Time (US & Canada)",
"locale": "en",
"created_at": "2026-02-07T09:28:29.709Z",
"updated_at": "2026-02-07T11:14:32.118Z"
}
]Get Team
GET /clickfunnels/api/v2/teams/{team_id}List Workspaces
GET /clickfunnels/api/v2/teams/{team_id}/workspacesResponse:
[
{
"id": 435231,
"public_id": "JZqWGb",
"team_id": 412840,
"name": "My Workspace",
"subdomain": "myworkspace",
"created_at": "2026-02-07T09:28:31.268Z",
"updated_at": "2026-02-07T09:28:34.498Z"
}
]Get Workspace
GET /clickfunnels/api/v2/workspaces/{workspace_id}List Contacts
GET /clickfunnels/api/v2/workspaces/{workspace_id}/contactsWith filtering:
GET /clickfunnels/api/v2/workspaces/{workspace_id}/contacts?filter[email_address]=user@example.comResponse:
[
{
"id": 1087091674,
"public_id": "PWzmxEx",
"workspace_id": 435231,
"email_address": "user@example.com",
"first_name": "John",
"last_name": "Doe",
"phone_number": null,
"time_zone": null,
"uuid": "eb7a970c-727d-4c82-9209-bd8f7457a801",
"tags": [],
"custom_attributes": {},
"created_at": "2026-02-07T09:28:52.713Z",
"updated_at": "2026-02-07T09:28:52.777Z"
}
]Get Contact
GET /clickfunnels/api/v2/contacts/{contact_id}Create Contact
POST /clickfunnels/api/v2/workspaces/{workspace_id}/contacts
Content-Type: application/json
{
"contact": {
"email_address": "newuser@example.com",
"first_name": "Jane",
"last_name": "Smith",
"phone_number": "+1234567890"
}
}Update Contact
PUT /clickfunnels/api/v2/contacts/{contact_id}
Content-Type: application/json
{
"contact": {
"first_name": "Updated Name",
"phone_number": "+1987654321"
}
}Delete Contact
DELETE /clickfunnels/api/v2/contacts/{contact_id}Returns HTTP 204 on success.
Upsert Contact
Create or update a contact based on matching email:
POST /clickfunnels/api/v2/workspaces/{workspace_id}/contacts/upsert
Content-Type: application/json
{
"contact": {
"email_address": "user@example.com",
"first_name": "Updated"
}
}GDPR Redact Contact
DELETE /clickfunnels/api/v2/workspaces/{workspace_id}/contacts/{contact_id}/gdpr_destroyList Products
GET /clickfunnels/api/v2/workspaces/{workspace_id}/productsResponse:
[
{
"id": 962732,
"public_id": "jAvBEA",
"workspace_id": 435231,
"name": "My Product",
"current_path": "/my-product",
"archived": false,
"visible_in_store": true,
"visible_in_customer_center": true,
"default_variant_id": 5361073,
"variant_ids": [5361073],
"price_ids": [],
"tag_ids": [],
"created_at": "2026-02-09T07:23:02.158Z",
"updated_at": "2026-02-09T07:23:02.163Z"
}
]Get Product
GET /clickfunnels/api/v2/products/{product_id}Create Product
POST /clickfunnels/api/v2/workspaces/{workspace_id}/products
Content-Type: application/json
{
"product": {
"name": "New Product",
"visible_in_store": true,
"visible_in_customer_center": true
}
}Update Product
PUT /clickfunnels/api/v2/products/{product_id}
Content-Type: application/json
{
"product": {
"name": "Updated Product Name"
}
}Archive Product
POST /clickfunnels/api/v2/products/{product_id}/archiveUnarchive Product
POST /clickfunnels/api/v2/products/{product_id}/unarchiveList Orders
GET /clickfunnels/api/v2/workspaces/{workspace_id}/ordersGet Order
GET /clickfunnels/api/v2/orders/{order_id}Update Order
PUT /clickfunnels/api/v2/orders/{order_id}
Content-Type: application/json
{
"order": {
"notes": "Updated order notes"
}
}List Fulfillments
GET /clickfunnels/api/v2/workspaces/{workspace_id}/fulfillmentsGet Fulfillment
GET /clickfunnels/api/v2/fulfillments/{fulfillment_id}Create Fulfillment
POST /clickfunnels/api/v2/workspaces/{workspace_id}/fulfillments
Content-Type: application/json
{
"fulfillment": {
"contact_id": 1087091674,
"location_id": 12345,
"tracking_url": "https://tracking.example.com/123",
"shipping_provider": "ups",
"tracking_code": "1Z999AA10123456784",
"notify_customer": true
}
}Cancel Fulfillment
POST /clickfunnels/api/v2/fulfillments/{fulfillment_id}/cancelList Courses
GET /clickfunnels/api/v2/workspaces/{workspace_id}/coursesGet Course
GET /clickfunnels/api/v2/courses/{course_id}List Enrollments
GET /clickfunnels/api/v2/courses/{course_id}/enrollmentsCreate Enrollment
POST /clickfunnels/api/v2/courses/{course_id}/enrollments
Content-Type: application/json
{
"courses_enrollment": {
"contact_id": 1087091674
}
}Update Enrollment
PUT /clickfunnels/api/v2/courses/{course_id}/enrollments/{enrollment_id}
Content-Type: application/json
{
"courses_enrollment": {
"suspended": true,
"suspension_reason": "Payment failed"
}
}List Forms
GET /clickfunnels/api/v2/workspaces/{workspace_id}/formsResponse:
[
{
"id": 442896,
"public_id": "NdOxzL",
"workspace_id": 435231,
"name": "Contact Form",
"created_at": "2026-02-07T09:28:33.316Z",
"updated_at": "2026-02-07T09:28:33.316Z"
}
]Get Form
GET /clickfunnels/api/v2/forms/{form_id}List Form Submissions
GET /clickfunnels/api/v2/forms/{form_id}/submissionsList Images
GET /clickfunnels/api/v2/workspaces/{workspace_id}/imagesResponse:
[
{
"id": 20670308,
"public_id": "mvvWWM",
"url": "https://statics.myclickfunnels.com/workspace/JZqWGb/image/20670308/file/image.png",
"workspace_id": 435231,
"alt_text": null,
"name": null,
"created_at": "2026-02-07T09:28:40.102Z",
"updated_at": "2026-02-07T09:29:01.697Z"
}
]Create Image (via URL)
POST /clickfunnels/api/v2/workspaces/{workspace_id}/images
Content-Type: application/json
{
"image": {
"upload_source_url": "https://example.com/image.png"
}
}List Webhook Endpoints
GET /clickfunnels/api/v2/workspaces/{workspace_id}/webhooks/outgoing/endpointsResponse:
[
{
"id": 96677,
"public_id": "vBZlEl",
"workspace_id": 435231,
"url": "https://example.com/webhook",
"name": "My Webhook",
"event_type_ids": ["contact.created"],
"api_version": 2,
"webhook_secret": "e779d4b2faa7d986...",
"created_at": "2026-02-09T07:23:22.295Z",
"updated_at": "2026-02-09T07:23:22.295Z"
}
]Create Webhook Endpoint
POST /clickfunnels/api/v2/workspaces/{workspace_id}/webhooks/outgoing/endpoints
Content-Type: application/json
{
"webhooks_outgoing_endpoint": {
"url": "https://example.com/webhook",
"name": "New Webhook",
"event_type_ids": ["contact.created", "order.created"]
}
}Get Webhook Endpoint
GET /clickfunnels/api/v2/webhooks/outgoing/endpoints/{endpoint_id}Update Webhook Endpoint
PUT /clickfunnels/api/v2/webhooks/outgoing/endpoints/{endpoint_id}
Content-Type: application/json
{
"webhooks_outgoing_endpoint": {
"name": "Updated Webhook",
"event_type_ids": ["contact.created", "contact.updated"]
}
}Delete Webhook Endpoint
DELETE /clickfunnels/api/v2/webhooks/outgoing/endpoints/{endpoint_id}Returns HTTP 204 on success.