---
title: "POST /v1/mission/create"
method: POST
path: "/v1/mission/create"
tags: ["Mission"]
---

# POST /v1/mission/create

`POST /v1/mission/create`

## Request

- Base URL: `https://api.bearrobotics.ai`
- URL: `https://api.bearrobotics.ai/v1/mission/create`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/bearrobotics/apis/bear-cloud-api/docs/v1/mission/create/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a new mission of a specified type.

 This call will fail if:
 - The robot is already executing another mission.
 - The requested mission is not compatible with the robot's current state.

## Request body

- CreateMissionRequest: Request object for creating a new mission
  - `robotId` string, required: Unique identifier of the robot
  - `mission` union, required: Represents a mission that can be assigned to a robot. Only one mission type can be set per Mission instance.
    - object
      - `baseMission` union, required: Base missions are applicable to all robot families
        - object
          - `navigateMission` NavigateMission, required: A simple mission with a predefined goal
            - `goal` union: Goal represents a target destination or pose for the robot to navigate to.
              - …
        - object
          - `navigateAutoMission` NavigateAutoMission, required: A mission that automatically selects the best available goal from the provided list
            - `goals` Goal[]
              - …
    - object
      - `serviMission` union, required: Servi missions are specific to the Servi robot family
        - object
          - `deliveryMission` DeliveryMission, required: A delivery mission that navigates to one or more goals, stopping at each for a time limit or until weight is removed
            - `goals` Goal[]
              - …
            - `params` DeliveryParams: Parameters for a delivery mission
              - …
        - object
          - `bussingMission` BussingMission, required: A bussing mission that navigates to one or more goals, stopping at each for a time limit or until weight is added
            - `goals` Goal[]
              - …
            - `params` BussingParams: Parameters for a bussing mission (reserved for future use)
        - object
          - `deliveryPatrolMission` DeliveryPatrolMission, required: A delivery patrol mission that continuously loops through goals, stopping at each for a time limit until all weight is removed
            - `goals` Goal[]
              - …
            - `params` DeliveryPatrolParams: Parameters for a delivery patrol mission (reserved for future use)
        - object
          - `bussingPatrolMission` BussingPatrolMission, required: A bussing patrol mission that continuously loops through goals, stopping at each for a time limit until weight exceeds a threshold
            - `goals` Goal[]
              - …
            - `params` BussingPatrolParams: Parameters for a bussing patrol mission (reserved for future use)
        - object
          - `navigateMission` NavigateMission, required: A simple mission with a predefined goal
            - `goal` union: Goal represents a target destination or pose for the robot to navigate to.
              - …
        - object
          - `navigateAutoMission` NavigateAutoMission, required: A mission that automatically selects the best available goal from the provided list
            - `goals` Goal[]
              - …
    - object
      - `cartiMission` union, required: Carti missions are specific to the Carti robot family
        - object
          - `traverseMission` TraverseMission, required: A traverse mission that navigates to one or more goals
            - `goals` Goal[]
              - …
            - `params` TraverseParams: Parameters for a traverse mission (reserved for future use)
        - object
          - `traversePatrolMission` TraversePatrolMission, required: A traverse patrol mission that navigates to one or more goals and continuously loops through the goals stopping at each for a time limit
            - `goals` Goal[]
              - …
            - `params` TraversePatrolParams: Parameters for a traverse patrol mission (reserved for future use)
        - object
          - `navigateMission` NavigateMission, required: A simple mission with a predefined goal
            - `goal` union: Goal represents a target destination or pose for the robot to navigate to.
              - …
        - object
          - `navigateAutoMission` NavigateAutoMission, required: A mission that automatically selects the best available goal from the provided list
            - `goals` Goal[]
              - …

## Response `200`

OK

- CreateMissionResponse
  - `missionId` string

## Other responses

- `400`: Bad Request, usually caused by malfored request body.
- `401`: Unauthorized credentials, ensure the JWT is correct and up to date.
- `500`: Internal Server Error
- `503`: Service is temporarily unavailable, which can usually be resolved by backoff retries.
- `504`: Server-side timeout, usually caused by the failure to send/receive commands/responses to the designated robot.

---

[API](https://skmtc.dev/bearrobotics/apis/bear-cloud-api.md) - [All operations](https://skmtc.dev/bearrobotics/apis/bear-cloud-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bearrobotics/apis/bear-cloud-api/revisions/b90843b624b5?raw)
