/api/public/v1/flows/{id}/runsflows.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.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
idpath | string (uuid) | Yes | Flow id |
command_idbody | string (uuid) | Yes | Client-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_idbody | string (uuid) | No | Published revision to run (flows.get revisions); default: the latest |
inputbody | object | No | Values for the revision's declared inputs Default: `{}`. |
profile_idsbody | array<string (uuid)> | Yes | Profiles to run on (min 1 items, max 1000 items) |
device_idsbody | array<string (uuid)> | No | Machines allowed to run it (default: any eligible paired machine) (max 100 items) Default: `[]`. |
max_parallelbody | integer | No | Profiles running at the same time (min 1, max 50) Default: `5`. |
max_minutesbody | integer | No | Time 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.
Errors
| Code | HTTP | Retryable |
|---|---|---|
| UNAUTHENTICATED | 401 | No |
| FORBIDDEN | 403 | No |
| RATE_LIMITED | 429 | Yes |
| VALIDATION_FAILED | 422 | No |
| NOT_FOUND | 404 | No |
| CONFLICT | 409 | No |
| OUTCOME_UNKNOWN | 202 | Yes |
| DEPENDENCY_UNAVAILABLE | 503 | Yes |
| UNKNOWN | 500 | No |
