Webhooks

Endpoints for managing webhook subscriptions. Webhooks allow CheckFlow to send real-time event notifications to a URL of your choice when things happen in your team.

For a general overview of webhooks in CheckFlow, see the Webhooks documentation.


List Webhook Subscriptions

Returns webhook subscriptions, optionally filtered by source and event type.

GET /api/web-hook/subscriptions

Request Headers

HeaderRequiredDescription
X-API-KEYYesYour API key

Query Parameters

ParameterTypeRequiredDefaultDescription
sourcestringNoALLFilters by the source of the webhook (e.g. zapier).
eventTypestringNoALLFilters by event type. Values: ALL, new_checklist, task_completed, file_uploaded.

Example Request

GET https://app.checkflow.io/api/web-hook/subscriptions?eventType=task_completed
X-API-KEY: your-api-key-here

Response Codes

CodeDescription
200Returns matching webhook subscriptions.
401API key is missing or invalid.
404No subscriptions found matching the criteria.

Create Webhook Subscription

Creates a new webhook subscription. When the specified event occurs, CheckFlow will send a POST request containing the event data to the targetUrl.

POST /api/web-hook/subscribe

Request Headers

HeaderRequiredDescription
X-API-KEYYesYour API key

Query Parameters

ParameterTypeRequiredDescription
sourcestringYesA label identifying the source of this subscription (e.g. zapier, custom).
eventTypestringYesThe event that triggers the webhook. Values: new_checklist, task_completed, file_uploaded.
targetUrlstringYesThe URL that CheckFlow will POST the event data to.
templateKeystring (GUID)ConditionalRequired when eventType is new_checklist. The key of the template to watch.
taskKeystring (GUID)ConditionalRequired when eventType is task_completed. The key of the task to watch.
taskContentKeystring (GUID)ConditionalRequired when eventType is file_uploaded. The key of the File Upload control to watch.

Event Type Requirements

eventTypeRequired Key
new_checklisttemplateKey — fires when a new checklist is created from this template
task_completedtaskKey — fires when this task is completed in any checklist
file_uploadedtaskContentKey — fires when a file is uploaded to this File Upload control

Example Requests

Subscribe to new checklists:

POST https://app.checkflow.io/api/web-hook/subscribe?source=custom&eventType=new_checklist&targetUrl=https://example.com/hooks/new-checklist&templateKey=0e7ad584-7788-4ab1-95a6-ca0a5b444cbb
X-API-KEY: your-api-key-here

Subscribe to task completions:

POST https://app.checkflow.io/api/web-hook/subscribe?source=custom&eventType=task_completed&targetUrl=https://example.com/hooks/task-done&taskKey=07072bc4-f1eb-4536-819a-1ddb7dc109a1
X-API-KEY: your-api-key-here

Subscribe to file uploads:

POST https://app.checkflow.io/api/web-hook/subscribe?source=custom&eventType=file_uploaded&targetUrl=https://example.com/hooks/file&taskContentKey=50d58518-e049-4474-84c7-036236e52923
X-API-KEY: your-api-key-here

Example Response

{
"id": "b90dd809-eefc-447e-8c17-5f0ca96df701",
"source": "custom",
"eventType": "task_completed",
"targetURL": "https://example.com/hooks/task-done",
"isActive": true,
"taskKey": "07072bc4-f1eb-4536-819a-1ddb7dc109a1"
}

Response Codes

CodeDescription
200Returns the newly created subscription.
400Missing or invalid eventType, or required key not provided.
401API key is missing or invalid.

Delete Webhook Subscription

Deletes an existing webhook subscription.

DELETE /api/web-hook/unsubscribe

Request Headers

HeaderRequiredDescription
X-API-KEYYesYour API key

Query Parameters

ParameterTypeRequiredDescription
subscriptionIdstring (GUID)YesThe ID of the subscription to delete. Use List Webhook Subscriptions to find the ID.

Example Request

DELETE https://app.checkflow.io/api/web-hook/unsubscribe?subscriptionId=b90dd809-eefc-447e-8c17-5f0ca96df701
X-API-KEY: your-api-key-here

Response Codes

CodeDescription
200Subscription deleted successfully.
400Could not parse subscriptionId.
401API key is missing or invalid.