Skip to main content
GET
cURL
Returns the full workflow document — not the minimal { id, name, folderId } rows from List workflows. The response includes canvas data, execution parsedData, trigger, variables, settings, lastModified, and (on the Expert AI plan) analytics. URL-encode workflowId in the path. If analytics is missing, the plan may not include canvas analytics — do not invent counts. How to interpret the object and PUT graph changes: Workflow analytics. To build or edit data / parsedData, read Build workflows first.

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

Full workflow document

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