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

# The reading ledger: the register that was read and the consumption it was banked as, with the full location it was read…

> The reading ledger: the register that was read and the consumption it was banked as, with the full location it was read at, the register and consumption before it and the percentage change between the two, and whether it was corrected afterwards, by whom and why. The site and the first two levels of the location tree are also given a column each, the register is also given after the multiplier, and the reading's date and time of day are also given on the site's own clock.



## OpenAPI

````yaml /api-reference/openapi.json get /consumption_readings
openapi: 3.0.0
info:
  description: ''
  title: >-
    The only schema PostgREST exposes. Reads are security_invoker views; writes
    are SECURITY DEFINER functions. Rebuilt wholesale on every deploy — it holds
    no data.
  version: 12.2.3
servers:
  - url: https://app.assetinfinity.ai/api
security: []
tags:
  - name: Signing in
  - name: Profile
  - name: My work
  - name: Sites and locations
  - name: Assets
  - name: Asset lifecycle
  - name: Asset components
  - name: Work lifecycle
  - name: Work order execution
  - name: Work sequencing
  - name: Maintenance
  - name: Inspections
  - name: Checklists
  - name: Verification
  - name: Self verification
  - name: Inventory
  - name: Inventory detail
  - name: Parts demand
  - name: Procurement
  - name: Vendors and contracts
  - name: Contracts
  - name: Amendments
  - name: Vendor spend forecast
  - name: Workforce
  - name: Workforce detail
  - name: Capacity
  - name: Dispatch
  - name: Shutdown
  - name: Permits
  - name: Tools
  - name: Tools on jobs
  - name: Bookings
  - name: Calibration history
  - name: Reliability
  - name: Sensors and meters
  - name: Readers
  - name: Trackers
  - name: Real-time location
  - name: Feeds
  - name: Energy
  - name: IT assets
  - name: IT asset software
  - name: IT asset topology
  - name: Map
  - name: Floor plans
  - name: Labels
  - name: Lost and found
  - name: Visitors
  - name: Root cause analysis
  - name: Costing
  - name: Finance
  - name: Budgets
  - name: Capex plans
  - name: FF&E plans
  - name: Documents
  - name: Document control
  - name: Document folders
  - name: Document tree
  - name: Knowledge
  - name: Reports
  - name: Dashboards
  - name: Extracts
  - name: Data exports
  - name: Audit center
  - name: Audit feed
  - name: Activity
  - name: Conversations
  - name: Notifications
  - name: Date reminders
  - name: Channels
  - name: Search
  - name: Copilot
  - name: Import
  - name: Bulk jobs
  - name: File exchange
  - name: Filing exceptions
  - name: Files
  - name: Sync
  - name: Support
  - name: API keys
  - name: Webhooks
  - name: MCP connections
  - name: MCP sign-in
  - name: SCIM provisioning
  - name: Directory sync
  - name: Security streams
  - name: Single sign-on
  - name: Two-factor sign-in
  - name: Admin
  - name: Access
  - name: Lookups
  - name: Read models
  - name: Reference
  - name: Reference columns
  - name: Reference entry
  - name: List views
  - name: Mapping
  - name: Numbering
  - name: Branding
  - name: Custom fields
  - name: Form studio
  - name: Workflows
  - name: Workflow studio
  - name: Rules
  - name: Statuses and transitions
  - name: Currencies and locales
  - name: Today
  - name: Work configuration
  - name: Asset configuration
  - name: Inventory configuration
  - name: Tool configuration
  - name: Workforce configuration
  - name: Vendor and contract configuration
  - name: Document configuration
  - name: Inspection configuration
  - name: Sites, locations and the organisation
  - name: Setup
  - name: Features
  - name: Billing
  - name: Licence
  - name: Welcome
  - name: Tray
  - name: Tenant switch
  - name: Release
  - name: Telegram
  - name: Inbound mail
  - name: Platform
externalDocs:
  description: PostgREST Documentation
  url: https://postgrest.org/en/v12/references/api.html
paths:
  /consumption_readings:
    get:
      tags:
        - Energy
      summary: >-
        The reading ledger: the register that was read and the consumption it
        was banked as, with the full location it was read…
      description: >-
        The reading ledger: the register that was read and the consumption it
        was banked as, with the full location it was read at, the register and
        consumption before it and the percentage change between the two, and
        whether it was corrected afterwards, by whom and why. The site and the
        first two levels of the location tree are also given a column each, the
        register is also given after the multiplier, and the reading's date and
        time of day are also given on the site's own clock.
      parameters:
        - $ref: '#/components/parameters/rowFilter.consumption_readings.id'
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.supply_point_id
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.supply_point_code
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.supply_point_name
        - $ref: '#/components/parameters/rowFilter.consumption_readings.commodity_id'
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.commodity_name
        - $ref: '#/components/parameters/rowFilter.consumption_readings.unit_code'
        - $ref: '#/components/parameters/rowFilter.consumption_readings.location_path'
        - $ref: '#/components/parameters/rowFilter.consumption_readings.reading_at'
        - $ref: '#/components/parameters/rowFilter.consumption_readings.period_start'
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.register_value
        - $ref: '#/components/parameters/rowFilter.consumption_readings.multiplier'
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.previous_register_value
        - $ref: '#/components/parameters/rowFilter.consumption_readings.consumption'
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.previous_consumption
        - $ref: '#/components/parameters/rowFilter.consumption_readings.source'
        - $ref: '#/components/parameters/rowFilter.consumption_readings.is_estimated'
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.is_meter_exchange
        - $ref: '#/components/parameters/rowFilter.consumption_readings.cost'
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.cost_currency_id
        - $ref: '#/components/parameters/rowFilter.consumption_readings.tariff_id'
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.invoice_reference
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.recorded_by_user_id
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.recorded_by_name
        - $ref: '#/components/parameters/rowFilter.consumption_readings.notes'
        - $ref: '#/components/parameters/rowFilter.consumption_readings.is_backdated'
        - $ref: '#/components/parameters/rowFilter.consumption_readings.restated_at'
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.restated_from_consumption
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.consumption_change_percent
        - $ref: '#/components/parameters/rowFilter.consumption_readings.corrected_at'
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.corrected_by_user_id
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.corrected_by_name
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.corrected_from_register_value
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.correction_remarks
        - $ref: '#/components/parameters/rowFilter.consumption_readings.site_name'
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.location_level_1
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.location_level_2
        - $ref: '#/components/parameters/rowFilter.consumption_readings.asset_number'
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.scaled_register_value
        - $ref: >-
            #/components/parameters/rowFilter.consumption_readings.previous_scaled_register_value
        - $ref: '#/components/parameters/rowFilter.consumption_readings.reading_date'
        - $ref: '#/components/parameters/rowFilter.consumption_readings.reading_time'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/range'
        - $ref: '#/components/parameters/rangeUnit'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/preferCount'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/consumption_readings'
                type: array
            application/vnd.pgrst.object+json:
              schema:
                items:
                  $ref: '#/components/schemas/consumption_readings'
                type: array
            application/vnd.pgrst.object+json;nulls=stripped:
              schema:
                items:
                  $ref: '#/components/schemas/consumption_readings'
                type: array
            text/csv:
              schema:
                items:
                  $ref: '#/components/schemas/consumption_readings'
                type: array
          description: OK
        '206':
          description: Partial Content
components:
  parameters:
    rowFilter.consumption_readings.id:
      in: query
      name: id
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.supply_point_id:
      in: query
      name: supply_point_id
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.supply_point_code:
      in: query
      name: supply_point_code
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.supply_point_name:
      in: query
      name: supply_point_name
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.commodity_id:
      in: query
      name: commodity_id
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.commodity_name:
      in: query
      name: commodity_name
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.unit_code:
      in: query
      name: unit_code
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.location_path:
      in: query
      name: location_path
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.reading_at:
      in: query
      name: reading_at
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.period_start:
      in: query
      name: period_start
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.register_value:
      in: query
      name: register_value
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.multiplier:
      in: query
      name: multiplier
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.previous_register_value:
      in: query
      name: previous_register_value
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.consumption:
      in: query
      name: consumption
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.previous_consumption:
      in: query
      name: previous_consumption
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.source:
      in: query
      name: source
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.is_estimated:
      in: query
      name: is_estimated
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.is_meter_exchange:
      in: query
      name: is_meter_exchange
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.cost:
      in: query
      name: cost
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.cost_currency_id:
      in: query
      name: cost_currency_id
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.tariff_id:
      in: query
      name: tariff_id
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.invoice_reference:
      in: query
      name: invoice_reference
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.recorded_by_user_id:
      in: query
      name: recorded_by_user_id
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.recorded_by_name:
      in: query
      name: recorded_by_name
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.notes:
      in: query
      name: notes
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.is_backdated:
      in: query
      name: is_backdated
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.restated_at:
      in: query
      name: restated_at
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.restated_from_consumption:
      in: query
      name: restated_from_consumption
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.consumption_change_percent:
      in: query
      name: consumption_change_percent
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.corrected_at:
      in: query
      name: corrected_at
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.corrected_by_user_id:
      in: query
      name: corrected_by_user_id
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.corrected_by_name:
      in: query
      name: corrected_by_name
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.corrected_from_register_value:
      in: query
      name: corrected_from_register_value
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.correction_remarks:
      in: query
      name: correction_remarks
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.site_name:
      in: query
      name: site_name
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.location_level_1:
      in: query
      name: location_level_1
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.location_level_2:
      in: query
      name: location_level_2
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.asset_number:
      in: query
      name: asset_number
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.scaled_register_value:
      in: query
      name: scaled_register_value
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.previous_scaled_register_value:
      in: query
      name: previous_scaled_register_value
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.reading_date:
      in: query
      name: reading_date
      required: false
      schema:
        type: string
    rowFilter.consumption_readings.reading_time:
      in: query
      name: reading_time
      required: false
      schema:
        type: string
    select:
      description: Filtering Columns
      in: query
      name: select
      required: false
      schema:
        type: string
    order:
      description: Ordering
      in: query
      name: order
      required: false
      schema:
        type: string
    range:
      description: Limiting and Pagination
      in: header
      name: Range
      required: false
      schema:
        type: string
    rangeUnit:
      description: Limiting and Pagination
      in: header
      name: Range-Unit
      required: false
      schema:
        default: items
        type: string
    offset:
      description: Limiting and Pagination
      in: query
      name: offset
      required: false
      schema:
        type: string
    limit:
      description: Limiting and Pagination
      in: query
      name: limit
      required: false
      schema:
        type: string
    preferCount:
      description: Preference
      in: header
      name: Prefer
      required: false
      schema:
        enum:
          - count=none
        type: string
  schemas:
    consumption_readings:
      description: >-
        The reading ledger: the register that was read and the consumption it
        was banked as, with the full location it was read at, the register and
        consumption before it and the percentage change between the two, and
        whether it was corrected afterwards, by whom and why. The site and the
        first two levels of the location tree are also given a column each, the
        register is also given after the multiplier, and the reading's date and
        time of day are also given on the site's own clock.
      properties:
        asset_number:
          format: character varying
          maxLength: 80
          type: string
        commodity_id:
          description: >-
            Note:

            This is a Foreign Key to `commodities.id`.<fk table='commodities'
            column='id'/>
          format: uuid
          type: string
        commodity_name:
          format: character varying
          maxLength: 120
          type: string
        consumption:
          format: numeric
          type: number
        consumption_change_percent:
          format: numeric
          type: number
        corrected_at:
          format: timestamp with time zone
          type: string
        corrected_by_name:
          format: character varying
          maxLength: 200
          type: string
        corrected_by_user_id:
          description: >-
            Note:

            This is a Foreign Key to `capex_invite_candidates.id`.<fk
            table='capex_invite_candidates' column='id'/>
          format: uuid
          type: string
        corrected_from_register_value:
          format: numeric
          type: number
        correction_remarks:
          format: text
          type: string
        cost:
          format: numeric
          type: number
        cost_currency_id:
          description: >-
            Note:

            This is a Foreign Key to `asset_cost_to_keep.currency_id`.<fk
            table='asset_cost_to_keep' column='currency_id'/>
          format: uuid
          type: string
        id:
          description: |-
            Note:
            This is a Primary Key.<pk/>
          format: uuid
          type: string
        invoice_reference:
          format: character varying
          maxLength: 80
          type: string
        is_backdated:
          format: boolean
          type: boolean
        is_estimated:
          format: boolean
          type: boolean
        is_meter_exchange:
          format: boolean
          type: boolean
        location_level_1:
          format: text
          type: string
        location_level_2:
          format: text
          type: string
        location_path:
          format: text
          type: string
        multiplier:
          format: numeric
          type: number
        notes:
          format: text
          type: string
        period_start:
          format: timestamp with time zone
          type: string
        previous_consumption:
          format: numeric
          type: number
        previous_register_value:
          format: numeric
          type: number
        previous_scaled_register_value:
          format: numeric
          type: number
        reading_at:
          format: timestamp with time zone
          type: string
        reading_date:
          format: date
          type: string
        reading_time:
          format: text
          type: string
        recorded_by_name:
          format: character varying
          maxLength: 200
          type: string
        recorded_by_user_id:
          description: >-
            Note:

            This is a Foreign Key to `capex_invite_candidates.id`.<fk
            table='capex_invite_candidates' column='id'/>
          format: uuid
          type: string
        register_value:
          format: numeric
          type: number
        restated_at:
          format: timestamp with time zone
          type: string
        restated_from_consumption:
          format: numeric
          type: number
        scaled_register_value:
          format: numeric
          type: number
        site_name:
          format: character varying
          maxLength: 200
          type: string
        source:
          format: character varying
          maxLength: 20
          type: string
        supply_point_code:
          format: character varying
          maxLength: 60
          type: string
        supply_point_id:
          description: >-
            Note:

            This is a Foreign Key to `supply_points.id`.<fk
            table='supply_points' column='id'/>
          format: uuid
          type: string
        supply_point_name:
          format: character varying
          maxLength: 150
          type: string
        tariff_id:
          description: >-
            Note:

            This is a Foreign Key to `tariffs.id`.<fk table='tariffs'
            column='id'/>
          format: uuid
          type: string
        unit_code:
          format: character varying
          maxLength: 30
          type: string
      type: object

````

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