specification: API Commons Rate Limits specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/Plans provider: CenterPoint Energy providerId: centerpoint-energy created: '2026-05-04' generated: '2026-09-05' modified: '2026-09-05' method: searched source: https://www.smartmetertexas.com/commonapi/gethelpguide/help-guides/Smart_Meter_Texas_Interface_Guide.pdf docs: https://www.smartmetertexas.com/commonapi/gethelpguide/help-guides/Smart_Meter_Texas_Interface_Guide.pdf reconciled: true tags: - Energy - Utility - Smart Meter - Green Button - Rate Limiting description: >- Upgrades the 2026-05-04 bulk-sweep generated file, which asserted that no numeric limit was visible without registration. One published numeric limit does exist and is stated in the open Smart Meter Texas 3.0 Data Access Interface Guide (fetched HTTP 200, 2026-09-05): On-Demand Reads are capped at 3,000 per day per Transmission and Distribution Utility. That cap is shared across every caller reading meters on CenterPoint Energy Houston Electric's network, not allocated per API credential — an integrator competes for it with every other authorized third party on the same TDU. No other function publishes a numeric ceiling, and the guide documents no rate-limit response headers at all. limit_count: 1 limits: - name: On-Demand Read (ODR) daily cap scope: per-TDU window: day limit: 3000 metric: on-demand meter reads burst: null endpoint: /odr/ evidence: >- "Get current Meter Read for one ESIID at a time. Note: The daily limit for ODRs is up to 3,000 per Transmission and Distribution Utility Company (TDU)." — SMT 3.0 Data Access Interface Guide, REST API quick reference, page 10. docs: https://www.smartmetertexas.com/commonapi/gethelpguide/help-guides/Smart_Meter_Texas_Interface_Guide.pdf note: >- Shared ceiling across all requesters against one TDU. CenterPoint Energy Houston Electric is one TDU, so this is the effective daily ODR budget for the whole CenterPoint electric footprint. - name: Ad-hoc interval / register / billing read throughput scope: per-DUNS window: null limit: null metric: requests evidence: >- No numeric ceiling is stated for 15-Minute Interval Data, Daily Register Reads, Monthly Billing Reads, Green Button, Meter Attributes or Premise Attributes. Bulk retrieval is steered into the asynchronous report/subscription flow instead of being rate-capped in the documentation. note: Honest gap — checked the published guide, no figure given. - name: Subscription and agreement operations scope: per-DUNS window: null limit: null metric: requests evidence: No numeric ceiling stated for New Subscription, UnSubscription, New Agreement or Terminate Agreement. response_headers: published: [] note: >- No RateLimit-*, X-RateLimit-* or Retry-After response header is documented anywhere in the guide, and no status code is assigned to limit exhaustion — the documented status table stops at 500. An agent therefore has no runtime signal that it is approaching or has crossed the ODR ceiling; the only way to know the limit is to read the PDF. This is the most consequential runtime gap on this surface. response_codes: throttled: undocumented server_error: 500 policies: - name: Customer authorization bounds volume description: >- Calls operate only against ESI IDs covered by an executed Energy Data Sharing Agreement; the agreement's scope and duration constrain usable request volume more than any published throttle. - name: Asynchronous bulk retrieval description: >- Bulk requests return a correlation identifier and are collected via Report Status rather than served synchronously, which is the platform's actual load-shedding mechanism in place of a request throttle. - name: Backoff on 500 description: >- The guide's only failure-retry guidance is the 500 message "Something went wrong. Please try again later."; exponential backoff with jitter is the caller's responsibility and is not specified. maintainers: - FN: Kin Lane email: kin@apievangelist.com