Docs
Search docs

Delete a release

DELETE/api/repos/{owner}/{repo}/releases/{tag}

deleteRepositoryRelease

Deletes the release and its assets, including their stored bytes, which stop counting against the workspace's storage quota. The git tag itself is untouched — a release is metadata over a tag, not the tag. Requires an account; a CI job token cannot delete a release. 503 when the deployment has no release asset storage configured and the release has assets.

Requires authentication using a bearer token or a session cookie — see tokens and scopes.

curl

curl -X DELETE 'https://neosource.dev/api/repos/OWNER/REPO/releases/TAG' \
  -H 'Authorization: Bearer $NEOSOURCE_TOKEN'

fetch

fetch("https://neosource.dev/api/repos/OWNER/REPO/releases/TAG", {
  method: "DELETE",
  headers: {
    Authorization: "Bearer $NEOSOURCE_TOKEN",
  },
});

Path parameters

ownerrequired

Repository owner or organization slug.

string

reporequired

Repository name.

string

tagrequired

The release's git tag. Tags containing `/` must be percent-encoded (`release%2Fv1`). `latest` and `rolling` are reserved: they are resolver segments, so no release can carry either as its tag.

string

ownerrequired

string

reporequired

string

tagrequired

string

Responses

204Release deleted

Standard errors

Bodies documented once for the whole API — see standard errors.

  • 400Bad Request — one of: invalid_input
  • 401Authentication required
  • 403Forbidden — one of: forbidden
  • 404Not Found — one of: not_found
  • 409Conflict — one of: already_exists, conflict, non_fast_forward
  • 423Locked — one of: busy
  • 429Rate limited — retry after the `Retry-After` header
  • 500Internal server error
  • 503Service temporarily unavailable / at capacity — retry after the `Retry-After` header
  • 504Gateway timeout — the request exceeded the server's handling budget