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: $.