---
title: "Archived sessions"
method: GET
path: "/api/sessions/archived"
tags: ["Session"]
---

# Archived sessions

`GET /api/sessions/archived`

Retrieves completed charge sessions accessible by the current user, filtered by date range and either an installation or a single charger. Results are returned in cursor-paginated pages; when `hasMore` is true, send the returned `cursor` as `?cursor=` on the next request to fetch the next page. Default page size: 50. Max: 200.

## Query parameters

- `From` string, date-time
- `To` string, date-time
- `InstallationId` string, uuid
- `ChargerId` string, uuid
- `PageSize` integer
- `Cursor` string

## Response `200`

OK

- GetArchivedSessionsResponse — A page of archived charge sessions, with a cursor for fetching the next page.
  - `sessions` ArchivedSession[], nullable, required — The archived sessions on this page, ordered oldest first.
    - `id` string, uuid, required — Unique session identifier.
    - `externalId` string, nullable — External identifier for the session when authorized by a third party (e.g. `transactionId` from OCPP). Null when not externally authorized.
    - `replacedBySessionId` string, uuid, nullable — If this session was superseded by a corrected one, the id of the replacement. Replaced sessions have no duration or energy and are marked as `voided`.
    - `authorizedUser` ArchivedSessionUser — Identity of a user attached to an `ArchivedSession`.
      - `id` string, uuid, required — Unique user identifier.
      - `email` string, nullable — User email.
      - `fullName` string, nullable — User full name.
    - `tokenName` string, nullable — The RFID token used to authorize the session, when applicable.
    - `chargerId` string, uuid — The charge point unique identifier.
    - `deviceId` string, nullable — The charge point device id.
    - `deviceName` string, nullable — The charge point serial number / display name.
    - `chargerFirmwareVersion` string, nullable — Charger firmware version at the time the session was recorded. Null for legacy sessions recorded before firmware version was tracked.
    - `startDateTime` string, date-time, required — Session start time. Time of session authorization. Usually corresponds within a few seconds to the connection time, but can be delayed if the user does not authorize immediately.
    - `endDateTime` string, date-time, nullable — The actual end time of the session, as recorded by the archive.
    - `recognizedDateTime` string, date-time — Time the session was recognized and finalized by the archive.
    - `offline` boolean — True if the session was recorded while the charger was offline.
    - `reliableClock` boolean — True if the charger's clock was trusted at the time of recording. Relevant for offline sessions where start/end timestamps may otherwise be unreliable.
    - `stoppedByRfid` boolean — True if the session was stopped by presenting an RFID token.
    - `signed` boolean — True if the session has an OCMF signed payload (see `sessionSignature`).
    - `voided` boolean — True if the session was voided after creation, typically because it was replaced by a corrected session (see `replacedBySessionId`). Voided sessions have no meaningful duration or energy.
    - `aborted` boolean — True if the session was aborted (e.g. cable unplugged before charging started).
    - `ocppNative` boolean — True if the session was driven by native OCPP authorization on the charger.
    - `externallyAbandoned` boolean — True if an externally-authorized session was never acknowledged by the third party.
    - `sessionSignature` string, nullable — OCMF signed session payload for supported charging stations.
    - `sessionSignatureEichreicht` string, nullable — OCMF signed session payload in compliance with the German Eichrecht regulations.
    - `energy` number, double — Energy delivered during the session, in kWh.
    - `energyDetails` ArchivedSessionEnergyPoint[], nullable — Per-timestamp energy readings captured during the session. Empty when the archive has no detailed readings for this session.
      - `timestamp` string, date-time, required — Time of the reading.
      - `energy` number, double — Cumulative energy delivered up to `timestamp`, in kWh.
  - `cursor` string, nullable — Opaque cursor to fetch the next page. Send as `?cursor=` on the next request when `hasMore` is true. Null when there are no further pages.
  - `hasMore` boolean — True when more pages are available beyond this one.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.dev/zaptec/apis/zaptec-api.md) · [All operations](https://skmtc.dev/zaptec/apis/zaptec-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zaptec/zaptec-api/revisions/6892fe4b8df5/schema)
