Skip to main content
PUT
Write a workflow’s steps
Replaces a workflow’s steps with the lines you send. Read the workflow with Get a workflow, change its lines, and send them back with If-Match set to the version you read. A change made since then is never written over: the answer is 409 with the newest version and lines, so you can merge your change into them and send it again. A PUT to an id no workflow has makes a new one. A workflow that is on and can no longer run after the change is turned off, and the answer says turned_off: true. A write that changes nothing writes nothing, and the version stays.

Path parameters

string
required
The workflow’s id, like morning-report: lowercase letters, digits and -, at most 60.

Headers

string
The version you read, as Get a workflow gave it in version or the ETag header. Without it, the write is made over whatever is there now.
string
Who is writing, at most 30 characters, like Claude Code. The canvas names you on the change.

Request body

string
required
The whole workflow, one JSON object per step, the start first. The format is at orgo.ai/workflows.md.
string
An IANA zone its times are read in, like America/New_York.

Response

The workflow as kept, in the same shape Get a workflow answers, with the new version in version and the ETag header. lines are the lines as the canvas reads them, and the next GET hands back exactly those. Two more fields appear only when they apply:
string[]
What you sent that was left out or rewritten.
boolean
true when this write left it unable to run, so it was turned off.

Example

Response

A version conflict (409)

When the workflow was deleted since you read it, version and lines are null: send it again without If-Match to make it again.

Errors

Authorizations

Authorization
string
header
required

API key authentication. Get your key at orgo.ai/workspaces

Headers

If-Match
string

The version you read (GET’s version, or its ETag).

X-Agent
string

Who you are, as the canvas names you (like Claude Code).

Maximum string length: 30

Path Parameters

id
string
required
Pattern: ^[a-z0-9-]{1,60}$

Body

application/json
lines
string
required

One JSON object per step, the start first (https://www.orgo.ai/workflows.md).

time_zone
string

An IANA zone its times are read in, like America/New_York.

Response

The workflow, as kept.

id
string
required
Pattern: ^[a-z0-9-]{1,60}$
name
string | null
required
on
boolean
required

Whether its start runs it. It is on only while it can run.

version
integer
required

Send it as If-Match on a write.

lines
string
required

The workflow, one JSON object per step, the start first (https://www.orgo.ai/workflows.md).

settings
object
required

What it asks for once, name to value.

to_fix
string[]
required

What still has to be done before it can run, in the person’s words. Empty: ready.

problems
object[]
required
turned_off
boolean

This write left it unable to run, so it was turned off.

dropped
string[]

What of the lines sent was left out or rewritten.