Show examples in:
Javascript HTTP
Endpoint info
Available examples

Content Management API > Workflow

Create a new workflow

Body parameters

id string Optional

RFC 4122 UUID of workflow expressed in URL-safe base64 format

Example: "uJzC2b6YQg-DW2A5edpQYQ"
type string Required

Must be exactly "workflow".

attributes.name string Required

The name of the workflow

Example: "Approval by editors required"
attributes.stages Required

The stages of the workflow

Type: Array<object>
Example: [{ id: "waiting_for_review", name: "Waiting for review", initial: true }]
id string Required

ID of the stage

Example: "waiting_for_review"
name string Required

Name of the stage

Example: "Waiting for review"
description string, null Optional

Description of the stage

Example: "Editor has finished writing and is waiting for approval from a supervisor"
initial boolean Optional

Whether this is the initial stage or not

attributes.api_key string Required

Workflow API key

Example: "approval_by_editors"

Returns

Returns a resource object of type workflow.

Examples

1
POST https://site-api.datocms.com/workflows HTTP/1.1
2
Authorization: Bearer YOUR-API-TOKEN
3
Accept: application/json
4
X-Api-Version: 3
5
Content-Type: application/vnd.api+json
6
7
{
8
"data": {
9
"type": "workflow",
10
"attributes": {
11
"name": "Approval by editors required",
12
"stages": [
13
{
14
"id": "waiting_for_review",
15
"name": "Waiting for review",
16
"initial": true
17
}
18
],
19
"api_key": "approval_by_editors"
20
}
21
}
22
}
Terminal window
1
curl -g 'https://site-api.datocms.com/workflows' \
2
-X POST \
3
-H "Authorization: Bearer YOUR-API-TOKEN" \
4
-H "Accept: application/json" \
5
-H "X-Api-Version: 3" \
6
-H "Content-Type: application/vnd.api+json" \
7
--data-binary '{"data":{"type":"workflow","attributes":{"name":"Approval by editors required","stages":[{"id":"waiting_for_review","name":"Waiting for review","initial":true}],"api_key":"approval_by_editors"}}}'
1
await fetch("https://site-api.datocms.com/workflows", {
2
method: "POST",
3
headers: {
4
Authorization: "Bearer YOUR-API-TOKEN",
5
Accept: "application/json",
6
"X-Api-Version": "3",
7
"Content-Type": "application/vnd.api+json",
8
},
9
body: JSON.stringify({
10
data: {
11
type: "workflow",
12
attributes: {
13
name: "Approval by editors required",
14
stages: [
15
{
16
id: "waiting_for_review",
17
name: "Waiting for review",
18
initial: true,
19
},
20
],
21
api_key: "approval_by_editors",
22
},
23
},
24
}),
25
});
1
HTTP/1.1 200 OK
2
Content-Type: application/json
3
Cache-Control: cache-control: max-age=0, private, must-revalidate
4
X-RateLimit-Limit: 30
5
X-RateLimit-Remaining: 28
6
7
{
8
"data": {
9
"type": "workflow",
10
"id": "uJzC2b6YQg-DW2A5edpQYQ",
11
"attributes": {
12
"name": "Approval by editors required",
13
"stages": [
14
{
15
"id": "waiting_for_review",
16
"name": "Waiting for review",
17
"initial": true
18
}
19
],
20
"api_key": "approval_by_editors"
21
}
22
}
23
}