Xcel Energy · Capability

Xcel Energy Green Button Connect My Data API — RetailCustomer

Xcel Energy Green Button Connect My Data API — RetailCustomer. 3 operations. Lead operation: List retail customers for an authorization. Self-contained Naftiko capability covering one Xcel Energy business surface.

Run with Naftiko Xcel EnergyRetailCustomer

What You Can Do

GET
Listcustomers — List retail customers for an authorization
/v1/retailcustomer/{authorizationid}/customer
GET
Listcustomeraccounts — List CustomerAccounts for a retail customer
/v1/retailcustomer/{authorizationid}/customer/{customerid}/customeraccount
GET
Listcustomeragreements — List CustomerAgreements for a CustomerAccount
/v1/retailcustomer/{authorizationid}/customer/{customerid}/customeraccount/{customeraccountid}/customeragreement

MCP Tools

list-retail-customers-authorization

List retail customers for an authorization

read-only idempotent
list-customeraccounts-retail-customer

List CustomerAccounts for a retail customer

read-only idempotent
list-customeragreements-customeraccount

List CustomerAgreements for a CustomerAccount

read-only idempotent

Capability Spec

green-button-retailcustomer.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Xcel Energy Green Button Connect My Data API — RetailCustomer
  description: 'Xcel Energy Green Button Connect My Data API — RetailCustomer. 3 operations. Lead operation: List retail customers
    for an authorization. Self-contained Naftiko capability covering one Xcel Energy business surface.'
  tags:
  - Xcel Energy
  - RetailCustomer
  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: green-button-retailcustomer
    baseUri: https://api.xcelenergy.com/DataCustodian/espi/1_1/resource
    description: Xcel Energy Green Button Connect My Data API — RetailCustomer business capability. Self-contained, no shared
      references.
    resources:
    - name: RetailCustomer-authorizationId-Customer
      path: /RetailCustomer/{authorizationId}/Customer
      operations:
      - name: listcustomers
        method: GET
        description: List retail customers for an authorization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: RetailCustomer-authorizationId-Customer-customerId-CustomerAccount
      path: /RetailCustomer/{authorizationId}/Customer/{customerId}/CustomerAccount
      operations:
      - name: listcustomeraccounts
        method: GET
        description: List CustomerAccounts for a retail customer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: RetailCustomer-authorizationId-Customer-customerId-CustomerAccount-customerAccou
      path: /RetailCustomer/{authorizationId}/Customer/{customerId}/CustomerAccount/{customerAccountId}/CustomerAgreement
      operations:
      - name: listcustomeragreements
        method: GET
        description: List CustomerAgreements for a CustomerAccount
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.XCEL_ENERGY_API_KEY}}'
  exposes:
  - type: rest
    namespace: green-button-retailcustomer-rest
    port: 8080
    description: REST adapter for Xcel Energy Green Button Connect My Data API — RetailCustomer. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/retailcustomer/{authorizationid}/customer
      name: retailcustomer-authorizationid-customer
      description: REST surface for RetailCustomer-authorizationId-Customer.
      operations:
      - method: GET
        name: listcustomers
        description: List retail customers for an authorization
        call: green-button-retailcustomer.listcustomers
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/retailcustomer/{authorizationid}/customer/{customerid}/customeraccount
      name: retailcustomer-authorizationid-customer-customerid-customeraccount
      description: REST surface for RetailCustomer-authorizationId-Customer-customerId-CustomerAccount.
      operations:
      - method: GET
        name: listcustomeraccounts
        description: List CustomerAccounts for a retail customer
        call: green-button-retailcustomer.listcustomeraccounts
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/retailcustomer/{authorizationid}/customer/{customerid}/customeraccount/{customeraccountid}/customeragreement
      name: retailcustomer-authorizationid-customer-customerid-customeraccount-customeraccou
      description: REST surface for RetailCustomer-authorizationId-Customer-customerId-CustomerAccount-customerAccou.
      operations:
      - method: GET
        name: listcustomeragreements
        description: List CustomerAgreements for a CustomerAccount
        call: green-button-retailcustomer.listcustomeragreements
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: green-button-retailcustomer-mcp
    port: 9090
    transport: http
    description: MCP adapter for Xcel Energy Green Button Connect My Data API — RetailCustomer. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: list-retail-customers-authorization
      description: List retail customers for an authorization
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: green-button-retailcustomer.listcustomers
      outputParameters:
      - type: object
        mapping: $.
    - name: list-customeraccounts-retail-customer
      description: List CustomerAccounts for a retail customer
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: green-button-retailcustomer.listcustomeraccounts
      outputParameters:
      - type: object
        mapping: $.
    - name: list-customeragreements-customeraccount
      description: List CustomerAgreements for a CustomerAccount
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: green-button-retailcustomer.listcustomeragreements
      outputParameters:
      - type: object
        mapping: $.