> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telluspowergroup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Query charging records

> Retrieves historical charging records, optionally filtered by device, connector, or time range.

**Related:** when investigating fault-related `stop_reason` values, refer to the [Fault Dictionary](https://developers.telluspowergroup.com/diagnostics/fault-dictionary).




## OpenAPI

````yaml /api-reference/openapi.json get /operator/charging-records
openapi: 3.1.0
info:
  title: Tellus Open Platform API
  version: 1.3.0
  summary: Charger-platform integration API for CPMS, EMS, aggregators, and chargers.
  description: >
    The Tellus Open Platform API enables Charging Point Management Systems
    (CPMS),

    Energy Management Systems (EMS), aggregators and chargers themselves to
    integrate

    with the Tellus charging-platform infrastructure.


    The API is divided into three logical surfaces:


    - **Operator-side API** (`/v1/operator/...`) — used by CPMS, EMS, and
    aggregators
      to query the fleet, retrieve charging records, control chargers, schedule charging,
      issue load-flexibility commands, and subscribe to a real-time telemetry WebSocket.
    - **Charger-side API** (`/v1/device/...`) — used by chargers themselves for
      registration, heartbeat, telemetry, event reporting, charging-record upload,
      command fetching (long-polling), command-status reporting, and firmware-upgrade
      status.
    - **Operator-to-operator interop (legacy)** — an older roaming-style
    interface
      (PascalCase, PUT-based) used for data exchange between operator platforms,
      modelled after China's national charging-interop standard. Most modern partners
      should integrate via the Operator-side API instead.

    All requests use HTTPS (TLS 1.2 or higher). Plain HTTP is not supported.

    All bodies are `application/json`. Timestamps are ISO 8601 UTC.

    Energy is in kWh, power in kW, current in A, voltage in V, temperature in
    °C,

    and SOC is an integer percentage 0–100.


    Optional request signing using HMAC-SHA256 is supported for high-security

    operations (see §2.2.4 of the v1.3 specification).
  contact:
    name: Tellus Power — Platform Team
    url: https://www.telluspowergroup.com
  license:
    name: Proprietary — Tellus Power Group
servers:
  - url: https://api.telluspower.example.com/v1
    description: >
      Production (HOSTNAME PENDING).

      The v1.3 specification uses `api.chargingplatform.com` as a placeholder;
      the

      real production hostname has not yet been confirmed by the developer team.
  - url: https://api-test.telluspower.example.com/v1
    description: |
      Test / Sandbox (HOSTNAME PENDING). To be confirmed by the developer team.
security: []
tags:
  - name: Operator — Authentication
    description: OAuth2 client-credentials grant for CPMS / EMS / Aggregator integrations.
  - name: Operator — Sites & Devices
    description: >-
      Read-only resource queries — sites accessible to the authenticated client,
      and per-device detail with connector states.
  - name: Operator — Remote Control
    description: >-
      Initiate charging, stop charging, V2G discharge, and set charging
      schedules remotely.
  - name: Operator — Charging Records
    description: Historical session data (CDR — Charging Detail Records).
  - name: Operator — Energy & Flexibility
    description: >-
      Aggregated energy time-series and load-flexibility / demand-response
      control.
  - name: Operator — Commands
    description: Track execution of issued commands.
  - name: Operator — Telemetry Stream (WebSocket)
    description: >-
      Real-time telemetry subscription via WebSocket. Documented here for
      reference; the connection is established outside the OpenAPI
      request/response model.
  - name: Charger — Provisioning
    description: First-time device registration and access-token issuance.
  - name: Charger — Reporting
    description: Heartbeat, real-time telemetry, event reporting, charging-record upload.
  - name: Charger — Commands
    description: Long-polling for pending commands and reporting their execution status.
  - name: Charger — Firmware
    description: Firmware upgrade status reporting.
  - name: Operator-to-operator (legacy interop)
    description: |
      Older roaming-style interface (PascalCase fields, PUT methods) used for
      data exchange between operator platforms. Modern partners should normally
      integrate via the Operator-side API instead.
externalDocs:
  description: >-
    Tellus Power developer documentation — guides, diagnostics, runbooks, and
    proposed API extensions
  url: https://developers.telluspowergroup.com
paths:
  /operator/charging-records:
    get:
      tags:
        - Operator — Charging Records
      summary: Query charging records
      description: >
        Retrieves historical charging records, optionally filtered by device,
        connector, or time range.


        **Related:** when investigating fault-related `stop_reason` values,
        refer to the [Fault
        Dictionary](https://developers.telluspowergroup.com/diagnostics/fault-dictionary).
      parameters:
        - name: device_id
          in: query
          schema:
            type: string
        - name: connector_id
          in: query
          schema:
            type: integer
            minimum: 1
        - name: start_time
          in: query
          schema:
            type: string
            format: date-time
        - name: end_time
          in: query
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Charging records returned.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiEnvelope'
                properties:
                  data:
                    $ref: '#/components/schemas/ChargingRecordPage'
      security:
        - operatorOAuth2:
            - read
      externalDocs:
        description: >-
          Fault dictionary — for interpreting fault-related stop_reasons in
          charging records
        url: https://developers.telluspowergroup.com/diagnostics/fault-dictionary
components:
  parameters:
    PageNumber:
      name: page
      in: query
      schema:
        type: integer
        minimum: 1
        default: 1
      description: Page number (1-indexed).
    PageSize:
      name: size
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
      description: Results per page (max 100).
  schemas:
    ApiEnvelope:
      type: object
      description: |
        Standard response envelope. `code` is `0` on success and a non-zero
        application code on error (see Error Codes — §14).
      required:
        - code
        - message
      properties:
        code:
          type: integer
          description: 0 = success; otherwise an error code per the Error Codes section.
        message:
          type: string
          description: Human-readable description.
        data:
          description: Endpoint-specific payload.
    ChargingRecordPage:
      allOf:
        - $ref: '#/components/schemas/PageMeta'
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ChargingRecord'
    PageMeta:
      type: object
      properties:
        total:
          type: integer
          description: Total matching records.
        page:
          type: integer
        size:
          type: integer
    ChargingRecord:
      type: object
      required:
        - record_id
        - device_id
        - connector_id
        - start_time
        - energy
      properties:
        record_id:
          type: string
        device_id:
          type: string
        connector_id:
          type: integer
          minimum: 1
        start_time:
          type: string
          format: date-time
        end_time:
          type: string
          format: date-time
        energy:
          type: number
          description: Total energy delivered (kWh).
        max_power:
          type: number
          description: Peak power during session (kW).
        avg_power:
          type: number
          description: Average power during session (kW).
        cost:
          type: number
          description: |
            Session cost. Negative cost indicates revenue earned from a V2G
            discharge session.
        meter_start:
          type: number
          description: Meter reading at start (kWh).
        meter_end:
          type: number
          description: Meter reading at end (kWh).
        vehicle_info:
          $ref: '#/components/schemas/VehicleInfo'
      example:
        record_id: rec_9x8y7z6w
        device_id: dvc_a1b2c3d4e5f6
        connector_id: 1
        start_time: '2025-03-15T09:00:00Z'
        end_time: '2025-03-15T10:30:00Z'
        energy: 15.2
        max_power: 7.2
        avg_power: 6.8
        cost: 12.16
        meter_start: 12345.6
        meter_end: 12360.8
        vehicle_info:
          vin: LVXFA394XJ1234567
          soc_start: 20
          soc_end: 90
    VehicleInfo:
      type: object
      properties:
        vin:
          type: string
          description: Vehicle Identification Number (17-char ISO 3779).
        soc_start:
          type: integer
          minimum: 0
          maximum: 100
        soc_end:
          type: integer
          minimum: 0
          maximum: 100
  securitySchemes:
    operatorOAuth2:
      type: oauth2
      description: |
        OAuth2 client-credentials grant for operator-side integrations.
        Obtain an access token by POSTing `client_id` and `client_secret`
        to `/v1/operator/oauth/token`. Tokens are valid for 24 hours
        (86,400 seconds).
      flows:
        clientCredentials:
          tokenUrl: /v1/operator/oauth/token
          scopes:
            read: >-
              Read-only access to sites, devices, charging records, telemetry,
              and aggregated energy.
            write: >-
              Write access — remote start, stop, discharge, schedule,
              flexibility commands.

````