Home Assistant provides a RESTful API on the same port as the web frontend. (default port is port 8123).
http://IP_ADDRESS:8123/is an interface to control Home Assistant.
http://IP_ADDRESS:8123/api/is a RESTful API.
The API accepts and returns only JSON encoded objects.
All API calls have to be accompanied by the header
Authorization: Bearer ABCDEFGH, where
ABCDEFGH is replaced by your token. You can obtain a token ("Long-Lived Access Token") by logging into the frontend using a web browser, and going to your profile
There are multiple ways to consume the Home Assistant Rest API. One is with
Another option is to use Python and the Requests module.
Another option is to use the Restful Command integration in a Home Assistant automation or script.
Successful calls will return status code 200 or 201. Other status codes that can return are:
- 400 (Bad Request)
- 401 (Unauthorized)
- 404 (Not Found)
- 405 (Method not allowed)
The API supports the following actions: