Xcel Energy MirrorUsagePoint API

Client-supplied mirror usage points used to publish readings to the server.

Operations 3

GET /mup List MirrorUsagePoints #
POST /mup Create a MirrorUsagePoint #
POST /mup/{mupId} Publish a MirrorMeterReading #

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/xcel-energy-mirrorusagepoint-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

xcel-energy-mirrorusagepoint-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Xcel Energy Green Button Connect My Data ApplicationInformation Mirror Usage Point API
  summary: OAuth 2.0 authorized customer energy usage data based on the NAESB ESPI standard.
  description: 'Xcel Energy Green Button Connect My Data API based on the ESPI (Energy Services Provider Interface) standard developed by NAESB. Enables authorized third-party applications to access customer electricity and natural gas usage data captured by Xcel Energy smart meters. Resources are exposed as Atom feeds and entries containing UsagePoint, MeterReading, IntervalBlock, ReadingType, ElectricPowerUsageSummary, ElectricPowerQualitySummary, LocalTimeParameters, and customer information. Customer authorization is granted via OAuth 2.0 and follows the Green Button Connect specification used by utilities across North America.

    '
  version: 1.1.0
  contact:
    name: Xcel Energy Developer Portal
    url: https://developer-apim.aws.xcelenergy.com/
  license:
    name: Proprietary
    url: https://www.xcelenergy.com/privacy_policy
  x-generated-from: documentation
  x-last-validated: '2026-05-03'
  x-standards:
  - NAESB ESPI 1.1
  - Green Button Connect My Data
servers:
- url: https://api.xcelenergy.com/DataCustodian/espi/1_1/resource
  description: Xcel Energy Data Custodian (Production)
- url: https://developer-apim.aws.xcelenergy.com/DataCustodian/espi/1_1/resource
  description: Xcel Energy Developer Sandbox
tags:
- name: MirrorUsagePoint
  description: Client-supplied mirror usage points used to publish readings to the server.
paths:
  /mup:
    get:
      operationId: listMirrorUsagePoints
      summary: List MirrorUsagePoints
      description: Returns the MirrorUsagePointList — client-supplied mirror points used to publish readings to the server.
      tags:
      - MirrorUsagePoint
      security:
      - mtls: []
      responses:
        '200':
          description: MirrorUsagePointList resource.
          content:
            application/sep+xml:
              schema:
                $ref: '#/components/schemas/MirrorUsagePointList'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createMirrorUsagePoint
      summary: Create a MirrorUsagePoint
      description: Posts a new MirrorUsagePoint to publish readings.
      tags:
      - MirrorUsagePoint
      security:
      - mtls: []
      requestBody:
        required: true
        content:
          application/sep+xml:
            schema:
              $ref: '#/components/schemas/MirrorUsagePoint'
      responses:
        '201':
          description: MirrorUsagePoint created.
          headers:
            Location:
              schema:
                type: string
              description: URI of the new MirrorUsagePoint resource.
        '400':
          $ref: '#/components/responses/BadRequest'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /mup/{mupId}:
    post:
      operationId: postMirrorMeterReading
      summary: Publish a MirrorMeterReading
      description: Posts a MirrorMeterReading containing readings to be published against the MirrorUsagePoint.
      tags:
      - MirrorUsagePoint
      security:
      - mtls: []
      parameters:
      - $ref: '#/components/parameters/MupId'
      requestBody:
        required: true
        content:
          application/sep+xml:
            schema:
              $ref: '#/components/schemas/MirrorMeterReading'
      responses:
        '201':
          description: Mirror reading accepted.
        '400':
          $ref: '#/components/responses/BadRequest'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    MirrorUsagePoint:
      allOf:
      - $ref: '#/components/schemas/UsagePoint'
      - type: object
        properties:
          deviceLFDI:
            type: string
            description: LFDI of the device publishing the readings.
          postRate:
            type: integer
          MirrorMeterReading:
            type: array
            items:
              $ref: '#/components/schemas/MirrorMeterReading'
    Resource:
      type: object
      description: Base IEEE 2030.5 Resource type that all resources inherit from.
      properties:
        href:
          type: string
          description: Stable URI of the resource.
    Link:
      type: object
      description: Link to another resource in the IEEE 2030.5 graph.
      properties:
        href:
          type: string
    MirrorUsagePointList:
      allOf:
      - $ref: '#/components/schemas/Resource'
      - type: object
        properties:
          all:
            type: integer
          results:
            type: integer
          MirrorUsagePoint:
            type: array
            items:
              $ref: '#/components/schemas/MirrorUsagePoint'
    MirrorMeterReading:
      type: object
      properties:
        mRID:
          type: string
        description:
          type: string
        lastUpdateTime:
          type: integer
        nextUpdateTime:
          type: integer
        ReadingType:
          type: object
          properties:
            accumulationBehaviour:
              type: integer
            commodity:
              type: integer
            dataQualifier:
              type: integer
            flowDirection:
              type: integer
            intervalLength:
              type: integer
            kind:
              type: integer
            phase:
              type: integer
            powerOfTenMultiplier:
              type: integer
            uom:
              type: integer
        Reading:
          type: object
          properties:
            timePeriod:
              type: object
              properties:
                duration:
                  type: integer
                start:
                  type: integer
            value:
              type: integer
        MirrorReadingSet:
          type: array
          items:
            type: object
            properties:
              mRID:
                type: string
              timePeriod:
                type: object
                properties:
                  duration:
                    type: integer
                  start:
                    type: integer
              Reading:
                type: array
                items:
                  type: object
                  properties:
                    timePeriod:
                      type: object
                      properties:
                        duration:
                          type: integer
                        start:
                          type: integer
                    value:
                      type: integer
                    qualityFlags:
                      type: string
    UsagePoint:
      allOf:
      - $ref: '#/components/schemas/Resource'
      - type: object
        properties:
          mRID:
            type: string
          description:
            type: string
          version:
            type: integer
          roleFlags:
            type: string
            description: Hex-encoded RoleFlagsType bit field.
          serviceCategoryKind:
            type: integer
            description: 0=electricity, 1=gas, 2=water, 3=pressure, 4=heat, 5=cold, 6=communication, 7=time.
          status:
            type: integer
          MeterReadingListLink:
            $ref: '#/components/schemas/Link'
  parameters:
    MupId:
      name: mupId
      in: path
      required: true
      description: Identifier of a MirrorUsagePoint resource.
      schema:
        type: integer
        minimum: 0
        example: 0
  responses:
    BadRequest:
      description: The request body or parameters were invalid.
  securitySchemes:
    accessToken:
      type: oauth2
      description: Customer-scoped access token issued via the OAuth 2.0 authorization-code grant.
      flows:
        authorizationCode:
          authorizationUrl: https://api.xcelenergy.com/DataCustodian/oauth/authorize
          tokenUrl: https://api.xcelenergy.com/DataCustodian/oauth/token
          refreshUrl: https://api.xcelenergy.com/DataCustodian/oauth/token
          scopes:
            FB=4_5_15;IntervalDuration=900;BlockDuration=monthly;HistoryLength=34128000: Standard ESPI scope string for 15-minute electric usage data with 13 months of history.
    clientAccessToken:
      type: oauth2
      description: Application-scoped client access token used for management endpoints (Authorization list, Bulk, ServiceStatus).
      flows:
        clientCredentials:
          tokenUrl: https://api.xcelenergy.com/DataCustodian/oauth/token
          scopes:
            DataCustodian_Admin_Access: Administrative scope used for application-level operations.
    registrationAccessToken:
      type: http
      scheme: bearer
      bearerFormat: Registration Access Token
      description: Token issued at application registration; used to read or update ApplicationInformation.