---
title: "Trigger OTA Upgrade"
method: POST
path: "/api/v4/ota/ev_charger/firmware/upgrade"
tags: ["EVSE Configuration"]
---

# Trigger OTA Upgrade

`POST /api/v4/ota/ev_charger/firmware/upgrade`

## Request

- Base URL: `https://api-qa2.enphaseenergy.com`
- URL: `https://api-qa2.enphaseenergy.com/api/v4/ota/ev_charger/firmware/upgrade`
- Auth: none declared
- TypeScript: <https://skmtc.dev/enphase/apis/commissioning-api/docs/api/v4/ota/ev_charger/firmware/upgrade/post.ts> (a function with typed inputs; its response is checked against the schema)

Initiates OTA for one or more chargers. Online chargers upgrade immediately; Offline chargers are queued for upto 24 hours and auto triggered when they come online. (max 50 chargers per request)

## Query parameters

- `key` string, required

## Request body

- object
  - `targetFirmwareVersion` string, required: Target firmware version to upgrade to
  - `serialNumbers` string[], required: List of charger serial numbers (max 50)

## Response `200`

OK

- object
  - `responseMessage` string: Status message of the OTA upgrade request

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found
- `429`: Too Many Requests

---

[API](https://skmtc.dev/enphase/apis/commissioning-api.md) - [All operations](https://skmtc.dev/enphase/apis/commissioning-api/llms.txt) - [OpenAPI document](https://skmtc.dev/enphase/apis/commissioning-api/revisions/73a4001046e2?raw)
