Skip to content

Commit a workflow version

POST
/v1/channels/{channel_id}/workflow_versions
curl --request POST \
--url http://api.disclosebot.localdev:3000/v1/channels/example/workflow_versions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "data": { "type": "workflow_version", "attributes": { "definition": { "steps": { "additionalProperty": { "kind": "triage", "needs": [ "example" ], "task": "summary", "engine": "ai", "scale": "standard", "instructions": "example", "method": "prompt", "lookback_days": 1, "public_key_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "integration": { "type": "Webhook", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "cloaked": "send", "only_when": { "additionalProperty": [ "example" ] } } } } } } }'

Records the definition as the next version and makes it the running version. Refused with 409 when it equals the running version, and with 422 when the definition fails the checks.

channel_id
required
string
Media type application/json
object
data
required
object
type
required
string
Allowed values: workflow_version
attributes
required
object
definition
required

The flat workflow definition: one entry per step keyed by name

object
steps
required
object
key
additional properties

One step of a workflow definition; the fields depend on kind

object
kind
required
string
Allowed values: triage transmit
needs

Names of the steps this step runs after

Array<string>
task

Triage only

string
Allowed values: summary scope duplicate validity severity
engine

Triage only; rule is available for scope and duplicate

string
Allowed values: ai rule
scale

Triage, severity only

string
Allowed values: standard custom
instructions

Triage, severity with the custom scale

string
<= 2000 characters
method

Triage, duplicate with the ai engine

string
Allowed values: prompt embeddings
lookback_days

Triage, duplicate only

integer
>= 1 <= 365
public_key_id

Transmit only; the body is encrypted to this key before delivery, and sent as it stands without one

string format: uuid
integration

Transmit only

object
type
required
string
Allowed values: Webhook LocalApp
id
required
string format: uuid
cloaked

Transmit only; what to do with a report the reporter encrypted in the browser: send its ciphertext as it stands, or send no body

string
default: send
Allowed values: send drop
only_when

Transmit only; result key to the allowed values

object
key
additional properties
Array<string>

Committed

Media type application/json
object
data
required
object
id
required
string format: uuid
type
required
string
Allowed values: workflow_version
attributes
required
object
number
required
integer
definition
required

The flat workflow definition: one entry per step keyed by name

object
steps
required
object
key
additional properties

One step of a workflow definition; the fields depend on kind

object
kind
required
string
Allowed values: triage transmit
needs

Names of the steps this step runs after

Array<string>
task

Triage only

string
Allowed values: summary scope duplicate validity severity
engine

Triage only; rule is available for scope and duplicate

string
Allowed values: ai rule
scale

Triage, severity only

string
Allowed values: standard custom
instructions

Triage, severity with the custom scale

string
<= 2000 characters
method

Triage, duplicate with the ai engine

string
Allowed values: prompt embeddings
lookback_days

Triage, duplicate only

integer
>= 1 <= 365
public_key_id

Transmit only; the body is encrypted to this key before delivery, and sent as it stands without one

string format: uuid
integration

Transmit only

object
type
required
string
Allowed values: Webhook LocalApp
id
required
string format: uuid
cloaked

Transmit only; what to do with a report the reporter encrypted in the browser: send its ciphertext as it stands, or send no body

string
default: send
Allowed values: send drop
only_when

Transmit only; result key to the allowed values

object
key
additional properties
Array<string>
definition_hash
required
string
committed_at
required
string format: date-time
committed_by_id
string format: uuid
nullable
summary
string
nullable
created_at
string format: date-time
relationships
object
workflow
object
Example
{
"data": {
"type": "workflow_version",
"attributes": {
"definition": {
"steps": {
"additionalProperty": {
"kind": "triage",
"task": "summary",
"engine": "ai",
"scale": "standard",
"method": "prompt",
"integration": {
"type": "Webhook"
},
"cloaked": "send"
}
}
}
}
}
}

Unauthorized

Another organisation

No changes against the running version

Check errors