Skip to main content
POST/api/public/v1/flows/{id}/runs

flows.run

Run a published revision (default: the latest) on up to 1,000 profiles; typed input is validated against the revision and sensitive values are masked.

Capability: workflow.runCommand (idempotent)MCP tool: flows_run
View as Markdown

Parameters

NameTypeRequiredDescription
idpathstring (uuid)YesFlow id
command_idbodystring (uuid)YesClient-generated UUID for this command. Send the same id (and body) again to get the stored receipt instead of a second change; a different body under the same id is CONFLICT.
revision_idbodystring (uuid)NoPublished revision to run (flows.get revisions); default: the latest
inputbodyobjectNoValues for the revision's declared inputs Default: `{}`.
profile_idsbodyarray<string (uuid)>YesProfiles to run on (min 1 items, max 1000 items)
device_idsbodyarray<string (uuid)>NoMachines allowed to run it (default: any eligible paired machine) (max 100 items) Default: `[]`.
max_parallelbodyintegerNoProfiles running at the same time (min 1, max 50) Default: `5`.
max_minutesbodyintegerNoTime limit per profile (min 1, max 1440) Default: `30`.

Examples

curl -X POST "https://browlix.com/api/public/v1/flows/<id>/runs" \
  -H "Authorization: Bearer $BROWLIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"command_id":"<uuid>","profile_ids":["<profile_id>"]}'

Response

201 with { data, replayed: false, correlation_id } the first time; 200 with replayed: true when the same command_id and body come again.

The field list of this reply is not published yet; read data as JSON.

Errors

CodeHTTPRetryable
UNAUTHENTICATED401No
FORBIDDEN403No
RATE_LIMITED429Yes
VALIDATION_FAILED422No
NOT_FOUND404No
CONFLICT409No
OUTCOME_UNKNOWN202Yes
DEPENDENCY_UNAVAILABLE503Yes
UNKNOWN500No

Every error code and when to retry

All operations