ev.energy CT Clamps API

The CT Clamps API from ev.energy — 4 operation(s) for ct clamps.

Operations 4

GET /ct_clamps List CT Clamps #
GET /ct_clamps/{ct_clamp_id} Retrieve a CT Clamp #
GET /ct_clamps/{ct_clamp_id}/logs List logs for a CT Clamp #
GET /ct_clamps/{ct_clamp_id}/logs/{sampled_at} Retrieve a log for a CT Clamp #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ev-energy-ct-clamps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ev-energy-ct-clamps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ev.energy v2 CT Clamps API
  version: '2.0'
  contact:
    email: developers@ev.energy
    url: developers.ev.energy
    name: ev.energy developers
  description: The official API for ev.energy, version 2.
  license:
    name: Proprietary
    url: https://ev.energy
  termsOfService: ''
servers:
- url: https://api.ev.energy/v2
  description: Live API for both production and sandbox requests.
  x-internal: false
- description: Staging server for internal testing only.
  url: https://api-staging.ev.energy/v2
  x-internal: true
security:
- oauth2: []
tags:
- name: CT Clamps
paths:
  /ct_clamps:
    get:
      summary: List CT Clamps
      tags:
      - CT Clamps
      responses:
        '200':
          description: Returns a list of CT clamps.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CTClamp'
          headers:
            Link:
              $ref: '#/components/headers/link'
            EvEnergy-Version:
              $ref: '#/components/headers/version-2'
            X-RateLimit-Limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            RetryAfter:
              $ref: '#/components/headers/retry-after'
        '400':
          $ref: '#/components/responses/Problem400BadRequestList'
        '401':
          $ref: '#/components/responses/Problem401Unauthorized'
        '403':
          $ref: '#/components/responses/Problem403Forbidden'
        '406':
          $ref: '#/components/responses/Problem406NotAcceptable'
        '429':
          $ref: '#/components/responses/Problem429TooManyRequests'
      operationId: get-ct-clamps
      parameters:
      - $ref: '#/components/parameters/previous'
      - $ref: '#/components/parameters/next'
      - $ref: '#/components/parameters/page_size'
      - $ref: '#/components/parameters/expand-on-ctclamp'
      - $ref: '#/components/parameters/version-2'
      description: List all CT clamps that the authorization token has access to.
      security:
      - oauth2:
        - evse:read
  /ct_clamps/{ct_clamp_id}:
    parameters:
    - $ref: '#/components/parameters/ct_clamp_id'
    get:
      summary: Retrieve a CT Clamp
      tags:
      - CT Clamps
      responses:
        '200':
          description: Returns a single CT clamp.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CTClamp'
          headers:
            EvEnergy-Version:
              $ref: '#/components/headers/version-2'
            X-RateLimit-Limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            RetryAfter:
              $ref: '#/components/headers/retry-after'
        '400':
          $ref: '#/components/responses/Problem400BadRequestRetrieve'
        '401':
          $ref: '#/components/responses/Problem401Unauthorized'
        '403':
          $ref: '#/components/responses/Problem403Forbidden'
        '404':
          $ref: '#/components/responses/Problem404NotFound'
        '406':
          $ref: '#/components/responses/Problem406NotAcceptable'
        '429':
          $ref: '#/components/responses/Problem429TooManyRequests'
      operationId: get-ct-clamps-ct_clamp_id
      parameters:
      - $ref: '#/components/parameters/expand-on-ctclamp'
      - $ref: '#/components/parameters/version-2'
      description: Retrieve a single CT clamp's details.
      security:
      - oauth2:
        - evse:read
  /ct_clamps/{ct_clamp_id}/logs:
    parameters:
    - $ref: '#/components/parameters/ct_clamp_id'
    get:
      summary: List logs for a CT Clamp
      description: List the historical current measurement logs for a specific CT clamp.
      tags:
      - CT Clamps
      responses:
        '200':
          description: Returns a list of CT clamp logs.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CTClampLog'
          headers:
            Link:
              $ref: '#/components/headers/link'
            EvEnergy-Version:
              $ref: '#/components/headers/version-2'
            X-RateLimit-Limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            RetryAfter:
              $ref: '#/components/headers/retry-after'
        '400':
          $ref: '#/components/responses/Problem400BadRequestList'
        '401':
          $ref: '#/components/responses/Problem401Unauthorized'
        '403':
          $ref: '#/components/responses/Problem403Forbidden'
        '404':
          $ref: '#/components/responses/Problem404NotFound'
        '406':
          $ref: '#/components/responses/Problem406NotAcceptable'
        '429':
          $ref: '#/components/responses/Problem429TooManyRequests'
      operationId: get-ct-clamps-ct_clamp_id-logs
      parameters:
      - $ref: '#/components/parameters/previous'
      - $ref: '#/components/parameters/next'
      - $ref: '#/components/parameters/page_size'
      - $ref: '#/components/parameters/sampled_at__gte'
      - $ref: '#/components/parameters/sampled_at__lte'
      - $ref: '#/components/parameters/expand-on-ctclamplog'
      - $ref: '#/components/parameters/version-2'
      security:
      - oauth2:
        - evse:read
  /ct_clamps/{ct_clamp_id}/logs/{sampled_at}:
    parameters:
    - $ref: '#/components/parameters/ct_clamp_id'
    - schema:
        type: string
        format: date-time
      name: sampled_at
      in: path
      required: true
      description: The time the log's data was recorded on the device.
      example: '2024-04-17T09:39:45.984584Z'
    get:
      summary: Retrieve a log for a CT Clamp
      tags:
      - CT Clamps
      responses:
        '200':
          description: Returns a single CT clamp log.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CTClampLog'
          headers:
            EvEnergy-Version:
              $ref: '#/components/headers/version-2'
            X-RateLimit-Limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            RetryAfter:
              $ref: '#/components/headers/retry-after'
        '400':
          $ref: '#/components/responses/Problem400BadRequestRetrieve'
        '401':
          $ref: '#/components/responses/Problem401Unauthorized'
        '403':
          $ref: '#/components/responses/Problem403Forbidden'
        '404':
          $ref: '#/components/responses/Problem404NotFound'
        '406':
          $ref: '#/components/responses/Problem406NotAcceptable'
        '429':
          $ref: '#/components/responses/Problem429TooManyRequests'
      operationId: get-ct-clamps-ct_clamp_id-logs-sampled_at
      parameters:
      - $ref: '#/components/parameters/expand-on-ctclamplog'
      - $ref: '#/components/parameters/version-2'
      description: Retrieve a single CT clamp log entry.
      security:
      - oauth2:
        - evse:read
components:
  responses:
    Problem404NotFound:
      description: This resource either does not exist or the client is not authorized to access it.
      content:
        application/problem+json:
          schema:
            type: object
            required:
            - title
            - detail
            properties:
              status:
                type: number
                example: 404
              title:
                type: string
                example: Not found
              detail:
                type: string
                example: Resource does not exist or cannot be accessed.
      headers:
        EvEnergy-Version:
          $ref: '#/components/headers/version-2'
        X-RateLimit-Limit:
          $ref: '#/components/headers/x-ratelimit-limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/x-ratelimit-remaining'
        RetryAfter:
          $ref: '#/components/headers/retry-after'
    Problem400BadRequestRetrieve:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/RFC9457ProblemDetail'
          examples:
            Unsupported Version:
              $ref: '#/components/examples/ProblemUnsupportedVersion'
      description: A problem with the request's parameters prevented it being fulfilled.
      headers:
        EvEnergy-Version:
          $ref: '#/components/headers/version-2'
        X-RateLimit-Limit:
          $ref: '#/components/headers/x-ratelimit-limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/x-ratelimit-remaining'
    Problem429TooManyRequests:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/RFC9457ProblemDetail'
          examples:
            Example 1:
              value:
                type: https://api.ev.energy/v2/problems/rate-limit-exceeded/
                status: 429
                title: Too Many Requests
                detail: Request was rate limited. Try again in 42 seconds
      description: The client has exceeded its rate limit.
      headers:
        EvEnergy-Version:
          $ref: '#/components/headers/version-2'
        Retry-After:
          $ref: '#/components/headers/retry-after'
        X-RateLimit-Limit:
          $ref: '#/components/headers/x-ratelimit-limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/x-ratelimit-remaining'
    Problem401Unauthorized:
      description: You need to authorise requests to access this resource.
      content:
        application/problem+json:
          schema:
            type: object
            required:
            - title
            - detail
            properties:
              status:
                type: number
                example: 401
              title:
                type: string
                example: Unauthorized
              detail:
                type: string
                example: Authentication credentials were not provided.
      headers:
        EvEnergy-Version:
          $ref: '#/components/headers/version-2'
        X-RateLimit-Limit:
          $ref: '#/components/headers/x-ratelimit-limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/x-ratelimit-remaining'
        RetryAfter:
          $ref: '#/components/headers/retry-after'
    Problem400BadRequestList:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/RFC9457ProblemDetail'
          examples:
            Invalid Pagination Parameter:
              $ref: '#/components/examples/ProblemInvalidPaginationParameter'
            Unsupported Version:
              $ref: '#/components/examples/ProblemUnsupportedVersion'
      description: A problem with the request's parameters prevented it being fulfilled.
      headers:
        EvEnergy-Version:
          $ref: '#/components/headers/version-2'
        X-RateLimit-Limit:
          $ref: '#/components/headers/x-ratelimit-limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/x-ratelimit-remaining'
        RetryAfter:
          $ref: '#/components/headers/retry-after'
    Problem403Forbidden:
      description: You do not have permission to perform this action.
      content:
        application/problem+json:
          schema:
            type: object
            required:
            - title
            - detail
            properties:
              status:
                type: number
                example: 403
              title:
                type: string
                example: Forbidden
              detail:
                type: string
                example: You do not have permission to perform this action.
      headers:
        EvEnergy-Version:
          $ref: '#/components/headers/version-2'
        X-RateLimit-Limit:
          $ref: '#/components/headers/x-ratelimit-limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/x-ratelimit-remaining'
        RetryAfter:
          $ref: '#/components/headers/retry-after'
    Problem406NotAcceptable:
      description: Could not satisfy the request Accept header.
      content:
        application/problem+json:
          schema:
            type: object
            required:
            - title
            - detail
            properties:
              status:
                type: number
                example: 406
              title:
                type: string
                example: Not Acceptable
              detail:
                type: string
                example: Could not satisfy the request Accept header.
      headers:
        EvEnergy-Version:
          $ref: '#/components/headers/version-2'
        X-RateLimit-Limit:
          $ref: '#/components/headers/x-ratelimit-limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/x-ratelimit-remaining'
        RetryAfter:
          $ref: '#/components/headers/retry-after'
  schemas:
    RFC9457ProblemDetail:
      title: RFC 9457 Problem Detail
      x-tags:
      - problems
      type: object
      required:
      - title
      - detail
      properties:
        type:
          type: string
          format: uri
          example: https://api.ev.energy/v2/problems/example-problem/
        status:
          type: number
          example: 400
        title:
          type: string
          example: Short description
        detail:
          type: string
          example: Long, more specific description.
        instance:
          type: string
          format: uri
          example: https://api.ev.energy/v2/users/user01HN2P75GBNFRJPCZJXEFVXH5E
        notification:
          $ref: '#/components/schemas/Notification'
      examples:
      - type: https://api.ev.energy/v2/problems/example-problem/
        status: 400
        title: Short description
        detail: Long, more specific description.
        instance: https://api.ev.energy/v2/users/user01HN2P75GBNFRJPCZJXEFVXH5E
        notification:
          id: notf01HTHKTXVB77901324BCQPF1RB
          url: https://api.ev.energy/notifications/notf01HTHKTXVB77901324BCQPF1RB
          message_id: ERR0123
          category: ACTIONABLE
          event_time: '2019-08-24T14:15:22Z'
          short_text_title: Your car is disconnected
          short_text_body: We need to reconnect to keep smart charging your car
          detail_page_title: Your car is disconnected
          detail_page_body: Your car has been disconnected. This happens when your password is reset. We need you to re-authorise ev.energy to access your account in order for us to keep managing your charging. Blah blah blah.
          external_link: http://example.com
          external_button_label: More info
          read_at: '2019-08-24T14:20:22Z'
          resolved_at: '2019-08-25T14:15:22Z'
    Supplier:
      title: Supplier
      type: object
      description: An energy company who supplies electricity tariffs.
      required:
      - id
      - url
      - name
      - icon
      properties:
        id:
          type: string
          description: Unique identifier for the given user.
          pattern: supl[A-Z\d]{26}
          example: supl01HN2NJ9NMRZBXT1H6FT9N7735
          readOnly: true
        url:
          type: string
          format: uri
          example: https://api.ev.energy/v2/suppliers/supl01HN2NJ9NMRZBXT1H6FT9N7735
        name:
          type: string
          example: Rivendell Renewables
        icon:
          type:
          - string
          - 'null'
          format: uri
          example: https://cdn.example.com/rivendell_renewables.jpg
        highlighted:
          type: boolean
          description: A highlighted supplier is one that is often selected by users.
      x-tags:
      - Tariffs
    DailyPrices:
      title: DailyPrices
      description: Information about the tariff's prices for different parts of the day.
      type: object
      additionalProperties: false
      minProperties: 1
      maxProperties: 3
      required:
      - peak
      properties:
        peak:
          $ref: '#/components/schemas/PriceSummary'
        mid_peak:
          $ref: '#/components/schemas/PriceSummary'
        off_peak:
          $ref: '#/components/schemas/PriceSummary'
      x-tags:
      - Tariffs
    Notification:
      title: Notification
      description: Something that the user should be informed about.
      type: object
      examples:
      - id: notf67O36PLTFDB57M0E5L33JZLGM0
        url: https://api.ev.energy/notifications/notf67O36PLTFDB57M0E5L33JZLGM0
        message_id: ERR0123
        category: ACTIONABLE
        event_time: '2019-08-24T14:15:22Z'
        short_text_title: Your car is disconnected
        short_text_body: We need to reconnect to keep smart charging your car
        detail_page_title: Your car is disconnected
        detail_page_body: Your car has been disconnected. This happens when your password is reset. We need you to re-authorise ev.energy to access your account in order for us to keep managing your charging. Blah blah blah.
        external_link: http://example.com
        external_button_label: More info
        read_at: '2019-08-24T14:20:22Z'
        resolved_at: '2019-08-25T14:15:22Z'
      required:
      - id
      - url
      - message_id
      - category
      - event_time
      - short_text_title
      - short_text_body
      - detail_page_title
      - detail_page_body
      - external_link
      - external_button_label
      properties:
        id:
          type: string
          pattern: notf[A-Z\d]{26}
          example: notf67O36PLTFDB57M0E5L33JZLGM0
          description: Unique identifier for the Notification
        url:
          type: string
          format: uri
          example: https://api.ev.energy/notifications/notf67O36PLTFDB57M0E5L33JZLGM0
        message_id:
          type: string
          description: Internal identifier for this notification type. E.g. 'ERR0023'
        category:
          description: Category of this notification type
          enum:
          - ACTIONABLE
          - SERVICE
          - RETRY
          - MARKETING
          - INTERNAL
        event_time:
          type: string
          format: date-time
          description: The timestamp of the event described by this notification
        short_text_title:
          type: string
          description: Short title for the notification
          maxLength: 33
        short_text_body:
          type: string
          description: Short description of the event being notified
          maxLength: 49
        detail_page_title:
          type: string
          description: Title of a help page giving more information about this notification
        detail_page_body:
          type: string
          description: Text of a help page giving more information about this notification
        external_link:
          type:
          - string
          - 'null'
          description: URL of a web page giving further information about this notification
          format: uri
        external_button_label:
          type: string
          description: Text to be displayed on a button leading to the external_link location
        read_at:
          type: string
          format: date-time
          description: When the user examined the contents of this notification
        resolved_at:
          type: string
          format: date-time
          description: When the problem associated with this notification was resolved
    Tariff:
      title: Tariff
      examples:
      - id: tari01HN2NJ9NMRZBXT1H6FT9N7735
        url: https://api.ev.energy/v2/tariffs/tari01HN2NJ9NMRZBXT1H6FT9N7735
        supplier: https://api.ev.energy/v2/suppliers/supl01HN2NJ9NMRZBXT1H6FT9N7735
        name: Fangorn Biomass
        currency: GBP
        gsp_group: _C
        valid_from: '2026-03-17'
        valid_until: '2027-03-17'
        daily_prices:
          peak:
            price: '0.30'
            times:
            - start: '18:00:00'
              end: 00:00:00
          mid_peak:
            price: '0.20'
            times:
            - start: '10:00:00'
              end: 08:00:00
          off_peak:
            price: '0.10'
            times:
            - start: 08:00:00
              end: '18:00:00'
        scheduler_tariff: https://api.ev.energy/v2/tariffs/tari01HN2NJ9NMRZBXT1H6FT9N7835
      description: 'Note: daily_prices and type are only available under contract. Please reach out to your account manager to find out more.'
      x-tags:
      - Tariffs
      allOf:
      - $ref: '#/components/schemas/TariffBase'
      - type: object
        properties:
          scheduler_tariff:
            oneOf:
            - type: string
              format: uri
              example: https://api.ev.energy/v2/tariffs/tari01HN2NJ9NMRZBXT1H6FT9N7835
            - type: object
              required:
              - id
              - url
              - supplier
              - name
              - currency
              properties:
                id:
                  type: string
                  pattern: tari[A-Z\d]{26}
                url:
                  type: string
                  format: uri
                supplier:
                  type: string
                  format: uri
                name:
                  type: string
                currency:
                  type: string
              additionalProperties: true
            - type: 'null'
            description: The tariff used by the scheduler for charge optimisation, which may differ from the billing tariff. Returns a URL by default, or null if not set. Expandable with ?expand=scheduler_tariff to return a TariffBase object (additional fields may be present beyond those listed here).
    EVSESite:
      title: EVSESite
      type: object
      description: Represents a place with one or more EVSEs installed which can be accessed by multiple users.
      required:
      - id
      - url
      - evses
      - cpms_connection
      properties:
        id:
          type: string
          pattern: site[A-Z\d]{26}
          examples:
          - site01JX2SZ0WAFTDYVYY0JRAYREY7
          readOnly: true
        url:
          type: string
          format: uri
          example: https://api.ev.energy/v2/evse_sites/site01JX2SZ0WAFTDYVYY0JRAYREY7
          readOnly: true
        evses:
          type: array
          description: A list of all EVSEs that are currently associated with this site.
          items:
            type: string
            format: uri
            examples:
            - https://api.ev.energy/v2/evses/evse01HSH04KDEWF6Z4DB2J77J74K5
          readOnly: true
        cpms_connection:
          type:
          - string
          - 'null'
          description: The type of ChargePoint Management System that this site is connected to, if there is one.
          enum:
          - null
          - CHARGEPOINT
          - SWTCH
          readOnly: true
        cpms_connection_display_name:
          type:
          - string
          - 'null'
          description: A human-readable name for the Chargepoint Management System that the site is connected to.
          example: ChargePoint
        user_connected:
          type:
          - boolean
          - 'null'
          description: When authenticated as a specific user (eg. via the Authorisation Code grant type) or when the EvEnergy-User header is set to a valid user ID, this field will indicate whether the user is currently connected to this EVSE Site's CPMS. If the request is not made in the context of a user, or the site does not have a CPMS connection, this field will be null.
          readOnly: true
    EVSE:
      title: EVSE
      description: A resource that represents a single, physical piece of hardware for supplying electricity to an electric vehicle.
      type: object
      x-tags:
      - EVSEs
      required:
      - id
      - url
      - cpid
      properties:
        id:
          type: string
          description: Unique identifier for the given EVSE.
          pattern: evse[A-Z\d]{26}
          example: evse01HSH04KDEWF6Z4DB2J77J74K5
          readOnly: true
        url:
          type: string
          example: https://api.ev.energy/v2/evses/evse01HSH04KDEWF6Z4DB2J77J74K5
          format: uri
          readOnly: true
        cpid:
          type: string
          description: A unique identifier for the chargepoint. The format varies by manufacturer and model.
          example: SHIR100001
          readOnly: true
        model:
          oneOf:
          - type: string
            format: uri
            example: https://api.ev.energy/v2/evse_models/emod01HS9A004X5TB5JCMHENB5Z446
          - $ref: '#/components/schemas/EVSEModel'
          readOnly: true
        user:
          example: https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735
          oneOf:
          - type: string
            example: https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735
            format: uri
          - $ref: '#/components/schemas/User'
          readOnly: true
        latest_status_log:
          example: https://api.ev.energy/v2/evse/evse01HSH04KDEWF6Z4DB2J77J74K5/status_logs/2024-01-01T11:11:11.1111Z/
          oneOf:
          - type:
            - string
            - 'null'
            example: https://api.ev.energy/v2/evse/evse01HSH04KDEWF6Z4DB2J77J74K5/status_logs/2024-01-01T11:11:11.1111Z/
            format: uri
          - $ref: '#/components/schemas/EVSEStatusLog'
          description: 'An expandable reference to the most recent status log for this EVSE. This can be requested or expanded to get the most accurate information we have on the device''s current status.


            **Inferring reachability:** v2 deliberately does not expose a discrete `online`/`offline` state on the EVSE resource — the boundary is fuzzy and prone to misuse. To decide whether an EVSE is currently reachable, expand `latest_status_log` (or fetch it separately) and compare its `sampled_at` timestamp against your own staleness threshold (for example: a charger silent for more than 15 minutes is likely unreachable).'
          readOnly: true
        ct_clamp:
          oneOf:
          - type:
            - string
            - 'null'
            format: uri
            example: https://api.ev.energy/v2/ct_clamps/ctcl01HSH04KDEWF6Z4DB2J77J74K5
          - $ref: '#/components/schemas/CTClamp'
          description: An expandable reference to the CT clamp associated with this EVSE. Will be null if no CT clamp is installed.
          readOnly: true
        lock_mode:
          type:
          - string
          - 'null'
          enum:
          - UNLOCKED
          - SMART
          - LOCKED
          - null
          example: UNLOCKED
          description: Lock mode of the EVSE. ``UNLOCKED`` allows free charging, ``SMART`` only allows charging within smart-charging hours, ``LOCKED`` blocks all charging.
          readOnly: true
        location:
          type:
          - object
          - 'null'
          properties:
            latitude:
              type: number
              format: double
              example: 51.5074
            longitude:
              type: number
              format: double
              example: -0.1278
          required:
          - latitude
          - longitude
          example:
            latitude: 51.5074
            longitude: -0.1278
          description: 'The geographic location of the EVSE as a latitude/longitude point.


            **Why smart charging needs it:** the location tells ev.energy which electricity grid the charger sits on, which drives the core smart-charging decisions:


            - **Carbon optimisation** — selects the local carbon-intensity feed so charging is shifted to the lowest-carbon periods.

            - **Timezone** — resolves the charger''s timezone so time-of-day charging schedules and tariff windows are applied in local time.

            - **Programs and solar** — determines the eligible grid/demand-response programs and the relevant solar forecast.


            Without an accurate location the scheduler cannot reliably optimise charging for cost and carbon.


            **When it is set:** during commissioning, where the supplied postcode/address is geocoded to a latitude/longitude (or, for app-linked chargers, copied from the owner''s home location). It can be corrected later via `PATCH`. Null when the location has not yet been determined.'
        lifecycle_state:
          type:
          - string
          - 'null'
          enum:
          - CREATED_LINKED
          - INSTALLED
          - COMMISSIONED
          - DECOMMISSIONED
          - UNKNOWN
          - PROBABLY_INSTALLED
          - UNPAIRED
          - PENDING
          - ENROLLED
          - null
          example: COMMISSIONED
          description: The most recently recorded stage of the EVSE's onboarding lifecycle. Null when no stage has been recorded for it yet, which is normal for a charger that has only just been created.
          readOnly: true
        charging_sub_sessions:
          type: string
          format: uri
          example: https://api.ev.energy/charging_sub_sessions/?evse_id=evse01HSH04KDEWF6Z4DB2J77J74K5
          description: Provides a pre-constructed URL to list charging sub-sessions involving this EVSE.
    CountryCode:
      description: ISO 3166-1 2 letter Country Codes.
      type: string
      enum:
      - AD
      - AE
      - AF
      - AG
      - AI
      - AL
      - AM
      - AO
      - AQ
      - AR
      - AS
      - AT
      - AU
      - AW
      - AX
      - AZ
      - BA
      - BB
      - BD
      - BE
      - BF
      - BG
      - BH
      - BI
      - BJ
      - BL
      - BM
      - BN
      - BO
      - BQ
      - BR
      - BS
      - BT
      - BV
      - BW
      - BY
      - BZ
      - CA
      - CC
      - CD
      - CF
      - CG
      - CH
      - CI
      - CK
      - CL
      - CM
      - CN
      - CO
      - CR
      - CU
      - CV
      - CW
      - CX
      - CY
      - CZ
      - DE
      - DJ
      - DK
      - DM
      - DO
      - DZ
      - EC
      - EE
      - EG
      - EH
      - ER
      - ES
      - ET
      - FI
      - FJ
      - FK
      - FM
      - FO
      - FR
      - GA
      - GB
      - GD
      - GE
      - GF
      - GG
      - GH
      - GI
      - GL
      - GM
      - GN
      - GP
      - GQ
      - GR
      - GS
      - GT
      - GU
      - GW
      - GY
      - HK
      - HM
      - HN
      - HR
      - HT
      - HU
      - ID
      - IE
      - IL
      - IM
      - IN
      - IO
      - IQ
      - IR
      - IS
      - IT
      - JE
      - JM
      - JO
      - JP
      - KE
      - KG
      - KH
      - KI
      - KM
      - KN
      - KP
      - KR
      - KW
      - KY
      - KZ
      - LA
      - LB
      - LC
      - LI
      - LK
      - LR
      - LS
      - LT
      - LU
      - LV
      - LY
      - MA
      - MC
      - MD
      - ME
      - MF
      - MG
      - MH
      - MK
      - ML
      - MM
      - MN
      - MO
      - MP
      - MQ
      - MR
      - MS
      - MT
      - MU
      - MV
      - MW
      - MX
      - MY
      - MZ
      - NA
      - NC
      - NE
      - NF
      - NG
      - NI
      - NL
      - 'NO'
      - NP
      - NR
      - NU
      - NZ
      - OM
      - PA
      - PE
      - PF
      - PG
      - PH
      - PK
      - PL
      - PM
      - PN
      - PR
      - PS
      - PT
      - PW
      - PY
      - QA
      - RE
      - RO
      - RS
      - RU
      - RW
      - SA
      - SB
      - SC
      - SD
      - SE
      - SG
      - SH
      - SI
      - SJ
      - SK
      - SL
      - SM
      - SN
      - SO
      - SR
      - SS
      - ST
      - SV
      - SX
      - SY
      - SZ
      - TC
      - TD
      - TF
      - TG
      - TH
      - TJ
      - TK
      - TL
      - TM
      - TN
      - TO
      - TR
      - TT
      - TV
      - TW
      - TZ
      - UA
      - UG
      - UM
      - US
      - UY
      - UZ
      - VA
      - VC
      - VE
      - VG
      - VI
      - VN
      - VU
      - WF
      - WS
      - YE
      - YT
      - ZA
      - ZM
      - ZW
    EVSEStatusLog:
      title: EVSEStatusLog
      

# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ev-energy/refs/heads/main/openapi/ev-energy-ct-clamps-api-openapi.yml