---
title: "Update a gist"
method: PATCH
path: "/gists/{gist_id}"
tags: ["gists"]
---

# Update a gist

`PATCH /gists/{gist_id}`

Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged.
At least one of `description` or `files` is required.

## Path parameters

- `gist_id` string, required

## Request body

- object, nullable
  - `description` string — The description of the gist.
  - `files` object — The gist files to be updated, renamed, or deleted. Each `key` must match the current filename (including extension) of the targeted gist file. For example: `hello.py`. To delete a file, set the whole file to null. For example: `hello.py : null`. The file will also be deleted if the specified object does not contain at least one of `content` or `filename`.

## Response `200`

Response

- GistSimple — Gist Simple
  - `forks` object[], nullable
    - `id` string
    - `url` string, uri
    - `user` PublicUser — Public User
      - `login` string, required
      - `id` integer, required
      - `node_id` string, required
      - `avatar_url` string, uri, required
      - `gravatar_id` string, nullable, required
      - `url` string, uri, required
      - `html_url` string, uri, required
      - `followers_url` string, uri, required
      - `following_url` string, required
      - `gists_url` string, required
      - `starred_url` string, required
      - `subscriptions_url` string, uri, required
      - `organizations_url` string, uri, required
      - `repos_url` string, uri, required
      - `events_url` string, required
      - `received_events_url` string, uri, required
      - `type` string, required
      - `site_admin` boolean, required
      - `name` string, nullable, required
      - `company` string, nullable, required
      - `blog` string, nullable, required
      - `location` string, nullable, required
      - `email` string, email, nullable, required
      - `hireable` boolean, nullable, required
      - `bio` string, nullable, required
      - `twitter_username` string, nullable
      - `public_repos` integer, required
      - `public_gists` integer, required
      - `followers` integer, required
      - `following` integer, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `plan` object
        - `collaborators` integer, required
        - `name` string, required
        - `space` integer, required
        - `private_repos` integer, required
      - `suspended_at` string, date-time, nullable
      - `private_gists` integer
      - `total_private_repos` integer
      - `owned_private_repos` integer
      - `disk_usage` integer
      - `collaborators` integer
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `history` GistHistory[], nullable
    - `user` NullableSimpleUser, nullable — A GitHub user.
      - `name` string, nullable
      - `email` string, nullable
      - `login` string, required
      - `id` integer, required
      - `node_id` string, required
      - `avatar_url` string, uri, required
      - `gravatar_id` string, nullable, required
      - `url` string, uri, required
      - `html_url` string, uri, required
      - `followers_url` string, uri, required
      - `following_url` string, required
      - `gists_url` string, required
      - `starred_url` string, required
      - `subscriptions_url` string, uri, required
      - `organizations_url` string, uri, required
      - `repos_url` string, uri, required
      - `events_url` string, required
      - `received_events_url` string, uri, required
      - `type` string, required
      - `site_admin` boolean, required
      - `starred_at` string
    - `version` string
    - `committed_at` string, date-time
    - `change_status` object
      - `total` integer
      - `additions` integer
      - `deletions` integer
    - `url` string, uri
  - `fork_of` object, nullable — Gist
    - `url` string, uri, required
    - `forks_url` string, uri, required
    - `commits_url` string, uri, required
    - `id` string, required
    - `node_id` string, required
    - `git_pull_url` string, uri, required
    - `git_push_url` string, uri, required
    - `html_url` string, uri, required
    - `files` object, required
    - `public` boolean, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `description` string, nullable, required
    - `comments` integer, required
    - `user` NullableSimpleUser, nullable, required — A GitHub user.
      - `name` string, nullable
      - `email` string, nullable
      - `login` string, required
      - `id` integer, required
      - `node_id` string, required
      - `avatar_url` string, uri, required
      - `gravatar_id` string, nullable, required
      - `url` string, uri, required
      - `html_url` string, uri, required
      - `followers_url` string, uri, required
      - `following_url` string, required
      - `gists_url` string, required
      - `starred_url` string, required
      - `subscriptions_url` string, uri, required
      - `organizations_url` string, uri, required
      - `repos_url` string, uri, required
      - `events_url` string, required
      - `received_events_url` string, uri, required
      - `type` string, required
      - `site_admin` boolean, required
      - `starred_at` string
    - `comments_url` string, uri, required
    - `owner` NullableSimpleUser, nullable — A GitHub user.
      - `name` string, nullable
      - `email` string, nullable
      - `login` string, required
      - `id` integer, required
      - `node_id` string, required
      - `avatar_url` string, uri, required
      - `gravatar_id` string, nullable, required
      - `url` string, uri, required
      - `html_url` string, uri, required
      - `followers_url` string, uri, required
      - `following_url` string, required
      - `gists_url` string, required
      - `starred_url` string, required
      - `subscriptions_url` string, uri, required
      - `organizations_url` string, uri, required
      - `repos_url` string, uri, required
      - `events_url` string, required
      - `received_events_url` string, uri, required
      - `type` string, required
      - `site_admin` boolean, required
      - `starred_at` string
    - `truncated` boolean
    - `forks` unknown[]
      - unknown
    - `history` unknown[]
      - unknown
  - `url` string
  - `forks_url` string
  - `commits_url` string
  - `id` string
  - `node_id` string
  - `git_pull_url` string
  - `git_push_url` string
  - `html_url` string
  - `files` object
  - `public` boolean
  - `created_at` string
  - `updated_at` string
  - `description` string, nullable
  - `comments` integer
  - `user` string, nullable
  - `comments_url` string
  - `owner` SimpleUser — A GitHub user.
    - `name` string, nullable
    - `email` string, nullable
    - `login` string, required
    - `id` integer, required
    - `node_id` string, required
    - `avatar_url` string, uri, required
    - `gravatar_id` string, nullable, required
    - `url` string, uri, required
    - `html_url` string, uri, required
    - `followers_url` string, uri, required
    - `following_url` string, required
    - `gists_url` string, required
    - `starred_url` string, required
    - `subscriptions_url` string, uri, required
    - `organizations_url` string, uri, required
    - `repos_url` string, uri, required
    - `events_url` string, required
    - `received_events_url` string, uri, required
    - `type` string, required
    - `site_admin` boolean, required
    - `starred_at` string
  - `truncated` boolean

## Other responses

- `404` — Resource not found
- `422` — Validation failed, or the endpoint has been spammed.

---

[API](https://skmtc.net/github/apis/github-v3-rest-api-5.md) · [All operations](https://skmtc.net/github/apis/github-v3-rest-api-5/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/github/github-v3-rest-api-5/versions/50ae54440071/schema)
