---
title: "Arm (or replace) a boost"
method: POST
path: "/boost"
tags: ["Boost"]
---

# Arm (or replace) a boost

`POST /boost`

Boost charges NOW - an Active claim at priority 200 (above Divert and the Scheduler, below Manual and Limit) - until the target is reached, then releases so the previous controller resumes. Re-POSTing while a boost is active replaces it with a fresh activation snapshot. Time values clamp to 604800 seconds (7 days). Energy value is a Wh delta from the moment of activation; soc/range values are absolute targets and require a vehicle data source (422 otherwise). A soc/range target that is ALREADY met arms as a no-op: 201, no claim is taken, and GET /boost still returns {}. The MQTT <base>/boost event topic publishes the boolean boost + boost_version on every change; boost_reason ("reached", "cancelled" or "replaced") appears only on end events (boost false) and never on an active one, so a replace emits the end event first and then the fresh arm event. The retained <base>/boost state topic carries this same serialized object ({} when idle) - the retained remaining is a snapshot at arm/end, not a live countdown.

## Request body

- object
  - `type` 'time' | 'energy' | 'soc' | 'range', required
  - `value` integer, required

## Response `201`

Boost armed

- object
  - `msg` string — created

## Other responses

- `400` — Malformed body, unknown type, or zero value
- `422` — soc/range boost without a vehicle data source

## Changes

- **2026-08-23** `cd1e51822326` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/openevse/apis/openevse-wifi-api/changes/boost/post.md)

---

[API](https://skmtc.dev/openevse/apis/openevse-wifi-api.md) · [All operations](https://skmtc.dev/openevse/apis/openevse-wifi-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openevse/openevse-wifi-api/revisions/0b557db566f3/schema)
