Learn about breaking changes that were introduced in each REST API version.
The GitHub REST API is versioned. The API version name is based on the date when the API version was released. For example, the API version 2026-03-10 was released on Tue, 10 Mar 2026.
Breaking changes are changes that can potentially break an integration. Breaking changes will be released in a new API version. We will provide advance notice before releasing breaking changes. Breaking changes include:
Any additive (non-breaking) changes will be available in all supported API versions. Additive changes are changes that should not break an integration. Additive changes include:
When a new REST API version is released, the previous API version will be supported for at least 24 more months following the release of the new API version.
For more information about API versions, see API Versions.
Before upgrading to a new REST API version, you should read the section on this page that corresponds to the new API version to understand what breaking changes are included and to learn more about how to upgrade to that API version.
When you update your integration to specify the new API version in the X-GitHub-Api-Version header, you'll also need to make any changes required for your integration to work with the new API version.
Once your integration is updated, test your integration to verify that it works with the new API version.
Remove deprecated rate property from rate limit endpoint
The rate property has been deprecated since 2021 and duplicates information
available in the resources.core property. To migrate, update your integration
to read rate limit information from resources.core instead of rate.
See https://docs.github.com/rest/rate-limit for updated documentation.
GET /rate_limitRemove deprecated permission property from request when a team is created
POST /orgs/{org}/teamsUpdates the "Get repository content" API, so that, when listing the contents of a directory, submodules have the type "submodule" instead of the type "file"
GET /repos/{owner}/{repo}/contents/{path}Change Content-Type of SARIF response
When trying to receive the SARIF upload by setting the Accept header to application/sarif+json the response Content-Type would incorrectly be set to application/json+sarif.
This change corrects this so the response Content-Type in this case becomes application/sarif+json.
For more information, see "Get a code scanning analysis for a repository" in the REST API documentation.
Remove deprecated use_squash_pr_title_as_default property from repo settings endpoints
This property has been replaced by squash_merge_commit_title.
DELETE /repos/{owner}/{repo}/issues/{issue_number}/assigneesDELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issueDELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewersGET /eventsGET /installation/repositoriesGET /issuesGET /networks/{owner}/{repo}/eventsGET /orgs/{org}/actions/permissions/repositoriesGET /orgs/{org}/actions/permissions/self-hosted-runners/repositoriesGET /orgs/{org}/eventsGET /orgs/{org}/issuesGET /orgs/{org}/migrationsGET /orgs/{org}/migrations/{migration_id}GET /repos/{owner}/{repo}GET /repos/{owner}/{repo}/commits/{commit_sha}/pullsGET /repos/{owner}/{repo}/eventsGET /repos/{owner}/{repo}/issuesGET /repos/{owner}/{repo}/issues/eventsGET /repos/{owner}/{repo}/issues/events/{event_id}GET /repos/{owner}/{repo}/issues/{issue_number}GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_byGET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blockingGET /repos/{owner}/{repo}/issues/{issue_number}/parentGET /repos/{owner}/{repo}/issues/{issue_number}/sub_issuesGET /repos/{owner}/{repo}/issues/{issue_number}/timelineGET /repos/{owner}/{repo}/pullsGET /repos/{owner}/{repo}/pulls/{pull_number}GET /search/issuesGET /teams/{team_id}/repos/{owner}/{repo}GET /user/installations/{installation_id}/repositoriesGET /user/issuesGET /user/migrationsGET /user/migrations/{migration_id}GET /user/reposGET /user/starredGET /users/{username}/eventsGET /users/{username}/events/orgs/{org}GET /users/{username}/events/publicGET /users/{username}/received_eventsGET /users/{username}/received_events/publicGET /users/{username}/starredPATCH /repos/{owner}/{repo}PATCH /repos/{owner}/{repo}/issues/{issue_number}PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priorityPATCH /repos/{owner}/{repo}/pulls/{pull_number}POST /app/installations/{installation_id}/access_tokensPOST /enterprises/{enterprise}/actions/runners/registration-tokenPOST /enterprises/{enterprise}/actions/runners/remove-tokenPOST /orgs/{org}/actions/runners/registration-tokenPOST /orgs/{org}/actions/runners/remove-tokenPOST /orgs/{org}/migrationsPOST /orgs/{org}/projectsV2/{project_number}/draftsPOST /orgs/{org}/projectsV2/{project_number}/itemsPOST /orgs/{org}/reposPOST /repos/{owner}/{repo}/actions/runners/registration-tokenPOST /repos/{owner}/{repo}/actions/runners/remove-tokenPOST /repos/{owner}/{repo}/forksPOST /repos/{owner}/{repo}/issuesPOST /repos/{owner}/{repo}/issues/{issue_number}/assigneesPOST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_byPOST /repos/{owner}/{repo}/issues/{issue_number}/sub_issuesPOST /repos/{owner}/{repo}/pullsPOST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewersPOST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forksPOST /repos/{template_owner}/{template_repo}/generatePOST /user/codespaces/{codespace_name}/publishPOST /user/migrationsPOST /user/reposPOST /user/{user_id}/projectsV2/{project_number}/draftsPOST /users/{username}/projectsV2/{project_number}/itemsRemove authorizations_url from the API root (GET /)
The OAuth Authorization API has been deprecated since 2020.
GET /Deprecate support for the beta media type
This media type was officially deprecated in 2014. However, there are still remnants
of its use that modify response payloads. The following response properties are
deprecated as a result:
emails response as a flat array of strings instead of email objectspull_request response property with null default valuesuser response property, replaced by ownermaster_branch response property, replaced by default_branchDELETE /repos/{owner}/{repo}/issues/{issue_number}/assigneesDELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issueDELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewersGET /eventsGET /gistsGET /gists/publicGET /gists/starredGET /installation/repositoriesGET /issuesGET /networks/{owner}/{repo}/eventsGET /orgs/{org}/actions/permissions/repositoriesGET /orgs/{org}/actions/permissions/self-hosted-runners/repositoriesGET /orgs/{org}/eventsGET /orgs/{org}/issuesGET /orgs/{org}/migrationsGET /orgs/{org}/migrations/{migration_id}GET /repos/{owner}/{repo}GET /repos/{owner}/{repo}/commits/{commit_sha}/pullsGET /repos/{owner}/{repo}/eventsGET /repos/{owner}/{repo}/issuesGET /repos/{owner}/{repo}/issues/eventsGET /repos/{owner}/{repo}/issues/events/{event_id}GET /repos/{owner}/{repo}/issues/{issue_number}GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_byGET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blockingGET /repos/{owner}/{repo}/issues/{issue_number}/parentGET /repos/{owner}/{repo}/issues/{issue_number}/sub_issuesGET /repos/{owner}/{repo}/issues/{issue_number}/timelineGET /repos/{owner}/{repo}/pullsGET /repos/{owner}/{repo}/pulls/{pull_number}GET /search/issuesGET /teams/{team_id}/repos/{owner}/{repo}GET /user/installations/{installation_id}/repositoriesGET /user/issuesGET /user/migrationsGET /user/migrations/{migration_id}GET /user/reposGET /user/starredGET /users/{username}/eventsGET /users/{username}/events/orgs/{org}GET /users/{username}/events/publicGET /users/{username}/gistsGET /users/{username}/received_eventsGET /users/{username}/received_events/publicGET /users/{username}/starredPATCH /repos/{owner}/{repo}PATCH /repos/{owner}/{repo}/issues/{issue_number}PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priorityPATCH /repos/{owner}/{repo}/pulls/{pull_number}POST /app/installations/{installation_id}/access_tokensPOST /enterprises/{enterprise}/actions/runners/registration-tokenPOST /enterprises/{enterprise}/actions/runners/remove-tokenPOST /gists/{gist_id}/forksPOST /orgs/{org}/actions/runners/registration-tokenPOST /orgs/{org}/actions/runners/remove-tokenPOST /orgs/{org}/migrationsPOST /orgs/{org}/projectsV2/{project_number}/draftsPOST /orgs/{org}/projectsV2/{project_number}/itemsPOST /orgs/{org}/reposPOST /repos/{owner}/{repo}/actions/runners/registration-tokenPOST /repos/{owner}/{repo}/actions/runners/remove-tokenPOST /repos/{owner}/{repo}/forksPOST /repos/{owner}/{repo}/issuesPOST /repos/{owner}/{repo}/issues/{issue_number}/assigneesPOST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_byPOST /repos/{owner}/{repo}/issues/{issue_number}/sub_issuesPOST /repos/{owner}/{repo}/pullsPOST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewersPOST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forksPOST /repos/{template_owner}/{template_repo}/generatePOST /user/codespaces/{codespace_name}/publishPOST /user/migrationsPOST /user/reposPOST /user/{user_id}/projectsV2/{project_number}/draftsPOST /users/{username}/projectsV2/{project_number}/itemsThis changeset removes the underspecified fields history and forks from the base-gist object
These properties were unintentionally added when we converted JSON schemas to OpenAPI. The
properties appear in resources such as "gist revisions" and "update gist" but should not
be implemented in the base gist object.
GET /gistsGET /gists/publicGET /gists/starredGET /gists/{gist_id}GET /gists/{gist_id}/forksGET /gists/{gist_id}/{sha}GET /users/{username}/gistsPATCH /gists/{gist_id}POST /gistsPOST /gists/{gist_id}/forksChange success status code from 204 to 202 for deleting an installation
The installation deletion is being moved to the background
DELETE /app/installations/{installation_id}Remove secret_scanning_push_protection_custom_link_enabled from the organization request and response
GET /orgs/{org}PATCH /orgs/{org}Remove javascript and typescript values from the languages enum in code scanning default setup responses, in favor of javascript-typescript
JavaScript and TypeScript are analyzed together by CodeQL, so having separate enum values was misleading and inconsistent with how the analysis actually works. This breaking change removes the individual "javascript" and "typescript" values in favor of the combined "javascript-typescript" value that accurately represents the unified analysis.
For more information, see "Get a code scanning default setup configuration" in the REST API documentation and the related codeql-action CHANGELOG.
GET /repos/{owner}/{repo}/code-scanning/default-setupRemove deprecated has_downloads property from Repository response
has_downloads has been deprecated for 10+ years
DELETE /repos/{owner}/{repo}/issues/{issue_number}/assigneesDELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issueDELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewersGET /eventsGET /installation/repositoriesGET /issuesGET /networks/{owner}/{repo}/eventsGET /notificationsGET /notifications/threads/{thread_id}GET /orgs/{org}/actions/permissions/repositoriesGET /orgs/{org}/actions/permissions/self-hosted-runners/repositoriesGET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositoriesGET /orgs/{org}/actions/secrets/{secret_name}/repositoriesGET /orgs/{org}/actions/variables/{name}/repositoriesGET /orgs/{org}/codespacesGET /orgs/{org}/codespaces/secrets/{secret_name}/repositoriesGET /orgs/{org}/dependabot/secrets/{secret_name}/repositoriesGET /orgs/{org}/docker/conflictsGET /orgs/{org}/eventsGET /orgs/{org}/issuesGET /orgs/{org}/members/{username}/codespacesGET /orgs/{org}/migrationsGET /orgs/{org}/migrations/{migration_id}GET /orgs/{org}/migrations/{migration_id}/repositoriesGET /orgs/{org}/packagesGET /orgs/{org}/packages/{package_type}/{package_name}GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositoriesGET /orgs/{org}/personal-access-tokens/{pat_id}/repositoriesGET /orgs/{org}/reposGET /orgs/{org}/settings/immutable-releases/repositoriesGET /orgs/{org}/teams/{team_slug}/reposGET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}GET /repos/{owner}/{repo}GET /repos/{owner}/{repo}/actions/runsGET /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}/runsGET /repos/{owner}/{repo}/check-suites/{check_suite_id}GET /repos/{owner}/{repo}/codespacesGET /repos/{owner}/{repo}/commits/{commit_sha}/pullsGET /repos/{owner}/{repo}/commits/{ref}/check-suitesGET /repos/{owner}/{repo}/commits/{ref}/statusGET /repos/{owner}/{repo}/eventsGET /repos/{owner}/{repo}/forksGET /repos/{owner}/{repo}/invitationsGET /repos/{owner}/{repo}/issuesGET /repos/{owner}/{repo}/issues/eventsGET /repos/{owner}/{repo}/issues/events/{event_id}GET /repos/{owner}/{repo}/issues/{issue_number}GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_byGET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blockingGET /repos/{owner}/{repo}/issues/{issue_number}/parentGET /repos/{owner}/{repo}/issues/{issue_number}/sub_issuesGET /repos/{owner}/{repo}/issues/{issue_number}/timelineGET /repos/{owner}/{repo}/notificationsGET /repos/{owner}/{repo}/pullsGET /repos/{owner}/{repo}/pulls/{pull_number}GET /repositoriesGET /search/codeGET /search/commitsGET /search/issuesGET /teams/{team_id}/reposGET /teams/{team_id}/repos/{owner}/{repo}GET /user/codespacesGET /user/codespaces/secrets/{secret_name}/repositoriesGET /user/codespaces/{codespace_name}GET /user/docker/conflictsGET /user/installations/{installation_id}/repositoriesGET /user/issuesGET /user/migrationsGET /user/migrations/{migration_id}GET /user/migrations/{migration_id}/repositoriesGET /user/packagesGET /user/packages/{package_type}/{package_name}GET /user/reposGET /user/repository_invitationsGET /user/starredGET /user/subscriptionsGET /users/{username}/docker/conflictsGET /users/{username}/eventsGET /users/{username}/events/orgs/{org}GET /users/{username}/events/publicGET /users/{username}/packagesGET /users/{username}/packages/{package_type}/{package_name}GET /users/{username}/received_eventsGET /users/{username}/received_events/publicGET /users/{username}/reposGET /users/{username}/starredGET /users/{username}/subscriptionsPATCH /repos/{owner}/{repo}PATCH /repos/{owner}/{repo}/check-suites/preferencesPATCH /repos/{owner}/{repo}/invitations/{invitation_id}PATCH /repos/{owner}/{repo}/issues/{issue_number}PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priorityPATCH /repos/{owner}/{repo}/pulls/{pull_number}PATCH /user/codespaces/{codespace_name}POST /app/installations/{installation_id}/access_tokensPOST /enterprises/{enterprise}/actions/runners/registration-tokenPOST /enterprises/{enterprise}/actions/runners/remove-tokenPOST /orgs/{org}/actions/runners/registration-tokenPOST /orgs/{org}/actions/runners/remove-tokenPOST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stopPOST /orgs/{org}/migrationsPOST /orgs/{org}/projectsV2/{project_number}/draftsPOST /orgs/{org}/projectsV2/{project_number}/itemsPOST /orgs/{org}/reposPOST /repos/{owner}/{repo}/actions/runners/registration-tokenPOST /repos/{owner}/{repo}/actions/runners/remove-tokenPOST /repos/{owner}/{repo}/check-suitesPOST /repos/{owner}/{repo}/codespacesPOST /repos/{owner}/{repo}/forksPOST /repos/{owner}/{repo}/issuesPOST /repos/{owner}/{repo}/issues/{issue_number}/assigneesPOST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_byPOST /repos/{owner}/{repo}/issues/{issue_number}/sub_issuesPOST /repos/{owner}/{repo}/pullsPOST /repos/{owner}/{repo}/pulls/{pull_number}/codespacesPOST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewersPOST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forksPOST /repos/{owner}/{repo}/transferPOST /repos/{template_owner}/{template_repo}/generatePOST /user/codespacesPOST /user/codespaces/{codespace_name}/publishPOST /user/codespaces/{codespace_name}/startPOST /user/codespaces/{codespace_name}/stopPOST /user/migrationsPOST /user/reposPOST /user/{user_id}/projectsV2/{project_number}/draftsPOST /users/{username}/projectsV2/{project_number}/itemsPUT /repos/{owner}/{repo}/collaborators/{username}Change create repository response from 422 to 451 when blocked by trade controls
Repository creation requests where the creator or owner is subject to trade control regulations
now return 451 Unavailable For Legal Reasons instead of 422 Unprocessable Entity.
POST /orgs/{org}/reposPOST /user/reposChange delete organization response from 403 to 451 when blocked by trade controls
Organization deletion requests blocked by trade controls now return 451 Unavailable For Legal Reasons instead of 403 Forbidden.
DELETE /orgs/{org}Change remove organization member response from 403 to 451 when blocked by trade controls
Requests to remove a member from a trade-controlled organization now return 451 Unavailable For Legal Reasons instead of 403 Forbidden.
DELETE /orgs/{org}/members/{username}Change update organization membership response from 403 to 451 when blocked by trade controls
Membership update requests for trade-controlled organizations now return 451 Unavailable For Legal Reasons instead of 403 Forbidden.
PUT /orgs/{org}/memberships/{username}Change accept repository invitation response from 403 to 451 when blocked by trade controls
Repository invitation acceptance blocked by trade controls now returns 451 Unavailable For Legal Reasons instead of 403 Forbidden.
PATCH /user/repository_invitations/{invitation_id}Remove deprecated hub_url property from API root response
GET /Deprecate cvss property in favor of cvss_severities for advisory APIs
The cvss_severities property will supplant the existing cvss property and contain cvss_v3 and cvss_v4 properties if they exist on the advisory.
GET /advisoriesGET /advisories/{ghsa_id}GET /enterprises/{enterprise}/dependabot/alertsGET /orgs/{org}/dependabot/alertsGET /orgs/{org}/security-advisoriesGET /repos/{owner}/{repo}/dependabot/alertsGET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}GET /repos/{owner}/{repo}/security-advisoriesGET /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-advisoriesPOST /repos/{owner}/{repo}/security-advisories/reportsRemove repository detail fields from migration resource responses
GET /orgs/{org}/migrationsGET /orgs/{org}/migrations/{migration_id}GET /orgs/{org}/migrations/{migration_id}/repositoriesGET /user/migrationsGET /user/migrations/{migration_id}GET /user/migrations/{migration_id}/repositoriesPOST /orgs/{org}/migrationsPOST /user/migrationsRemove deprecated /hub endpoint
Remove merge_commit_sha field from pull request responses
The merge_commit_sha property is removed from pull request payloads across all endpoints that return pull request objects.
DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewersGET /eventsGET /networks/{owner}/{repo}/eventsGET /orgs/{org}/eventsGET /repos/{owner}/{repo}/commits/{commit_sha}/pullsGET /repos/{owner}/{repo}/eventsGET /repos/{owner}/{repo}/pullsGET /repos/{owner}/{repo}/pulls/{pull_number}GET /users/{username}/eventsGET /users/{username}/events/orgs/{org}GET /users/{username}/events/publicGET /users/{username}/received_eventsGET /users/{username}/received_events/publicPATCH /repos/{owner}/{repo}/pulls/{pull_number}POST /orgs/{org}/projectsV2/{project_number}/draftsPOST /orgs/{org}/projectsV2/{project_number}/itemsPOST /repos/{owner}/{repo}/pullsPOST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewersPOST /user/{user_id}/projectsV2/{project_number}/draftsPOST /users/{username}/projectsV2/{project_number}/itemsChange workflow dispatch response from 204 to 200 with workflow run details
Removes the return_run_details parameter. The endpoint now always returns 200 with the workflow run details in the response body.
POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatchesRemove deprecated singular "assignee" field from Issue and Pull Request endpoints
The singular assignee field has been marked as "closing down" for years and
duplicates information available in the assignees array. To migrate, update
your integration to:
assignees array parameter instead of the singular assigneeassignees array instead of the singularassignee property in Issue and Pull Request responses.See https://docs.github.com/rest/issues/issues for updated documentation.
DELETE /repos/{owner}/{repo}/issues/{issue_number}/assigneesDELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issueDELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewersGET /eventsGET /issuesGET /networks/{owner}/{repo}/eventsGET /orgs/{org}/eventsGET /orgs/{org}/issuesGET /repos/{owner}/{repo}/commits/{commit_sha}/pullsGET /repos/{owner}/{repo}/eventsGET /repos/{owner}/{repo}/issuesGET /repos/{owner}/{repo}/issues/eventsGET /repos/{owner}/{repo}/issues/events/{event_id}GET /repos/{owner}/{repo}/issues/{issue_number}GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_byGET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blockingGET /repos/{owner}/{repo}/issues/{issue_number}/parentGET /repos/{owner}/{repo}/issues/{issue_number}/sub_issuesGET /repos/{owner}/{repo}/issues/{issue_number}/timelineGET /repos/{owner}/{repo}/pullsGET /repos/{owner}/{repo}/pulls/{pull_number}GET /search/issuesGET /user/issuesGET /users/{username}/eventsGET /users/{username}/events/orgs/{org}GET /users/{username}/events/publicGET /users/{username}/received_eventsGET /users/{username}/received_events/publicPATCH /repos/{owner}/{repo}/issues/{issue_number}PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priorityPATCH /repos/{owner}/{repo}/pulls/{pull_number}POST /orgs/{org}/projectsV2/{project_number}/draftsPOST /orgs/{org}/projectsV2/{project_number}/itemsPOST /repos/{owner}/{repo}/issuesPOST /repos/{owner}/{repo}/issues/{issue_number}/assigneesPOST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_byPOST /repos/{owner}/{repo}/issues/{issue_number}/sub_issuesPOST /repos/{owner}/{repo}/pullsPOST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewersPOST /user/{user_id}/projectsV2/{project_number}/draftsPOST /users/{username}/projectsV2/{project_number}/itemsChange selected_repository_ids parameter to only accept integers for Dependabot org secrets
PUT /orgs/{org}/dependabot/secrets/{secret_name}Remove the bundle property from attestation list responses
The bundle field is removed from repo, org, and user attestation list and bulk-list responses. Use bundle_url to retrieve the attestation bundle.
GET /orgs/{org}/attestations/{subject_digest}GET /repos/{owner}/{repo}/attestations/{subject_digest}GET /users/{username}/attestations/{subject_digest}POST /orgs/{org}/attestations/bulk-listPOST /users/{username}/attestations/bulk-listVersion 2022-11-28 is the first version of the GitHub Free, Pro & Team REST API after date-based versioning was introduced. This version does not include any breaking changes.