Deploy Firmware
POST
/api/firmware/{firmware_id}/deploy
const url = 'https://example.com/api/firmware/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/deploy?organization_id=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"device_ids":["2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"],"force":false,"rollout":{"batch_interval_s":0,"batch_percent":1,"batch_size":1,"max_failure_percent":10},"rollout_percentage":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url 'https://example.com/api/firmware/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/deploy?organization_id=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0' \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "device_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "force": false, "rollout": { "batch_interval_s": 0, "batch_percent": 1, "batch_size": 1, "max_failure_percent": 10 }, "rollout_percentage": 1 }'Deploy firmware to devices.
When force=False (default) any device whose current firmware_version is
below the firmware’s min_version is silently skipped.
When force=True those devices are included anyway (with a warning), but
only an org owner (OWNER or ADMIN role) may set this flag.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ” firmware_id
required
Firmware Id
string format: uuid
Query Parameters
Section titled “ Query Parameters ” organization_id
required
Organization Id
string format: uuid
Request Bodyrequired
Section titled “ Request Bodyrequired ” Media type application/json
CreateDeploymentRequest
Create deployment request
object
device_ids
required
Device Ids
Array<string>
force
Force
boolean
rollout
Any of:
RolloutRequest
Phased-rollout parameters (TODO-052/S56 design 3B).
Exactly one of batch_size/batch_percent must be set — this is a
distinct mechanism from the pre-existing one-shot rollout_percentage
canary on CreateDeploymentRequest, which stays as-is for backward
compatibility.
null
Responses
Section titled “ Responses ”Successful Response
Media type application/json
Example generated
exampleValidation Error
Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError object
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Example generated
{ "detail": [ { "ctx": {}, "input": "example", "loc": [ "example" ], "msg": "example", "type": "example" } ]}