---
title: "Teleoperation Control"
method: POST
path: "/move/teleop"
tags: ["control"]
---

# Teleoperation Control

`POST /move/teleop`

## Request

- The document declares no server URL.
- Auth: none required

## Query parameters

- `robot_id` integer, nullable

## Request body

- AppControlData: Type of data sent by the Metaquest app.
  - `direction_x` number: Direction vector X, normalized between -1 (left) and 1 (right)
  - `direction_y` number: Direction vector Y, normalized between -1 (backward) and 1 (forward)
  - `open` number, required: 0 for closed, 1 for open
  - `rx` number, required: Absolute Pitch in degrees
  - `ry` number, required: Absolute Yaw in degrees
  - `rz` number, required: Absolute Roll in degrees
  - `source` 'left' | 'right': Which hand the data comes from. Can be left or right.
  - `timestamp` number, nullable: Unix timestamp with milliseconds
  - `x` number, required
  - `y` number, required
  - `z` number, required

## Response `200`

Successful Response

- StatusResponse: Default response. May contain other fields.
  - `message` string, nullable
  - `status` 'ok' | 'error'

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/phospho/apis/phospho-api.md) - [All operations](https://skmtc.dev/phospho/apis/phospho-api/llms.txt) - [OpenAPI document](https://skmtc.dev/phospho/apis/phospho-api/revisions/93e83588fc02?raw)
