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

# POST /v1/mission-workflow/create

`POST /v1/mission-workflow/create`

## Request

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

Create a mission workflow that mirrors touchscreen presets (e.g., automatic return point selection).
Supports Servi workflows and Carti workflows. Exactly one workflow type must be set.

## Request body

- CreateMissionWorkflowRequest: Request object for creating a mission workflow
  - `robotId` string, required: Unique identifier of the robot
  - `missionWorkflow` union, required: Preset workflow to run. Only one workflow type may be set at a time.
    - object
      - `serviWorkflow` union, required: Servi preset workflows. Each type takes only goals (or a single goal for birthday) with no params.
        - object
          - `delivery` object, required
            - `goals` Goal[]
              - …
        - object
          - `deliveryPatrol` object, required
            - `goals` Goal[]
              - …
        - object
          - `bussing` object, required
            - `goals` Goal[]
              - …
        - object
          - `bussingPatrol` object, required
            - `goals` Goal[]
              - …
        - object
          - `birthday` object, required
            - `goal` union: Goal represents a target destination or pose for the robot to navigate to.
              - …
        - object
          - `hosting` object, required
            - `goals` Goal[]
              - …
        - object
          - `hostingPatrol` object, required
            - `goals` Goal[]
              - …
    - object
      - `cartiWorkflow` union, required: Carti preset workflows. Each type takes only goals with no params.
        - object
          - `traverse` object, required
            - `goals` Goal[]
              - …
        - object
          - `traversePatrol` object, required
            - `goals` Goal[]
              - …

## Response `200`

OK

- CreateMissionWorkflowResponse
  - `missionIds` string[]: The IDs of the missions created for this workflow.

## 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)
