When and How to Use the Resume Command

When integrating with Zaptec chargers via the Cloud API, developers often need to automate the pausing and resuming of charging sessions, especially regarding the FinalStopActive and ChargerOperationMode values. This guide explains the correct logic and flow for reliably pausing and resuming charging, and how to avoid common API errors.

This guide explains:

  • When and how to send Pause and Resume commands
  • What charger states to check before sending commands
  • Permissions and firmware requirements
  • Common API rejection cases and troubleshooting tips

Permissions

To execute control commands (Pause, Resume, Restart, Firmware upgrade, Deauthorize), your API caller must have owner or service-level access to the charger.

Supported Command IDs

Command IDDescription
102Restart the charger
200Upgrade charger firmware
506Stop or pause charging
507Resume charging
10001Deauthorize and stop charging

Command Details

Command 10001 Deauthorize and Stop

Purpose: Immediately stops charging and deauthorizes the current session.

Important: Ensure that no new sessions are authorized until this command completes. This prevents unintended re-authorization during the operation.

Command 506: Pause/Stop Charging

Firmware Requirement:

Requires firmware version > 3.2 on Zaptec Pro chargers. Non-PRO chargers do not support Pause/Resume functionality.

Typical Usage: Used when the charger is actively charging (ChargerOperationMode = 3).

Command Rejection Cases:

  • Charger already paused (ChargerOperationMode = 5 and FinalStopActive = 1)
  • Charger disconnected (ChargerOperationMode = 1)

✅ Best Practice

  • Check ChargerOperationMode = 3 before sending Pause
  • Do not check FinalStopActive before pausing

Example Request

POST /api/chargers/{chargerId}/sendCommand/506
Authorization: Bearer {access_token}
Content-Type: application/json

Response

{
  "Code": 200,
  "Details": "Charging paused successfully"
}

Command 507: Resume Charging

🚧

Firmware Requirement

Requires firmware version > 3.2 on Zaptec Pro chargers.

Typical Usage: Used when the charger is paused (ChargerOperationMode = 5 and FinalStopActive = 1).

Command Rejection Cases:

  • Charger not paused (ChargerOperationMode != 5 or FinalStopActive != 1)
  • A schedule is active (NextScheduleEvent is set)

Best Practice

  • Check FinalStopActive = 1
  • Check ChargerOperationMode = 5
  • Ensure no schedule is active (NextScheduleEvent not set)

Example Request

POST /api/chargers/{chargerId}/sendCommand/507
Authorization: Bearer {access_token}
Content-Type: application/json

Success Response

{
  "Code": 200,
  "Details": "Charging resumed successfully"
}

Error Response

{
  "Code": 528,
  "Details": "Charging is not Paused nor Scheduled; Resume command cannot be sent"
}

Understanding Key States

StateDescription
ChargerOperationMode (710)
  • 1 — Disconnected
  • 3 — Charging in progress
  • 5 — Stopped or idle
FinalStopActive (718)
  • 0 — Charger not paused or scheduled
  • 1 — Charger paused or scheduled to stop
NextScheduleEvent (763)Indicates a scheduled event (e.g., smart charging). If set, Resume commands will be rejected.

Quick Reference Table

ActionPre-conditionCommand IDExpected Result
Pause ChargingChargerOperationMode = 3506Charging paused, FinalStopActive = 1
Resume ChargingChargerOperationMode = 5, FinalStopActive = 1, no schedule active507Charging resumed, FinalStopActive = 0
Stop/DeauthorizeAny active session10001Session ended; EV must reauthorize

State Transition Flow

%% State Transition Flow
stateDiagram-v2
    [*] --> Charging
    Charging --> Paused: Pause (506)
    Paused --> Charging: Resume (507)

    state Charging {
        [*] --> ChargingActive
        ChargingActive: 710 = 3, 718 = 0
    }
    state Paused {
        [*] --> PausedActive
        PausedActive: 710 = 5, 718 = 1
    }

Example State Changes

Before Pause

{
  "ChargerOperationMode": 3,
  "FinalStopActive": 0,

}

After Pause

{
  "ChargerOperationMode": 5,
  "FinalStopActive": 1,
}

After Resume

{
  "ChargerOperationMode": 3,
  "FinalStopActive": 0,
}
🚧

Common Pitfalls and Troubleshooting

IssueLikely CauseFix
Resume command rejected (528)Charger not paused or schedule activeVerify FinalStopActive = 1 and NextScheduleEvent not set
Pause command rejectedCharger not charging (ChargerOperationMode != 3)Only send Pause when charging
Charger stays at FinalStopActive = 0 and ChargerOperationMode = 5EV fully chargedNo action needed
Charger toggles briefly to “Requesting”Insufficient site power availableCheck power limits or load balancing setup

HTTP Response Codes

CodeMeaning
200Command accepted and executed successfully
400Invalid charger state or malformed request
403Insufficient permissions
528Resume command rejected — charger not paused or scheduled

Summary

To Pause Charging

  • ✅ Check ChargerOperationMode = 3
  • 🚫 Do not check FinalStopActive

To Resume Charging

  • ✅ Check FinalStopActive = 1
  • ✅ Check ChargerOperationMode = 5
  • 🚫 Ensure NextScheduleEvent is not set

Requirements

  • 🔐 Owner or service-level access
  • ⚙️ Firmware version > 3.2 (Zaptec Pro)

Additional Resources