Description: The IceByte IOT Platform API allows you to interact with the IceByte database to update and retrieve data, currently only a single data point at a time, making it suitable for simple IOT projects for saving simple values and states. You can have as many data points as you want which are identified by measurement type (e.g Temperature), but only the latest data point is retrievable The intended use is with microcontrollers and IOT devices for home, non-professional use. You can update data with or without tags, but I strongly you make use of the simple yet powerful implementation of tags. It's designed to be simple and easy to use, with minimal parameters required for each endpoint. The design philosophy goes against the mainstream IOT platforms that require accounts and complex authentication. This page uses zero cookies, requires no account creation or authentication and is free to use. In the roadmap I have plans for more advanced filters, such as retrieving history and an Arduino library is almost done. If you'd like to support the project, please consider donating me cup of coffe, link at the bottom.
Usage: Create a new token to authenticate your requests. Use the token in the API endpoints to update and retrieve data. Once a token is created. Store it safely and use it for all your requests, since this service doesn't use accounts you will not be able to view your token again. If you lose it, you will loose access to your data and will have to create a new one. The API uses REST API calls and requires no headers, the url with headers is simply enough making it easy to integrate in in your project. To try it out, create a token and use it in the examples below.
Generate a new token:
Endpoint: /api/rest/v1/update
Description: This endpoint allows you to update data in the IceByte database. You can add data with or without tags. Tags help to categorize and filter data, especially useful in scenarios involving multiple devices or locations. All parameters are case sensitive. E.g Temp & temp are two different measurements.
token (required) A unique authentication token to verify user access.
measurement (required) The type of measurement being updated (e.g., Temperature).
field (required) The unit of measurement (e.g., celcius).
tags (optional) (optional) Key-value pairs used to categorize and filter data, such as device type or location.
value (required) The actual data value being updated.
Use tags to categorize data points. Tags are key-value pairs, like 'location:Kitchen' or 'device:ESP8266'. Separate multiple tags with commas.
https://icebyte-production.up.railway.app/api/rest/v1/update?token=[Your_Token]&measurement=Temperature&field=celcius&tags=location:Kitchen,device:OwenTemp&value=23
If tags are not needed, simply omit them. This is useful for less complex data sets or general data points.
https://icebyte-production.up.railway.app/api/rest/v1/update?token=[Your_Token]&measurement=Temperature&value=23
Endpoint: /api/rest/v1/getLatest
Description: Retrieve the most recent data point for a specified measurement. You can specify tags to narrow down the data to a specific device, location, or category.
token (required) A unique authentication token for user authentication.
measurement (required) Specifies the type of measurement for which the latest data is requested.
tags (optional) (optional) Key-value pairs to narrow down the search to a specific device, location, or category.
Use tags to refine your search for the latest data point. Tags should match those used in the Update endpoint.
https://icebyte-production.up.railway.app/api/rest/v1/getLatest?token=[Your_Token]&measurement=Temperature&tags=location:Kitchen,device:OwenTemp
Fetches the latest data point without considering tags. Ideal for simple queries where tags are not implemented.
https://icebyte-production.up.railway.app/api/rest/v1/getLatest?token=[Your_Token]&measurement=Temperature