Measurabl Energy and Water Meters API

The Energy and Water Meters API from Measurabl — 3 operation(s) for energy and water meters.

Operations 6

POST /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/meters Creates an energy or water meter for a specified building
GET /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/meters Returns a list of meters (energy or water) for a specified building
DELETE /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/meters/{meter_id} Deletes a specific meter for a specified building
GET /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/meters/{meter_id} Returns details of a specific meter (energy or water) for a specified building
PATCH /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/meters/{meter_id} Updates a specific meter for a specified building
GET /core/v0/portfolios/{portfolio_id}/meters Returns a list of meters (energy or water) for a specified portfolio

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/measurabl-energy-and-water-meters-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

measurabl-energy-and-water-meters-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Measurabl Core Energy and Water Meters API
  version: v0
  description: '## Quick Start Guide


    1. Authorize using your client credentials (key and secret).

    2. Make a `GET /core/v0/portfolios` request (under the Portfolios section) to get a list of available portfolios.

    3. Obtain the proper portfolio_id (id) in which you need to get/create data for.

    4. This `portfolio_id` will be required for all other reoccurring requests.


    * [Authentication](https://support.measurabl.com/hc/en-us/articles/15889532915085-How-do-I-authenticate-with-Measurabl-s-Core-API-)

    * [Release Notes](https://api.measurabl.com/release_notes)

    * [Usage/Rate Limits](https://support.measurabl.com/hc/en-us/articles/15889355100429-Core-API-Usage-Rate-Limits)

    * [Pagination & Filtering](https://support.measurabl.com/hc/en-us/articles/15889550313101-Core-API-Pagination-Filtering-Requests)

    * [Code Examples](https://github.com/Measurabl/measurabl_api_code_samples)


    ### Response Format


    Each endpoint response complies with the [JSON-API Specification](https://jsonapi.org/) which has many available [client libraries](https://jsonapi.org/implementations/#client-libraries).

    '
servers:
- url: https://api.measurabl.com/core/v0
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Energy and Water Meters
paths:
  /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/meters:
    post:
      summary: Creates an energy or water meter for a specified building
      tags:
      - Energy and Water Meters
      security:
      - OAuth2: []
      parameters:
      - name: portfolio_id
        in: path
        description: 'Example: f0c9271f-ca15-48b2-b489-3bbef3905da6'
        required: true
        schema:
          type: string
      - name: building_id
        in: path
        description: 'Example: 52839c1a-5b3c-49f5-93b7-768d06e7b371'
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Portfolio/Building specific meter
          content:
            application/vnd.api+json:
              example:
                data:
                  id: 787c6b27-e893-44e1-a6dd-799a908bdd1a
                  type: meters
                  attributes:
                    estarMeterId: null
                    meterType: Electric
                    units: kWh (thousand Watt-hours)
                    name: New Meter
                    mode: TENANT_PAID_BY_TENANT
                    servesExteriorAreas: false
                    renewableOffsite: false
                    trackingInstrument: Non-grid-connected low-carbon heat, steam, or cooling generation owned by company
                    activationDate: '2025-10-25'
                    deactivationDate: '2026-10-25'
                    autoActivationDate: false
                    currency: USD
                    intermittent: false
                    updatedAt: '2025-08-11 00:00:00'
                  relationships:
                    building:
                      data:
                        id: c8d5fd75-e760-4802-bf56-4ff861b2b954
                        type: buildings
                      links:
                        self: /portfolios/7db8efe8-dd9a-474c-8687-cc187b81fdf3/buildings/c8d5fd75-e760-4802-bf56-4ff861b2b954
                links:
                  self: /portfolios/7db8efe8-dd9a-474c-8687-cc187b81fdf3/buildings/c8d5fd75-e760-4802-bf56-4ff861b2b954/meters/7f9af74c-17a5-4949-8ec8-ef9beffc06ea
              schema:
                $ref: '#/components/schemas/json_api'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
                  detail: Could not find building 304130c0-06a7-47fb-8238-11f1403e73a6 in portfolio 2c15cd85-c6da-4c3f-be79-421346b4df13
              schema:
                $ref: '#/components/schemas/json_api'
        '401':
          description: Unauthorized Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Unauthorized
                  detail: Unauthorized Request
              schema:
                $ref: '#/components/schemas/json_api'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: Bad Request
                  detail: An invalid UUID parameter was submitted with the request (portfolio_id)
              schema:
                $ref: '#/components/schemas/json_api'
        '502':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '502'
                  title: Bad Gateway
                  detail: A Measurabl Server is down, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '500':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '500'
                  title: Internal Server Error
                  detail: An error occurred with the request
              schema:
                $ref: '#/components/schemas/json_api'
        '503':
          description: Service Unavailable
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '503'
                  title: Service Unavailable
                  detail: A Measurabl Server is currently unavailable, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '408':
          description: Request Timeout
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '408'
                  title: Request Timeout
                  detail: The request you made has timed out
              schema:
                $ref: '#/components/schemas/json_api'
        '429':
          description: Too many requests
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '429'
                  title: Too Many Requests
                  detail: Rate Limit Exceeded
              schema:
                $ref: '#/components/schemas/json_api'
        '403':
          description: unauthorized request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: Forbidden
                  detail: 'A valid auth token is required.

                    POST to ''/token'' with a valid ''key'' and ''secret'' to get an auth token.

                    '
              schema:
                $ref: '#/components/schemas/json_api'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    attributes:
                      type: object
                      properties:
                        meterType:
                          type: string
                        units:
                          type: string
                        name:
                          type: string
                        mode:
                          type: string
                        servesExteriorAreas:
                          type: boolean
                        renewableOffsite:
                          type: boolean
                        trackingInstrument:
                          type: string
                        activationDate:
                          type: string
                        deactivationDate:
                          type: string
                        autoActivationDate:
                          type: boolean
                        currency:
                          type: string
                        intermittent:
                          type: boolean
                      required:
                      - meterType
                      - units
                      - name
                      - mode
                      - renewableOffsite
                      - currency
              example:
                data:
                  type: meters
                  attributes:
                    meterType: Electric
                    units: kWh (thousand Watt-hours)
                    name: New Meter
                    mode: TENANT_PAID_BY_TENANT
                    servesExteriorAreas: true
                    renewableOffsite: true
                    trackingInstrument: Non-grid-connected low-carbon heat, steam, or cooling generation owned by company
                    activationDate: '2022-01-01'
                    deactivationDate: null
                    autoActivationDate: true
                    currency: USD
                    intermittent: false
        required: true
        description: Request body used to create a meter associated with a building
    get:
      summary: Returns a list of meters (energy or water) for a specified building
      tags:
      - Energy and Water Meters
      security:
      - OAuth2: []
      parameters:
      - name: portfolio_id
        in: path
        description: "UUID of either the parent portfolio or fund<br>\n                              Example: <em>03165e30-0e76-42d5-b47e-a302b488dbdf</em>"
        required: true
        schema:
          type: string
      - name: building_id
        in: path
        description: 'Example: 22a90c0c-df32-4591-9d35-0b50bf45a481'
        required: true
        schema:
          type: string
      - name: filter
        in: query
        description: "Filter by any attribute available via the endpoint.<br>\n                              <ul>\n                                <li>updatedAt=ge=2022-10-14T00:00 will query for Energy & Water Meters that were updated at or after the set date and UTC time.</li>\n                                <li>servesExteriorAreas==true will query for only those meters that serve exterior areas.</li>\n                              </ul>"
        schema:
          type: string
      - name: page
        in: query
        default: 1
        schema:
          type: integer
      - name: size
        in: query
        description: The max page size is limited to 200 returned results
        default: 25
        schema:
          type: integer
      responses:
        '200':
          description: Portfolio or Fund / Building specific meter
          content:
            application/vnd.api+json:
              example:
                data:
                - id: f2bccde2-3363-447f-a74d-3101220fabc9
                  type: meters
                  attributes:
                    estarMeterId: 93760805
                    meterType: Electric
                    units: kBtu (thousand Btu)
                    name: Electric Grid Meter2
                    mode: TENANT_PAID_BY_LANDLORD
                    servesExteriorAreas: false
                    renewableOffsite: true
                    trackingInstrument: null
                    activationDate: '2024-09-29'
                    deactivationDate: null
                    autoActivationDate: false
                    currency: USD
                    intermittent: false
                    updatedAt: '2026-06-11 00:00:00'
                  relationships:
                    building:
                      data:
                        id: a29db54c-1253-4f92-be82-cabb6e42bf0b
                        type: buildings
                      links:
                        self: /portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b
                  links:
                    self: /portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b/meters/f2bccde2-3363-447f-a74d-3101220fabc9
                - id: e684f24b-6485-4114-8aa4-649667ab0001
                  type: meters
                  attributes:
                    estarMeterId: 17576231
                    meterType: Electric on Site Wind
                    units: kWh (thousand Watt-hours)
                    name: wind1
                    mode: TENANT_PAID_BY_LANDLORD
                    servesExteriorAreas: true
                    renewableOffsite: false
                    trackingInstrument: Grid-connected low-carbon electricity generation owned by company; no instruments created
                    activationDate: '2025-04-28'
                    deactivationDate: null
                    autoActivationDate: true
                    currency: USD
                    intermittent: true
                    updatedAt: '2026-03-17 00:00:00'
                  relationships:
                    building:
                      data:
                        id: a29db54c-1253-4f92-be82-cabb6e42bf0b
                        type: buildings
                      links:
                        self: /portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b
                  links:
                    self: /portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b/meters/e684f24b-6485-4114-8aa4-649667ab0001
                - id: cc0ffdc1-5653-43d0-8773-ab56e5419f31
                  type: meters
                  attributes:
                    estarMeterId: 72112820
                    meterType: District Chilled Water - Absorption Chiller using Natural Gas
                    units: GJ
                    name: valid3
                    mode: TENANT_PAID_BY_LANDLORD
                    servesExteriorAreas: false
                    renewableOffsite: false
                    trackingInstrument: null
                    activationDate: '2023-12-13'
                    deactivationDate: null
                    autoActivationDate: true
                    currency: USD
                    intermittent: false
                    updatedAt: '2026-07-10 00:00:00'
                  relationships:
                    building:
                      data:
                        id: a29db54c-1253-4f92-be82-cabb6e42bf0b
                        type: buildings
                      links:
                        self: /portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b
                  links:
                    self: /portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b/meters/cc0ffdc1-5653-43d0-8773-ab56e5419f31
                - id: b32b22bf-9a6e-421b-97e0-eb2221f67904
                  type: meters
                  attributes:
                    estarMeterId: 87581006
                    meterType: Wood
                    units: GJ
                    name: Wood
                    mode: TENANT_PAID_BY_LANDLORD
                    servesExteriorAreas: true
                    renewableOffsite: true
                    trackingInstrument: null
                    activationDate: '2023-12-11'
                    deactivationDate: null
                    autoActivationDate: true
                    currency: USD
                    intermittent: true
                    updatedAt: '2026-06-20 00:00:00'
                  relationships:
                    building:
                      data:
                        id: a29db54c-1253-4f92-be82-cabb6e42bf0b
                        type: buildings
                      links:
                        self: /portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b
                  links:
                    self: /portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b/meters/b32b22bf-9a6e-421b-97e0-eb2221f67904
                - id: de71b945-0772-4b89-94e7-a62d85e103cc
                  type: meters
                  attributes:
                    estarMeterId: 82873615
                    meterType: Wood
                    units: GJ
                    name: Wood2
                    mode: TENANT_PAID_BY_LANDLORD
                    servesExteriorAreas: true
                    renewableOffsite: false
                    trackingInstrument: null
                    activationDate: '2024-11-26'
                    deactivationDate: null
                    autoActivationDate: true
                    currency: USD
                    intermittent: true
                    updatedAt: '2026-06-19 00:00:00'
                  relationships:
                    building:
                      data:
                        id: a29db54c-1253-4f92-be82-cabb6e42bf0b
                        type: buildings
                      links:
                        self: /portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b
                  links:
                    self: /portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b/meters/de71b945-0772-4b89-94e7-a62d85e103cc
                links:
                  self: /core/v0/portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b/meters?size=5&page=3
                  first: /core/v0/portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b/meters?size=5&page=1
                  last: /core/v0/portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b/meters?size=5&page=8
                  next: /core/v0/portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b/meters?size=5&page=4
                  prev: /core/v0/portfolios/c8d5f56e-8ca9-4346-bc9c-8c36c2bcbbd7/buildings/a29db54c-1253-4f92-be82-cabb6e42bf0b/meters?size=5&page=2
                meta:
                  page:
                    number: 3
                    size: 100
                    totalPages: 8
                    totalElements: 730
              schema:
                $ref: '#/components/schemas/json_api'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
                  detail: Could not find building d7b2f3e6-8a4e-418f-bec5-e0359e57c886 in portfolio bc3a3951-4c18-4102-aadb-8db890e10461
              schema:
                $ref: '#/components/schemas/json_api'
        '401':
          description: Unauthorized Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Unauthorized
                  detail: Unauthorized Request
              schema:
                $ref: '#/components/schemas/json_api'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: Bad Request
                  detail: An invalid UUID parameter was submitted with the request (portfolio_id)
              schema:
                $ref: '#/components/schemas/json_api'
        '502':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '502'
                  title: Bad Gateway
                  detail: A Measurabl Server is down, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '500':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '500'
                  title: Internal Server Error
                  detail: An error occurred with the request
              schema:
                $ref: '#/components/schemas/json_api'
        '503':
          description: Service Unavailable
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '503'
                  title: Service Unavailable
                  detail: A Measurabl Server is currently unavailable, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '408':
          description: Request Timeout
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '408'
                  title: Request Timeout
                  detail: The request you made has timed out
              schema:
                $ref: '#/components/schemas/json_api'
        '429':
          description: Too many requests
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '429'
                  title: Too Many Requests
                  detail: Rate Limit Exceeded
              schema:
                $ref: '#/components/schemas/json_api'
        '403':
          description: unauthorized request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: Forbidden
                  detail: 'A valid auth token is required.

                    POST to ''/token'' with a valid ''key'' and ''secret'' to get an auth token.

                    '
              schema:
                $ref: '#/components/schemas/json_api'
  /core/v0/portfolios/{portfolio_id}/buildings/{building_id}/meters/{meter_id}:
    delete:
      summary: Deletes a specific meter for a specified building
      tags:
      - Energy and Water Meters
      security:
      - OAuth2: []
      parameters:
      - name: portfolio_id
        in: path
        description: 'Example: 30d9d10b-0641-49e6-a32a-6a9b015a5439'
        required: true
        schema:
          type: string
      - name: building_id
        in: path
        description: 'Example: c0ceaaed-e398-467a-824f-0d495711f823'
        required: true
        schema:
          type: string
      - name: meter_id
        in: path
        description: 'Example: 60f03d17-f43e-4ca0-9637-c1edd074fd30'
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Meter Deleted Successfully
          content:
            application/vnd.api+json:
              example: ''
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: Bad Request
                  detail: An invalid UUID parameter was submitted with the request (portfolio_id)
              schema:
                $ref: '#/components/schemas/json_api'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
                  detail: Could not find meter 970b0094-3041-49b7-9cde-deeb95c4ee2e in building 9247a193-def1-4c7c-8ebc-328764d40bc7 in portfolio 88820fb6-74a9-48bf-9de7-a35c8cf5785e
              schema:
                $ref: '#/components/schemas/json_api'
        '401':
          description: Unauthorized Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Unauthorized
                  detail: Unauthorized Request
              schema:
                $ref: '#/components/schemas/json_api'
        '502':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '502'
                  title: Bad Gateway
                  detail: A Measurabl Server is down, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '500':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '500'
                  title: Internal Server Error
                  detail: An error occurred with the request
              schema:
                $ref: '#/components/schemas/json_api'
        '503':
          description: Service Unavailable
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '503'
                  title: Service Unavailable
                  detail: A Measurabl Server is currently unavailable, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '408':
          description: Request Timeout
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '408'
                  title: Request Timeout
                  detail: The request you made has timed out
              schema:
                $ref: '#/components/schemas/json_api'
        '429':
          description: Too many requests
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '429'
                  title: Too Many Requests
                  detail: Rate Limit Exceeded
              schema:
                $ref: '#/components/schemas/json_api'
        '403':
          description: unauthorized request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: Forbidden
                  detail: 'A valid auth token is required.

                    POST to ''/token'' with a valid ''key'' and ''secret'' to get an auth token.

                    '
              schema:
                $ref: '#/components/schemas/json_api'
    get:
      summary: Returns details of a specific meter (energy or water) for a specified building
      tags:
      - Energy and Water Meters
      security:
      - OAuth2: []
      parameters:
      - name: portfolio_id
        in: path
        description: "UUID of either the parent portfolio or fund<br>\n                              Example: <em>5df7c5b7-18d2-425c-ad66-6542d59654a6</em>"
        required: true
        schema:
          type: string
      - name: building_id
        in: path
        description: 'Example: 2db61e3e-8061-469e-a4b2-4ca15caa392f'
        required: true
        schema:
          type: string
      - name: meter_id
        in: path
        description: 'Example: 545a9dcb-acf7-4c99-b7d2-4245c995cccf'
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Portfolio or Fund / Building specific meter
          content:
            application/vnd.api+json:
              example:
                data:
                  id: c2d7ff32-c515-4cc9-b896-9509af49ed79
                  type: meters
                  attributes:
                    estarMeterId: 16369838
                    meterType: Electric
                    units: kBtu (thousand Btu)
                    name: Electric Grid Meter2
                    mode: TENANT_PAID_BY_LANDLORD
                    servesExteriorAreas: false
                    renewableOffsite: false
                    trackingInstrument: null
                    activationDate: '2024-11-20'
                    deactivationDate: null
                    autoActivationDate: false
                    currency: USD
                    intermittent: true
                    updatedAt: '2026-05-11 00:00:00'
                  relationships:
                    building:
                      data:
                        id: f80b87d5-88f6-4145-98f6-67c0671cfed8
                        type: buildings
                      links:
                        self: /portfolios/165c45f7-b9fb-401e-b922-77d43767086c/buildings/f80b87d5-88f6-4145-98f6-67c0671cfed8
                links:
                  self: /portfolios/165c45f7-b9fb-401e-b922-77d43767086c/buildings/f80b87d5-88f6-4145-98f6-67c0671cfed8/meters/c2d7ff32-c515-4cc9-b896-9509af49ed79
              schema:
                $ref: '#/components/schemas/json_api'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
                  detail: Could not find meter fda52464-75b7-473d-9f87-c6b00e1ec8a2 in building 15e6430b-21e3-483b-aada-a705ef47003b in portfolio 6ce65e81-3105-41cf-8c82-2ba5de8960b2
              schema:
                $ref: '#/components/schemas/json_api'
        '401':
          description: Unauthorized Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Unauthorized
                  detail: Unauthorized Request
              schema:
                $ref: '#/components/schemas/json_api'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: Bad Request
                  detail: An invalid UUID parameter was submitted with the request (portfolio_id)
              schema:
                $ref: '#/components/schemas/json_api'
        '502':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '502'
                  title: Bad Gateway
                  detail: A Measurabl Server is down, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '500':
          description: Internal Error
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '500'
                  title: Internal Server Error
                  detail: An error occurred with the request
              schema:
                $ref: '#/components/schemas/json_api'
        '503':
          description: Service Unavailable
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '503'
                  title: Service Unavailable
                  detail: A Measurabl Server is currently unavailable, please try again later
              schema:
                $ref: '#/components/schemas/json_api'
        '408':
          description: Request Timeout
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '408'
                  title: Request Timeout
                  detail: The request you made has timed out
              schema:
                $ref: '#/components/schemas/json_api'
        '429':
          description: Too many requests
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '429'
                  title: Too Many Requests
                  detail: Rate Limit Exceeded
              schema:
                $ref: '#/components/schemas/json_api'
        '403':
          description: unauthorized request
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: Forbidden
                  detail: 'A valid auth token is required.

                    POST to ''/token'' with a valid ''key'' and ''secret'' to get an auth token.

                    '
              schema:
                $ref: '#/components/schemas/json_api'
    patch:
      summary: Updates a specific meter for a specified building
      tags:
  

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/measurabl/refs/heads/main/openapi/measurabl-energy-and-water-meters-api-openapi.yml