---
title: "Update a scheduled freeze"
method: PATCH
path: "/repos/{owner}/{repository}/scheduled_freeze/{freeze_id}"
tags: ["scheduled_freeze"]
---

# Update a scheduled freeze

`PATCH /repos/{owner}/{repository}/scheduled_freeze/{freeze_id}`

Update an existing scheduled freeze on the repository specified in the path. Only the fields provided in the request body will be updated.

## Path parameters

- `freeze_id` string, uuid, required — The scheduled freeze `id`
- `owner` string, required — The owner of the repository
- `repository` string, required — The name of the repository

## Request body

- UpdateScheduledFreezePayload
  - `reason` string, nullable — The reason for the scheduled freeze.
  - `start` string, date-time, nullable — When the scheduled freeze begins (date and time in ISO 8601 format without TZ). Can only be updated if the scheduled freeze has not yet begun. Set to null to start now.
  - `end` string, date-time, nullable — When the scheduled freeze ends (date and time in ISO 8601 format without TZ). Set to null for an indefinite freeze.
  - `timezone` string, nullable — Timezone where the freeze is expected to happen.
  - `matching_conditions` union[], nullable — List of conditions used to match pull requests that need to be frozen during the scheduled freeze.
    - union
      - MatchingConditionsDictInput
        - `and` union[]
          - union
            - MatchingConditionsDictInput — recursive
            - string
        - `or` union[]
          - union
            - MatchingConditionsDictInput — recursive
            - string
        - `not` MatchingConditionsDictInput — recursive
      - string
  - `exclude_conditions` union[], nullable — List of conditions used to exclude pull requests from the scheduled freeze. Pull requests matching these conditions will not be frozen.
    - union
      - MatchingConditionsDictInput
        - `and` union[]
          - union
            - MatchingConditionsDictInput — recursive
            - string
        - `or` union[]
          - union
            - MatchingConditionsDictInput — recursive
            - string
        - `not` MatchingConditionsDictInput — recursive
      - string

## Response `200`

Successful Response

- ScheduledFreezeObjectResponse
  - `id` string, uuid, required
  - `reason` string, required
  - `start` string, date-time, required
  - `end` string, date-time, nullable, required
  - `timezone` string, required
  - `matching_conditions` union[], required
    - union
      - MatchingConditionsDictOutput
        - `and` union[]
          - union
            - MatchingConditionsDictOutput — recursive
            - string
        - `or` union[]
          - union
            - MatchingConditionsDictOutput — recursive
            - string
        - `not` MatchingConditionsDictOutput — recursive
      - string
  - `exclude_conditions` union[]
    - union
      - MatchingConditionsDictOutput
        - `and` union[]
          - union
            - MatchingConditionsDictOutput — recursive
            - string
        - `or` union[]
          - union
            - MatchingConditionsDictOutput — recursive
            - string
        - `not` MatchingConditionsDictOutput — recursive
      - string

## Other responses

- `400` — The scheduled freeze `start` attribute cannot be updated, because the scheduled freeze has already started
- `403` — Forbidden
- `404` — The scheduled freeze with the given id does not exist
- `409` — Conflict
- `422` — Unprocessable entity

---

[API](https://skmtc.net/mergify/apis/mergify-api.md) · [All operations](https://skmtc.net/mergify/apis/mergify-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mergify/mergify-api/revisions/ae394a06c465/schema)
