{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Vendors Endpoint","llmstxt":{"title":"Obelisk HEMS API Documentation","description":"Official technical documentation for integrating with the Obelisk Home Energy Management System.","details":{"content":"The HEMS (Home Energy Management System) platform provides a unified interface to connect, monitor, and control residential energy devices, starting with full support for the Shelly ecosystem.\nHEMS allows energy retailers, virtual power plants (VPPs), and smart home providers to integrate distributed energy resources into their applications with minimal effort.\n"},"sections":[{"title":"Introduction & Getting Started","description":"Core concepts, organization registration, and acquiring access tokens.","includeFiles":["pages/index.md","pages/registration.md","pages/authentication.md"],"excludeFiles":[]},{"title":"Vendor Integrations","description":"Guide for fetching supported device manufacturers dynamically from the vendors endpoint.","includeFiles":["pages/vendors-endpoint.md"],"excludeFiles":[]},{"title":"Generic Push Integration","description":"Guide for integrating custom hardware or local automation tools with HEMS.","includeFiles":["pages/generic-push.md"],"excludeFiles":[]},{"title":"API Reference","description":"Complete OpenAPI specification detailing all endpoints, parameters, and schemas.","includeFiles":["apis/openapi.yaml"],"excludeFiles":[]}],"hide":false,"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"vendors-endpoint","__idx":0},"children":["Vendors Endpoint"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/vendors"]}," endpoint provides your application with the list of all supported device manufacturers and integration methods available in the HEMS platform."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"why-fetch-vendors","__idx":1},"children":["Why fetch vendors?"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Instead of hardcoding supported vendors in your application, we strongly recommend fetching this list dynamically from the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/vendors"]}," endpoint. This ensures that:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Your application instantly supports new integrations as soon as we add them to the platform."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You can present your users with an up-to-date and dynamic selection interface."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"endpoint-details","__idx":2},"children":["Endpoint Details"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["GET ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/vendors"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Headers Required"]},":"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization"]},": Bearer ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<your-m2m-access-token>"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"response-schema","__idx":3},"children":["Response Schema"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response is a JSON object containing a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data"]}," array of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VendorDefinition"]}," objects."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"data\": [\n    {\n      \"id\": \"shelly\",\n      \"name\": \"Shelly\",\n      \"description\": \"Shelly smart energy meters and switches\",\n      \"category\": \"meter\",\n      \"flow\": \"ws\"\n    },\n    {\n      \"id\": \"generic-push\",\n      \"name\": \"Generic Push\",\n      \"description\": \"Any device or local automation tool (Node-RED, Home Assistant, custom scripts) that can make HTTP requests\",\n      \"category\": \"meter\",\n      \"flow\": \"push\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"fields-breakdown","__idx":4},"children":["Fields Breakdown"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},": The programmatic identifier for the vendor. You must pass this exact string when calling the Link API."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]},": The human-readable name of the vendor (e.g., \"Shelly\"). Use this to display options to your users."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]},": A brief description of the integration or device type."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["category"]},": The category of the device (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["meter"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["inverter"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["evse"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flow"]},": The underlying technical flow for the integration.",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ws"]},": WebSocket-based flow (e.g., Shelly)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["push"]},": Webhook/HTTP Push-based flow (e.g., Generic Push)."]}]}]}]}]},"headings":[{"value":"Vendors Endpoint","id":"vendors-endpoint","depth":1},{"value":"Why fetch vendors?","id":"why-fetch-vendors","depth":2},{"value":"Endpoint Details","id":"endpoint-details","depth":2},{"value":"Response Schema","id":"response-schema","depth":3},{"value":"Fields Breakdown","id":"fields-breakdown","depth":3}],"frontmatter":{"seo":{"title":"Vendors Endpoint"}},"lastModified":"2026-06-02T15:30:02.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/pages/vendors-endpoint","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}