GitHub v3 REST API

Get a release asset

To download the asset’s binary content, set the Accept header of the request to application/octet-stream. The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a 200 or 302 response.

get
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/releases/assets/{asset_id}

Path Parameters

ownerstringrequired
repostringrequired
asset_idintegerrequired

asset_id parameter

Response

application/json

To download the asset’s binary content, set the Accept header of the request to application/octet-stream. The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a 200 or 302 response.

Release Asset

Data related to a release.

urlstring(uri)required
browser_download_urlstring(uri)required
idintegerrequired
node_idstringrequired
namestringrequired

The file name of the asset.

Example:Team Environment

labelstring | nullrequired
statestringrequired

State of the release asset.

Allowed values:uploadedopen

content_typestringrequired
sizeintegerrequired
download_countintegerrequired
created_atstring(date-time)required
updated_atstring(date-time)required
uploaderobject | nullrequired

Simple User

Show Child Parameters
get/repos/{owner}/{repo}/releases/assets/{asset_id}
 
application/json

Update a release asset

Users with push access to the repository can edit a release asset.

patch
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/releases/assets/{asset_id}

Path Parameters

ownerstringrequired
repostringrequired
asset_idintegerrequired

asset_id parameter

Body

application/json
namestring

The file name of the asset.

labelstring

An alternate short description of the asset. Used in place of the filename.

statestring

Example:"uploaded"

Response

200 application/json

Response

Release Asset

Data related to a release.

urlstring(uri)required
browser_download_urlstring(uri)required
idintegerrequired
node_idstringrequired
namestringrequired

The file name of the asset.

Example:Team Environment

labelstring | nullrequired
statestringrequired

State of the release asset.

Allowed values:uploadedopen

content_typestringrequired
sizeintegerrequired
download_countintegerrequired
created_atstring(date-time)required
updated_atstring(date-time)required
uploaderobject | nullrequired

Simple User

Show Child Parameters
patch/repos/{owner}/{repo}/releases/assets/{asset_id}

Body

{ "name": "foo-1.0.0-osx.zip", "label": "Mac binary" }
 
200 application/json

Delete a release asset

delete
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/releases/assets/{asset_id}

Path Parameters

ownerstringrequired
repostringrequired
asset_idintegerrequired

asset_id parameter

Response

204

Response

delete/repos/{owner}/{repo}/releases/assets/{asset_id}
 
204

Get the latest release

View the latest published full release for the repository.

The latest release is the most recent non-prerelease, non-draft release, sorted by the created_at attribute. The created_at attribute is the date of the commit used for the release, and not the date when the release was drafted or published.

get
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/releases/latest

Path Parameters

ownerstringrequired
repostringrequired

Response

200 application/json

Response

Release

A release.

urlstring(uri)required
html_urlstring(uri)required
assets_urlstring(uri)required
upload_urlstringrequired
tarball_urlstring | null(uri)required
zipball_urlstring | null(uri)required
idintegerrequired
node_idstringrequired
tag_namestringrequired

The name of the tag.

Example:v1.0.0

target_commitishstringrequired

Specifies the commitish value that determines where the Git tag is created from.

Example:master

namestring | nullrequired
bodystring | null
draftbooleanrequired

true to create a draft (unpublished) release, false to create a published one.

Example:false

prereleasebooleanrequired

Whether to identify the release as a prerelease or a full release.

Example:false

created_atstring(date-time)required
published_atstring | null(date-time)required
authorobjectrequired

Simple User

Show Child Parameters
assetsarray[object]required

Data related to a release.

Show Child Parameters
body_htmlstring
body_textstring
reactionsobject
Show Child Parameters
get/repos/{owner}/{repo}/releases/latest
 
200 application/json

Get a release by tag name

Get a published release with the specified tag.

get
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/releases/tags/{tag}

Path Parameters

ownerstringrequired
repostringrequired
tagstringrequired

tag parameter

Response

application/json

Response

Release

A release.

urlstring(uri)required
html_urlstring(uri)required
assets_urlstring(uri)required
upload_urlstringrequired
tarball_urlstring | null(uri)required
zipball_urlstring | null(uri)required
idintegerrequired
node_idstringrequired
tag_namestringrequired

The name of the tag.

Example:v1.0.0

target_commitishstringrequired

Specifies the commitish value that determines where the Git tag is created from.

Example:master

namestring | nullrequired
bodystring | null
draftbooleanrequired

true to create a draft (unpublished) release, false to create a published one.

Example:false

prereleasebooleanrequired

Whether to identify the release as a prerelease or a full release.

Example:false

created_atstring(date-time)required
published_atstring | null(date-time)required
authorobjectrequired

Simple User

Show Child Parameters
assetsarray[object]required

Data related to a release.

Show Child Parameters
body_htmlstring
body_textstring
reactionsobject
Show Child Parameters
get/repos/{owner}/{repo}/releases/tags/{tag}
 
application/json