Robot Documentations

User Interface API

Control robot display, speech, and user interaction features.

Send a text to speech command to the robot

Send a text to speech command to the robot. This endpoint allows you to send a text and language code to the robot's screen command publisher. The robot will then speak the provided text in the specified language.

POST
/api/v1/ui/speech

Request Body

application/jsonRequired
langRequiredLang

The language of the text to be spoken by the robot.(e.g., 'tr', 'en').

textRequiredText

The text to be spoken by the robot.

Response Body

Successful Response

status_codeStatus Code

HTTP status code of the response.

Default: 200
successSuccess

Indicates whether the operation was successful.

Default: true
messageMessage

A message providing additional information about the operation.

Default: ""
dataobject | null | null
errorobject | null | null

Validation Error

detailDetail
curl -X POST "http://localhost:7242/api/v1/ui/speech" \
  -H "Content-Type: application/json" \
  -d '{
    "lang": "tr",
    "text": "Hello world"
  }'
const body = JSON.stringify({
  "lang": "tr",
  "text": "Hello world"
})

fetch("http://localhost:7242/api/v1/ui/speech", {
  body
})
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
  "strings"
)

func main() {
  url := "http://localhost:7242/api/v1/ui/speech"
  body := strings.NewReader(`{
    "lang": "tr",
    "text": "Hello world"
  }`)
  req, _ := http.NewRequest("POST", url, body)
  req.Header.Add("Content-Type", "application/json")
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "http://localhost:7242/api/v1/ui/speech"
body = {
  "lang": "tr",
  "text": "Hello world"
}
response = requests.request("POST", url, json = body, headers = {
  "Content-Type": "application/json"
})

print(response.text)
{
  "status_code": 200,
  "success": true,
  "message": "Operation successful",
  "data": {
    "key": "value"
  },
  "error": {
    "code": "ERROR_CODE",
    "message": "An error occurred"
  }
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Change the pixel screen video of the robot

Change the pixel screen video of the robot. This endpoint allows you to specify a MP4 file URL for the video that will be displayed on the robot's pixel screen.

POST
/api/v1/ui/screen/pixel

Query Parameters

urlRequiredUrl

Response Body

Successful Response

status_codeStatus Code

HTTP status code of the response.

Default: 200
successSuccess

Indicates whether the operation was successful.

Default: true
messageMessage

A message providing additional information about the operation.

Default: ""
dataobject | null | null
errorobject | null | null

Validation Error

detailDetail
curl -X POST "http://localhost:7242/api/v1/ui/screen/pixel?url=string"
fetch("http://localhost:7242/api/v1/ui/screen/pixel?url=string")
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {
  url := "http://localhost:7242/api/v1/ui/screen/pixel?url=string"

  req, _ := http.NewRequest("POST", url, nil)
  
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "http://localhost:7242/api/v1/ui/screen/pixel?url=string"

response = requests.request("POST", url)

print(response.text)
{
  "status_code": 200,
  "success": true,
  "message": "Operation successful",
  "data": {
    "key": "value"
  },
  "error": {
    "code": "ERROR_CODE",
    "message": "An error occurred"
  }
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Take a terminal snapshot of the robot

Take a terminal snapshot of the robot. This endpoint allows you to trigger the robot to take a terminal logs snapshot. The snapshot will be saved on the robot and can be accessed by the support team for troubleshooting purposes. Optionally, provide a description for the diagnostic upload.

POST
/api/v1/ui/snapshot

Request Body

application/jsonOptional
descriptionDescription

Optional description for the diagnostic snapshot.

Default: ""

Response Body

Successful Response

status_codeStatus Code

HTTP status code of the response.

Default: 200
successSuccess

Indicates whether the operation was successful.

Default: true
messageMessage

A message providing additional information about the operation.

Default: ""
dataobject | null | null
errorobject | null | null

Validation Error

detailDetail
curl -X POST "http://localhost:7242/api/v1/ui/snapshot" \
  -H "Content-Type: application/json" \
  -d '{
    "description": ""
  }'
const body = JSON.stringify({
  "description": ""
})

fetch("http://localhost:7242/api/v1/ui/snapshot", {
  body
})
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
  "strings"
)

func main() {
  url := "http://localhost:7242/api/v1/ui/snapshot"
  body := strings.NewReader(`{
    "description": ""
  }`)
  req, _ := http.NewRequest("POST", url, body)
  req.Header.Add("Content-Type", "application/json")
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "http://localhost:7242/api/v1/ui/snapshot"
body = {
  "description": ""
}
response = requests.request("POST", url, json = body, headers = {
  "Content-Type": "application/json"
})

print(response.text)
{
  "status_code": 200,
  "success": true,
  "message": "Operation successful",
  "data": {
    "key": "value"
  },
  "error": {
    "code": "ERROR_CODE",
    "message": "An error occurred"
  }
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}