---
title: "Update Mission Template by ID"
method: PUT
path: "/v0/mission_document/template/{template_uuid}"
tags: ["oyuk2ny7392o85u5"]
deprecated: true
---

# Update Mission Template by ID

`PUT /v0/mission_document/template/{template_uuid}`

## Request

- Base URL: `https://api.skydio.com/api`
- URL: `https://api.skydio.com/api/v0/mission_document/template/{template_uuid}`
- Auth: API key in header `Authorization`

> **Deprecated.**

Update an existing Mission Template by its uuid.

## Path parameters

- `template_uuid` string, required

## Request body

- Mission: A prescribed list of actions to execute.
  - `actions` SkillsAction[], required: List of actions to be executed. The top-level action must be a single-element array with a sequence action named 'root_sequence'.
    - `actionKey` 'Sequence' | 'StopVideo' | 'SwitchRecordingMode' | 'GotoWaypoint' | 'SetObstacleAvoidance' | 'StartVideo' | 'SurfaceScanSkill' | 'TakePanorama' | 'TakePhoto' | 'TimedWait' | 'TogglePhotoIntervalMode', required: Identifies the type of action the vehicle should execute. Generally, this is a key of the args with the first letter capitalized.
    - `args` SkillsActionArgs, required: Typed arguments passed into the action to initialize it. Interfaces can parse the elements of an ActionArgs type to generate general interface implementations.
      - `isSkippable` boolean: Allow mission runner to move to the next action without completing this action. Currently required for any Photo, Panorama, or Timed Wait actions.
      - `sequence` object, required: Arguments for a sequence of actions. Must be the root-level action of all missions, and if so must be named root_sequence. This is a recursive field that can be specified as deep as you wish, from sequence -> action -> action args -> sequence ...
        - `actions` object[], required: List of actions to be executed in sequence
          - `actionKey` 'Sequence' | 'StopVideo' | 'SwitchRecordingMode' | 'GotoWaypoint' | 'SetObstacleAvoidance' | 'StartVideo' | 'SurfaceScanSkill' | 'TakePanorama' | 'TakePhoto' | 'TimedWait' | 'TogglePhotoIntervalMode', required: Identifies the type of action the vehicle should execute. Generally, this is a key of the args with the first letter capitalized.
          - `args` union, required: Typed arguments passed into the action to initialize it. Interfaces can parse the elements of an ActionArgs type to generate general interface implementations.
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `name` 'root_sequence', required: Sequence name
  - `autoStart` true, required: The Mission will automatically start after launch.
  - `autonomousAbortMissionOnFailedAction` boolean: Autonomous abort the mission when an action fails. Autonomous abort still runs the post mission action
  - `disableStrobeLights` boolean: Whether the vehicle should disable strobe lights for the duration of the mission. Strobe lights are only available on Skydio X2 vehicle and enabled by default in DRO flights.
  - `displayName` string, required: Name of the mission
  - `dockMission` true, required: This is a dock mission.
  - `expectedGpsOrigin` SkillsGpsOriginInfo
    - `gpsAltitude` number, required: The altitude of the mission's starting point in meters.
    - `gpsHeading` number: The heading of the mission's starting point in radians.
    - `lat` number, required: The latitude of the mission's starting point.
    - `lon` number, required: The longitude of the mission's starting point.
  - `lostConnectionAction` 'RETURN_TO_HOME' | 'CONTINUE' | 'HOVER', required: Desired lost connection action
  - `navigationModeOverride` 'UNKNOWN' | 'DEFAULT_NAV' | 'TWILIGHT' | 'NIGHT_AUTONOMY': Overrides the navigation mode with the specified setting.
  - `navigationModeOverrideEnabled` boolean: Enable to set a different navigation mode.
  - `postFailureAction` 'LAND_AT_DOCK' | 'DIRECT_RETURN_AND_LAND_AT_DOCK' | 'DEFAULT_RETURN' | 'DIRECT_DEFAULT_RETURN', required: Action to take if mission fails.
  - `postMissionAction` 'LAND_AT_DOCK' | 'DIRECT_RETURN_AND_LAND_AT_DOCK' | 'DEFAULT_RETURN' | 'DIRECT_DEFAULT_RETURN', required: Action to perform after the mission completes.
  - `rtxSettings` FlightDeckReturnSettings, required: Return-to-home settings for the vehicle.
    - `ascendFromCurrentHeight` boolean: If true, the vehicle will ascend the minimum_height above its current height when return starts. Else, the vehicle will ascend to minimum_height above the takeoff point. Note: Regardless of the value of ascend_from_current_height, the vehicle will always ascend to at least the minimum_height above the return target height. If the vehicle is already higher than the minimum_height and ascend_from_current_height is false, it will not descend and maintain its current altitude during the return.
    - `faceForward` boolean: If true, the drone will look toward the return point while returning. Otherwise, will look away. Looking away is default behavior for connectivity reasons.
    - `minimumHeight` number: Minimum height that the drone will return at. If the drone is above this height at the start of return, it will not descend to this height.
    - `speed` number: Speed for return in m/s. Ranges from 1 m/s to maximum vehichle ground speed
    - `useBacktrack` boolean: Allow graph backtracking in return
    - `waitTime` number, required: Amount of time after lost connection after which the vehicle will initiate return.
  - `useRtxSettings` true, required: If true, update current vehicle settings with the specified rtx settings
  - `videoBitrateOverride` integer: Set a custom video bitrate. Has no effect if set to 0.

## Response `200`

Mission Template returned from /mission_document/template endpoints

- object
  - `data` Mission, required: A prescribed list of actions to execute.
    - `actions` SkillsAction[], required: List of actions to be executed. The top-level action must be a single-element array with a sequence action named 'root_sequence'.
      - `actionKey` 'Sequence' | 'StopVideo' | 'SwitchRecordingMode' | 'GotoWaypoint' | 'SetObstacleAvoidance' | 'StartVideo' | 'SurfaceScanSkill' | 'TakePanorama' | 'TakePhoto' | 'TimedWait' | 'TogglePhotoIntervalMode', required: Identifies the type of action the vehicle should execute. Generally, this is a key of the args with the first letter capitalized.
      - `args` SkillsActionArgs, required: Typed arguments passed into the action to initialize it. Interfaces can parse the elements of an ActionArgs type to generate general interface implementations.
        - `isSkippable` boolean: Allow mission runner to move to the next action without completing this action. Currently required for any Photo, Panorama, or Timed Wait actions.
        - `sequence` object, required: Arguments for a sequence of actions. Must be the root-level action of all missions, and if so must be named root_sequence. This is a recursive field that can be specified as deep as you wish, from sequence -> action -> action args -> sequence ...
          - `actions` object[], required: List of actions to be executed in sequence
            - `actionKey` 'Sequence' | 'StopVideo' | 'SwitchRecordingMode' | 'GotoWaypoint' | 'SetObstacleAvoidance' | 'StartVideo' | 'SurfaceScanSkill' | 'TakePanorama' | 'TakePhoto' | 'TimedWait' | 'TogglePhotoIntervalMode', required: Identifies the type of action the vehicle should execute. Generally, this is a key of the args with the first letter capitalized.
            - `args` union, required: Typed arguments passed into the action to initialize it. Interfaces can parse the elements of an ActionArgs type to generate general interface implementations.
              - …
          - `name` 'root_sequence', required: Sequence name
    - `autoStart` true, required: The Mission will automatically start after launch.
    - `autonomousAbortMissionOnFailedAction` boolean: Autonomous abort the mission when an action fails. Autonomous abort still runs the post mission action
    - `disableStrobeLights` boolean: Whether the vehicle should disable strobe lights for the duration of the mission. Strobe lights are only available on Skydio X2 vehicle and enabled by default in DRO flights.
    - `displayName` string, required: Name of the mission
    - `dockMission` true, required: This is a dock mission.
    - `expectedGpsOrigin` SkillsGpsOriginInfo
      - `gpsAltitude` number, required: The altitude of the mission's starting point in meters.
      - `gpsHeading` number: The heading of the mission's starting point in radians.
      - `lat` number, required: The latitude of the mission's starting point.
      - `lon` number, required: The longitude of the mission's starting point.
    - `lostConnectionAction` 'RETURN_TO_HOME' | 'CONTINUE' | 'HOVER', required: Desired lost connection action
    - `navigationModeOverride` 'UNKNOWN' | 'DEFAULT_NAV' | 'TWILIGHT' | 'NIGHT_AUTONOMY': Overrides the navigation mode with the specified setting.
    - `navigationModeOverrideEnabled` boolean: Enable to set a different navigation mode.
    - `postFailureAction` 'LAND_AT_DOCK' | 'DIRECT_RETURN_AND_LAND_AT_DOCK' | 'DEFAULT_RETURN' | 'DIRECT_DEFAULT_RETURN', required: Action to take if mission fails.
    - `postMissionAction` 'LAND_AT_DOCK' | 'DIRECT_RETURN_AND_LAND_AT_DOCK' | 'DEFAULT_RETURN' | 'DIRECT_DEFAULT_RETURN', required: Action to perform after the mission completes.
    - `rtxSettings` FlightDeckReturnSettings, required: Return-to-home settings for the vehicle.
      - `ascendFromCurrentHeight` boolean: If true, the vehicle will ascend the minimum_height above its current height when return starts. Else, the vehicle will ascend to minimum_height above the takeoff point. Note: Regardless of the value of ascend_from_current_height, the vehicle will always ascend to at least the minimum_height above the return target height. If the vehicle is already higher than the minimum_height and ascend_from_current_height is false, it will not descend and maintain its current altitude during the return.
      - `faceForward` boolean: If true, the drone will look toward the return point while returning. Otherwise, will look away. Looking away is default behavior for connectivity reasons.
      - `minimumHeight` number: Minimum height that the drone will return at. If the drone is above this height at the start of return, it will not descend to this height.
      - `speed` number: Speed for return in m/s. Ranges from 1 m/s to maximum vehichle ground speed
      - `useBacktrack` boolean: Allow graph backtracking in return
      - `waitTime` number, required: Amount of time after lost connection after which the vehicle will initiate return.
    - `useRtxSettings` true, required: If true, update current vehicle settings with the specified rtx settings
    - `videoBitrateOverride` integer: Set a custom video bitrate. Has no effect if set to 0.
  - `error_message` string
  - `meta` object, required
    - `time` number
  - `skydio_error_code` integer, required
  - `status_code` integer, required

## Other responses

- `400`: Caller provided invalid arguments. Ensure correct syntax of request body.
- `403`: Caller is not authorized to make this request.
- `404`: Not Found

## Changes

- **2026-11-03** `6589167ebe70`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/skydio/apis/skydio-cloud-api/changes/v0/mission_document/template/:template_uuid/put.md)

---

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