Cap a running session's power or current

put/v1/tenants/{tenant_id}/transactions/{transaction_id}/charging-limit
Requires an API key

Sets a session profile (TxProfile) with one period of limit in unit for the active transaction, from the start of the session. Setting it again changes the cap: OCPP 1.6 replaces the earlier one at the same stack level; on OCPP 2.x the new cap goes one stack level above the session's earlier ones, which the higher level overrides; once that would pass the charger's reported highest stack level it answers 409 charging_limit_stack_full (details.stack_level, details.max_stack_level) before anything is sent: remove the cap, then set it again. A limit of 0 pauses the session until the cap changes or is removed. The cap ends with the transaction. result.profile_id names the profile on the station; an unknown transaction answers 404 transaction_not_found and an ended one a rejected operation (transaction_ended). Requires stations:control. The operation succeeds when the core sent the message; result.charger_status then carries the charger's own answer once it arrives (null until then: poll the operation or subscribe to the charging_profile webhooks; it is never resent). Refusals before anything is sent create no operation and leave the Idempotency-Key unused: 409 smart_charging_unsupported when the charger reports smart charging disabled, 422 charging_profile_unsupported for a unit, stack level or period count it reported it cannot take (details.field, details.supported). Like station commands other than stop and unlock, it answers 402 payment_method_required when the project's billing team has no usable payment method for Ivora's usage fee (no operation; a retry with a journaled Idempotency-Key replays it).

Path parameters

  • tenant_idintegerRequired
  • transaction_idintegerRequired

Headers

  • idempotency-keystringRequired

Request body

  • limitnumberRequired
    The session's cap in unit, at most one decimal; 0 pauses the session until the cap changes or is removed
  • unitenumRequired
    W (power) or A (current, per phase)
    One of W, A
  • number_phasesinteger | null
    AC phases the vehicle may use
    Minimum 1 · Maximum 3

Returns · 202

  • idstringRequired
  • tenant_idintegerRequired
  • statusenumRequired
    One of dispatching, succeeded, rejected, unknown
  • resultobject | nullRequired
  • created_atstringRequired
  • updated_atstringRequired
PUT /v1/tenants/{tenant_id}/transactions/{transaction_id}/charging-limit
curl --fail-with-body -X PUT "https://api.ivoracharge.com/v1/tenants/1042/transactions/1/charging-limit" \
  -H "Authorization: Bearer $IVORA_API_KEY" \
  -H "Idempotency-Key: order-2026-09-30-0001" \
  -H "Content-Type: application/json" \
  -d '{
  "limit": 1.5,
  "unit": "W"
}'
Response · 202
{
  "id": "id_0123456789abcdef",
  "tenant_id": 1042,
  "status": "dispatching",
  "result": {},
  "created_at": "2026-09-30T17:00:00Z",
  "updated_at": "2026-09-30T17:00:00Z"
}
Try it is not available here yetRequests from this page are off until the production API at https://api.ivoracharge.com is public. Use the code samples from your application server; Ivora grants production access. Keys are created in Developer tools.