Zernio
Zernio
API Reference

Workflows

Workflows

List workflowsGETCreate workflowPOSTGet workflow with graphGETUpdate workflowPATCHDelete workflowDELETEActivate workflowPOSTPause workflowPOSTDuplicate a workflowPOST

Runs

List workflow runsGETManually start a workflow runPOSTGet an execution's timelineGET

Versions

List a workflow's version historyGETGet a specific workflow versionGETRestore a workflow versionPOST

Other

Start an API-triggered workflowPOST
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Workflows

Update workflow

Update name, description, the graph, or reassign to a different account. The graph can be modified in any status, including active: a run already in progress reloads the saved graph at its next step, and a run parked on a node the edit removed completes instead of failing. Every graph edit is re-validated and an invalid graph answers 400 regardless of status. status is not a field of this request; use the activate and pause endpoints. Account swaps re-validate the graph against the new platform (so e.g. moving from WhatsApp to Facebook surfaces a start_call node as an error instead of silently saving an unrunnable graph).


PATCH
/v1/workflows/{workflowId}

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Path Parameters

workflowId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.workflows.updateWorkflow({  path: {    workflowId: 'workflow_abc123',  },  body: {    name: 'Example',    description: 'Hello, world!',    nodes: [      {        id: 'abc123',        type: 'trigger',      },    ],  },});console.log(data);
{  "success": true,  "workflow": {    "id": "string",    "name": "string",    "description": "string",    "status": "string",    "entryNodeId": "string",    "nodeCount": 0,    "updatedAt": "2019-08-24T14:15:22Z"  }}
Was this page helpful?

Get workflow with graph

Returns a workflow including its full node/edge graph and run stats.

Delete workflow

Permanently delete a workflow and all of its executions.

name?string
description?string
nodes?array<>
edges?array<>
entryNodeId?string|null
accountId?string

Reassign the workflow to a different SocialAccount. platform and profileId are derived server-side from the new account (the client never sends them directly). The account must belong to the caller's team and be on a workflow-supported platform (whatsapp, instagram, facebook, telegram, twitter, bluesky, reddit). Changing this triggers a graph revalidation against the new platform.