Xcel Energy · Capability

Xcel Energy Smart Meter IEEE 2030.5 API — DemandResponse

Xcel Energy Smart Meter IEEE 2030.5 API — DemandResponse. 3 operations. Lead operation: List Demand Response programs. Self-contained Naftiko capability covering one Xcel Energy business surface.

Run with Naftiko Xcel EnergyDemandResponse

What You Can Do

GET
Listdemandresponseprograms — List Demand Response programs
/v1/drp
GET
Getdemandresponseprogram — Get a Demand Response program
/v1/drp/{drpid}
GET
Listenddevicecontrols — List EndDeviceControls for a DR program
/v1/drp/{drpid}/edrc

MCP Tools

list-demand-response-programs

List Demand Response programs

read-only idempotent
get-demand-response-program

Get a Demand Response program

read-only idempotent
list-enddevicecontrols-dr-program

List EndDeviceControls for a DR program

read-only idempotent

Capability Spec

smart-meter-demandresponse.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Xcel Energy Smart Meter IEEE 2030.5 API — DemandResponse
  description: 'Xcel Energy Smart Meter IEEE 2030.5 API — DemandResponse. 3 operations. Lead operation: List Demand Response
    programs. Self-contained Naftiko capability covering one Xcel Energy business surface.'
  tags:
  - Xcel Energy
  - DemandResponse
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    XCEL_ENERGY_API_KEY: XCEL_ENERGY_API_KEY
capability:
  consumes:
  - type: http
    namespace: smart-meter-demandresponse
    baseUri: https://{meterHost}
    description: Xcel Energy Smart Meter IEEE 2030.5 API — DemandResponse business capability. Self-contained, no shared references.
    resources:
    - name: drp
      path: /drp
      operations:
      - name: listdemandresponseprograms
        method: GET
        description: List Demand Response programs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: drp-drpId
      path: /drp/{drpId}
      operations:
      - name: getdemandresponseprogram
        method: GET
        description: Get a Demand Response program
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: drp-drpId-edrc
      path: /drp/{drpId}/edrc
      operations:
      - name: listenddevicecontrols
        method: GET
        description: List EndDeviceControls for a DR program
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: smart-meter-demandresponse-rest
    port: 8080
    description: REST adapter for Xcel Energy Smart Meter IEEE 2030.5 API — DemandResponse. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/drp
      name: drp
      description: REST surface for drp.
      operations:
      - method: GET
        name: listdemandresponseprograms
        description: List Demand Response programs
        call: smart-meter-demandresponse.listdemandresponseprograms
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/drp/{drpid}
      name: drp-drpid
      description: REST surface for drp-drpId.
      operations:
      - method: GET
        name: getdemandresponseprogram
        description: Get a Demand Response program
        call: smart-meter-demandresponse.getdemandresponseprogram
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/drp/{drpid}/edrc
      name: drp-drpid-edrc
      description: REST surface for drp-drpId-edrc.
      operations:
      - method: GET
        name: listenddevicecontrols
        description: List EndDeviceControls for a DR program
        call: smart-meter-demandresponse.listenddevicecontrols
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: smart-meter-demandresponse-mcp
    port: 9090
    transport: http
    description: MCP adapter for Xcel Energy Smart Meter IEEE 2030.5 API — DemandResponse. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: list-demand-response-programs
      description: List Demand Response programs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: smart-meter-demandresponse.listdemandresponseprograms
      outputParameters:
      - type: object
        mapping: $.
    - name: get-demand-response-program
      description: Get a Demand Response program
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: smart-meter-demandresponse.getdemandresponseprogram
      outputParameters:
      - type: object
        mapping: $.
    - name: list-enddevicecontrols-dr-program
      description: List EndDeviceControls for a DR program
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: smart-meter-demandresponse.listenddevicecontrols
      outputParameters:
      - type: object
        mapping: $.