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

# Get charging keys

> Fetches charging keys belonging to a given fleet, or all charging keys if not fleet is specified.



## OpenAPI

````yaml reference/openapi.json GET /emp/v1/charging-keys
openapi: 3.1.0
info:
  title: Drive API
  version: 1.0.0
  description: >-
    The Drive API provides comprehensive access to Plugsurfing's charging
    infrastructure network. It enables you to manage users, charging keys,
    search for charging locations, handle payments, and control charging
    sessions.
servers:
  - url: https://{environment}.plugsurfing.com
    variables:
      environment:
        enum:
          - drive-api-stage
        default: drive-api-stage
        description: >-
          API environment - use drive-api-stage for testing and drive-api for
          production
security: []
tags:
  - name: Geosearch
    description: >-
      Search and retrieve detailed information about charging locations and
      stations
  - name: Users
    description: >-
      Manage user accounts including creation, retrieval, updates, and deletion.
      Handles user-specific data and preferences.
  - name: Charging Keys
    description: >-
      Manage physical and virtual charging keys including creation, activation,
      updates, and status management. Essential for user access to charging
      stations.
  - name: Sessions
    description: >-
      Access and manage charging session data including history, status, and
      detailed session information
  - name: Remote Charging
    description: >-
      Control charging sessions remotely including starting and stopping
      sessions, and monitoring session status
  - name: Payment Options
    description: >-
      Manage payment methods and handle transaction processing for charging
      services
  - name: User Groups
    description: Manage user group memberships
  - name: Vouchers
    description: Redeem vouchers
  - name: Charging Key Orders
    description: Handle the ordering and fulfillment process for physical charging keys
  - name: EMP Charging Keys
    description: E-Mobility Provider specific endpoints for managing charging keys
  - name: EMP Geosearch
    description: E-Mobility Provider specific endpoints for location search and information
  - name: EMP Orders
    description: E-Mobility Provider specific endpoints for managing orders
  - name: EMP Sessions
    description: E-Mobility Provider specific endpoints for managing charging sessions
  - name: EMP Fleets
    description: E-Mobility Provider specific endpoints for managing fleets
paths:
  /emp/v1/charging-keys:
    get:
      tags:
        - EMP Charging Keys
      summary: Get charging keys
      description: >-
        Fetches charging keys belonging to a given fleet, or all charging keys
        if not fleet is specified.
      operationId: listEmpChargingKeys
      parameters:
        - name: fleetId
          in: query
          description: >-
            Optional - the id of the fleet you want to filter charging keys on.
            If not id is specified, it will return all charging keys
          required: false
          schema:
            type: string
        - name: cursor
          in: query
          description: >-
            Optional - pass cursor from previous response body to get the next
            page.
          required: false
          schema:
            type: string
        - name: page_size
          in: query
          description: Optional - used to set page size value
          required: false
          schema:
            type: number
            minimum: 10
            maximum: 500
            default: 100
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  keys:
                    type: array
                    items:
                      $ref: '#/components/schemas/EmpChargingKeyResponse'
                  cursor:
                    type: string
              example:
                keys:
                  - name: SE6F1K2C3
                    keyIdentifier: 3633e0e0
                    validTo: '2022-01-24T11:25:54.210Z'
                    fleetId: y1nNLJqb7m
                    contractId: DE-9FS-C045DS363-E
                    visualNumber: '6285629402937'
                    enabled: true
                    whitelist: NEVER
                cursor: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: Resource not found
      security:
        - ApiKeyAuth: []
components:
  schemas:
    EmpChargingKeyResponse:
      properties:
        name:
          type: string
          example: SE6F1K2C3
          description: Name of the Charging key
        keyIdentifier:
          type: string
          example: 3633e0e0
          description: >-
            Charging key identifier in hexadecimal, little-endian format with
            usually 8 or 14 characters.
        validTo:
          type: string
          format: date-time
          example: '2022-01-24T11:25:54.210Z'
          description: UTC timestamp when the charging key expires.
        fleetId:
          type: string
          example: y1nNLJqb7m
          description: Fleet id
        contractId:
          type: string
          example: DE-9FS-C045DS363-E
          description: Charging key contract id
        visualNumber:
          type: string
          example: '6285629402937'
          description: Identifier printed on the physical key
        enabled:
          type: boolean
          example: true
          description: Charging key is enabled or disabled
        whitelist:
          $ref: '#/components/schemas/DriveApiChargingKeyWhitelistType'
          description: >-
            Defines whether the CPO may allow a session for this charging key
            when it cannot get a response from the EMP, or must always rely on
            realtime authorization from the EMP. Possible values:
            ALLOWED_OFFLINE, NEVER.
          example: NEVER
      description: EMP charging key details returned by key management endpoints.
    ErrorResponse:
      title: ErrorResponse
      type: object
      properties:
        message:
          type: string
    DriveApiChargingKeyWhitelistType:
      type: string
      enum:
        - ALLOWED_OFFLINE
        - NEVER
      description: >-
        Defines when authorization of a charging key by the CPO is allowed.

        ALLOWED_OFFLINE: CPO should use realtime authorization. But when the CPO
        cannot get a response from the eMSP, the CPO shall allow the charging
        key to be used.

        NEVER: Only realtime authorization is allowed. CPO shall always send a
        realtime authorization for any use of this charging key to the MSP.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key for authentication

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.