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

# Controllers / List

> Lists the controllers visible to the authenticated client. Optionally filter by location_id. Required permission: asset:controllers:list. Available contexts: API Key, User.



## OpenAPI

````yaml /api/core-api/crmiapi.json get /api/v1/assets/controllers
openapi: 3.2.0
info:
  title: chargecloud - Core API
  summary: chargecloud Core API. All around CRM, Asset Management and more.
  version: 1.141.0
  description: chargecloud Core API. All around CRM, Asset Management and more.
servers:
  - url: https://api.chargecloud.dev
    description: Production - chargecloud Core API
  - url: https://demo.chargecloud.de
    description: Sandbox/Dev - chargecloud Core API
security: []
paths:
  /api/v1/assets/controllers:
    get:
      tags:
        - Controllers
      summary: Controllers / List
      description: >-
        Lists the controllers visible to the authenticated client. Optionally
        filter by location_id. Required permission: asset:controllers:list.
        Available contexts: API Key, User.
      operationId: /api/v1/assets/controllers_GET
      parameters:
        - name: location_uuid
          in: query
          description: >-
            Restricts the list to the controllers installed at this location.
            The location must belong to the authenticated client; an unknown
            UUID returns 404.
          required: false
          schema:
            type: string
            pattern: >-
              ^[a-f0-9]{8}\-[a-f0-9]{4}\-4[a-f0-9]{3}\-[89ab][a-f0-9]{3}\-[a-f0-9]{12}$
            description: >-
              Restricts the list to the controllers installed at this location.
              The location must belong to the authenticated client; an unknown
              UUID returns 404.
        - name: limit
          in: query
          description: Maximum number of items per page. Maximum value is 25.
          required: false
          schema:
            type: integer
            format: int64
            minimum: 1
            maximum: 25
            description: Maximum number of items per page. Maximum value is 25.
            example: '10'
        - name: page
          in: query
          description: Page number to retrieve (starting from 1).
          required: false
          schema:
            type: integer
            format: int64
            minimum: 1
            description: Page number to retrieve (starting from 1).
            example: '1'
        - name: Accept-Language
          in: header
          description: BCP 47 language tag for content negotiation (e.g. en, de-DE).
          required: false
          schema:
            type: string
            description: BCP 47 language tag for content negotiation (e.g. en, de-DE).
            example: en
      responses:
        '200':
          headers:
            Content-Language:
              description: The locale of the response content (BCP 47 language tag).
              required: false
              schema:
                type: string
                example: en
          content:
            application/json:
              schema:
                type: object
                required:
                  - controllers
                properties:
                  controllers:
                    type: array
                    items:
                      type: object
                      properties:
                        uuid:
                          type: string
                          pattern: >-
                            ^[a-f0-9]{8}\-[a-f0-9]{4}\-4[a-f0-9]{3}\-[89ab][a-f0-9]{3}\-[a-f0-9]{12}$
                          description: >-
                            The universally unique identifier (UUID) of the
                            controller, automatically generated on creation. Use
                            this UUID to retrieve or reference the controller in
                            subsequent API calls.
                        created_at:
                          type: string
                          format: date
                          pattern: ^\d{4}-\d{2}-\d{2}$
                          description: Date the controller was created.
                        updated_at:
                          type: string
                          format: date
                          pattern: ^\d{4}-\d{2}-\d{2}$
                          description: Date the controller was last updated.
                        status:
                          type: string
                          enum:
                            - Available
                            - Occupied
                            - Unavailable
                            - Faulted
                            - Deactivated
                            - unknown
                            - undefined
                          description: >-
                            Operational state last reported by the device.
                            Allowed values: Available (ready), Occupied (busy),
                            Unavailable (offline), Faulted, Deactivated,
                            unknown, undefined.
                        modification_date:
                          type: string
                          format: date
                          pattern: ^\d{4}-\d{2}-\d{2}$
                          description: Date of the most recent modification.
                        firmware_version:
                          type: string
                          maxLength: 50
                          description: Firmware version reported by the device.
                        location_uuid:
                          type: string
                          pattern: >-
                            ^[a-f0-9]{8}\-[a-f0-9]{4}\-4[a-f0-9]{3}\-[89ab][a-f0-9]{3}\-[a-f0-9]{12}$
                          description: >-
                            The UUID of the location this controller is assigned
                            to. A controller must always be linked to exactly
                            one location and cannot be reassigned after
                            creation.
                        logging:
                          type: boolean
                          default: true
                          description: >-
                            Records detailed protocol logs when true. Defaults
                            to true.
                        fairmode:
                          type: boolean
                          default: false
                          description: >-
                            When true, caps output to share available power
                            across active sessions.
                        software:
                          type: string
                          enum:
                            - mennekes
                            - mennekes_ecu
                            - mennekes_amtron_non_eichrecht
                            - mennekes_amedio_eichrecht
                            - mennekes_amedio_non_eichrecht
                            - mennekes_4you_500
                            - mennekes_4business_700
                            - mennekes_4business_700_eichrecht
                            - nidec
                            - ebg
                            - phoenix
                            - ecotap
                            - abb
                            - abb_terra_ac
                            - alfen
                            - amperfied
                            - ampure
                            - hubject
                            - kathrein
                            - keba
                            - kostad_sissy2
                            - heliox
                            - innogy
                            - ochp
                            - ebee
                            - enercharge
                            - chargeamps
                            - schneiderelectric
                            - tritium
                            - walther
                            - vinci_proxy
                            - vestel
                            - volkswagen
                            - chargehere
                            - schrack
                            - ebemobility
                            - kostad
                            - circontrol
                            - eluminocity
                            - abl
                            - abl_em4
                            - bauer_gen3
                            - bauer_gen4
                            - gewiss
                            - getpower
                            - delta
                            - photon
                            - porsche
                            - powerjames
                            - ads_tec
                            - siemens
                            - siemens_sicharge_d
                            - smight
                            - aixacct
                            - alpitronic
                            - stoehr
                            - meenergy
                            - whbcharging
                            - starchargeaurora
                            - compleo_solo
                            - evboxdc
                            - evboxliviqo
                            - unknown
                            - smappee
                            - hager_witty_share
                            - hager_witty_park
                            - hager_witty_pro
                            - zaptec
                            - peblar
                            - rzb
                            - kempower
                            - spelsberg
                            - mahlechargebig
                            - goe
                          description: >-
                            Firmware/software stack the controller runs,
                            selected per manufacturer. Must be compatible with
                            backend_communication_type and is required for
                            firmware update management. Allowed values are
                            lowercase manufacturer or model identifiers (e.g.
                            abb, alfen, keba, mennekes_ecu, siemens_sicharge_d);
                            each names the vendor firmware family the backend
                            talks to.
                          example: abb
                        charge_point_model:
                          type: string
                          maxLength: 20
                          description: >-
                            Charging point hardware model. Found on the purchase
                            receipt, in the station documentation, or via the
                            serial number in the boot notification.
                        name:
                          type: string
                          maxLength: 50
                          description: >-
                            Display name. Must be unique across the client's
                            controllers and exactly match the chargeBoxIdentity
                            configured on the physical device. Avoid mixed case,
                            umlauts, special characters and spaces; use
                            underscores instead.
                        ssl:
                          type: boolean
                          default: false
                          description: >-
                            When true, the backend connection uses TLS. Required
                            for all backend communication types except OCPP 1.6
                            JSON V2.
                        ip_address:
                          type: string
                          description: >-
                            IP address of the controller. Optional. When you
                            supply an `icc_id`, the API derives the IP from the
                            matching SIM card and ignores any value sent in this
                            field. The IP+port combination is rejected if it
                            collides with another controller that does not allow
                            shared IPs.
                        dns_name:
                          type: string
                          description: >-
                            Hostname of the controller, alternative to
                            ip_address. Only allowed for backend communication
                            types that support hostname addressing.
                        ip_port:
                          type: integer
                          format: int64
                          description: >-
                            TCP port of the controller. Only allowed for backend
                            communication types that support direct port
                            addressing.
                        proxy_port:
                          type: integer
                          format: int64
                          description: >-
                            TCP port of the backend proxy. Only allowed for
                            backend communication types that use a proxy.
                        manufacturer:
                          type: string
                          description: Hardware manufacturer reported by the device.
                        backend_communication_type:
                          type: string
                          enum:
                            - ocpp_1_5
                            - ocpp_1_6_soap
                            - ocpp_1_6_json
                            - ocpp_1_6_json_v2
                            - ocpp_201_json
                          description: >-
                            Protocol the controller uses to talk to the
                            ChargeCloud backend. Must match the configuration on
                            the physical device and be supported by the chosen
                            software. Allowed values: ocpp_1_5 (OCPP-1.5 SOAP),
                            ocpp_1_6_soap (OCPP-1.6 SOAP), ocpp_1_6_json
                            (OCPP-1.6 JSON Websocket), ocpp_1_6_json_v2
                            (OCPP-1.6 JSON, V2), ocpp_201_json (OCPP-2.0.1
                            JSON).
                        mobile_communication_type:
                          type: string
                          enum:
                            - DSL
                            - GSM
                            - WLAN
                          description: >-
                            Network type used to reach the backend. Allowed
                            values: DSL (wired), GSM (cellular via SIM), WLAN.
                        mobile_number:
                          type: string
                          maxLength: 25
                          description: Phone number of the SIM card.
                        icc_id:
                          type: string
                          maxLength: 25
                          description: >-
                            ICCID of the installed SIM card. When provided, the
                            IP address is taken from the matching SIM card
                            record.
                        imsi:
                          type: string
                          maxLength: 30
                          description: IMSI of the installed SIM card.
                        imei:
                          type: string
                          maxLength: 30
                          description: IMEI of the cellular modem.
                        sim_card_name:
                          type: string
                          maxLength: 50
                          description: Free-text SIM card label.
                        radius_pwd:
                          type: string
                          maxLength: 50
                          description: >-
                            RADIUS password for network authentication, where
                            applicable.
                        pin:
                          type: string
                          maxLength: 5
                          description: PIN code of the SIM card.
                        puk:
                          type: string
                          maxLength: 8
                          description: >-
                            PUK code of the SIM card. Unlocks the SIM after
                            wrong PIN attempts.
                        alternative_heartbeat_interval:
                          type: integer
                          format: int64
                          minimum: 60
                          maximum: 7200
                          description: >-
                            Overrides the default heartbeat interval (seconds).
                            Range: 60-7200; recommended 900. Not applicable for
                            OCPP 1.6 JSON controllers.
                        alternative_meter_values_interval:
                          type: integer
                          format: int64
                          minimum: 60
                          maximum: 7200
                          description: >-
                            Overrides the default meter values reporting
                            interval (seconds). Range: 60-7200.
                        alternative_ftp_host:
                          type: string
                          maxLength: 55
                          description: >-
                            Overrides the default FTP host for diagnostic logs
                            and firmware artefacts.
                        serial_number:
                          type: string
                          maxLength: 16
                          description: Hardware serial number from the manufacturer.
                        article_number:
                          type: string
                          maxLength: 16
                          description: Manufacturer SKU identifying the model.
                        u_ids:
                          type: array
                          items:
                            type: object
                            properties:
                              u_id:
                                type: string
                                description: >-
                                  RFID/NFC tag identifier. Comma-separated
                                  values are split into single UIDs.
                            required:
                              - u_id
                          description: >-
                            Authentication uIds (RFID/NFC tag IDs) accepted for
                            local authorization. Empty when none are configured.
                      required:
                        - uuid
                        - created_at
                        - updated_at
                        - status
                        - location_uuid
                        - logging
                        - fairmode
                        - software
                        - name
                        - backend_communication_type
                        - mobile_communication_type
                      description: >-
                        The controller record with its backend connectivity, SIM
                        card and interval settings.
                    description: The controllers in this page. Empty when no matches.
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        format: int64
                        description: Current page number (starting from 1).
                        example: '1'
                      total_pages:
                        type: integer
                        format: int64
                        description: Total number of available pages.
                        example: '5'
                      page_size:
                        type: integer
                        format: int64
                        description: Number of items returned per page.
                        example: '10'
                      has_more:
                        type: boolean
                        default: true
                        description: >-
                          Indicates whether more pages are available after the
                          current page.
                        example: 'true'
                    description: Pagination
          description: Paginated list of controllers visible to the authenticated client.
        '401':
          headers:
            Content-Language:
              description: The locale of the response content (BCP 47 language tag).
              required: false
              schema:
                type: string
                example: en
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
                    description: Error message
          description: Unauthorized
        '403':
          headers:
            Content-Language:
              description: The locale of the response content (BCP 47 language tag).
              required: false
              schema:
                type: string
                example: en
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
                    description: Error message
          description: Forbidden
        '404':
          headers:
            Content-Language:
              description: The locale of the response content (BCP 47 language tag).
              required: false
              schema:
                type: string
                example: en
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
                    description: Error message
          description: Not found
        '405':
          headers:
            Content-Language:
              description: The locale of the response content (BCP 47 language tag).
              required: false
              schema:
                type: string
                example: en
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
                    description: Error message
          description: Method not allowed
        '422':
          headers:
            Content-Language:
              description: The locale of the response content (BCP 47 language tag).
              required: false
              schema:
                type: string
                example: en
          content:
            application/json:
              schema:
                type: object
                required:
                  - errors
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        errorKey:
                          type: string
                          description: A key identifying the error
                        message:
                          type: string
                          description: The error message
                        parameter:
                          type: string
                          description: The parameter that caused the error, if any
                      required:
                        - errorKey
                        - message
                        - parameter
                      description: Error
                    description: List of errors
          description: Request validation failed
      security:
        - bearer:
            - asset:controllers
components:
  securitySchemes:
    bearer:
      type: http
      description: OAuth2 Bearer Authorization
      scheme: bearer
      bearerFormat: JWT

````

## Related topics

- [Introduction](https://chargecloud.dev/api/core-api/index.md)
- [Controllers / Configurations / List](https://chargecloud.dev/api-reference/controllers/controllers-configurations-list.md)
- [Stations / List](https://chargecloud.dev/api-reference/stations/stations-list.md)


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