Device Streams

Stream Fermentation data from devices.

post
Post Device Stream Data

https://log.brewersfriend.com/stream/:api_key
This endpoint allows you to post device stream data. The request should be a JSON object. The first time you post to this endpoint a device will be created by the name you set. After that you will select this device in the Brew Session -> Fermentation tab.
Request
Response
Headers
Content-Type
required
string
application/json
X-API-KEY
optional
string
If not in the url then it can be added as a header.
Body Parameters
bpm
optional
number
Bubbles Per Minute for Plaato like devices.
device_source
optional
string
Tilt, iSpindel, DS18B20 Sensor, etc.
report_source
optional
string
MyBrewBot, Fermentrack, BrewBench, etc.
heat_state
optional
string
heating, cooling, off
temp_target
optional
number
Target Temperature, same unit as temp_unit.
gravity_target
optional
number
Target Gravity, same unit as gravity_unit.
og
optional
number
Original Gravity, same unit as gravity_unit.
hysteresis
optional
number
psi
optional
number
Fermenter PSI.
ambient
optional
number
Room ambient temperature, same unit as temp_unit.
name
required
string
Name of your streaming device.
temp
optional
number
temp_unit
optional
string
C or F for Celsius or Fahrenheit
gravity
optional
number
gravity_unit
optional
string
G or P for Gravity or Plato
ph
optional
number
comment
optional
string
beer
optional
string
battery
optional
number
RSSI
optional
number
angle
optional
number
200: OK
Cake successfully retrieved.
{
"message": "success",
"detail": "Saved 5c5b7d4f6ea3a6e58c08a702"
}
400: Bad Request
There is an issue with data posted. Check fields and data types.
{
"message": "failure",
"detail": "failed to create record"
}
401: Unauthorized
There is an issue with your API key.
{
"message": "unauthorized",
"detail": "invalid api key"
}
429: Too Many Requests
There is a rate limit of one request every 15 minutes per API key per brew session.
{
"message": "rate-limit",
"detail": "device rate limit, you are only allowed to post once every 15 minutes."
}

Here is an example of the data to POST.

{
"name": "BrewBench",
"temp": 22.2,
"temp_unit": "C",
"gravity": 14.1,
"gravity_unit": "P",
"ph": 4.5,
"comment": "",
"beer": "",
"battery": 3.588112,
"RSSI": -57,
"angle": ""
}