Charging Groups (beta)
No OAuth-enabled endpoints in this section. Turn off the OAuth filter in the sidebar to see all of its endpoints.
A charging group is a named set of connectors that charging policies are applied to. Its filters select those connectors in one of three ways: individually (connectors), or by the locations (locationIds) or accounts (accountIds) they belong to.
How the pieces fit together
- A charging policy is applied to a charging group through the policy's
associatedChargingGroupIds. A group by itself has no price; it only decides where a policy applies. - Keep a connector in a single charging group. Where several groups cover the same connector the platform still resolves an order, but that order is not part of this contract and is not configurable through the API.
- To charge one card a different price at the same connector — a negotiated rate, or free charging — put both prices in one policy as separate tariff rules rather than in competing groups. Rules are evaluated in the order they are supplied and the first match wins, so a rule naming a customer group placed above an open rule gives that card its own price while everyone else falls through to the published one.
Groups are scoped to the current provider. A group that is still referenced by a charging policy cannot be deleted; remove the association from the policy first.
This API is in preview. It is functional and safe to build against, but breaking changes may still occur; any breaking change is announced in advance.
List Charging Groups
Returns a paginated list of all charging groups for the current provider, without conflict detection. Use it to look up the id of a group you want to associate a charging policy with.
User sessionAPI credentialcharging-groups:readQuery parameters2
200OK application/json
dataChargingGroup[]
filtersChargingGroupFilter[]REQUIREDThe connectors this group covers. A connector matches if any filter selects it.
The connectors this group covers. A connector matches if any filter selects it.
accountIdsChargingGroupFilterAccountIDs
connectorsChargingGroupFilterConnectors
locationIdsChargingGroupFilterLocationIDs
metaobject
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Create Charging Group
Creates a charging group for the current provider and returns its id, ready to be referenced from a charging policy's associatedChargingGroupIds.
Each entry in filters selects connectors in exactly one way — connectors (a list of chargingStationId + evseId + connectorId), locationIds, or accountIds. Prefer groups that do not overlap: where a connector is covered by more than one group the platform resolves an order internally, but it is not part of this contract.
User sessionAPI credentialcharging-groups:writeRequest bodyapplication/json
filtersobject[]REQUIRED
accountIdsobject
connectorsobject
connectorsobject[]
11locationIdsobject
201Created application/json
dataobject
metaobject
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Search Charging Groups
Returns a paginated list of charging groups for the current provider, filtered by ids, free-text query or creation date range. Alongside the groups, data.conflicts reports groups whose filters overlap — directly (two groups naming the same connector) or indirectly (one group naming an account or location, another naming a connector belonging to it). Use it to find connectors covered by more than one group, since the order in which their policies apply is not something you can control through this API.
User sessionAPI credentialcharging-groups:readRequest bodyapplication/json
createdAtobject
50min 10min 0200OK application/json
dataobject
chargingGroupsChargingGroup[]REQUIRED
filtersChargingGroupFilter[]REQUIREDThe connectors this group covers. A connector matches if any filter selects it.
The connectors this group covers. A connector matches if any filter selects it.
conflictsobject[]REQUIRED
chargingGroupChargingGroupREQUIRED
The connectors this group covers. A connector matches if any filter selects it.
conflictingChargingGroupsChargingGroup[]REQUIRED
The connectors this group covers. A connector matches if any filter selects it.
metaobject
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Get Charging Group
Returns a single charging group owned by the current provider, with the filters that select its connectors.
User sessionAPI credentialcharging-groups:readPath parameters1
200OK application/json
dataChargingGroup
filtersChargingGroupFilter[]REQUIREDThe connectors this group covers. A connector matches if any filter selects it.
The connectors this group covers. A connector matches if any filter selects it.
accountIdsChargingGroupFilterAccountIDs
connectorsChargingGroupFilterConnectors
locationIdsChargingGroupFilterLocationIDs
metaobject
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Update Charging Group
Replaces an existing charging group: the label and the full filters array are overwritten with the values supplied, so filters that are not resent are removed. To add or remove a single connector, location or account without resending the rest, use the filter member endpoints instead. Charging policies associated with the group are unaffected; they simply apply to the new set of connectors.
User sessionAPI credentialcharging-groups:writePath parameters1
Request bodyapplication/json
filtersobject[]REQUIRED
accountIdsobject
connectorsobject
connectorsobject[]
11locationIdsobject
204Updated text/plain
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Delete Charging Group
Deletes a charging group. A group that is still associated with a charging policy cannot be deleted; remove it from the policy first, otherwise the request fails.
User sessionAPI credentialcharging-groups:writePath parameters1
204Deleted text/plain
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Add Filter Member
Adds a single connector, location or account to an existing charging group, leaving the rest of its filters untouched. Supply exactly one of connector, filterLocationId or filterAccountId.
The member is added to the matching filter if the group already has one, otherwise a new filter is appended. Adding a member that is already present is a no-op, so the call is safe to repeat.
Two naming details differ from create/update and are easy to miss: a connector is identified here by ocppEvseId and ocppConnectorId (evseId and connectorId in the filters array on create/update), and filterLocationId / filterAccountId carry the filter prefix deliberately, because plain locationId / accountId in a request body are intercepted by platform-wide scoping middleware.
User sessionAPI credentialcharging-groups:writePath parameters1
Request bodyapplication/json
connectorobject
11204Added text/plain
400Invalid Request application/json
errorobject
401Unauthorized application/json
errorobject
403Forbidden: missing a required permission, or no access to this resource application/json
errorobject
404Not Found application/json
errorobject
500Internal server error application/json
errorobject
Remove Filter Member
Removes a single connector, location or account from an existing charging group, leaving the rest of its filters untouched. Supply exactly one of chargingStationId (together with ocppEvseId and ocppConnectorId), filterLocationId or filterAccountId as query parameters.
User sessionAPI credentialcharging-groups:write