Flowion Docs

Charging Limits

Install, list, and remove charging limits — what a charging station (or one connector, or one active session) is allowed to draw, and when. See docs/architecture/api-gateway-roadmap.md's "Protocol opacity" section: nothing here names OCPP's own charging-profile vocabulary.

4 endpoints

Lists a charging_station's installed charging limits, unpaginated (bounded by the station's own capability, always a handful of rows).

get/v1/charging-stations/{charging_station_id}/charging-limitsRequires a bearer token

Parameters

NameInTypeDescription
charging_station_id*pathstring<uuid>ChargingStation id

Responses

StatusBodyDescription
200ListChargingLimitsResponseThe charging_station's installed charging limits
401ErrorBodyMissing, invalid, or expired bearer token
403ErrorBodyThe caller is a member of the charging_station's organization but below the required role
404ErrorBodyNo charging_station with this id exists, or the caller cannot access its environment

Installs a charging limit.

post/v1/charging-stations/{charging_station_id}/charging-limitsRequires a bearer token

Parameters

NameInTypeDescription
charging_station_id*pathstring<uuid>ChargingStation id

Request bodyChargingLimitRequest

FieldTypeDescription
ends_atstring | null<date-time>When this limit stops being eligible. Omit for "until replaced".
priority*integer<int32>When multiple limits apply to the same scope at the same time, the one with the highest priority wins. Lowest is 0.
recurrence*RecurrenceHow a charging limit repeats (1.6's ChargingProfileKind + RecurrencyKind collapsed into one enum — see the module docs).
schedule*ChargingScheduleRequest
scope*ChargingLimitScopeWhat a charging limit applies to (1.6's ChargingProfilePurpose, translated) — see the module docs.
starts_atstring | null<date-time>When this limit becomes eligible to apply at all. Omit to make it eligible immediately.

Responses

StatusBodyDescription
200CreateChargingLimitResponseThe charging_station answered
401ErrorBodyMissing, invalid, or expired bearer token
403ErrorBodyThe caller is a member of the charging_station's organization but below the required role
404ErrorBodyNo charging_station with this id exists, the caller cannot access it, or scope names an unknown connector/session
409ErrorBodyThe charging_station is not connected to the CSMS
422ErrorBodyThe request exceeds this station's capability, or its recurrence and schedule.anchor contradict each other
502ErrorBodyThe charging_station gave no usable answer
503ErrorBodyThe request could not be sent
504ErrorBodyThe charging_station did not answer in time

Removes every charging limit matching the given criteria — all optional, and all omitted clears everything.

delete/v1/charging-stations/{charging_station_id}/charging-limitsRequires a bearer token

Parameters

NameInTypeDescription
charging_station_id*pathstring<uuid>ChargingStation id
scopequery"station_limit" | "default_policy" | "session"Only clears limits with this scope's purpose — station_limit, default_policy, or session. Omit to match any.
connector_idquerystring<uuid>Only meaningful combined with scope=default_policy: narrows to one connector's default policy.
priorityqueryinteger<int32>Only clears limits at this priority.

Responses

StatusBodyDescription
200DeleteChargingLimitResponseThe charging_station answered
401ErrorBodyMissing, invalid, or expired bearer token
403ErrorBodyThe caller is a member of the charging_station's organization but below the required role
404ErrorBodyNo charging_station with this id exists, or connector_id names an unknown connector
409ErrorBodyThe charging_station is not connected to the CSMS
502ErrorBodyThe charging_station gave no usable answer
503ErrorBodyThe request could not be sent
504ErrorBodyThe charging_station did not answer in time

Removes one charging limit by id.

delete/v1/charging-stations/{charging_station_id}/charging-limits/{id}Requires a bearer token

Parameters

NameInTypeDescription
charging_station_id*pathstring<uuid>ChargingStation id
id*pathstring<uuid>Charging limit id

Responses

StatusBodyDescription
200DeleteChargingLimitResponseThe charging_station answered
401ErrorBodyMissing, invalid, or expired bearer token
403ErrorBodyThe caller is a member of the charging_station's organization but below the required role
404ErrorBodyNo charging_station or charging limit with this id exists
409ErrorBodyThe charging_station is not connected to the CSMS
502ErrorBodyThe charging_station gave no usable answer
503ErrorBodyThe request could not be sent
504ErrorBodyThe charging_station did not answer in time