Eaton Device Commands API

Per-device and batch device-control commands.

Operations 2

POST /api/v1/devices/{deviceId}/commands Send Device Command
POST /api/v1/deviceBatchCommands Send Batch Device Commands

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eaton-device-commands-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

eaton-device-commands-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Eaton Smart Breaker Authorization Device Commands 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: Device Commands
  description: Per-device and batch device-control commands.
paths:
  /api/v1/devices/{deviceId}/commands:
    parameters:
    - $ref: '#/components/parameters/DeviceId'
    post:
      tags:
      - Device Commands
      summary: Send Device Command
      description: Send an on/off/cycle command to a single device.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceCommand'
      responses:
        '202':
          description: Command accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommandReceipt'
  /api/v1/deviceBatchCommands:
    post:
      tags:
      - Device Commands
      summary: Send Batch Device Commands
      description: Send a single command to many devices in one request.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchDeviceCommand'
      responses:
        '202':
          description: Batch accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchCommandReceipt'
components:
  schemas:
    BatchDeviceCommand:
      type: object
      required:
      - deviceIds
      - command
      properties:
        deviceIds:
          type: array
          items:
            type: string
            format: uuid
        command:
          $ref: '#/components/schemas/DeviceCommand'
    BatchCommandReceipt:
      type: object
      properties:
        batchId:
          type: string
          format: uuid
        receipts:
          type: array
          items:
            $ref: '#/components/schemas/CommandReceipt'
    CommandReceipt:
      type: object
      properties:
        commandId:
          type: string
          format: uuid
        status:
          type: string
          enum:
          - accepted
          - queued
          - executing
          - completed
          - failed
        createdAt:
          type: string
          format: date-time
    DeviceCommand:
      type: object
      required:
      - command
      properties:
        command:
          type: string
          enum:
          - open
          - close
          - cycle
        reason:
          type: string
  parameters:
    DeviceId:
      in: path
      name: deviceId
      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