Customizing your DAKboard Experience has just gotten a lot better. Introducing our new DAKboard API which allows for even more flexibility and customization with your DAKboard device. Read on to learn more.
What is the purpose of the API?
DAKboard API allows you to add more customizability to your DAKboard experience. With the Plus or Pro plan, you are now able to program features for your DAKboard device as well as the ability to do specific things such as assigning your screen. You can even create a web interface listing all of your Devices and what is being displayed. The possibilities are for you to decide.
Heres an example of how you can use DAKboards API to assign a screen to your device:
First, we need to get the API key from your DAKboard account, you can do this by going to the API key section on your account here (You can also find this under your account listing in API).
From there you can add an API key to your account.
Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
If at any time this API key has been compromised you can revoke access which removes the key and causes any applications using this key to stop working.
After obtaining this API key you can begin the process of assigning your screen.
First, we need to get a list of all the screens on your DAKboard account, to do this we are using cURL. You can follow along using a command line on Windows, Linux, or Mac.
Example RequestScreen List
curl --location --request GET 'https://dakboard.com/api/2/screens?api_key=[INSERT API KEY HERE]'
Example Response200 - OK
[
{
"id": "scr_8cf90764d747",
"name": "Conference Room 3",
"width": "1920",
"height": "1080",
"orientation": "landscape",
"status": "active",
"version": "2177",
"is_default": "1"
}
]
Once we get the list of all the screens we can then move forward with getting a list of all the devices connected to your DAKboard account:
List all devices
curl --location --request GET 'https://dakboard.com/api/2/devices?api_key=[INSERT API KEY HERE]'
Example Response200 - OK
[
{
"id": "dev_7mzab2mdbwsq",
"name": "Office Display",
"serial_num": "ABC123",
"model": "AOC I2476VWM (Ansen)",
"ip_addr": "192.168.1.118",
"last_connect": "1554744197",
"screen_id": "scr_8049365ec9ca",
"screen_type": "screen"
},
{
"id": "dev_al39vb3cb308",
"name": "Front Room Display",
"serial_num": "XYZ789",
"model": "L238DPH-2NS [1.81]",
"ip_addr": "192.168.1.27",
"last_connect": "1561059573",
"screen_id": "loo_7be22338a74c",
"screen_type": "loop"
}
]
Now that we have a list of both the screens and the devices on your account we can begin assigning a screen to a device. First, select a device and a screen, we will use the IDs to assign the screens where provided.
Updating the screen of a device
curl --location --request PUT 'https://dakboard.com/api/2/devices/[INSERT DEVICE ID]?api_key=[INSERT API KEY HERE]' \
--data-raw 'screen_id=[INSERT SCREEN ID]'
Example Response200 - OK
{
"id": "dev_7mzab2mdbwsq",
"name": "Office Display",
"serial_num": "ABC123",
"model": "AOC I2476VWM (Ansen)",
"ip_addr": "192.168.1.118",
"last_connect": "1554744197",
"screen_id": "scr_8cf90764d747",
"screen_type": "screen"
}
The device should then update a couple minutes after.
If you are more experienced with programming there are plenty of ideas you can use such as assigning a screen from Amazon Echo, Google Home Assistant, or even Apple’s Siri. Some services will require a web server for it to work as it needs to read code on what to do. Amazon offers Alexa Skills kit which provides you with a free version of their web server. From there you can implement your own code using node.js or python. To learn more about Alexa Skills you can click on the link here.
To view more examples and documentation of our API you can click on this link here.
This is an early version of our API and we are planning to implement many more features later on as we gain more user input.
If you have any questions or feedback, we’d love to hear from you. Feel free to post a comment below or check out our support page for more information.
Is this is in any way extended recently? This looks the same as a few months ago. It’s a great start, it would be nice to see more ways to update blocks besides text blocks. Updating countdown blocks would be especially powerful! Updating image URLs, traffic destinations, weather zipcodes, etc would all be really appreciated!
Also, if we could put a device in sleep mode it would allow for things like putting a device in sleep mode when we are out of the house or go to bed.
Hi John, this post is just for increasing awareness of our existing API. There’s been no major updates to the API in the past few months.
Your requests are all good idea. Please create a feature request for this in our list here: https://github.com/dakboard/feature-requests/issues so we can begin to track and prioritize them.
Thanks.