Skip to main content
POST
/
{workflowID}
/
bulk-trigger
Bulk trigger workflow
curl --request POST \
  --url https://workflows.eachlabs.run/api/v1/{workflowID}/bulk-trigger \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "inputs": [
    {
      "prompt": "Generate image of a sunset",
      "style": "photorealistic"
    },
    {
      "prompt": "Generate image of mountains",
      "style": "artistic"
    },
    {
      "prompt": "Generate image of ocean",
      "style": "minimalist"
    }
  ],
  "version_id": "v1",
  "webhook_url": "https://your-api.com/webhooks/workflow-completed"
}
'
{
  "bulk_id": "550e8400-e29b-41d4-a716-446655440000",
  "executions": [
    {
      "execution_id": "exec-1",
      "status": "queued",
      "started_at": "2025-12-20T10:00:00Z"
    },
    {
      "execution_id": "exec-2",
      "status": "queued",
      "started_at": "2025-12-20T10:00:01Z"
    },
    {
      "status": "failed",
      "message": "invalid input: missing required field 'prompt'"
    }
  ]
}

Authorizations

X-API-Key
string
header
required

API key for authentication

Path Parameters

workflowID
string
required

Unique workflow identifier

Example:

"wf_abc123"

Body

application/json
inputs
object[]
required

Array of input parameter objects. Each item in the array will result in a separate workflow execution.

Constraints:

  • Minimum 1 input required
  • Maximum 10 inputs per request

All inputs must conform to the workflow's input schema.

Required array length: 1 - 10 elements
Example:
[
{
"prompt": "Generate image of a sunset",
"style": "photorealistic"
},
{
"prompt": "Generate image of mountains",
"style": "artistic"
},
{
"prompt": "Generate image of ocean",
"style": "minimalist"
}
]
version_id
string

Optional: Specific version to trigger for all executions.

If not provided, triggers the latest version of the workflow.

Example:

"v1"

webhook_url
string<uri>

Optional webhook URL for execution completion notifications.

When provided, webhook notifications for all executions in this bulk operation will include a bulk_id field to help you correlate them.

Each execution sends its own webhook notification when it completes.

Example:

"https://your-api.com/webhooks/workflow-completed"

Response

Bulk workflow executions started

bulk_id
string<uuid>
required

Unique identifier for this bulk operation. All executions from this bulk trigger share this ID, which can be used to query and track them together.

Example:

"550e8400-e29b-41d4-a716-446655440000"

executions
object[]
required

Array of execution responses, one per input in the request. The order matches the order of inputs in the request.

Partial Failures: If some inputs fail validation, those entries will have status: "failed" with an error message, while successful triggers will have status: "queued".

Example:
[
{
"execution_id": "exec-1",
"status": "queued",
"started_at": "2025-12-20T10:00:00Z"
},
{
"execution_id": "exec-2",
"status": "queued",
"started_at": "2025-12-20T10:00:01Z"
},
{
"status": "failed",
"message": "invalid input: missing required field 'prompt'"
}
]
Last modified on May 28, 2026