Vacuglide API V1
Selecting A Cluster
Section titled “Selecting A Cluster”The Vacuglide API is hosted on multiple clusters around the world.
When a device goes online it will connect to the lowest latency server.
To control the device you must connect to the same cluster as the device.
You can find the cluster your device is connected to by checking the cluster
property in the /vacuglide/connected
response.
https://us-east-1.autoblowapi.comhttps://us-east-2.autoblowapi.comhttps://us-west-1.autoblowapi.comhttps://us-west-2.autoblowapi.comhttps://ca-central-1.autoblowapi.comhttps://ap-southeast-2.autoblowapi.comhttps://eu-west-2.autoblowapi.comhttps://eu-central-1.autoblowapi.com
Basic Requests
Section titled “Basic Requests”GET
/vacuglide/connected
Section titled “GET /vacuglide/connected”Check if a device is connected and get the cluster it is connected to.
This request can be performed on any cluster but for the reliability porposes we recommend using https://latency.autoblowapi.com
which will connect you to the cluster with the lowest latency.
All the other requests can be only performed on the cluster the device is connected to.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
Response Parameters
name | data | description |
---|---|---|
connected | bool | True if the device is currently connected |
cluster | string or undefined | URI to the connected cluster, undefined if not connected |
Example Request
curl --request GET \ --url https://us-east-2.autoblowapi.com/vacuglide/connected \ --header 'x-device-token: jya6vksq08q3'
Example Responses
Status Code: 200, Content-Type: application/json
{ "connected": true, "cluster": "https://us-east-1.autoblowapi.com"}
Status Code: 200, Content-Type: application/json
{ "connected": false}
GET
/vacuglide/info
Section titled “GET /vacuglide/info”Get additional information about the device such as the firmware/hardware version.
It’s important to note the device type. If the device type is vacuglide
you should use the Vacuglide API V1.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
Response Parameters
name | type | description |
---|---|---|
firmwareStatus | enum: UP_TO_DATE, UPDATE_AVAILABLE, UPDATE_REQUIRED | The firmware status |
firmwareVersion | float | The current device firmware version |
firmwareBranch | string | The firmware branch |
hardwareVersion | string | The hardware version |
mac | string | The device mac address |
deviceType | enum: autoblow-ultra, vacuglide | The device type |
Example Request
curl --request GET \ --url https://eu-central-1.autoblowapi.com/vacuglide/info \ --header 'x-device-token: jya6vksq08q3'
Example Responses
Status Code: 200, Content-Type: application/json
{ "firmwareStatus": "UP_TO_DATE", "firmwareVersion": 1.01, "firmwareBranch": "prod", "hardwareVersion": "vacuglide", "mac": "b0b21c3141e8", "deviceType": "vacuglide"}
GET
/vacuglide/state
Section titled “GET /vacuglide/state”Get the current state of the device
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request GET \ --url https://eu-central-1.autoblowapi.com/vacuglide/state \ --header 'x-device-token: jya6vksq08q3'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "ONLINE_CONNECTED", "localScript": 10, "targetSpeed": 64, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "", "syncScriptLoop": true}
Valve Commands
Section titled “Valve Commands”PUT
/vacuglide/valve/stroke-plus
Section titled “PUT /vacuglide/valve/stroke-plus”Set the state for the stroke plus valve
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
valveState (body) | yes | bool | TRUE for open, FALSE for closed |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/valve/stroke-plus \ --header 'Content-Type: application/json' \ --header 'x-device-token: jya6vksq08q3' \ --data '{"valveState": true}'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "ONLINE_CONNECTED", "localScript": 10, "targetSpeed": 0, "strokePlusValve": true, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "", "syncScriptLoop": true}
PUT
/vacuglide/valve/stroke-minus
Section titled “PUT /vacuglide/valve/stroke-minus”Set the state for the stroke minus valve
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
valveState (body) | yes | bool | TRUE for open, FALSE for closed |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/valve/stroke-minus \ --header 'Content-Type: application/json' \ --header 'x-device-token: jya6vksq08q3' \ --data '{"valveState": true}'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "ONLINE_CONNECTED", "localScript": 10, "targetSpeed": 0, "strokePlusValve": true, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "", "syncScriptLoop": true}
Target Speed Commands
Section titled “Target Speed Commands”PUT
/vacuglide/target-speed
Section titled “PUT /vacuglide/target-speed”Will start the target speed for the device
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
targetSpeed (body) | yes | number | The target speed in percent |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/target-speed \ --header 'Content-Type: application/json' \ --header 'x-device-token: jya6vksq08q3' \ --data '{"targetSpeed": 50}'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "TARGET_SPEED_PLAYING", "localScript": 10, "targetSpeed": 50, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "", "syncScriptLoop": false}
PUT
/vacuglide/target-speed/stop
Section titled “PUT /vacuglide/target-speed/stop”Stop the target speed for the device
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/target-speed/stop \ --header 'Content-Type: application/json' \ --header 'x-device-token: jya6vksq08q3' \ --data '{"targetSpeed": 50}'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "TARGET_SPEED_PAUSED", "localScript": 10, "targetSpeed": 50, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "", "syncScriptLoop": false}
Local Scripts Commands
Section titled “Local Scripts Commands”PUT
/vacuglide/local-script
Section titled “PUT /vacuglide/local-script”Play one of the 30 loaded local scripts on the device.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | The autoblow device token |
localScriptIndex (body) | yes | number (min:0) (max:30) | Local script playing index |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/autoblow/local-script \ --header 'Content-Type: application/json' \ --header 'x-device-token: jya6vksq08q3' \ --data '{"localScriptIndex": 5}'
Example Responses
Status Code: 200, Content-Type: application/json
{ "operationalMode": "LOCAL_SCRIPT_PLAYING", "localScript": 5, "targetSpeed": 0, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "", "syncScriptLoop": false}
PUT
/vacuglide/local-script/start
Section titled “PUT /vacuglide/local-script/start”Play the already selected local script on the device.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/local-script/start \ --header 'x-device-token: jya6vksq08q3'
Example Responses
Status Code: 200, Content-Type: application/json
{ "operationalMode": "LOCAL_SCRIPT_PLAYING", "localScript": 5, "targetSpeed": 0, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "", "syncScriptLoop": false}
PUT
/vacuglide/local-script/stop
Section titled “PUT /vacuglide/local-script/stop”Stop playing the local script.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | The autoblow device token |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/local-script/stop \ --header 'x-device-token: jya6vksq08q3'
Example Responses
Status Code: 200, Content-Type: application/json
{ "operationalMode": "LOCAL_SCRIPT_PAUSED", "localScript": 5, "targetSpeed": 0, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "", "syncScriptLoop": false}
Sync Scripts Commands
Section titled “Sync Scripts Commands”PUT
/vacuglide/sync-script/start
Section titled “PUT /vacuglide/sync-script/start”Play a sync script on the device.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
startTimeMs (body) | yes | number | At what time to start playing the sync script from |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/sync-script/start \ --header 'Content-Type: application/json' \ --header 'x-device-token: jya6vksq08q3' \ --data ' {"startTimeMs": 0}'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "SYNC_SCRIPT_PLAYING", "localScript": 0, "targetSpeed": 0, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "7a93bfc5-4043-4ade-aee5-bec8012b0e12", "syncScriptLoop": true}
PUT
/vacuglide/sync-script/stop
Section titled “PUT /vacuglide/sync-script/stop”Stop playing the sync script.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/sync-script/stop \ --header 'x-device-token: jya6vksq08q3'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "SYNC_SCRIPT_PLAYING", "localScript": 0, "targetSpeed": 0, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "7a93bfc5-4043-4ade-aee5-bec8012b0e12", "syncScriptLoop": true}
PUT
/vacuglide/sync-script/offset
Section titled “PUT /vacuglide/sync-script/offset”Add an offset to sync script for latency compensation. The offset is in milliseconds and can be positive or negative.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
offsetTimeMs (body) | yes | number | Set an offset, the offset will get added to syncScriptCurrentTime, the offset can be positive or negative |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/sync-script/offset \ --header 'Content-Type: application/json' \ --header 'x-device-token: jya6vksq08q3' \ --data '{"offsetTimeMs" : 100}'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "SYNC_SCRIPT_PAUSED", "localScript": 0, "targetSpeed": 0, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 100, "syncScriptToken": "7a93bfc5-4043-4ade-aee5-bec8012b0e12", "syncScriptLoop": true}
PUT
/vacuglide/sync-script/loop
Section titled “PUT /vacuglide/sync-script/loop”Set the script to play in a loop
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
loop (body) | yes | bool | If set to true it will restart the script after it finishes playing it |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/sync-script/loop \ --header 'Content-Type: application/json' \ --header 'x-device-token: jya6vksq08q3' \ --data ' {"loop" : true}'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "SYNC_SCRIPT_PAUSED", "localScript": 0, "targetSpeed": 0, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "7a93bfc5-4043-4ade-aee5-bec8012b0e12", "syncScriptLoop": true}
PUT
/vacuglide/sync-script/load-token
Section titled “PUT /vacuglide/sync-script/load-token”Will load the sync script using the token identifier.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
scriptToken (body) | yes | string | Sync script token you want to load on the device |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/sync-script/load-token \ --header 'Content-Type: application/json' \ --header 'x-device-token: jya6vksq08q3' \ --data ' { "scriptToken": "ea5d85d2-4db7-4f76-88fe-23a6fb5a8eab" }'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "SYNC_SCRIPT_PAUSED", "localScript": 0, "localScriptSpeed": 0, "motorTemperature": 30, "oscillatorTargetSpeed": 50, "oscillatorLowPoint": 0, "oscillatorHighPoint": 100, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "ea5d85d2-4db7-4f76-88fe-23a6fb5a8eab", "syncScriptLoop": false}
PUT
/vacuglide/sync-script/upload-csv
Section titled “PUT /vacuglide/sync-script/upload-csv”Will upload a sync script from a csv file. The script will be converted to a binary format that the autoblow can play and it will be stored on our servers for 48 hours. Each uploaded script will be assigned a token that can be used to load the script on the device or to check if the script is loaded.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
file (multipart) | yes | file | The csv file you want to upload |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/sync-script/upload-csv \ --header 'Content-Type: multipart/form-data' \ --header 'x-device-token: jya6vksq08q3' \ --form 'file=@/path_to_file/test.csv'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "SYNC_SCRIPT_PAUSED", "localScript": 0, "targetSpeed": 0, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "7a93bfc5-4043-4ade-aee5-bec8012b0e12", "syncScriptLoop": true}
PUT
/vacuglide/sync-script/upload-csv-url
Section titled “PUT /vacuglide/sync-script/upload-csv-url”Will upload a sync script from a csv url. The script will be converted to a binary format that the autoblow can play and it will be stored on our servers for 48 hours. Each uploaded script will be assigned a token that can be used to load the script on the device or to check if the script is loaded.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
file (multipart) | yes | file | The csv file you want to upload |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/sync-script/upload-csv \ --header 'Content-Type: multipart/form-data' \ --header 'x-device-token: jya6vksq08q3' \ --form 'file=@/path_to_file/test.csv'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "SYNC_SCRIPT_PAUSED", "localScript": 0, "targetSpeed": 0, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "7a93bfc5-4043-4ade-aee5-bec8012b0e12", "syncScriptLoop": true}
PUT
/vacuglide/sync-script/upload-funscript
Section titled “PUT /vacuglide/sync-script/upload-funscript”Will upload a sync script from a fun file. The script will be converted to a binary format that the autoblow can play and it will be stored on our servers for 48 hours. Each uploaded script will be assigned a token that can be used to load the script on the device or to check if the script is loaded.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
file (multipart) | yes | file | The funscript file you want to upload |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/sync-script/upload-funscript \ --header 'Content-Type: multipart/form-data' \ --header 'x-device-token: jya6vksq08q3' \ --form 'file=@/path_to_file/test.funscript'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "SYNC_SCRIPT_PAUSED", "localScript": 0, "targetSpeed": 0, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "7a93bfc5-4043-4ade-aee5-bec8012b0e12", "syncScriptLoop": true}
PUT
/vacuglide/sync-script/upload-funscript-url
Section titled “PUT /vacuglide/sync-script/upload-funscript-url”Will upload a sync script from a fun url. The script will be converted to a binary format that the autoblow can play and it will be stored on our servers for 48 hours. Each uploaded script will be assigned a token that can be used to load the script on the device or to check if the script is loaded.
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
x-device-token (header) | yes | string | Vacuglide device token |
url (body) | yes | string | The URL that hosts the funscript you want to upload onto the device |
Response Parameters
name | type | description |
---|---|---|
operationalMode | enum: ONLINE_CONNECTED, SYNC_SCRIPT_PLAYING, SYNC_SCRIPT_PAUSED, LOCAL_SCRIPT_PLAYING, LOCAL_SCRIPT_PAUSED, TARGET_SPEED_PLAYING, TARGET_SPEED_PAUSED, SETUP, ERROR, FIRMWARE_UPDATING, ERROR_MOTOR_STUCK | The current operational mode |
localScript | number (min:0) (max:30) | The index of the local script |
targetSpeed | number (min:0) (max:100) | The target speed in percent |
strokePlusValve | bool | The state of the stroke plus valve |
strokeMinusValve | bool | The state of the stroke minus valve |
syncScriptCurrentTime | number | The current time of the sync script in MS |
syncScriptOffsetTime | number | The offset time of the sync script in MS |
syncScriptToken | string | The loaded sync script token |
syncScriptLoop | bool | If set to true, it will restart sync script when finished |
Example Request
curl --request PUT \ --url https://eu-central-1.autoblowapi.com/vacuglide/sync-script/upload-funscript-url \ --header 'Content-Type: application/json' \ --header 'x-device-token: jya6vksq08q3' \ --data '{"url": "https://vieci-uploads.s3.amazonaws.com/funscripts/test.funscript"}'
Example Response
Status Code: 200, Content-Type: application/json
{ "operationalMode": "SYNC_SCRIPT_PAUSED", "localScript": 0, "targetSpeed": 0, "strokePlusValve": false, "strokeMinusValve": false, "syncScriptCurrentTime": 0, "syncScriptOffsetTime": 0, "syncScriptToken": "7a93bfc5-4043-4ade-aee5-bec8012b0e12", "syncScriptLoop": true}
Device Events
Section titled “Device Events”GET
/events/stream
Section titled “GET /events/stream”The events are sent through Server Sent Events (SSE) and the client can subscribe to the stream by sending a GET
request to the /events/stream
endpoint.
Vacuglide will send the following events:
- speed-minus-button-pressed - The speed minus button was pressed
- speed-plus-button-pressed - The speed plus button was pressed
- mode-button-pressed - The mode button was pressed
See documentation
Request Parameters
name | required | type | description |
---|---|---|---|
deviceToken (query) | yes | string | Vacuglide device token |
Response Parameters
name | type | description |
---|---|---|
event | string | The event type |
data | object | The event data |
Example Request
curl --request GET \ --url https://eu-central-1.autoblowapi.com/events/stream?deviceToken=jya6vksq08q3 \
Example Responses
Status Code: 200, Content-Type: application/json
event: connecteddata: {"connectionId":"bedffe18-f62e-4c9c-8e9b-7082f88d5f0c","subscribedDevice":"yksf9n31sahp"}event: heartbeatdata: {"timestamp":1752685746276}
Rate Limiting
Section titled “Rate Limiting”This API is rate limited. Each response will contain the following headers:
name | type | description |
---|---|---|
x-ratelimit-limit | number | How many requests the client can make |
x-ratelimit-remaining | number | How many requests remain to the client in the timewindow |
x-ratelimit-reset | number | How many seconds until the rate limit resets |
Operational Codes
Section titled “Operational Codes”The following codes are used in the operationalCode
property of the /vacuglide/state
response.
- ONLINE_CONNECTED - Device is connected to the server, the device is ready to receive commands.
- SYNC_SCRIPT_PLAYING - The device is playing a sync script, for additional information check the following relevant state properties
syncScriptToken
,syncScriptCurrentTime
,syncScriptOffsetTime
,syncScriptLoop
. - SYNC_SCRIPT_PAUSED - Sync script is paused
- LOCAL_SCRIPT_PLAYING - Local script is playing, for additional information check the following relevant state properties
localScript
,localScriptSpeed
. - LOCAL_SCRIPT_PAUSED - Local script is paused
- TARGET_SPEED_PLAYING - Target speed is playing
- TARGET_SPEED_PAUSED - Target speed is paused
- SETUP - Device is in setup mode
- ERROR - Device is in an error state
- FIRMWARE_UPDATING - Device is updating the firmware
- ERROR_MOTOR_STUCK - Device is in an error state because the motor is stuck