openapi: 3.0.3 info: title: Eaton Smart Breaker Authorization Locations API description: 'REST API (formerly the Energy Management / EM API) for Eaton AbleEdge Smart Breakers and Eaton Green Motion EV Smart Breaker Chargers. Lets developers commission, monitor, and control devices, model panels and locations, run batch commands, and pull real-time and historical energy telemetry. Devices are typed via `hardwareType` — `emcb` for standard smart breakers, `ev-emcb` for EV chargers. Authentication: every request must include `Em-Api-Subscription-Key: {SMART_BREAKER_API_KEY}` and `Authorization: Bearer {AUTH_TOKEN}`. Tokens are obtained from the OAuth2 token endpoint via Client ID + secret (Base64-encoded Basic auth) and are valid for 1 hour. This OpenAPI spec is reconstructed from the public Eaton developer-portal documentation (https://api.em.eaton.com/docs and https://api.em.eaton.com/preview/docs) and the AbleEdge Smart Breaker developer portal (https://portal.em.eaton.com/). It is intended for cataloging and capability mapping in API Evangelist tooling, not as a substitute for the authoritative provider spec. ' version: 1.0.0 contact: name: Eaton AbleEdge Developer Portal url: https://portal.em.eaton.com/ license: name: Eaton Brightlayer Experience Hub Terms url: https://www.eaton.com/us/en-us/company/policies-and-statements/brightlayer-experience-hub-terms-and-conditions.html x-source: https://api.em.eaton.com/docs x-spec-status: reconstructed-from-public-docs servers: - url: https://api.em.eaton.com description: Production - url: https://api.em.eaton.com/preview description: Preview (forward-looking, opt-in) security: - OAuth2: [] SubscriptionKey: [] tags: - name: Locations description: Sites, buildings, and panels grouping devices. paths: /api/v1/locations: get: tags: - Locations summary: List Locations parameters: - in: query name: organizationId schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Location' /api/v1/locations/{locationId}: parameters: - $ref: '#/components/parameters/LocationId' get: tags: - Locations summary: Get Location responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Location' components: schemas: Location: type: object properties: id: type: string format: uuid organizationId: type: string format: uuid name: type: string address: type: object properties: street: type: string city: type: string region: type: string postalCode: type: string country: type: string timezone: type: string parameters: LocationId: in: path name: locationId required: true schema: type: string format: uuid securitySchemes: OAuth2: type: oauth2 flows: clientCredentials: tokenUrl: https://api.em.eaton.com/oauth2/token scopes: {} SubscriptionKey: type: apiKey in: header name: Em-Api-Subscription-Key