# Robots_DeleteRobot

`DELETE /v1/accounts/{account}/robots/{robot}`

Deletes a robot. FAILED_PRECONDITION while it has a model and `force` is
not set. Datasets that named it keep the dangling reference (shown as a
removed robot); the uploads played on a robot are listed with
Datasets.ListDatasets filter `target_robot = "..."`. Deleting a gripper
design clears Rig.gripper on every rig that points at it; the rigs using
it are those Rigs.ListRigs returns with that `gripper`. Deleting a robot
deletes the gripper it owns, files included. Deleting a gripper a robot owns
removes that copy and its mount from its robot, as detaching it with
SetRobotGripper does; the robot and other copies stay. A gripper a live
dataset plays back with is FAILED_PRECONDITION to delete. Deleting a robot
template needs no `force` and touches no rig: the rigs made from it keep their
copy and lose `source_template`. Deleting a UMI rig is deleting a gripper;
nothing makes it again.

- Base URL: `https://junction-api.qualiastudios.dev`
- Authentication: an API key in the `X-API-Key` header

## Parameters

- `account` (path, string, required): The account id.
- `robot` (path, string, required): The robot id.
- `force` (query, boolean): Also delete its model.

## Responses

- `200` OK
- `default` Default error response: `application/json` `google.rpc.Status`

## Schemas

```yaml
google.rpc.Status:
  oneOf:
    - $ref: "#/components/schemas/ApiError"
    - $ref: "#/components/schemas/GatewayError"
  description: "The body of a failed call: one of the two shapes below."
ApiError:
  title: API error
  type: object
  required:
    - code
    - message
    - retryable
    - details
  properties:
    code:
      type: string
      description: The gRPC code name in upper case, e.g. `NOT_FOUND`.
    message:
      type: string
    retryable:
      type: boolean
      description: Whether the same call may succeed if retried.
    details:
      type: array
      items:
        type: object
      description: "Empty, except when a dataset copy or move is refused: then one `google.rpc.ErrorInfo` with the refusal's `reason` code, its `domain` and, in `metadata`, the datasets it names."
  description: A refusal from the API itself.
GatewayError:
  title: Gateway error
  type: object
  required:
    - detail
  properties:
    detail:
      type: string
      description: What went wrong.
  description: A refusal from the gateway before the call reaches the API, for example `401` bad or missing API key, `403` key lacks the scope or environment closed, `413` body too large.
```
