The MEATER Cloud REST API is in BETA.
There may be bugs and changes.
Watch this repository to keep up to date.
https://public-api.cloud.meater.com/v1
/login
endpoint to obtain a token.Authorization: Bearer <JWT>
Accept-Language
header with the ISO_639-1 language code. For example Accept-Language: fr
.The API uses standard HTTP status codes and also includes them in the JSON response in the status
and statusCode
attributes.
Example:
{
"status": "200 OK",
"statusCode": 200,
"data": {},
"meta": {}
}
Example:
{
"status": "404 Not Found",
"statusCode": 404,
"help": "https://github.com/apption-labs/meater-cloud-public-rest-api"
}
Headers:
Content-Type: application/json
Body:
{
"email": "<MEATER Cloud Email Address>",
"password": "<MEATER Cloud Password>"
}
Response:
{
"status": "OK",
"statusCode": 200,
"data": {
"token": "<JWT>",
"userId": "<User ID>"
},
"meta": {}
}
Example CURL:
curl --location --request POST 'https://public-api.cloud.meater.com/v1/login' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "<MEATER Cloud Email Address>",
"password": "<MEATER Cloud Password>"
}'
Devices (aka MEATER probes) will only be returned after the following criteria is met. There may be a delay between the MEATER Cloud seeing your device and it being returned in this endpoint.
Additional information:
device
object:
id
: Unique device ID.temperature
:internal
: Internal temperature.ambient
: Ambient temperature. If ambient
is less than internal
, ambient
will equal internal
.cook
: Object if cook setup or null
id
: Unique cook ID.name
: Name of selected meat in your language or user given custom name.state
: One of Not Started
, Configured
, Started
, Ready For Resting
, Resting
, Slightly Underdone
, Finished
, Slightly Overdone
, OVERCOOK!
. Not translated.temperature
:
target
: Target temperature.peak
: Peak temperature reached during cook.time
:
elapsed
: Time since the start of cook in seconds. Default: 0
.remaining
: Remaining time in seconds. When unknown/calculating default is used. Default: -1
.updated_at
: Time data was last updated at as a UNIX timestamp.Headers:
Authorization: Bearer <JWT>
Response:
{
"status": "OK",
"statusCode": 200,
"data": {
"devices": [
{
"id": "<Device ID>",
"temperature": {
"internal": 0,
"ambient": 0,
},
"cook": {
"id": "<Cook ID>",
"name": "<Cook name>",
"state": "<Cook state>",
"temperature": {
"target": 0,
"peak": 0
},
"time": {
"elapsed": 0,
"remaining": 0
}
},
"updated_at": 123456789
},
{
"id": "<Device ID>",
"temperature": {
"internal": 0,
"ambient": 0,
},
"cook": null,
"updated_at": 123456789
},
]
},
"meta": {}
}
Example CURL:
curl --location --request GET 'https://public-api.cloud.meater.com/v1/devices' \
--header 'Authorization: Bearer <JWT>'
Get info for a specific device. Works like /devices
but returns a single object rather than an array.
Headers:
Authorization: Bearer <JWT>
Response:
{
"status": "OK",
"statusCode": 200,
"data": {
"id": "<Device ID>",
"temperature": {
"internal": 0,
"ambient": 0,
},
"cook": null,
"updated_at": 123456789
},
"meta": {}
}
Example CURL:
curl --location --request GET 'https://public-api.cloud.meater.com/v1/devices/<ID>' \
--header 'Authorization: Bearer <JWT>'
Please use issues for feedback, questions and issues.
The MEATER Support Team won't be able to provide support for the API.
Copyright © 2020 Apption Labs Ltd. Terms of Use.