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

# Meters / Update

> Updates a meter. Required permission: asset:meters:update. Available contexts: API Key, User.



## OpenAPI

````yaml /api/core-api/crmiapi.json put /api/v1/assets/meters/{uuid}
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/meters/{uuid}:
    put:
      tags:
        - Meters
      summary: Meters / Update
      description: >-
        Updates a meter. Required permission: asset:meters:update. Available
        contexts: API Key, User.
      operationId: /api/v1/assets/meters/{uuid}_PUT
      parameters:
        - name: uuid
          in: path
          description: UUID of the Meter
          required: true
          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: UUID of the Meter
        - 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
      requestBody:
        description: >-
          Updates a meter. Required permission: asset:meters:update. Available
          contexts: API Key, User.
        content:
          application/json:
            schema:
              type: object
              required:
                - chargepoint_uuid
                - public_key
              properties:
                installation_date:
                  type: string
                  format: date
                  pattern: ^\d{4}-\d{2}-\d{2}$
                  description: Date the meter was physically installed.
                market_partner:
                  type: string
                  maxLength: 100
                  description: >-
                    Name of the energy market partner responsible for the meter,
                    typically the grid operator or metering service provider.
                    Used in EDI/GPKE communication.
                chargepoint_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 charge point this meter is assigned to. Each
                    active meter must be linked to exactly one chargepoint. Only
                    one active meter per charge point is allowed at a time.
                meter_type:
                  type: string
                  description: >-
                    Human-readable meter type label (e.g. "Smart Meter mit
                    Fernuebertragung"). Determines how meter readings are
                    processed and whether they qualify for legally compliant
                    billing.
                meter_serial_number:
                  type: string
                  maxLength: 70
                  description: >-
                    Serial number reported by the physical meter (counter
                    number).
                meter_point:
                  type: string
                  maxLength: 50
                  description: >-
                    Metering point identifier (Marktlokations- or
                    Messlokations-ID).
                comment:
                  type: string
                  maxLength: 255
                  description: Free-form internal note, visible only to back-office users.
                active:
                  type: boolean
                  default: false
                  description: >-
                    Whether the meter is in service. Inactive meters are
                    excluded from billing. Only one meter per charging point can
                    be active at a time.
                internal_counter:
                  type: boolean
                  default: false
                  description: >-
                    Whether this meter is an internal software counter rather
                    than a physical hardware meter. Internal counters are used
                    when no certified physical meter is present.
                credit_counter:
                  type: boolean
                  default: false
                  description: >-
                    Whether this meter is used as a credit counter, tracking
                    energy consumed against a prepaid or credit-based balance.
                sum_counter:
                  type: boolean
                  default: false
                  description: >-
                    Whether this meter aggregates readings across multiple
                    charging points or sessions.
                is_public:
                  type: boolean
                  default: false
                  description: >-
                    Whether this meter is physically visible and accessible to
                    end customers at the charging station.
                public_key:
                  type: string
                  maxLength: 255
                  description: >-
                    Public key used to verify calibration-law-relevant meter
                    value signatures.
                serial_number:
                  type: string
                  maxLength: 16
                  description: >-
                    Internal asset serial number of the meter hardware, used for
                    inventory and spare-parts management. May differ from
                    meter_serial_number, which is the official
                    calibration-relevant identifier.
                article_number:
                  type: string
                  maxLength: 16
                  description: Manufacturer article (model) number.
                manufacturer:
                  type: string
                  maxLength: 32
                  description: Name of the meter manufacturer.
        required: true
      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:
                  - meter
                properties:
                  meter:
                    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 unique identifier of the meter, automatically
                          assigned by the system upon creation. Use this UUID to
                          retrieve or reference the meter in subsequent API
                          calls.
                      created_at:
                        type: string
                        format: date
                        pattern: ^\d{4}-\d{2}-\d{2}$
                        description: Creation timestamp of the meter record.
                      updated_at:
                        type: string
                        format: date
                        pattern: ^\d{4}-\d{2}-\d{2}$
                        description: Last-write timestamp of the meter record.
                      modification_date:
                        type: string
                        format: date
                        pattern: ^\d{4}-\d{2}-\d{2}$
                        description: >-
                          Last modification timestamp, maintained by the
                          database.
                      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 meter is associated
                          with. Returned for context and cross-referencing.
                      station_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 charging station this meter is
                          physically installed in. Returned for context.
                      installation_date:
                        type: string
                        format: date
                        pattern: ^\d{4}-\d{2}-\d{2}$
                        description: Date the meter was physically installed.
                      market_partner:
                        type: string
                        maxLength: 100
                        description: >-
                          Name of the energy market partner responsible for the
                          meter, typically the grid operator or metering service
                          provider. Used in EDI/GPKE communication.
                      chargepoint_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 charge point this meter is assigned
                          to. Each active meter must be linked to exactly one
                          chargepoint. Only one active meter per charge point is
                          allowed at a time.
                      meter_type:
                        type: string
                        description: >-
                          Human-readable meter type label (e.g. "Smart Meter mit
                          Fernuebertragung"). Determines how meter readings are
                          processed and whether they qualify for legally
                          compliant billing.
                      meter_serial_number:
                        type: string
                        maxLength: 70
                        description: >-
                          Serial number reported by the physical meter (counter
                          number).
                      meter_point:
                        type: string
                        maxLength: 50
                        description: >-
                          Metering point identifier (Marktlokations- or
                          Messlokations-ID).
                      comment:
                        type: string
                        maxLength: 255
                        description: >-
                          Free-form internal note, visible only to back-office
                          users.
                      active:
                        type: boolean
                        default: false
                        description: >-
                          Whether the meter is in service. Inactive meters are
                          excluded from billing. Only one meter per charging
                          point can be active at a time.
                      internal_counter:
                        type: boolean
                        default: false
                        description: >-
                          Whether this meter is an internal software counter
                          rather than a physical hardware meter. Internal
                          counters are used when no certified physical meter is
                          present.
                      credit_counter:
                        type: boolean
                        default: false
                        description: >-
                          Whether this meter is used as a credit counter,
                          tracking energy consumed against a prepaid or
                          credit-based balance.
                      sum_counter:
                        type: boolean
                        default: false
                        description: >-
                          Whether this meter aggregates readings across multiple
                          charging points or sessions.
                      is_public:
                        type: boolean
                        default: false
                        description: >-
                          Whether this meter is physically visible and
                          accessible to end customers at the charging station.
                      public_key:
                        type: string
                        maxLength: 255
                        description: >-
                          Public key used to verify calibration-law-relevant
                          meter value signatures.
                      serial_number:
                        type: string
                        maxLength: 16
                        description: >-
                          Internal asset serial number of the meter hardware,
                          used for inventory and spare-parts management. May
                          differ from meter_serial_number, which is the official
                          calibration-relevant identifier.
                      article_number:
                        type: string
                        maxLength: 16
                        description: Manufacturer article (model) number.
                      manufacturer:
                        type: string
                        maxLength: 32
                        description: Name of the meter manufacturer.
                    required:
                      - uuid
                      - created_at
                      - updated_at
                      - modification_date
                      - chargepoint_uuid
                      - public_key
                    description: >-
                      The meter record with its location, station and charge
                      point assignment and its counter readings.
          description: Updated meter.
        '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
        '500':
          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: Internal server error
      security:
        - bearer:
            - asset:meters
components:
  securitySchemes:
    bearer:
      type: http
      description: OAuth2 Bearer Authorization
      scheme: bearer
      bearerFormat: JWT

````

## Related topics

- [Controllers / Update](https://chargecloud.dev/api-reference/controllers/controllers-update.md)
- [Meters / Read](https://chargecloud.dev/api-reference/meters/meters-read.md)
- [Meters / Create](https://chargecloud.dev/api-reference/meters/meters-create.md)


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