Skip to content
Start here

Batch create new Workflow instances

client.Workflows.Instances.Bulk(ctx, workflowName, params) (*SinglePage[InstanceBulkResponse], error)
POST/accounts/{account_id}/workflows/{workflow_name}/instances/batch

Creates multiple workflow instances in a single batch operation.

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
ParametersExpand Collapse
workflowName string
maxLength64
minLength1
params InstanceBulkParams
AccountID param.Field[string]

Path param

Body param.Field[[]InstanceBulkParamsBody]optional

Body param

InstanceID stringoptional
maximum100
minimum1
InstanceRetention InstanceBulkParamsBodyInstanceRetentionoptional
ErrorRetention InstanceBulkParamsBodyInstanceRetentionErrorRetentionUnionoptional

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

One of the following:
UnionInt
UnionString
SuccessRetention InstanceBulkParamsBodyInstanceRetentionSuccessRetentionUnionoptional

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

One of the following:
UnionInt
UnionString
Params unknownoptional
ReturnsExpand Collapse
type InstanceBulkResponse struct{…}
ID string
maxLength100
minLength1
Status InstanceBulkResponseStatus
One of the following:
const InstanceBulkResponseStatusQueued InstanceBulkResponseStatus = "queued"
const InstanceBulkResponseStatusRunning InstanceBulkResponseStatus = "running"
const InstanceBulkResponseStatusPaused InstanceBulkResponseStatus = "paused"
const InstanceBulkResponseStatusErrored InstanceBulkResponseStatus = "errored"
const InstanceBulkResponseStatusTerminated InstanceBulkResponseStatus = "terminated"
const InstanceBulkResponseStatusComplete InstanceBulkResponseStatus = "complete"
const InstanceBulkResponseStatusWaitingForPause InstanceBulkResponseStatus = "waitingForPause"
const InstanceBulkResponseStatusWaiting InstanceBulkResponseStatus = "waiting"
VersionID string
formatuuid
WorkflowID string
formatuuid

Batch create new Workflow instances

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/workflows"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  page, err := client.Workflows.Instances.Bulk(
    context.TODO(),
    "x",
    workflows.InstanceBulkParams{
      AccountID: cloudflare.F("account_id"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}
{
  "errors": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "result": [
    {
      "id": "x",
      "status": "queued",
      "version_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "workflow_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
    }
  ],
  "success": true,
  "result_info": {
    "count": 0,
    "per_page": 0,
    "total_count": 0,
    "cursor": "cursor",
    "page": 0
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "result": [
    {
      "id": "x",
      "status": "queued",
      "version_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "workflow_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
    }
  ],
  "success": true,
  "result_info": {
    "count": 0,
    "per_page": 0,
    "total_count": 0,
    "cursor": "cursor",
    "page": 0
  }
}