---
title: "[LRO] Push configuration and upgrade firmware"
method: POST
path: "/deployments"
tags: ["Configuration - Deployment"]
---

# [LRO] Push configuration and upgrade firmware

`POST /deployments`

Push configuration and upgrade firmware to the target devices. To avoid API timeout with large number of devices, 
 please make sure to enable async mode (set async=true in query parameter) and use long-running operation API to query the result.

## Query parameters

- `async` boolean

## Request body

- XiqDeploymentRequest — The configuration/firmware update deployment request to devices.
  - `schedule` XiqScheduleDetails — Deployment Schedule details
    - `start_time` integer, required — The start time
  - `devices` XiqDeployDeviceFilter — The filter to get matched devices/sites
    - `ids` integer[] — The device ID list
    - `site_ids` integer[] — The site ID list
  - `policy` XiqDeploymentPolicy — Push configuration and upgrade firmware policy
    - `enable_complete_configuration_update` boolean — true if update complete configuration, otherwise update delta configuration. Note: ExtremeCloud IQ will neither upgrade device firmware nor reboot device for a delta configuration push. That means that the other parameters for firmware upgrade and activation are not required when this is false.
    - `firmware_upgrade_policy` XiqFirmwareUpgradePolicy — The firmware upgrade policy
      - `enable_enforce_upgrade` boolean — Whether enforce firmware upgrade even if the versions are the same
      - `enable_distributed_upgrade` boolean — Whether enable distributed firmware upgrade (Only applicable to APs)
    - `firmware_upgrade_versions` XiqFirmwareUpgradeVersion[]
      - `firmware_id` integer, required — The device compatible firmware metadata ID
      - `device_id` integer — The device ID
      - `product_type` string — The product type
    - `firmware_activate_option` XiqFirmwareActivateOption — The firmware activate option (Only one of them can be enabled)
      - `activation_delay_seconds` integer — Activate after the given seconds
      - `activation_time` integer — Activate at the following time according to the system clock on the updated device
      - `enable_activate_at_next_reboot` boolean — Activate at next reboot (requires rebooting manually)

## Response `200`

OK

- XiqDeploymentResponse — The configuration deployment response
  - `deployment_id` integer — The scheduled deployment ID
  - `deployment_status` object — Devices config deployment status map

---

[API](https://skmtc.net/extremecloudiq/apis/extremecloud-iq-api.md) · [All operations](https://skmtc.net/extremecloudiq/apis/extremecloud-iq-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/extremecloudiq/extremecloud-iq-api/versions/5ff7ab84e8e8/schema)
