Skip to main content

assets

Overview

Nameassets
TypeResource
Idgithub.repos.assets

Fields

NameDatatypeDescription
idinteger
namestringThe file name of the asset.
browser_download_urlstring
content_typestring
created_atstring
download_countinteger
labelstring
node_idstring
sizeinteger
statestringState of the release asset.
updated_atstring
uploaderobjectA GitHub user.
urlstring

Methods

NameAccessible byRequired ParamsDescription
get_release_assetSELECTasset_id, owner, repoTo 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.
list_release_assetsSELECTowner, release_id, repo
delete_release_assetDELETEasset_id, owner, repo
update_release_assetEXECasset_id, owner, repoUsers with push access to the repository can edit a release asset.
upload_release_assetEXECname, owner, release_id, repoThis endpoint makes use of a Hypermedia relation to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the upload_url returned in
the response of the Create a release endpoint to upload a release asset.

You need to use an HTTP client which supports SNI to make calls to this endpoint.

Most libraries will set the required Content-Length header automatically. Use the required Content-Type header to provide the media type of the asset. For a list of media types, see Media Types. For example:

application/zip

GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example,
you'll still need to pass your authentication to be able to upload an asset.

When an upstream failure occurs, you will receive a 502 Bad Gateway status. This may leave an empty asset with a state of starter. It can be safely deleted.

Notes:
GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "List release assets"
endpoint lists the renamed filenames. For more information and help, contact GitHub Support.
To find the release_id query the GET /repos/{owner}/{repo}/releases/latest endpoint.
* If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset.