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
ownerrequiredRepository owner or organization slug.
reporequiredRepository name.
tagrequiredThe 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.
ownerrequiredreporequiredtagrequired
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