Skip to content
Last updated

The /vendors endpoint provides your application with the list of all supported device manufacturers and integration methods available in the HEMS platform.

Why fetch vendors?

Instead of hardcoding supported vendors in your application, we strongly recommend fetching this list dynamically from the /vendors endpoint. This ensures that:

  • Your application instantly supports new integrations as soon as we add them to the platform.
  • You can present your users with an up-to-date and dynamic selection interface.

Endpoint Details

GET /vendors

Headers Required:

  • Authorization: Bearer <your-m2m-access-token>

Response Schema

The response is a JSON object containing a data array of VendorDefinition objects.

{
  "data": [
    {
      "id": "shelly",
      "name": "Shelly",
      "description": "Shelly smart energy meters and switches",
      "category": "meter",
      "flow": "ws"
    },
    {
      "id": "generic-push",
      "name": "Generic Push",
      "description": "Any device or local automation tool (Node-RED, Home Assistant, custom scripts) that can make HTTP requests",
      "category": "meter",
      "flow": "push"
    }
  ]
}

Fields Breakdown

  • id: The programmatic identifier for the vendor. You must pass this exact string when calling the Link API.
  • name: The human-readable name of the vendor (e.g., "Shelly"). Use this to display options to your users.
  • description: A brief description of the integration or device type.
  • category: The category of the device (e.g., meter, inverter, evse).
  • flow: The underlying technical flow for the integration.
    • ws: WebSocket-based flow (e.g., Shelly).
    • push: Webhook/HTTP Push-based flow (e.g., Generic Push).