Endpoints
Read Current Message
Once you have a Cloud API key, you can use it to get the current message. The size of the array in the layout will depend on what type of board you are using, or whether your API key is for a Note Array.
Path
https://cloud.vestaboard.com/
Method
GET
Headers
X-Vestaboard-TokenContent-Type:"application/json"
Example Request
- CURL
- Javascript
curl -H "X-Vestaboard-Token: YOUR_API_KEY" -H "Content-Type: application/json" https://cloud.vestaboard.com/
await fetch("https://cloud.vestaboard.com/", {
headers: {
"Content-Type": "application/json",
"X-Vestaboard-Token": "YOUR_API_KEY",
},
method: "GET",
}).then((res) => res.json());
Example Response
Flagship:
{
"currentMessage": {
"layout": "[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,8,5,12,12,15,0,23,15,18,12,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]",
"id": "172c7808-52db-4eb9-9ecf-505bd00436bc"
}
}
Vestaboard Note:
{
"currentMessage": {
"layout": "[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]",
"id": "172c7808-52db-4eb9-9ecf-505bd00436bc"
}
}
Send Message
With your Cloud API key, you can also send a new message. Please note that the Cloud API does not accept blank messages. Also note that if you send more than 1 message every 15 seconds, you are likely to have messages dropped as we rate-limit the volume of messages sent to the board.
If you are sending messages to a Note Array, the message will be split up into pieces and distributed to each board in the Note Array. For example, if you have a 2x2 Note Array of Vestaboard Notes, you are expected to send a 30x6 array of arrays.
Path
https://cloud.vestaboard.com/
Method
POST
Headers
X-Vestaboard-TokenContent-Type:"application/json"
Body
You can provide text or an array of array with numbers each representing the new state of the board.
Text Input:
{
"text": "Hello World"
}
Flagship array:
[
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 8, 5, 12, 12, 15, 0, 23, 15, 18, 12, 4, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]
Vestaboard Note array:
[
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]
Example Request
- CURL
- CURL Windows
- Javascript
curl -X POST -H "X-Vestaboard-Token: YOUR_API_KEY" -H "Content-Type: application/json" -d '{"text": "Hello World"}' https://cloud.vestaboard.com/
curl -X POST -H "X-Vestaboard-Token: YOUR_API_KEY" -H "Content-Type: application/json" -d "{\"text\": \"Hello World\"}" https://cloud.vestaboard.com/
await fetch("https://cloud.vestaboard.com/", {
body: JSON.stringify({ text: "Hello World" }),
headers: {
"Content-Type": "application/json",
"X-Vestaboard-Token": "YOUR_API_KEY",
},
method: "POST",
});
Example Request with Character Codes
- CURL
- Javascript
curl -X POST -H "X-Vestaboard-Token: YOUR_API_KEY" -H "Content-Type: application/json" -d "[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,8,5,12,12,15,0,23,15,18,12,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]" https://cloud.vestaboard.com/
await fetch("https://cloud.vestaboard.com/", {
body: JSON.stringify([
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 8, 5, 12, 12, 15, 0, 23, 15, 18, 12, 4, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
]),
headers: {
"Content-Type": "application/json",
"X-Vestaboard-Token": "YOUR_API_KEY",
},
method: "POST",
}).then((res) => res.json());
Example Response
{
"status": "ok",
"id": "9b4f13f0-4623-4fb9-8fbf-09ae13350da1",
"created": 1681154452865
}
Get Transition
You can retrieve the current transition settings for your device. Transitions are currently supported on Flagship and Vestaboard Note devices and will not work on Note Arrays.
Path
https://cloud.vestaboard.com/transition
Method
GET
Headers
X-Vestaboard-TokenContent-Type:"application/json"
Example Request
- CURL
- Javascript
curl -H "X-Vestaboard-Token: YOUR_API_KEY" -H "Content-Type: application/json" https://cloud.vestaboard.com/transition
await fetch("https://cloud.vestaboard.com/transition", {
headers: {
"Content-Type": "application/json",
"X-Vestaboard-Token": "YOUR_API_KEY",
},
method: "GET",
}).then((res) => res.json());
Example Response
{
"transition": "wave",
"transitionSpeed": "gentle"
}
Transition Types
classic- Traditional flip-style transitionwave- Wave-style transition effectdrift- Drift-style transition effectcurtain- Curtain-style transition effect
Transition Speeds
gentle- Slower, smoother transitionfast- Quicker transition
Set Transition
You can update the transition settings for your device. Transitions are currently supported on Flagship and Vestaboard Note devices and will not work on Note Arrays.
Path
https://cloud.vestaboard.com/transition
Method
PUT
Headers
X-Vestaboard-TokenContent-Type:"application/json"
Body
{
"transition": "wave",
"transitionSpeed": "gentle"
}
Both fields are required:
transition- One of:"classic","wave","drift", or"curtain"transitionSpeed- One of:"gentle"or"fast"
Example Request
- CURL
- CURL Windows
- Javascript
curl -X PUT -H "X-Vestaboard-Token: YOUR_API_KEY" -H "Content-Type: application/json" -d '{"transition": "wave", "transitionSpeed": "gentle"}' https://cloud.vestaboard.com/transition
curl -X PUT -H "X-Vestaboard-Token: YOUR_API_KEY" -H "Content-Type: application/json" -d "{\"transition\": \"wave\", \"transitionSpeed\": \"gentle\"}" https://cloud.vestaboard.com/transition
await fetch("https://cloud.vestaboard.com/transition", {
body: JSON.stringify({
transition: "wave",
transitionSpeed: "gentle"
}),
headers: {
"Content-Type": "application/json",
"X-Vestaboard-Token": "YOUR_API_KEY",
},
method: "PUT",
}).then((res) => res.json());
Example Response
{
"transition": "wave",
"transitionSpeed": "gentle"
}
Format Message
This endpoint takes a string and formats it into an array of arrays with Vestaboard character codes. For more formatting options, see VBML
Path
https://vbml.vestaboard.com/format
Method
POST
Body
message- A string you want to format
Example Request
- CURL
- CURL Windows
- Javascript
curl \
-X POST \
-d '{"message": "Hello World"}' \
-H "Content-Type: application/json" \
https://vbml.vestaboard.com/format
curl \
-X POST \
-d "{\"message\": \"Hello World\"}" \
-H "Content-Type: application/json" \
https://vbml.vestaboard.com/format
await fetch("https://vbml.vestaboard.com/format", {
headers: {
"Content-Type": "application/json",
},
method: "POST",
body: JSON.stringify({
message: "Hello World",
}),
}).then((res) => res.json());
Example Response
[
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 8, 5, 12, 12, 15, 0, 23, 15, 18, 12, 4, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]