Activating & Disabling Flows¶
Audience: Everyone · Tags:
flow,status,archive
Purpose. Understand exactly what makes a flow actually run when its trigger fires — and what doesn't.
Be aware up front: SnapLink does not have a separate on/off switch for flows.
There's no "Activate" or "Disable" button and no activate/deactivate API endpoint.
What determines whether a flow runs is simpler than a toggle, and it's worth
understanding precisely.
What actually controls whether a flow runs¶
A flow has a status that is always one of exactly three things:
| Status | How you get here | Does it run? |
|---|---|---|
draft |
Every flow starts here — created but never promoted | No — nothing to run yet |
active |
Automatically, the moment you promote a draft (POST /drafts/:id/promote) |
Yes — its webhook accepts requests and starts runs |
archived |
Explicitly, via POST /flows/:id/archive |
No — permanently retired |
So, in plain terms:
- A flow "turns on" the moment it has a promoted version. There's no separate approval step after promoting — promotion is the activation. This is intentional: it's the same human-approval moment described in Creating Flows and Editing Flows — a person reviewed and promoted this definition, so it's live.
- A flow "turns off" only by being archived. Archiving is one-directional — there's no unarchive endpoint today (see Managing Flows).
- Editing a flow (creating a new draft) does not affect whether the currently active version keeps running — the old version stays live until you promote a new one.
When a webhook call arrives for a flow that isn't active (still draft, or
archived), SnapLink rejects it with 409 FLOW_NOT_ACTIVE and does not create a run.
curl -X POST "https://api.snaplink.cloudsolutionaccelerators.com/api/v1/webhooks/flow_1a2b3c4d5e6f/<secret>" \
-H "Content-Type: application/json" -d '{}'
{ "ok": false, "error": { "code": "FLOW_NOT_ACTIVE", "message": "The flow is not active." } }
"Turning a flow off" today¶
Since there's no pause/disable state, if you need to stop a flow from running, your options are:
- Archive it (
POST /flows/:id/archive) if you're done with it for good — this is permanent and keeps its history for audit. - Rotate its webhook secret (
POST /flows/:id/webhook/rotate) if you want to stop traffic through the current URL without touching the flow's status — this doesn't changestatus, it just invalidates the old secret (after its grace window). See Managing Flows. - Stop calling its webhook at the source — if you control what triggers it, the
simplest way to "pause" a flow is to stop sending events to it. The flow itself
stays
activeand ready.
A true pause/resume toggle that keeps the flow active-adjacent but temporarily
non-running is Planned, not available today.
Checking a flow's current state¶
curl https://api.snaplink.cloudsolutionaccelerators.com/api/v1/flows/flow_1a2b3c4d5e6f \
-H "Authorization: Bearer $TOKEN"
{ "ok": true, "data": { "id": "flow_1a2b3c4d5e6f", "status": "active", "activeVersionId": "ver_00002", "...": "..." } }
Or list everything in a workspace, including archived flows, with
GET /flows?workspaceId=...&includeArchived=true — see
Managing Flows.
Best practices¶
- Don't promote a draft until you actually want it live — promotion and activation are the same action, with no extra confirmation step after it.
- Validate before promoting (see Flow Validation) — since promotion immediately activates, catching problems before that point matters more here than it would with a separate activate step.
- Archive flows you're finished with rather than leaving them
draftforever; it keeps your default flow list (withoutincludeArchived) meaningful.
FAQ¶
Is there any way to temporarily pause an active flow without archiving it? Not today — see "Turning a flow off" above for the closest available options. If I archive a flow, do its past runs disappear? No — run history, versions, and logs are all retained; only future triggering is blocked. Can I un-archive a flow? Not via the API today; rebuild it from a copied version definition if you need it back.
If something goes wrong¶
If you expect a flow to be running and it isn't, check its status here first, then
see Flow not running.
Related: Managing Flows · Creating Flows · Editing Flows