---
title: "Update a hotfix request"
method: PUT
path: "/app/{appId}/hotfixRequests/{requestId}"
tags: ["hotfix requests"]
---

# Update a hotfix request

`PUT /app/{appId}/hotfixRequests/{requestId}`

## Request

- Base URL: `https://api.runway.team`
- URL: `https://api.runway.team/app/{appId}/hotfixRequests/{requestId}`
- Auth: API key in header `X-API-Key`

Edits a pending request created by the caller and resets all existing approvals.

## Path parameters

- `appId` string, required
- `requestId` string, required

## Request body

- object
  - `expectedRevision` integer, required
  - `proposal` HotfixProposal, required
    - `releaseType` 'hotfix' | 'rollback', required
    - `proposedVersion` string, required
    - `releaseName` string
    - `base` CreateReleaseBaseTag: Hotfixes only. The release tag to branch the hotfix from. Defaults to the tag of the latest completed release. Must match an existing release tag on the app, otherwise the request is rejected.
      - `name` string, required: The name of the release tag, as returned by `GET /app/{appId}/releaseTags`. The version that tag marks is accepted here too, so both `v1.0.0` and `1.0.0` resolve to the same tag.
    - `shouldCreateBranch` boolean
    - `shouldBumpVersionOnBranch` boolean
    - `commitsToCherryPick` string[]
    - `rollbackSourceVersion` string
    - `rollbackResigningStrategy` 'localResign' | 'ciResign'
    - `shouldMatchPreviousPhasedRelease` boolean
    - `destinationOptions` object
      - `action` 'include' | 'exclude'
      - `destinationIds` string[]
  - `justification` string
  - `formFieldValues` HotfixRequestFormFieldValue[]
    - `fieldId` string, required
    - `value` string, required

## Response `200`

Updated hotfix request

- HotfixRequestDetail
  - `request` HotfixRequest
    - `id` string
    - `status` 'pending' | 'approving' | 'approved' | 'rejected' | 'cancelled'
    - `proposal` HotfixProposal
      - `releaseType` 'hotfix' | 'rollback', required
      - `proposedVersion` string, required
      - `releaseName` string
      - `base` CreateReleaseBaseTag: Hotfixes only. The release tag to branch the hotfix from. Defaults to the tag of the latest completed release. Must match an existing release tag on the app, otherwise the request is rejected.
        - `name` string, required: The name of the release tag, as returned by `GET /app/{appId}/releaseTags`. The version that tag marks is accepted here too, so both `v1.0.0` and `1.0.0` resolve to the same tag.
      - `shouldCreateBranch` boolean
      - `shouldBumpVersionOnBranch` boolean
      - `commitsToCherryPick` string[]
      - `rollbackSourceVersion` string
      - `rollbackResigningStrategy` 'localResign' | 'ciResign'
      - `shouldMatchPreviousPhasedRelease` boolean
      - `destinationOptions` object
        - `action` 'include' | 'exclude'
        - `destinationIds` string[]
    - `justification` string
    - `formFieldValues` HotfixRequestFormFieldValue[]
      - `fieldId` string, required
      - `value` string, required
    - `finalProposal` HotfixProposal
      - `releaseType` 'hotfix' | 'rollback', required
      - `proposedVersion` string, required
      - `releaseName` string
      - `base` CreateReleaseBaseTag: Hotfixes only. The release tag to branch the hotfix from. Defaults to the tag of the latest completed release. Must match an existing release tag on the app, otherwise the request is rejected.
        - `name` string, required: The name of the release tag, as returned by `GET /app/{appId}/releaseTags`. The version that tag marks is accepted here too, so both `v1.0.0` and `1.0.0` resolve to the same tag.
      - `shouldCreateBranch` boolean
      - `shouldBumpVersionOnBranch` boolean
      - `commitsToCherryPick` string[]
      - `rollbackSourceVersion` string
      - `rollbackResigningStrategy` 'localResign' | 'ciResign'
      - `shouldMatchPreviousPhasedRelease` boolean
      - `destinationOptions` object
        - `action` 'include' | 'exclude'
        - `destinationIds` string[]
    - `createdBy` string
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `revision` integer
    - `terminalReason` string
    - `terminalAt` string, date-time
    - `terminalBy` string
    - `resultingReleaseId` string
    - `approvalCount` integer
  - `auditEvents` object[]
  - `approvals` object[]

---

[API](https://skmtc.dev/runway/apis/runway-rest-api.md) - [All operations](https://skmtc.dev/runway/apis/runway-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/runway/apis/runway-rest-api/revisions/081109863a9a?raw)
