# 주요 변경사항

각 REST API 버전에서 도입된 주요 변경사항에 대해 알아봅니다.

## REST API의 비호환적인 변경 사항에 대한 정보

GitHub REST API의 버전이 지정됩니다. API 버전의 이름은 API 버전이 릴리스된 날짜를 기반으로 합니다. 예를 들어 API 버전 `2026-03-10`은 Tue, 10 Mar 2026에 릴리스되었습니다.

파괴적인 변경은 통합을 손상시킬 수 있는 변경입니다. 호환성에 영향을 미치는 변경사항은 새 API 버전에서 릴리스됩니다. 중대한 변경 사항을 릴리스하기 전에 사전 통지를 드리겠습니다. 변경 사항에는 중요한 변화가 포함됩니다.

* 전체 작업 제거하기
* 매개 변수 이름 바꾸기 또는 제거하기
* 응답 필드 제거하기 또는 이름 바꾸기
* 새 필수 매개 변수 추가하기
* 이전에 선택적이었던 매개 변수를 필수로 만들기
* 매개 변수 또는 응답 필드의 형식 변경하기
* 열거형 값 제거하기
* 기존 매개 변수에 새 유효성 검사 규칙 추가하기
* 인증 또는 권한 부여 요구 사항 변경하기

모든 추가(호환 가능한) 변경 사항은 지원되는 모든 API 버전에서 사용할 수 있습니다. 추가 변경 내용은 통합을 중단해서는 안 되는 변경 내용입니다. 추가 변경 내용은 다음과 같습니다.

* 작업 추가하기
* 선택적 매개 변수 추가하기
* 선택적 요청 헤더 추가하기
* 응답 필드 추가하기
* 응답 헤더 추가하기
* 열거형 값 추가하기

새 REST API 버전이 릴리스되면 새 API 버전이 릴리스된 후 최소 24개월 동안만 이전 API 버전이 지원됩니다.

API 버전에 대한 자세한 내용은 [API 버전](/ko/enterprise-server@3.22/rest/about-the-rest-api/api-versions)을(를) 참조하세요.

## 새 API 버전으로 업그레이드

새 REST API 버전으로 업그레이드하기 전에 새 API 버전에 해당하는 이 페이지의 섹션을 확인하고 포함된 호환성이 손상되는 변경 내용을 이해하고 해당 API 버전으로 업그레이드하는 방법에 대해 자세히 알아봅니다.

`X-GitHub-Api-Version` 헤더에서 새 API 버전을 지정하도록 통합을 업데이트할 때, 통합이 새 API 버전과 원활하게 작동하기 위해 필요한 변경 사항을 적용해야 합니다.

통합이 업데이트되면 통합을 테스트하여 새 API 버전에서 작동하는지 확인합니다.

<!-- markdownlint-disable liquid-quoted-conditional-arg search-replace GHD046 -->

## 버전 2026-03-10

* **속도 제한 엔드포인트에서 사용되지 않는 `rate` 속성을 제거** 합니다. 이 `rate` 속성은 2021년부터 사용되지 않으며 속성에서 사용할 수 있는 `resources.core` 정보가 중복됩니다. 마이그레이션하려면 `resources.core`에서 속도 제한 정보를 읽도록 통합을 업데이트해야 합니다.

  업데이트된 설명서는 참조하세요 <https://docs.github.com/rest/rate-limit> .

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `GET /rate_limit`

  </details>

* **팀을 만들 때 요청에서 사용되지 않는 `permission` 속성 제거**

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `POST /orgs/{org}/teams`

  </details>

* **디렉터리의 콘텐츠를 나열할 때 하위 모듈에 "파일" 대신 "하위 모듈"이 있도록 `type` "리포지토리 콘텐츠 가져오기" API를 `type` 업데이트합니다.**

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `GET /repos/{owner}/{repo}/contents/{path}`

  </details>

* **경로 매개 변수 형식을 정수에서 문자열로 변경 `pre_receive_hook_id`** 합니다. 이렇게 변경하면 `pre_receive_hook_id` 경로 매개 변수가 지속적으로 형식 문자열로 설정됩니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `DELETE /admin/pre-receive-hooks/{pre_receive_hook_id}`
* `DELETE /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}`
* `DELETE /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}`
* `GET /admin/pre-receive-hooks/{pre_receive_hook_id}`
* `GET /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}`
* `GET /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}`
* `PATCH /admin/pre-receive-hooks/{pre_receive_hook_id}`
* `PATCH /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}`
* `PATCH /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}`
* `POST /organizations/{organization_id}/pre-receive-hooks/{pre_receive_hook_id}`
* `POST /repositories/{repository_id}/pre-receive-hooks/{pre_receive_hook_id}`

  </details>

* **SARIF 응답의 Content-Type 변경** SARIF 업로드를 수신하려고 `Accept` 헤더를 설정할 때 응답이 `application/sarif+json` 잘못 `Content-Type` 설정됩니다.
  이 변경은 이 경우 응답 `Content-Type` 이 되도록 수정합니다 `application/sarif+json`.

  자세한 내용은 REST API 설명서의 "[리포지토리에 대한 코드 검사 분석 가져오기](https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)"를 참조하세요.
* **리포지토리 설정 엔드포인트에서 사용되지 않는 `use_squash_pr_title_as_default` 속성 제거** 이 속성이 대체되었습니다 `squash_merge_commit_title`.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue`
* `DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `GET /events`
* `GET /installation/repositories`
* `GET /issues`
* `GET /networks/{owner}/{repo}/events`
* `GET /orgs/{org}/actions/permissions/repositories`
* `GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories`
* `GET /orgs/{org}/events`
* `GET /orgs/{org}/issues`
* `GET /orgs/{org}/migrations`
* `GET /orgs/{org}/migrations/{migration_id}`
* `GET /repos/{owner}/{repo}`
* `GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls`
* `GET /repos/{owner}/{repo}/events`
* `GET /repos/{owner}/{repo}/issues`
* `GET /repos/{owner}/{repo}/issues/events`
* `GET /repos/{owner}/{repo}/issues/events/{event_id}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/parent`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/timeline`
* `GET /repos/{owner}/{repo}/pulls`
* `GET /repos/{owner}/{repo}/pulls/{pull_number}`
* `GET /search/issues`
* `GET /teams/{team_id}/repos/{owner}/{repo}`
* `GET /user/installations/{installation_id}/repositories`
* `GET /user/issues`
* `GET /user/migrations`
* `GET /user/migrations/{migration_id}`
* `GET /user/repos`
* `GET /user/starred`
* `GET /users/{username}/events`
* `GET /users/{username}/events/orgs/{org}`
* `GET /users/{username}/events/public`
* `GET /users/{username}/received_events`
* `GET /users/{username}/received_events/public`
* `GET /users/{username}/starred`
* `PATCH /repos/{owner}/{repo}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority`
* `PATCH /repos/{owner}/{repo}/pulls/{pull_number}`
* `POST /app/installations/{installation_id}/access_tokens`
* `POST /enterprises/{enterprise}/actions/runners/registration-token`
* `POST /enterprises/{enterprise}/actions/runners/remove-token`
* `POST /orgs/{org}/actions/runners/registration-token`
* `POST /orgs/{org}/actions/runners/remove-token`
* `POST /orgs/{org}/migrations`
* `POST /orgs/{org}/projectsV2/{project_number}/drafts`
* `POST /orgs/{org}/projectsV2/{project_number}/items`
* `POST /orgs/{org}/repos`
* `POST /repos/{owner}/{repo}/actions/runners/registration-token`
* `POST /repos/{owner}/{repo}/actions/runners/remove-token`
* `POST /repos/{owner}/{repo}/forks`
* `POST /repos/{owner}/{repo}/issues`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `POST /repos/{owner}/{repo}/pulls`
* `POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks`
* `POST /repos/{template_owner}/{template_repo}/generate`
* `POST /user/codespaces/{codespace_name}/publish`
* `POST /user/migrations`
* `POST /user/repos`
* `POST /user/{user_id}/projectsV2/{project_number}/drafts`
* `POST /users/{username}/projectsV2/{project_number}/items`

  </details>

* **API 루트에서 제거 `authorizations_url` (`GET /`)** OAuth 권한 부여 API는 [2020년부터 더 이상 사용되지 않습니다](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `GET /`

  </details>

* **미디어 유형에 대한 `beta` 지원 중단** 이 미디어 유형은 2014년에 공식적으로 사용되지 않습니다. 그러나 응답 페이로드를 수정하는 사용의 잔재는 여전히 남아 있습니다. 다음 응답 속성은 결과적으로 더 이상 사용되지 않습니다.

  * `emails` 전자 메일 개체 대신 문자열의 플랫 배열로 응답
  * `pull_request` 기본값이 있는 `null` response 속성
  * `user` 응답 속성으로 대체됨 `owner`
  * `master_branch` 응답 속성으로 대체됨 `default_branch`

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue`
* `DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `GET /events`
* `GET /gists`
* `GET /gists/public`
* `GET /gists/starred`
* `GET /installation/repositories`
* `GET /issues`
* `GET /networks/{owner}/{repo}/events`
* `GET /orgs/{org}/actions/permissions/repositories`
* `GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories`
* `GET /orgs/{org}/events`
* `GET /orgs/{org}/issues`
* `GET /orgs/{org}/migrations`
* `GET /orgs/{org}/migrations/{migration_id}`
* `GET /repos/{owner}/{repo}`
* `GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls`
* `GET /repos/{owner}/{repo}/events`
* `GET /repos/{owner}/{repo}/issues`
* `GET /repos/{owner}/{repo}/issues/events`
* `GET /repos/{owner}/{repo}/issues/events/{event_id}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/parent`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/timeline`
* `GET /repos/{owner}/{repo}/pulls`
* `GET /repos/{owner}/{repo}/pulls/{pull_number}`
* `GET /search/issues`
* `GET /teams/{team_id}/repos/{owner}/{repo}`
* `GET /user/installations/{installation_id}/repositories`
* `GET /user/issues`
* `GET /user/migrations`
* `GET /user/migrations/{migration_id}`
* `GET /user/repos`
* `GET /user/starred`
* `GET /users/{username}/events`
* `GET /users/{username}/events/orgs/{org}`
* `GET /users/{username}/events/public`
* `GET /users/{username}/gists`
* `GET /users/{username}/received_events`
* `GET /users/{username}/received_events/public`
* `GET /users/{username}/starred`
* `PATCH /repos/{owner}/{repo}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority`
* `PATCH /repos/{owner}/{repo}/pulls/{pull_number}`
* `POST /app/installations/{installation_id}/access_tokens`
* `POST /enterprises/{enterprise}/actions/runners/registration-token`
* `POST /enterprises/{enterprise}/actions/runners/remove-token`
* `POST /gists/{gist_id}/forks`
* `POST /orgs/{org}/actions/runners/registration-token`
* `POST /orgs/{org}/actions/runners/remove-token`
* `POST /orgs/{org}/migrations`
* `POST /orgs/{org}/projectsV2/{project_number}/drafts`
* `POST /orgs/{org}/projectsV2/{project_number}/items`
* `POST /orgs/{org}/repos`
* `POST /repos/{owner}/{repo}/actions/runners/registration-token`
* `POST /repos/{owner}/{repo}/actions/runners/remove-token`
* `POST /repos/{owner}/{repo}/forks`
* `POST /repos/{owner}/{repo}/issues`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `POST /repos/{owner}/{repo}/pulls`
* `POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks`
* `POST /repos/{template_owner}/{template_repo}/generate`
* `POST /user/codespaces/{codespace_name}/publish`
* `POST /user/migrations`
* `POST /user/repos`
* `POST /user/{user_id}/projectsV2/{project_number}/drafts`
* `POST /users/{username}/projectsV2/{project_number}/items`

  </details>

* **사용자 지정 리포지토리 역할 엔드포인트 경로를 리소스에 대해 더 자세히 설명하도록 변경** 사용자 지정 리포지토리 역할은 조직에서 관리하지만 리포지토리로 범위가 지정됩니다.
  이 업데이트는 경로를 리소스를 더 잘 설명하기 위해 `/organizations/{organization_id}/custom_roles`에서 `/orgs/{org}/custom-repository-roles`로 변경합니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `GET /organizations/{organization_id}/custom_roles`

  </details>

* **이 변경 집합은 Base-gist 개체에서 지정되지 않은 필드 `history``forks`를 제거합니다** 이러한 속성은 JSON 스키마를 OpenAPI로 변환할 때 의도치 않게 추가되었습니다. 속성은 "gist revisions" 및 "update gist"와 같은 리소스에 표시되지만 기본 요지 개체에서 구현해서는 안 됩니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `GET /gists`
* `GET /gists/public`
* `GET /gists/starred`
* `GET /gists/{gist_id}`
* `GET /gists/{gist_id}/forks`
* `GET /gists/{gist_id}/{sha}`
* `GET /users/{username}/gists`
* `PATCH /gists/{gist_id}`
* `POST /gists`
* `POST /gists/{gist_id}/forks`

  </details>

* **설치 삭제를 위한 성공 상태 코드`204`를 `202`로 변경합니다**. 설치 삭제가 백그라운드로 이동됩니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `DELETE /app/installations/{installation_id}`

  </details>

* **조직 요청 및 응답에서 제거 `secret_scanning_push_protection_custom_link_enabled`**

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `GET /orgs/{org}`
* `PATCH /orgs/{org}`

  </details>

* **코드 검색 기본 설정 응답에서 `javascript` 열거형의 `typescript` 및 `languages` 값을 `javascript-typescript`로 대체하여 제거합니다.** JavaScript와 TypeScript는 CodeQL에 의해 함께 분석되므로 별도의 열거형 값을 가지는 것은 분석이 실제로 작동하는 방식과 오해의 소지가 있고 일치하지 않습니다. 이 하위 호환성을 깨는 변경 사항은 각각의 "javascript" 및 "typescript" 값을 제거하고, 통합 분석을 정확하게 나타내는 결합된 "javascript-typescript" 값을 대신 사용합니다.

  자세한 내용은 REST API 설명서 및 관련 [](https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-default-setup-configuration)에서 "`codeql-action`"를 참조하세요.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `GET /repos/{owner}/{repo}/code-scanning/default-setup`

  </details>

* **리포지토리 응답에서 사용되지 않는 `has_downloads` 속성 제거**`has_downloads`10년 이상 사용되지 않음

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue`
* `DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `GET /events`
* `GET /installation/repositories`
* `GET /issues`
* `GET /networks/{owner}/{repo}/events`
* `GET /notifications`
* `GET /notifications/threads/{thread_id}`
* `GET /orgs/{org}/actions/permissions/repositories`
* `GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories`
* `GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories`
* `GET /orgs/{org}/actions/secrets/{secret_name}/repositories`
* `GET /orgs/{org}/actions/variables/{name}/repositories`
* `GET /orgs/{org}/codespaces`
* `GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories`
* `GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories`
* `GET /orgs/{org}/docker/conflicts`
* `GET /orgs/{org}/events`
* `GET /orgs/{org}/issues`
* `GET /orgs/{org}/members/{username}/codespaces`
* `GET /orgs/{org}/migrations`
* `GET /orgs/{org}/migrations/{migration_id}`
* `GET /orgs/{org}/migrations/{migration_id}/repositories`
* `GET /orgs/{org}/packages`
* `GET /orgs/{org}/packages/{package_type}/{package_name}`
* `GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories`
* `GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories`
* `GET /orgs/{org}/repos`
* `GET /orgs/{org}/settings/immutable-releases/repositories`
* `GET /orgs/{org}/teams/{team_slug}/repos`
* `GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`
* `GET /repos/{owner}/{repo}`
* `GET /repos/{owner}/{repo}/actions/runs`
* `GET /repos/{owner}/{repo}/actions/runs/{run_id}`
* `GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}`
* `GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs`
* `GET /repos/{owner}/{repo}/check-suites/{check_suite_id}`
* `GET /repos/{owner}/{repo}/codespaces`
* `GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls`
* `GET /repos/{owner}/{repo}/commits/{ref}/check-suites`
* `GET /repos/{owner}/{repo}/commits/{ref}/status`
* `GET /repos/{owner}/{repo}/events`
* `GET /repos/{owner}/{repo}/forks`
* `GET /repos/{owner}/{repo}/invitations`
* `GET /repos/{owner}/{repo}/issues`
* `GET /repos/{owner}/{repo}/issues/events`
* `GET /repos/{owner}/{repo}/issues/events/{event_id}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/parent`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/timeline`
* `GET /repos/{owner}/{repo}/notifications`
* `GET /repos/{owner}/{repo}/pulls`
* `GET /repos/{owner}/{repo}/pulls/{pull_number}`
* `GET /repositories`
* `GET /search/code`
* `GET /search/commits`
* `GET /search/issues`
* `GET /teams/{team_id}/repos`
* `GET /teams/{team_id}/repos/{owner}/{repo}`
* `GET /user/codespaces`
* `GET /user/codespaces/secrets/{secret_name}/repositories`
* `GET /user/codespaces/{codespace_name}`
* `GET /user/docker/conflicts`
* `GET /user/installations/{installation_id}/repositories`
* `GET /user/issues`
* `GET /user/migrations`
* `GET /user/migrations/{migration_id}`
* `GET /user/migrations/{migration_id}/repositories`
* `GET /user/packages`
* `GET /user/packages/{package_type}/{package_name}`
* `GET /user/repos`
* `GET /user/repository_invitations`
* `GET /user/starred`
* `GET /user/subscriptions`
* `GET /users/{username}/docker/conflicts`
* `GET /users/{username}/events`
* `GET /users/{username}/events/orgs/{org}`
* `GET /users/{username}/events/public`
* `GET /users/{username}/packages`
* `GET /users/{username}/packages/{package_type}/{package_name}`
* `GET /users/{username}/received_events`
* `GET /users/{username}/received_events/public`
* `GET /users/{username}/repos`
* `GET /users/{username}/starred`
* `GET /users/{username}/subscriptions`
* `PATCH /repos/{owner}/{repo}`
* `PATCH /repos/{owner}/{repo}/check-suites/preferences`
* `PATCH /repos/{owner}/{repo}/invitations/{invitation_id}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority`
* `PATCH /repos/{owner}/{repo}/pulls/{pull_number}`
* `PATCH /user/codespaces/{codespace_name}`
* `POST /app/installations/{installation_id}/access_tokens`
* `POST /enterprises/{enterprise}/actions/runners/registration-token`
* `POST /enterprises/{enterprise}/actions/runners/remove-token`
* `POST /orgs/{org}/actions/runners/registration-token`
* `POST /orgs/{org}/actions/runners/remove-token`
* `POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop`
* `POST /orgs/{org}/migrations`
* `POST /orgs/{org}/projectsV2/{project_number}/drafts`
* `POST /orgs/{org}/projectsV2/{project_number}/items`
* `POST /orgs/{org}/repos`
* `POST /repos/{owner}/{repo}/actions/runners/registration-token`
* `POST /repos/{owner}/{repo}/actions/runners/remove-token`
* `POST /repos/{owner}/{repo}/check-suites`
* `POST /repos/{owner}/{repo}/codespaces`
* `POST /repos/{owner}/{repo}/forks`
* `POST /repos/{owner}/{repo}/issues`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `POST /repos/{owner}/{repo}/pulls`
* `POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces`
* `POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks`
* `POST /repos/{owner}/{repo}/transfer`
* `POST /repos/{template_owner}/{template_repo}/generate`
* `POST /user/codespaces`
* `POST /user/codespaces/{codespace_name}/publish`
* `POST /user/codespaces/{codespace_name}/start`
* `POST /user/codespaces/{codespace_name}/stop`
* `POST /user/migrations`
* `POST /user/repos`
* `POST /user/{user_id}/projectsV2/{project_number}/drafts`
* `POST /users/{username}/projectsV2/{project_number}/items`
* `PUT /repos/{owner}/{repo}/collaborators/{username}`

  </details>

* 리포지토리 생성 요청에서 작성자나 소유자가 무역 통제 규정의 적용을 받을 경우 응답이 `422` 대신 `451`로 반환됩니다. **의** 리포지토리 생성 응답은 `451 Unavailable For Legal Reasons`에서 `422 Unprocessable Entity`로 변경됩니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `POST /orgs/{org}/repos`
* `POST /user/repos`

  </details>

* **조직 삭제 요청이 무역 통제에 의해 차단될 경우, 이제 응답 코드가 `403`에서 `451`로 변경됩니다**. 무역 통제로 차단된 조직 삭제 요청은 이제 `451 Unavailable For Legal Reasons` 대신 `403 Forbidden`를 반환합니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `DELETE /orgs/{org}`

  </details>

* **무역 통제에 의해 차단된 경우 조직 구성원 제거 응답을 `403`에서 `451`로 변경하십시오.** 이제 무역 통제에 있는 조직에서 구성원을 제거하라는 요청은 `451 Unavailable For Legal Reasons` 대신 `403 Forbidden`를 반환합니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `DELETE /orgs/{org}/members/{username}`

  </details>

* **무역 제어에 의해 차단되는 경우, 업데이트 조직 멤버십 응답을 `403`에서 `451`로 변경합니다.** 이제 무역 제어가 적용된 조직에 대한 멤버십 업데이트 요청은 `451 Unavailable For Legal Reasons` 대신 `403 Forbidden`를 반환합니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `PUT /orgs/{org}/memberships/{username}`

  </details>

* **리포지토리 초대 응답이 무역 통제에 의해 차단될 경우 `403`에서 `451`으로 변경됩니다**. 이제 무역 통제에 의해 차단된 리포지토리 초대 승인이 `451 Unavailable For Legal Reasons` 대신 `403 Forbidden`을 반환합니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `PATCH /user/repository_invitations/{invitation_id}`

  </details>

* **API 루트 응답에서 사용되지 않는 `hub_url` 속성 제거**

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `GET /`

  </details>

* **`cvss` 속성을 더 이상 사용하지 않고, 권고 API에서는 `cvss_severities`를 사용하십시오.**`cvss_severities` 속성은 기존의 `cvss` 속성을 대체하며, 권고에 존재하는 경우 `cvss_v3` 및 `cvss_v4` 속성을 포함합니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `GET /advisories`
* `GET /advisories/{ghsa_id}`
* `GET /enterprises/{enterprise}/dependabot/alerts`
* `GET /orgs/{org}/dependabot/alerts`
* `GET /orgs/{org}/security-advisories`
* `GET /repos/{owner}/{repo}/dependabot/alerts`
* `GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}`
* `GET /repos/{owner}/{repo}/security-advisories`
* `GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}`
* `PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}`
* `PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}`
* `POST /repos/{owner}/{repo}/security-advisories`
* `POST /repos/{owner}/{repo}/security-advisories/reports`

  </details>

* **마이그레이션 리소스 응답에서 리포지토리 세부 정보 필드 제거**

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `GET /orgs/{org}/migrations`
* `GET /orgs/{org}/migrations/{migration_id}`
* `GET /orgs/{org}/migrations/{migration_id}/repositories`
* `GET /user/migrations`
* `GET /user/migrations/{migration_id}`
* `GET /user/migrations/{migration_id}/repositories`
* `POST /orgs/{org}/migrations`
* `POST /user/migrations`

  </details>

* **사용되지 않는 `/hub` 엔드포인트 제거**
* **끌어오기 요청 응답에서 필드 제거 `merge_commit_sha`** 속성 `merge_commit_sha` 은 끌어오기 요청 개체를 반환하는 모든 엔드포인트의 끌어오기 요청 페이로드에서 제거됩니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `GET /events`
* `GET /networks/{owner}/{repo}/events`
* `GET /orgs/{org}/events`
* `GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls`
* `GET /repos/{owner}/{repo}/events`
* `GET /repos/{owner}/{repo}/pulls`
* `GET /repos/{owner}/{repo}/pulls/{pull_number}`
* `GET /users/{username}/events`
* `GET /users/{username}/events/orgs/{org}`
* `GET /users/{username}/events/public`
* `GET /users/{username}/received_events`
* `GET /users/{username}/received_events/public`
* `PATCH /repos/{owner}/{repo}/pulls/{pull_number}`
* `POST /orgs/{org}/projectsV2/{project_number}/drafts`
* `POST /orgs/{org}/projectsV2/{project_number}/items`
* `POST /repos/{owner}/{repo}/pulls`
* `POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `POST /user/{user_id}/projectsV2/{project_number}/drafts`
* `POST /users/{username}/projectsV2/{project_number}/items`

  </details>

* **워크플로 실행 세부 정보를 사용하여 `204` 워크플로 디스패치 응답을 `200`** 변경하면 매개 변수가 `return_run_details` 제거됩니다. 이제 엔드포인트는 항상 응답 본문의 워크플로 실행 세부 정보와 함께 반환 `200` 됩니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches`

  </details>

* **문제 및 끌어오기 요청 엔드포인트에서 사용되지 않는 단수 "담당자" 필드 제거** 단수 `assignee` 필드는 수년 동안 "사용 중지"로 표시되었으며 배열에서 제공되는 `assignees` 정보와 중복됩니다. 마이그레이션하려면 통합을 다음으로 업데이트합니다.

  * 문제를 생성하거나 업데이트할 때 단수 `assignees` 매개 변수 대신 `assignee` 배열 매개 변수를 사용하세요.
  * 문제 및 끌어오기 요청 응답의 `assignees` 단일 `assignee` 속성 대신 배열에서 담당자 정보를 읽습니다.

  업데이트된 설명서는 참조하세요 <https://docs.github.com/rest/issues/issues> .

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue`
* `DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `GET /events`
* `GET /issues`
* `GET /networks/{owner}/{repo}/events`
* `GET /orgs/{org}/events`
* `GET /orgs/{org}/issues`
* `GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls`
* `GET /repos/{owner}/{repo}/events`
* `GET /repos/{owner}/{repo}/issues`
* `GET /repos/{owner}/{repo}/issues/events`
* `GET /repos/{owner}/{repo}/issues/events/{event_id}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/parent`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/timeline`
* `GET /repos/{owner}/{repo}/pulls`
* `GET /repos/{owner}/{repo}/pulls/{pull_number}`
* `GET /search/issues`
* `GET /user/issues`
* `GET /users/{username}/events`
* `GET /users/{username}/events/orgs/{org}`
* `GET /users/{username}/events/public`
* `GET /users/{username}/received_events`
* `GET /users/{username}/received_events/public`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority`
* `PATCH /repos/{owner}/{repo}/pulls/{pull_number}`
* `POST /orgs/{org}/projectsV2/{project_number}/drafts`
* `POST /orgs/{org}/projectsV2/{project_number}/items`
* `POST /repos/{owner}/{repo}/issues`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `POST /repos/{owner}/{repo}/pulls`
* `POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `POST /user/{user_id}/projectsV2/{project_number}/drafts`
* `POST /users/{username}/projectsV2/{project_number}/items`

  </details>

* **Dependabot 조직 비밀에 대한 정수만 허용하도록 매개 변수 변경 `selected_repository_ids`**

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `PUT /orgs/{org}/dependabot/secrets/{secret_name}`

  </details>

* **증명 목록 응답에서 `bundle` 속성을 제거합니다**. 이 `bundle` 필드는 리포지토리, 조직 및 사용자 증명 목록과 대량 응답 목록에서 제거됩니다.
  `bundle_url`를 사용하여 증명 번들을 가져옵니다.

  <details>
  <summary>

<strong>영향을 받는 엔드포인트</strong></summary>

* `GET /orgs/{org}/attestations/{subject_digest}`
* `GET /repos/{owner}/{repo}/attestations/{subject_digest}`
* `GET /users/{username}/attestations/{subject_digest}`
* `POST /orgs/{org}/attestations/bulk-list`
* `POST /users/{username}/attestations/bulk-list`

  </details>