CMS Energy is an energy holding company whose primary subsidiary is Consumers Energy, an electric and natural gas utility serving customers in Michigan. Consumers Energy participates in the Green Button Connect My Data (GBCMD) program, exposing customer-authorized energy usage data to third parties via OAuth 2.0 - typically brokered through UtilityAPI - for use in energy management, demand response, EV charging, solar, and sustainability applications.
CMS Energy publishes 9 API contracts indexed on the APIs.io network, including Authorizations API, Bills API, GreenButton API, and 6 more. Tagged areas include Electric, Energy, Green Button, Michigan, and Natural Gas.
The CMS Energy catalog on APIs.io includes 1 event-driven AsyncAPI specification and 1 Spectral governance ruleset.
CMS Energy’s developer surface includes pricing, authentication, documentation, support, sandbox, API reference, getting-started guide, and 32 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Energy & Utilities regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Create-or-Update Ergonomics does not apply to this provider. The published contracts declare
no write operations, and a read-only API cannot create-or-update. The facet is excluded from this provider's
denominator entirely — not scored zero. A reference or data API is not deficient for being unable to
upsert.
The six quality facets above are damped to 85 points between them,
because the conditional facet above carries the other
15. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 85% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site.
It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/cms-energy/"><img src="https://apis.io/badge/cms-energy/card.svg" alt="CMS Energy on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
MCP Server+12 pts — deployment.mode + probe verdict on the mcp/ manifest, not the pointer; an unprobed slug falls back to authorship
Idempotency+9 pts — OpenAPI mutating operations declare an idempotency key — a header, a request-body property, or a named de-duplication token whose own description says so (verified); else common[].type matches /idempoten/i (documented)
A2A Agent Card+8 pts — a2a/-a2a.yml manifest, graded on conformance.grade against A2A 1.0.0
Request/Response Examples+7 pts — share of operations carrying request/response examples; else an Examples / Code Samples link
The Kin Score Market layer reads a provider inside its market:
its position, and how deep its integrations go. Depth is only comparable within a position. Provisional and unweighted:
not part of the Kin Score or agent readiness.
Registered MCP server and declares compatibility are report only — not weighted.
Undeclared means we found nothing we can read, so there is no number: we never infer integrations.
Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.
The Consumers Energy Green Button Connect My Data API exposes customer-authorized electric and natural-gas usage data to registered third parties using the NAESB ESPI / Green Bu...
Consumers Energy publishes its outage map data as an anonymous Esri ArcGIS Server 11.5 REST Services Directory on its own domain — no key, no account, no registration. CEOutageM...
CANDIDATE MCP tool surface for CMS Energy. Neither CMS Energy, Consumers Energy, nor the platform operating its Green Button Connect My Data program publishes an MCP server. A t...
Overlays applied on top of this provider's contracts. Each card says who wrote it: a document the provider publishes, or one API Evangelist derived or generated.
aid: cms-energy
url: https://raw.githubusercontent.com/api-evangelist/cms-energy/refs/heads/main/apis.yml
name: CMS Energy
kind: company
tags:
- Electric
- Energy
- Green Button
- Michigan
- Natural Gas
- Utility
- Fortune 500
type: Index
deliveryModel:
model: unknown
open_source: false
commercial: false
callable_host: true
label: Delivery model not determined — needs a product licence on record
confidence: low
source:
- openapi
generated: '2026-08-28'
method: derived
accessModel:
pricing: free
onboarding: open
trial: false
try_now: true
public: true
gated: none
gated_source:
- onboarding
label: Free · Open access
confidence: high
source:
- plans
- authentication
- scopes
- rate-limits
- security
- sandbox
generated: '2026-11-06'
method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/cms-energy.png
access: 3rd-Party
created: '2026-03-21'
modified: '2026-09-06'
specificationVersion: '0.23'
description: CMS Energy is an energy holding company whose primary subsidiary is Consumers Energy, an electric and natural
gas utility serving customers in Michigan. Consumers Energy participates in the Green Button Connect My Data (GBCMD) program,
exposing customer-authorized energy usage data to third parties via OAuth 2.0 - typically brokered through UtilityAPI -
for use in energy management, demand response, EV charging, solar, and sustainability applications.
apis:
- aid: cms-energy:consumers-green-button-api
name: Consumers Energy Green Button Connect My Data API
tags:
- Energy Usage
- Green Button
- OAuth
- Smart Meter
- Utility
- Authentication
tags_raw:
- Energy Usage
- Green Button
- OAuth2
- Smart Meter
- Utility
- Authentication
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://greenbutton.consumersenergy.com/
properties:
- url: https://utilityapi.com/docs/utilities/consumersenergy
type: Documentation
- url: https://greenbutton.consumersenergy.com/
type: Portal
description: The Consumers Energy Green Button Connect My Data API exposes customer-authorized electric and natural-gas
usage data to registered third parties using the NAESB ESPI / Green Button standard. Authorization uses OAuth 2.0 with
single sign-on or test-account scopes; data is delivered as Green Button XML or JSON via UtilityAPI's standardized endpoints
(Meters, Bills, Intervals, Billing Summaries). Third parties register with Consumers Energy, are issued a client_id, and
start in sandbox mode before being approved for live data.
x-features:
- name: Green Button Standard
description: NAESB ESPI / Green Button XML for usage point and interval data.
- name: Meters Endpoint
description: Retrieve individual meter information for an authorized customer.
- name: Bills Endpoint
description: Retrieve bill history and charges.
- name: Intervals Endpoint
description: Retrieve granular interval-usage time series.
- name: Billing Summaries
description: Retrieve account-level summary data.
- name: OAuth 2.0
description: Customer authorization via OAuth 2.0 with SSO or test scopes.
- name: Sandbox Test Accounts
description: Built-in test residential and commercial scenarios for development.
x-useCases:
- name: Energy Efficiency
description: Pull usage data into energy efficiency and benchmarking apps.
- name: Demand Response
description: Power demand-response and load-management programs.
- name: Solar and EV
description: Inform solar sizing and EV-charging optimization with real usage.
- name: Sustainability Reporting
description: Aggregate usage into Scope 2 emissions and ESG reporting.
baseURL: https://utilityapi.com/api/v2
- aid: cms-energy:cms-energy-authorizations-api
name: CMS Energy Authorizations API
description: The Authorizations API from CMS Energy — 2 operation(s) for authorizations.
humanURL: https://greenbutton.consumersenergy.com/
tags:
- Authorization
tags_raw:
- Authorizations
properties:
- type: OpenAPI
url: openapi/cms-energy-authorizations-api-openapi.yml
- type: Overlay
url: overlays/cms-energy-authorizations-api-overlay.yaml
baseURL: https://utilityapi.com/api/v2
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
- aid: cms-energy:cms-energy-bills-api
name: CMS Energy Bills API
description: The Bills API from CMS Energy — 1 operation(s) for bills.
humanURL: https://greenbutton.consumersenergy.com/
tags:
- Bills
properties:
- type: OpenAPI
url: openapi/cms-energy-bills-api-openapi.yml
- type: Overlay
url: overlays/cms-energy-bills-api-overlay.yaml
baseURL: https://utilityapi.com/api/v2
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
- aid: cms-energy:cms-energy-greenbutton-api
name: CMS Energy GreenButton API
description: The GreenButton API from CMS Energy — 1 operation(s) for greenbutton.
humanURL: https://greenbutton.consumersenergy.com/
tags:
- Green Button
tags_raw:
- GreenButton
properties:
- type: OpenAPI
url: openapi/cms-energy-greenbutton-api-openapi.yml
- type: Overlay
url: overlays/cms-energy-greenbutton-api-overlay.yaml
baseURL: https://utilityapi.com/DataCustodian/espi/1_1/resource
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
- aid: cms-energy:cms-energy-intervals-api
name: CMS Energy Intervals API
description: The Intervals API from CMS Energy — 1 operation(s) for intervals.
humanURL: https://greenbutton.consumersenergy.com/
tags:
- Intervals
properties:
- type: OpenAPI
url: openapi/cms-energy-intervals-api-openapi.yml
- type: Overlay
url: overlays/cms-energy-intervals-api-overlay.yaml
baseURL: https://utilityapi.com/api/v2
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
- aid: cms-energy:cms-energy-meters-api
name: CMS Energy Meters API
description: The Meters API from CMS Energy — 2 operation(s) for meters.
humanURL: https://greenbutton.consumersenergy.com/
tags:
- Meters
properties:
- type: OpenAPI
url: openapi/cms-energy-meters-api-openapi.yml
- type: Overlay
url: overlays/cms-energy-meters-api-overlay.yaml
baseURL: https://utilityapi.com/api/v2
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
- aid: cms-energy:cms-energy-outage-map-api
name: Consumers Energy Outage Map ArcGIS REST API
description: Consumers Energy publishes its outage map data as an anonymous Esri ArcGIS Server 11.5 REST Services Directory
on its own domain — no key, no account, no registration. CEOutageMap carries seven layers including the electric service
territory polygon and live outage jobs (JOB_ID, CUSTOMER_COUNT, CAUSE_CD, CAUSE_DESC, OUTAGE_TIME, EST_TIME_RESTORATION,
CREW_ASSIGNED); ServiceDashboard carries five county- and city-level rollups (CE_County_Outages, CE_City_Outages, CustomersInterruptedPercent,
NumberOfInterruptions, NumberOfWireDowns) over both a MapServer and a FeatureServer. Every map service also publishes
a WSDL 1.1 SOAP contract with 55 operations. This is the only first-party, CMS-Energy-operated machine-readable API surface
in the profile.
humanURL: https://www.consumersenergy.com/outagemap
baseURL: https://www.consumersenergy.com/arcgispublic/rest
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
tags:
- Outages
- Geospatial
- Open Data
- Electric
- Utility
properties:
- type: OpenAPI
url: openapi/cms-energy-outage-map-api-openapi.yml
- type: Overlay
url: overlays/cms-energy-outage-map-api-overlay.yaml
- type: WSDL
url: wsdl/cms-energy-ceoutagemap-mapserver.wsdl
- type: WSDL
url: wsdl/cms-energy-servicedashboard-mapserver.wsdl
- type: WSDL
url: wsdl/cms-energy-arcgis-catalog.wsdl
- type: Documentation
url: https://www.consumersenergy.com/arcgispublic/rest/services?f=json
x-features:
- name: Anonymous access
description: No API key, token or registration; verified by unauthenticated probe.
- name: ArcGIS REST query
description: where / outFields / returnGeometry / returnCountOnly against every layer.
- name: SOAP contracts
description: WSDL 1.1, 55 operations per map service, saved verbatim under wsdl/.
- name: GeoJSON and PBF
description: supportedQueryFormats JSON, geoJSON, PBF.
x-useCases:
- name: Outage monitoring
description: Track Michigan county and city outage counts and restoration estimates.
- name: Grid reliability analysis
description: Interruption counts and wire-downs by area over time.
- name: Service territory mapping
description: Retrieve the Consumers Energy electric service territory polygon.
- aid: cms-energy:cms-energy-catalog-api
name: CMS Energy Catalog API
description: Service discovery — folders, services and server version information.
humanURL: https://greenbutton.consumersenergy.com/
baseURL: https://utilityapi.com/api/v2
tags:
- Catalog
properties:
- type: OpenAPI
url: openapi/cms-energy-catalog-api-openapi.yml
- aid: cms-energy:cms-energy-service-dashboard-api
name: CMS Energy Service Dashboard API
description: County- and city-level outage rollups published as map and feature layers.
humanURL: https://greenbutton.consumersenergy.com/
baseURL: https://utilityapi.com/api/v2
tags:
- Service Dashboard
properties:
- type: OpenAPI
url: openapi/cms-energy-service-dashboard-api-openapi.yml
common:
- type: Pricing
url: https://greenbutton.consumersenergy.com/
- type: AgenticAccess
url: agentic-access/cms-energy-agentic-access.yml
- type: DomainSecurity
url: security/cms-energy-domain-security.yml
- type: Authentication
url: authentication/cms-energy-authentication.yml
- type: OAuthScopes
url: scopes/cms-energy-scopes.yml
- url: https://www.cmsenergy.com
type: Website
- url: https://www.consumersenergy.com
name: Consumers Energy
type: Website
- url: https://utilityapi.com/docs/utilities/consumersenergy
name: Consumers Energy on UtilityAPI
type: Documentation
- url: https://www.cmsenergy.com/about-cms-energy/consumers-energy/
name: About Consumers Energy
type: About
- url: https://www.cmsenergy.com/contact-us/default.aspx
name: Contact Us
type: Support
- url: https://www.cmsenergy.com/privacy-statement/default.aspx
name: Privacy Statement
type: PrivacyPolicy
- url: https://twitter.com/CMSEnergy
name: CMS Energy on X
type: X
- url: https://www.linkedin.com/company/cms-energy/
name: CMS Energy on LinkedIn
type: LinkedIn
- type: WellKnown
url: well-known/cms-energy-well-known.yml
- type: SecurityTxt
url: well-known/cms-energy-security.txt
- type: VulnerabilityDisclosure
url: security/cms-energy-vulnerability-disclosure.yml
- type: Security
url: security/cms-energy-vulnerability-disclosure.yml
- type: Conformance
url: conformance/cms-energy-conformance.yml
- type: Compliance
url: conformance/cms-energy-conformance.yml
- type: ErrorCatalog
url: errors/cms-energy-problem-types.yml
- type: Lifecycle
url: lifecycle/cms-energy-lifecycle.yml
- type: Conventions
url: conventions/cms-energy-conventions.yml
- type: Sandbox
url: sandbox/cms-energy-sandbox.yml
- type: DataModel
url: data-model/cms-energy-data-model.yml
- type: Packages
url: packages/cms-energy-packages.yml
- type: MCPServer
url: mcp/cms-energy-mcp.yml
- type: Webhooks
url: asyncapi/cms-energy-webhooks.yml
- type: AgentSkill
url: skills/_index.yml
- type: LLMsTxt
url: llms/cms-energy-llms.txt
- type: RateLimits
url: rate-limits/cms-energy-rate-limits.yml
- type: Plans
url: plans/cms-energy-plans-pricing.yml
- type: FinOps
url: finops/cms-energy-finops.yml
- type: DeveloperPortal
url: https://greenbutton.consumersenergy.com/
name: Consumers Energy Green Button Connect
- type: APIReference
url: https://utilityapi.com/docs/api
name: Green Button program API reference
- type: GettingStarted
url: https://utilityapi.com/docs/quickstart
name: Quickstart
- type: SignUp
url: https://greenbutton.consumersenergy.com/third-party/register
name: Third Party Registration
- type: TermsOfService
url: https://greenbutton.consumersenergy.com/third-party/terms
name: Third Party Agreement
- type: PrivacyPolicy
url: https://www.consumersenergy.com/privacy
name: Consumers Energy Privacy Policy
- type: Support
url: https://www.consumersenergy.com/contact-us
name: Consumers Energy Contact Us
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
x-enrichment:
date: '2026-09-06'
status: enriched
artifacts_added: 27
pass: local-v3
x-spec-provenance:
checked: '2026-09-06'
note: 'The five Green Button specs in openapi/ derive from openapi/_original/cms-energy-openapi.yml, which describes itself
in info.description as a "Best-effort OpenAPI 3.1 description" — it was authored from the provider documentation, not
fetched from the provider. It is NOT a harvested contract, despite living under openapi/_original/, and provenance.yml
therefore records it as "harvested" incorrectly. Its operations match the documented endpoint surface, but at least one
field is demonstrably invented: securitySchemes.oauth2 carries tokenUrl https://utilityapi.com/api/v2/oauth/token, which
returns HTTP 404 (the real token endpoint is the per-utility https://utilityapi.com/DataCustodian/{utility}/oauth/token).
Flagged, not deleted; a scaffold sweep owns the remediation.'
ownership: 'The Green Button surface is served on utilityapi.com, not a CMS Energy domain. That is legitimate and documented:
Consumers Energy runs its Green Button Connect My Data program on UtilityAPI''s EE/DER Engagement Platform and, from its
own host https://greenbutton.consumersenergy.com/, links utilityapi.com/docs/utilities/consumersenergy as its "API Documentation"
and utilityapi.com/dashboard?utility_branding=CONSUMERSENERGY as its third-party dashboard. The operator is the vendor;
the program is Consumers Energy''s. The ArcGIS outage API is by contrast fully first-party, served from www.consumersenergy.com.'
evidence:
- url: https://greenbutton.consumersenergy.com/
status: 200
- url: https://utilityapi.com/api/v2/oauth/token
status: 404
- url: https://utilityapi.com/DataCustodian/espi/1_1/resource/ReadServiceStatus
status: 401
- url: https://www.consumersenergy.com/arcgispublic/rest/services?f=json
status: 200
CMS Energy API — frequently asked questions
Does CMS Energy have an API?
Yes. APIs.io lists 9 APIs from CMS Energy, including Consumers Energy Green Button Connect My Data API, CMS Energy Authorizations API and CMS Energy Bills API, and 6 more.
Is there an OpenAPI specification for the CMS Energy API?
Yes. APIs.io indexes 8 OpenAPI specifications for CMS Energy, each linked for download from this page.
How do I authenticate with the CMS Energy API?
CMS Energy documents its authentication (none/http/oauth2 · 4 schemes). The details are profiled on APIs.io as Cms Energy Authentication.
How much does the CMS Energy API cost?
APIs.io lists 2 pricing plans for CMS Energy, with each plan's price, limits and inclusions under Pricing on this page.
Does CMS Energy have an MCP server?
Yes. APIs.io lists 1 MCP server for CMS Energy: CANDIDATE MCP tool surface for CMS Energy. Neither CMS Energy, Consumers Energy, nor the platform operating its Green Button Connect My Data program publishes an MCP server. A third-party MCP catalogu
Is the CMS Energy API ready for AI agents?
CMS Energy has a Kin Score of 56.9 out of 100 (strong) and an Agent Readiness score of 34.3 (agent-ready), scored by API Evangelist on 2026-11-06.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.