Skip to main content
POST
cURL
Zeros every canvas analytics counter on this workflow (totalStarted, totalCompleted, totalDropped, nodeStats, edgeStats, buttonStats). URL-encode workflowId in the path. No request body. Requires the Expert AI plan (403 otherwise) and the same Cookie + x-api-key as other Workflows calls. Destructive — only when the user explicitly asks. Returns the updated workflow document. Use the new lastModified on the next graph PUT. How to read analytics (GET, not this endpoint) and change the graph: Workflow analytics.

Authorizations

Personal access token from Pingmee Settings → Developer Tools

x-api-key
string
header
required

Business API key from Pingmee Settings → Developer Tools

Path Parameters

workflowId
string
required

Workflow identifier. Must be URL-encoded when used in the path.

Response

Updated workflow with empty analytics

id
string
required

Workflow identifier.

name
string
required

Workflow name.

folderId
string

Folder this workflow belongs to.

associatedTo
string

Account id. Set by the server from the Cookie — do not invent this value.

associatedToBusinessId
string

WhatsApp phone-number id from GET /phone-numbers (row id, not the WABA associatedBusinessId) or Facebook page id. Required for WhatsApp send. See /build-workflows/document.

associatedToPlatformId
string

Optional alias of the same phone-number id or Facebook page id as associatedToBusinessId.

platformType
string

Platform this workflow is bound to (whatsapp, facebookMessenger, instagram, web). Set on create with associatedToBusinessId.

isActive
boolean

Whether the workflow runs. Create always stores false. Activate with PUT { isActive: true }.

created
integer

Unix timestamp (seconds). Set by the server on create.

lastModified
integer

Unix timestamp (seconds). Echo this on graph PUTs or the API returns 409.

triggerType
string

Usually trigger.data.eventType. The trigger node is workflow.trigger, not inside parsedData.

trigger
object

Execution node used in parsedData, trigger, and subNodes. Branching is which sub-node's connections.out — there are no handle ids here. Node data is a loose object; read /build-workflows/overview before building it.

variables
object

Workflow-level variable map. Usually {} unless set. Nested variable objects are loose — see /build-workflows/variables.

data
object

React Flow canvas (workflow.data from toObject()). Required for the editor. Always send together with parsedData + trigger when saving a graph. Node form payloads are not fully specified here — read /build-workflows/overview before building data.

parsedData
object[]

Execution graph: parent nodes only. Sub-nodes hang off parent.subNodes[]. Runtime starts at trigger.connections.out[0].

settings
object

Optional shared timeout / fallback and other workflow settings.

notes
string

Manual notes or description.

executionCount
integer

Number of times the workflow has executed. Server-managed.

lastExecution
integer

Unix timestamp of the last execution. Server-managed.

analytics
object

Canvas analytics on GET /workflows/{workflowId} (Expert AI plan). Omitted when the plan does not include canvas analytics — do not invent counts. Server-managed; do not send on PUT. A graph PUT prunes nodeStats, edgeStats, and buttonStats for ids no longer on the graph. See /build-workflows/analytics.

selected
boolean

Editor UI flag. Not required for API saves.

Last modified on September 4, 2026