---
title: "Create a hotfix request"
method: POST
path: "/app/{appId}/hotfixRequests"
tags: ["hotfix requests"]
---

# Create a hotfix request

`POST /app/{appId}/hotfixRequests`

## Request

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

Creates an app-scoped hotfix or rollback request. Any effective app member may create a request.

## Path parameters

- `appId` string, required

## Request body

- object
  - `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`

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