Managing Flows¶
Audience: Everyone · Tags:
flow,manage,webhook,archive
Purpose. Find your flows, see their webhook URLs, rotate a leaked secret, and retire flows you no longer need — all workspace-scoped, so you only ever see flows that belong to your workspaces.
Listing your flows¶
curl "https://api.snaplink.cloudsolutionaccelerators.com/api/v1/flows?workspaceId=ws_92a1c4f0e7b3" \
-H "Authorization: Bearer $TOKEN"
{ "ok": true, "data": { "flows": [
{ "id": "flow_1a2b3c4d5e6f", "name": "New lead to Slack", "status": "active", "activeVersionId": "ver_00002", "...": "..." }
] } }
By default this excludes archived flows. Add includeArchived=true to see everything:
curl "https://api.snaplink.cloudsolutionaccelerators.com/api/v1/flows?workspaceId=ws_92a1c4f0e7b3&includeArchived=true" \
-H "Authorization: Bearer $TOKEN"
Each flow's status is one of draft (created, never promoted), active (has a
promoted version and will run), or archived (retired — see
Activating & Disabling Flows for exactly what
determines whether a flow runs).
Viewing a flow's webhook¶
Every flow gets a unique, secret webhook URL — the address that starts it. Fetch (or lazily create, if this is the first time) it with:
curl https://api.snaplink.cloudsolutionaccelerators.com/api/v1/flows/flow_1a2b3c4d5e6f/webhook \
-H "Authorization: Bearer $TOKEN"
{ "ok": true, "data": {
"flowId": "flow_1a2b3c4d5e6f",
"secret": "5f3a9c1e7b2d4f6a8c0e1b3d5f7a9c1e7b2d4f6a",
"path": "/api/v1/webhooks/flow_1a2b3c4d5e6f/5f3a9c1e7b2d4f6a8c0e1b3d5f7a9c1e7b2d4f6a"
} }
🔒 Never share or commit this URL. It is the entire authorization mechanism for the trigger — anyone who has it can fire your flow. Don't paste it into public issue trackers, chat channels outside your team, or client-side code. If it leaks, rotate it (below) instead of trying to "un-share" it.
Rotating a webhook secret¶
If a webhook URL has leaked, or you're doing routine credential hygiene, rotate the
secret. The old secret keeps working for a grace window (default in the request
below is 24 hours if you omit graceSeconds) so you have time to update whatever is
calling it, without downtime.
curl -X POST https://api.snaplink.cloudsolutionaccelerators.com/api/v1/flows/flow_1a2b3c4d5e6f/webhook/rotate \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"graceSeconds": 3600}'
{ "ok": true, "data": {
"flowId": "flow_1a2b3c4d5e6f",
"secret": "b2c4e6a8f0d2b4c6e8a0f2d4b6c8e0a2f4d6b8c0",
"secretVersion": 2,
"path": "/api/v1/webhooks/flow_1a2b3c4d5e6f/b2c4e6a8f0d2b4c6e8a0f2d4b6c8e0a2f4d6b8c0",
"previousSecretExpiresAt": "2026-07-02T15:10:00.000Z"
} }
Update anything that calls the old URL before previousSecretExpiresAt passes — after
that, it stops accepting requests.
Archiving a flow¶
Archiving retires a flow permanently — it stops running and can't be promoted or edited further, but its history (versions, runs, logs) is kept for audit.
curl -X POST https://api.snaplink.cloudsolutionaccelerators.com/api/v1/flows/flow_1a2b3c4d5e6f/archive \
-H "Authorization: Bearer $TOKEN"
{ "ok": true, "data": { "id": "flow_1a2b3c4d5e6f", "status": "archived", "archivedAt": "2026-07-02T14:20:00.000Z", "...": "..." } }
Archiving is one-directional today — there's no unarchive endpoint. If you need the
flow again, build a new one from the same definition (copy it from
GET /flows/:id/versions).
Best practices¶
- Name flows by outcome so the list stays scannable as it grows.
- Archive flows you're done with instead of leaving inactive drafts lying around — it
keeps
GET /flows(withoutincludeArchived) showing only what's actually relevant. - Rotate a webhook secret the moment you suspect it's been exposed; don't wait.
FAQ¶
Can two people edit the same flow's draft at once? There's no locking — the last
PUT /drafts/:id wins. Coordinate with your team on who's editing what.
Is there a "restore from archive"? Not yet — see the note above.
If something goes wrong¶
If a flow you expect to be running isn't firing, check its status and webhook URL here first, then see Flow not running.
Related: Activating & Disabling Flows · Creating Flows · Editing Flows