FireBoard Cloud API

You can use the FireBoard REST API to access information from the FireBoard Cloud, including devices, sessions, and temperature channels. Requests are in JSON format and require a token authentication method.

The current FireBoard REST API version is v1.

Requirements

To use the FireBoard REST API, you must have a FireBoard account.

Authentication

The FireBoard REST API uses a simple token-based HTTP Authentication scheme. The unique account token can be retrieved through the login endpoint.

POST the login credentials through shell
curl https://fireboard.io/api/rest-auth/login/
-X POST
-H 'Content-Type: application/json'
-d '{"username":"your-username-here","password":"your-password-here"}'

Sample response:

{ "key": "9944bb9966cc22cc9418ad846dd0e4bbdfc6ee4b" }

Retrieve Authentication Token

POST https://fireboard.io/api/rest-auth/login/

JSON Request Parameters

Parameter Description
username Your fireboard.io username or email address required
password Your fireboard.io account password required

Using the Authentication Token

The FireBoard API expects the authentication token to be included in the Authorization HTTP header for all request. The key should be prefixed by the string literal “Token”, with whitespace separating the two strings. For example:

Authorization: Token 9944bb9966cc22cc9418ad846dd0e4bbdfc6ee4b

Device API

The device API allows you to retrieve information about any FireBoard in the authenticated account.

Device properties
Attribute | Type | Description
——— | —- | ———–
id | integer | Unique identifier resource.
UUID | string | Alternative unique identifier resource.
title | string | The name of the FireBoard.
created | date-time | The date the FireBoard was added to the account.
hardware_id | string | The serial number of the FireBoard.
latest_temps | array | An array of the latest temperature readings from this FireBoard. Temperature readings older than 60 seconds are not included.
device_log | object | Most recent log information from the FireBoard.
channels | array | An array representing each channel/port on the FireBoard. Channels include labels, alert values, and notification settings.
last_templog | date-time | The date of the last known temperature recorded by this FireBoard.

List All Devices

curl "https://fireboard.io/api/v1/devices.json"
-H "Authorization: Token 9944bb9966cc22cc9418ad846dd0e4bbdfc6ee4b"

The Devices endpoint allows you to view all FireBoards in your account.

GET https://fireboard.io/api/v1/devices.json

Retrieve a Specific Device

curl "https://fireboard.io/api/v1/devices/1e7a77ea-3ed8-4f5a-824a-53e307a949b2.json"
-H "Authorization: Token 9944bb9966cc22cc9418ad846dd0e4bbdfc6ee4b"

Retrieve detailed information about a specific device by referencing the Device’s UUID.

GET https://fireboard.io/api/v1/devices/<UUID>.json

Get Real-Time Temperature From the Device

curl "https://fireboard.io/api/v1/devices/1e7a77ea-3ed8-4f5a-824a-53e307a949b2/temps.json"
-H "Authorization: Token 9944bb9966cc22cc9418ad846dd0e4bbdfc6ee4b"

Get the latest temperature values per channel from the device using the Temps endpoint. Temperature values are included if they are less than a minute old, otherwise nothing is returned for the channel.

GET https://fireboard.io/api/v1/devices/<UUID>/temps.json

Get Real-Time Drive Data From the Device

curl "https://fireboard.io/api/v1/devices/1e7a77ea-3ed8-4f5a-824a-53e307a949b2/drivelog.json"
-H "Authorization: Token 9944bb9966cc22cc9418ad846dd0e4bbdfc6ee4b"

Get the latest FireBoard Drive log information for your device using the Drivelog endpoint. Drive log information is returned if less than a minute old.

GET https://fireboard.io/api/v1/devices/<UUID>/drivelog.json

Session API

The session API allows you to retrieve information about any current or historical session in the authenticated account.

Session Properties
Attribute | Type | Description
——— | —- | ———–
id | integer | Unique identifier resource.
title | string | The name of the session.
duration | string | String representation of the total duration of this session (e.g. 5 hours, 30 minutes).
created | date-time | The date the session was created in the FireBoard Cloud.
start_time | date-time | The configurable start time for the session.
end_time | date-time | The configurable end time for the session.
description | string | A string contained notes entered by the user pertaining to the session.
owner | object | An object representation of the owner’s account information.
devices | array | An array of FireBoard devices that were used during the session.

List All Sessions

curl "https://fireboard.io/api/v1/sessions.json"
-H "Authorization: Token 9944bb9966cc22cc9418ad846dd0e4bbdfc6ee4b"

The Sessions endpoint allows you to view all sessions in your account

GET https://fireboard.io/api/v1/sessions.json

Retrieve a Specific Session

curl "https://fireboard.io/api/v1/sessions/123456.json"
-H "Authorization: Token 9944bb9966cc22cc9418ad846dd0e4bbdfc6ee4b"

Retrieve detailed information about a specific session by referencing the session’s id.

GET https://fireboard.io/api/v1/sessions/<id>.json

Retrieve Session Data for Charting

curl "https://fireboard.io/api/v1/sessions/<id>/chart.json"
-H "Authorization: Token 9944bb9966cc22cc9418ad846dd0e4bbdfc6ee4b"

The Chart endpoint provides all temperature data from the session in a format suitable for many charting frameworks. The optional drive parameter can be used to include FireBoard Drive data in the output.

Parameter Description
drive Pass this parameter in the query string with a value of 1 to include Drive data from your session e.g ?drive=1 optional

GET https://fireboard.io/api/v1/sessions/<id>/chart.json

The chart data is an array of objects representing a specific channel on a specific device.

Attribute Type Description
x array Array of unix timestamps
y array Array of temperature values or Drive %
degreetype integer Integer representing the degree type: 1=C°, 2=F°
device string The UUID identifier of the device
label string The configurable label of the channel

Rate Limits

Users will be limited to 200 API calls per hour, if this rate limit is exceeded then user access will be blocked for 30 minutes.

Best Practices:

Limits subject to change at discretion of FireBoard