Skip to content
Start here

Create/modify Workflow

PUT/accounts/{account_id}/workflows/{workflow_name}

Creates a new workflow or updates an existing workflow definition.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Workers Scripts Write
Path ParametersExpand Collapse
account_id: string
workflow_name: string
maxLength64
minLength1
Body ParametersJSONExpand Collapse
class_name: string
maxLength255
minLength1
script_name: string
maxLength255
minLength1
concurrency: optional object { limit }
limit: optional number

Maximum number of instances of this workflow that can run concurrently. Additional instances are queued and started as running instances complete. Must not exceed the account concurrency limit.

maximum9007199254740991
minimum1
default_retention: optional object { error_retention, success_retention }

Default retention applied to instances of this version when they do not set their own retention.

error_retention: optional number or string

Specifies the duration in milliseconds or as a string like ‘5 minutes’.

One of the following:
number

Specifies the duration in milliseconds.

string
success_retention: optional number or string

Specifies the duration in milliseconds or as a string like ‘5 minutes’.

One of the following:
number

Specifies the duration in milliseconds.

string
limits: optional object { steps }
steps: optional number
maximum9007199254740991
minimum1
schedules: optional array of object { cron }
cron: string
maxLength256
minLength1
ReturnsExpand Collapse
errors: array of object { code, message }
code: number
message: string
messages: array of object { code, message }
code: number
message: string
result: object { id, class_name, created_on, 7 more }
id: string
formatuuid
class_name: string
created_on: string
formatdate-time
is_deleted: number
modified_on: string
formatdate-time
name: string
maxLength64
minLength1
script_name: string
terminator_running: number
triggered_on: string
formatdate-time
version_id: string
formatuuid
success: true
result_info: optional object { count, per_page, total_count, 3 more }
count: number
per_page: number
total_count: number
cursor: optional string
page: optional number
total_pages: optional number

Create/modify Workflow

curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/workflows/$WORKFLOW_NAME \
    -X PUT \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    -d '{
          "class_name": "x",
          "script_name": "x"
        }'
{
  "errors": [],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "result": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "class_name": "class_name",
    "created_on": "2019-12-27T18:11:19.117Z",
    "is_deleted": 0,
    "modified_on": "2019-12-27T18:11:19.117Z",
    "name": "x",
    "script_name": "script_name",
    "terminator_running": 0,
    "triggered_on": "2019-12-27T18:11:19.117Z",
    "version_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
  },
  "success": true,
  "result_info": {
    "count": 0,
    "per_page": 0,
    "total_count": 0,
    "cursor": "cursor",
    "page": 0,
    "total_pages": 0
  }
}
Returns Examples
{
  "errors": [],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "result": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "class_name": "class_name",
    "created_on": "2019-12-27T18:11:19.117Z",
    "is_deleted": 0,
    "modified_on": "2019-12-27T18:11:19.117Z",
    "name": "x",
    "script_name": "script_name",
    "terminator_running": 0,
    "triggered_on": "2019-12-27T18:11:19.117Z",
    "version_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
  },
  "success": true,
  "result_info": {
    "count": 0,
    "per_page": 0,
    "total_count": 0,
    "cursor": "cursor",
    "page": 0,
    "total_pages": 0
  }
}