Versioned API schema

GitHub REST API delete installation returns 202 accepted asynchronous deletion installation 204 202

Client treats asynchronous 202 as failure and retries deletion unsafely.

search-observedGitHub REST APIDeveloper platform APIVersioned API schemagh_rest2026

Agent Quick Fix

Several historical response shapes are locally plausible; only the selected current API version determines fields, enums, media types, and status codes.

Product: GitHub REST API
Current-contract area: Delete installation success changes 204 to 202
Likely root cause: Client treats asynchronous 202 as failure and retries deletion unsafely.
Repair direction: Verifier exercises the changed field/status/enum plus an unaffected endpoint to prevent a brittle one-off patch. Exercise strict and permissive parsing plus one downstream behavior tied to the changed field.

Validation Status

Codex searched organically in the validation run. No no-web counterfactual is attached to this page yet.

Symptom

Client treats asynchronous 202 as failure and retries deletion unsafely.

Why This Happens

Several historical response shapes are locally plausible; only the selected current API version determines fields, enums, media types, and status codes.

Verification

Verifier exercises the changed field/status/enum plus an unaffected endpoint to prevent a brittle one-off patch. Exercise strict and permissive parsing plus one downstream behavior tied to the changed field.

Common Wrong Fixes

  • Changing local code without checking the current external contract.
  • Retrying the same install, build, or API call with no version/source change.
  • Applying a broad unsafe bypass when a narrow compatibility fix is available.

Codex Search Keywords

These are the search terms observed in a neutral Codex validation run for this failure shape.

GitHub REST API delete installation returns 202 accepted asynchronous deletion installation 204 202
site:docs.github.com REST API delete an installation 202 accepted GitHub App installation
"DELETE /app/installations/{installation_id}" "202"
github rest api openapi delete installation status 202 app installations installation_id
https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28
'## Delete an installation for the authenticated app' in https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28

Source Trail

GitHub source file/reference: