---
title: "Set user charge intent"
method: POST
path: "/api/v1/energy/sites/{siteId}/users/{userId}"
tags: ["Energy Charge Intents"]
---

# Set user charge intent

`POST /api/v1/energy/sites/{siteId}/users/{userId}`

## Request

- Base URL: `https://partner-api.monta.com`
- URL: `https://partner-api.monta.com/api/v1/energy/sites/{siteId}/users/{userId}`
- Auth: HTTP bearer

Required scope: `energy:write`

Only `type` is required, e.g. `{"type": "CHARGE_NOW"}`. `PRICE_OPTIMIZE` additionally requires `target` and `departureTime`; `scheduleOverrides` defaults to an empty list and `priority` to 0.

🚧 **BETA** — This endpoint is currently in the BETA phase and its response structure may change in the future.

📘 **Feature flag required** — This endpoint is not available by default. It must be explicitly enabled for your operator account upon request. Please contact your Monta Business Partner to request access to this feature.

## Path parameters

- `siteId` integer, required
- `userId` integer, required

## Request body

- SetUserChargeIntentRequest: Charge intent for a user. Only `type` is required; `target` and `departureTime` are required for `PRICE_OPTIMIZE`.
  - `type` 'PRICE_OPTIMIZE' | 'CHARGE_NOW', required: Charge intent type
  - `departureTime` string, nullable: Departure time (local time of the site). Required for `PRICE_OPTIMIZE`.
  - `target` Target
    - `soc` number, double, nullable
    - `kwh` number, double, nullable
  - `scheduleOverrides` ScheduleOverride[], nullable: Schedule overrides. Defaults to an empty list.
    - `id` string, nullable
    - `startDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required
    - `startTime` string, partial-time, required
    - `endDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required
    - `endTime` string, partial-time, required
    - `type` 'PRICE_OPTIMIZE' | 'CHARGE_NOW', required
    - `departureDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY'
    - `departureTime` string, partial-time, nullable
    - `target` Target
      - `soc` number, double, nullable
      - `kwh` number, double, nullable
  - `priority` integer, nullable: Priority of the charge intent. Defaults to 0.

## Response `201`

setUserChargeIntent 201 response

- ChargeIntent
  - `type` 'PRICE_OPTIMIZE' | 'CHARGE_NOW', required
  - `departureTime` string, partial-time, nullable
  - `target` Target
    - `soc` number, double, nullable
    - `kwh` number, double, nullable
  - `scheduleOverrides` ScheduleOverride[], required
    - `id` string, nullable
    - `startDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required
    - `startTime` string, partial-time, required
    - `endDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required
    - `endTime` string, partial-time, required
    - `type` 'PRICE_OPTIMIZE' | 'CHARGE_NOW', required
    - `departureDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY'
    - `departureTime` string, partial-time, nullable
    - `target` Target
      - `soc` number, double, nullable
      - `kwh` number, double, nullable
  - `priority` integer, nullable

## Other responses

- `400`: The request is invalid
- `401`: Consumer with provided credentials was not found
- `403`: Operator doesn't have access to resource
- `404`: Entity with the provided id was not found

## Changes

- **2026-11-03** `0ca400461c52`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/monta/apis/monta-partner-api/changes/api/v1/energy/sites/:siteId/users/:userId/post.md)

---

[API](https://skmtc.dev/monta/apis/monta-partner-api.md) - [All operations](https://skmtc.dev/monta/apis/monta-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/monta/apis/monta-partner-api/revisions/0ca400461c52?raw)
