APIBreak

What GitHub REST changed, 12 March 2026 to 16 September 2026

1093 operations became 1239. 8 were removed, 7 were newly deprecated, 154 were added, and 1 request field became required.

Read from github/rest-api-description at f7af1e5 and 29bcb55 (version 1.1.4). Generated 17 September 2026 by the same code that runs in your CI, so this page and your report cannot disagree.

No per-caller version pin. Operations are deprecated in the specification and later removed, so the specification itself is the notice.

Removed — these return 404 now

  • DELETE /repositories/{repository_id}/issues/{issue_number}/issue-field-values/{issue_field_id}
  • GET /organizations/{org}/dependabot/repository-access
  • GET /orgs/{org}/copilot/metrics
  • GET /orgs/{org}/team/{team_slug}/copilot/metrics
  • PATCH /organizations/{org}/dependabot/repository-access
  • POST /repositories/{repository_id}/issues/{issue_number}/issue-field-values
  • PUT /organizations/{org}/dependabot/repository-access/default-level
  • PUT /repositories/{repository_id}/issues/{issue_number}/issue-field-values

Newly deprecated in this window

A deprecation is the notice period. It is the cheapest moment to act and the easiest one to miss.

  • GET /assignments/{assignment_id}
  • GET /assignments/{assignment_id}/accepted_assignments
  • GET /assignments/{assignment_id}/grades
  • GET /classrooms
  • GET /classrooms/{classroom_id}
  • GET /classrooms/{classroom_id}/assignments
  • GET /repos/{owner}/{repo}/dependency-graph/sbom

Deprecated as of the current specification (38)

Everything the vendor currently marks deprecated, whether or not it changed recently. If you call one of these, it has a clock on it.

  • DELETE /orgs/{org}/codespaces/access/selected_users
  • DELETE /orgs/{org}/security-managers/teams/{team_slug}
  • DELETE /repos/{owner}/{repo}/import
  • DELETE /teams/{team_id}
  • DELETE /teams/{team_id}/members/{username}
  • DELETE /teams/{team_id}/memberships/{username}
  • DELETE /teams/{team_id}/repos/{owner}/{repo}
  • GET /assignments/{assignment_id}
  • GET /assignments/{assignment_id}/accepted_assignments
  • GET /assignments/{assignment_id}/grades
  • GET /classrooms
  • GET /classrooms/{classroom_id}
  • GET /classrooms/{classroom_id}/assignments
  • GET /orgs/{org}/security-managers
  • GET /repos/{owner}/{repo}/dependency-graph/sbom
  • GET /repos/{owner}/{repo}/import
  • GET /repos/{owner}/{repo}/import/authors
  • GET /repos/{owner}/{repo}/import/large_files
  • GET /teams/{team_id}
  • GET /teams/{team_id}/invitations
  • GET /teams/{team_id}/members
  • GET /teams/{team_id}/members/{username}
  • GET /teams/{team_id}/memberships/{username}
  • GET /teams/{team_id}/repos
  • GET /teams/{team_id}/repos/{owner}/{repo}
  • GET /teams/{team_id}/teams
  • PATCH /repos/{owner}/{repo}/import
  • PATCH /repos/{owner}/{repo}/import/authors/{author_id}
  • PATCH /repos/{owner}/{repo}/import/lfs
  • PATCH /teams/{team_id}
  • POST /orgs/{org}/codespaces/access/selected_users
  • POST /orgs/{org}/{security_product}/{enablement}
  • PUT /orgs/{org}/codespaces/access
  • PUT /orgs/{org}/security-managers/teams/{team_slug}
  • PUT /repos/{owner}/{repo}/import
  • PUT /teams/{team_id}/members/{username}
  • PUT /teams/{team_id}/memberships/{username}
  • PUT /teams/{team_id}/repos/{owner}/{repo}

Request fields that became required

  • DELETE /orgs/{org}/code-security/configurations/detach — now requires selected_repository_ids

This list is not your list

Most of what is above does not matter to you, and the two lines that do are hard to find by eye. The check takes the endpoints you declare and reports only their intersection with this page.

How the check works · a real report