List releases
GET/api/repos/{owner}/{repo}/releases
listRepositoryReleases
Returns the repository's releases, newest first, each with its assets in filename order. Drafts appear only for a caller with repository write access.
Authentication is not described for this operation in the spec — that does not mean it is public. Check tokens and scopes.
curl
curl -X GET 'https://neosource.dev/api/repos/OWNER/REPO/releases'fetch
fetch("https://neosource.dev/api/repos/OWNER/REPO/releases", {
method: "GET",
});Path parameters
ownerrequiredRepository owner or organization slug.
reporequiredRepository name.
Responses
200Release list
application/json
Standard errors
Bodies documented once for the whole API — see standard errors.
- 400Bad Request — one of: invalid_input
- 403Forbidden — one of: forbidden
- 404Not Found — one of: not_found
- 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
Schemas
Referenced above. Listed here rather than expanded inline, so the same definition is not repeated at every level.
ReleaseAssetResponse
One downloadable file attached to a release.
asset_idrequiredcontent_sha256requiredLower-case hex SHA-256 of the file's bytes.
content_typerequireddownload_urlWhere to fetch the bytes. **Always `null` in Phase 1 and 2** — the public download surface, and the signed URL it mints, land in Phase 3.
filenamerequiredThe name the file downloads as. Never a path: separators, a leading dot and control bytes are refused at creation.
example
"neo-linux-x86_64.tar.gz"size_bytesrequireduploaded_atrequiredUnix millis.
uploaded_by_jobrequiredTrue when a CI job token published the asset rather than a person.