Announcement: Upcoming Changes to Session APIs

Status: planned
Date: TBD

Summary

We're introducing new public API endpoints for accessing closed charge sessions.

Current public API endpoints for accessing sessions will, in the future, only provide access to open sessions, and existing endpoints for accessing closed sessions will be removed.

The new API will require some adjustment of queries:

  • An installation ID, charging station ID or user ID must be provided.
  • A time range must be provided.
  • The API will not provide a total page count, but paging will be supported through a page cursor.

High-level plan

  1. Data duplication
    Externally closed sessions are currently duplicated to a new session archive.

  2. New public API endpoint
    A new public API endpoint for archived sessions will be added in 1–2 weeks.
    This endpoint will be the new public endpoint for accessing archived (closed) sessions.
    Customers will be informed as soon as the API is available.

  3. Deprecation of legacy session endpoints
    Legacy session endpoints are deprecated, and deprecation warnings are provided as soon as the new endpoint is available.

  4. Partial data removal from legacy database (~1 month)
    At a given date (in approximately 1 month) we will:

    • Delete sessions older than 2 years from the legacy database and API endpoints.
    • Endpoints will continue working as before for sessions younger than 2 years.

    Third parties only need to change behavior if they require access to sessions older than 2 years.
    This will help offload our database.

  5. Full migration to new API (3–6 months)
    At a given date (3–6 months):

    • All closed sessions are removed from the legacy database and must be queried through the new API endpoints.
    • Legacy endpoints for closed sessions are removed.

Breaking change notice

Step 4 in this plan will introduce breaking changes for our current API endpoints:

  • Sessions older than 2 years will no longer be available through the existing public API.
  • We need to implement this as soon as possible to:
    • Reduce load on the database, and
    • Give us time to follow the full deprecation procedure for the remaining changes.