Packages
Use the REST API to interact with GitHub Packages.
Sobre o GitHub Packages
Você pode usar a API REST para gerenciar pacotes em seus repositórios e organizações do GitHub. Para obter mais informações, confira "Como restaurar e excluir pacotes".
Para usar a API REST para gerenciar o GitHub Packages, você deve autenticar usando um personal access token (classic).
- Para acessar metadados do pacote, o token precisa incluir o escopo
read:packages
. - Para excluir pacotes e versões de pacote, o token precisa incluir os escopos
read:packages
edelete:packages
. - Para restaurar pacotes e versões de pacote, o token precisa incluir os escopos
read:packages
ewrite:packages
.
Se o pacote estiver em um registro que dê suporte a permissões granulares, o token não precisará do escopon do repo
para acessar ou gerenciar esse pacote. Se seu pacote estiver em um registro que suporta apenas permissões com escopo de repositório, seu token também deverá incluir o escopo repo
, pois seu pacote herda permissões de um repositório GitHub. Para obter uma lista de registros que suportam apenas permissões com escopo de repositório, consulte "Sobre permissões para o GitHub Packages".
Para acessar recursos em uma organização com SSO habilitado, você deve habilitar o SSO para seu personal access token (classic). Para obter mais informações, confira "Como autorizar um personal access token para uso com logon único SAML ."
List packages for an organization
Lists packages in an organization readable by the user.
To use this endpoint, you must authenticate using an access token with the read:packages
scope. If the package_type
belongs to a registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "List packages for an organization"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
org stringRequiredThe organization name. The name is not case sensitive. |
Query parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
visibility stringThe selected visibility of the packages. This parameter is optional and only filters an existing result set. The Can be one of: |
page integerPage number of the results to fetch. Default: |
per_page integerThe number of results per page (max 100). Default: |
HTTP response status codes for "List packages for an organization"
Status code | Description |
---|---|
200 | OK |
400 | The value of |
401 | Requires authentication |
403 | Forbidden |
Code samples for "List packages for an organization"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/packages?package_type=container
Response
Status: 200
[
{
"id": 197,
"name": "hello_docker",
"package_type": "container",
"owner": {
"login": "github",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "https://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"site_admin": false
},
"version_count": 1,
"visibility": "private",
"url": "https://api.github.com/orgs/github/packages/container/hello_docker",
"created_at": "2020-05-19T22:19:11Z",
"updated_at": "2020-05-19T22:19:11Z",
"html_url": "https://github.com/orgs/github/packages/container/package/hello_docker"
},
{
"id": 198,
"name": "goodbye_docker",
"package_type": "container",
"owner": {
"login": "github",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "https://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"site_admin": false
},
"version_count": 2,
"visibility": "private",
"url": "https://api.github.com/orgs/github/packages/container/goodbye_docker",
"created_at": "2020-05-20T22:19:11Z",
"updated_at": "2020-05-20T22:19:11Z",
"html_url": "https://github.com/orgs/github/packages/container/package/goodbye_docker"
}
]
Get a package for an organization
Gets a specific package in an organization.
To use this endpoint, you must authenticate using an access token with the read:packages
scope. If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "Get a package for an organization"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
org stringRequiredThe organization name. The name is not case sensitive. |
HTTP response status codes for "Get a package for an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get a package for an organization"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/packages/PACKAGE_TYPE/PACKAGE_NAME
Response
Status: 200
{
"id": 197,
"name": "hello_docker",
"package_type": "container",
"owner": {
"login": "github",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "https://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"site_admin": false
},
"version_count": 1,
"visibility": "private",
"url": "https://api.github.com/orgs/github/packages/container/hello_docker",
"created_at": "2020-05-19T22:19:11Z",
"updated_at": "2020-05-19T22:19:11Z",
"html_url": "https://github.com/orgs/github/packages/container/package/hello_docker"
}
Delete a package for an organization
Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance.
To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the read:packages
and delete:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "About permissions for GitHub Packages."
Parameters for "Delete a package for an organization"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
org stringRequiredThe organization name. The name is not case sensitive. |
HTTP response status codes for "Delete a package for an organization"
Status code | Description |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Delete a package for an organization"
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/packages/PACKAGE_TYPE/PACKAGE_NAME
Response
Status: 204
Restore a package for an organization
Restores an entire package in an organization.
You can restore a deleted package under the following conditions:
- The package was deleted within the last 30 days.
- The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the read:packages
and write:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "About permissions for GitHub Packages."
Parameters for "Restore a package for an organization"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
org stringRequiredThe organization name. The name is not case sensitive. |
Query parameters |
Name, Type, Description |
token stringpackage token |
HTTP response status codes for "Restore a package for an organization"
Status code | Description |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Restore a package for an organization"
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/packages/PACKAGE_TYPE/PACKAGE_NAME/restore
Response
Status: 204
List package versions for a package owned by an organization
Lists package versions for a package owned by an organization.
If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "List package versions for a package owned by an organization"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
org stringRequiredThe organization name. The name is not case sensitive. |
Query parameters |
Name, Type, Description |
page integerPage number of the results to fetch. Default: |
per_page integerThe number of results per page (max 100). Default: |
state stringThe state of the package, either active or deleted. Default: Can be one of: |
HTTP response status codes for "List package versions for a package owned by an organization"
Status code | Description |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "List package versions for a package owned by an organization"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/packages/PACKAGE_TYPE/PACKAGE_NAME/versions
Response
Status: 200
[
{
"id": 245301,
"name": "1.0.4",
"url": "https://api.github.com/orgs/octo-org/packages/npm/hello-world-npm/versions/245301",
"package_html_url": "https://github.com/octo-org/hello-world-npm/packages/43752",
"created_at": "2019-11-05T22:49:04Z",
"updated_at": "2019-11-05T22:49:04Z",
"html_url": "https://github.com/octo-org/hello-world-npm/packages/43752?version=1.0.4",
"metadata": {
"package_type": "npm"
}
},
{
"id": 209672,
"name": "1.0.3",
"url": "https://api.github.com/orgs/octo-org/packages/npm/hello-world-npm/versions/209672",
"package_html_url": "https://github.com/octo-org/hello-world-npm/packages/43752",
"created_at": "2019-10-29T15:42:11Z",
"updated_at": "2019-10-29T15:42:12Z",
"html_url": "https://github.com/octo-org/hello-world-npm/packages/43752?version=1.0.3",
"metadata": {
"package_type": "npm"
}
}
]
Get a package version for an organization
Gets a specific package version in an organization.
You must authenticate using an access token with the read:packages
scope. If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "Get a package version for an organization"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
org stringRequiredThe organization name. The name is not case sensitive. |
package_version_id integerRequiredUnique identifier of the package version. |
HTTP response status codes for "Get a package version for an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get a package version for an organization"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID
Response
Status: 200
{
"id": 836,
"name": "sha256:b3d3e366b55f9a54599220198b3db5da8f53592acbbb7dc7e4e9878762fc5344",
"url": "https://api.github.com/orgs/github/packages/container/hello_docker/versions/836",
"package_html_url": "https://github.com/orgs/github/packages/container/package/hello_docker",
"created_at": "2020-05-19T22:19:11Z",
"updated_at": "2020-05-19T22:19:11Z",
"html_url": "https://github.com/orgs/github/packages/container/hello_docker/836",
"metadata": {
"package_type": "container",
"container": {
"tags": [
"latest"
]
}
}
}
Delete package version for an organization
Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance.
To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the read:packages
and delete:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "About permissions for GitHub Packages."
Parameters for "Delete package version for an organization"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
org stringRequiredThe organization name. The name is not case sensitive. |
package_version_id integerRequiredUnique identifier of the package version. |
HTTP response status codes for "Delete package version for an organization"
Status code | Description |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Delete package version for an organization"
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID
Response
Status: 204
Restore package version for an organization
Restores a specific package version in an organization.
You can restore a deleted package under the following conditions:
- The package was deleted within the last 30 days.
- The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the read:packages
and write:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "About permissions for GitHub Packages."
Parameters for "Restore package version for an organization"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
org stringRequiredThe organization name. The name is not case sensitive. |
package_version_id integerRequiredUnique identifier of the package version. |
HTTP response status codes for "Restore package version for an organization"
Status code | Description |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Restore package version for an organization"
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID/restore
Response
Status: 204
List packages for the authenticated user's namespace
Lists packages owned by the authenticated user within the user's namespace.
To use this endpoint, you must authenticate using an access token with the read:packages
scope. If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "List packages for the authenticated user's namespace"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Query parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
visibility stringThe selected visibility of the packages. This parameter is optional and only filters an existing result set. The Can be one of: |
page integerPage number of the results to fetch. Default: |
per_page integerThe number of results per page (max 100). Default: |
HTTP response status codes for "List packages for the authenticated user's namespace"
Status code | Description |
---|---|
200 | OK |
400 | The value of |
Code samples for "List packages for the authenticated user's namespace"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages?package_type=container
Response
Status: 200
[
{
"id": 197,
"name": "hello_docker",
"package_type": "container",
"owner": {
"login": "monalisa",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.monalisausercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/monalisa",
"html_url": "https://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "User",
"site_admin": false
},
"version_count": 1,
"visibility": "private",
"url": "https://api.github.com/orgs/github/packages/container/hello_docker",
"created_at": "2020-05-19T22:19:11Z",
"updated_at": "2020-05-19T22:19:11Z",
"html_url": "https://github.com/orgs/github/packages/container/package/hello_docker"
},
{
"id": 198,
"name": "goodbye_docker",
"package_type": "container",
"owner": {
"login": "github",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/monalisa",
"html_url": "https://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "User",
"site_admin": false
},
"version_count": 2,
"visibility": "private",
"url": "https://api.github.com/user/monalisa/packages/container/goodbye_docker",
"created_at": "2020-05-20T22:19:11Z",
"updated_at": "2020-05-20T22:19:11Z",
"html_url": "https://github.com/user/monalisa/packages/container/package/goodbye_docker"
}
]
Get a package for the authenticated user
Gets a specific package for a package owned by the authenticated user.
To use this endpoint, you must authenticate using an access token with the read:packages
scope. If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "Get a package for the authenticated user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
HTTP response status codes for "Get a package for the authenticated user"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get a package for the authenticated user"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME
Response
Status: 200
{
"id": 40201,
"name": "octo-name",
"package_type": "rubygems",
"owner": {
"login": "octocat",
"id": 209477,
"node_id": "MDQ6VXNlcjIwOTQ3Nw==",
"avatar_url": "https://avatars.githubusercontent.com/u/209477?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": true
},
"version_count": 3,
"visibility": "public",
"url": "https://api.github.com/users/octocat/packages/rubygems/octo-name",
"created_at": "2019-10-20T14:17:14Z",
"updated_at": "2019-10-20T14:17:14Z",
"repository": {
"id": 216219492,
"node_id": "MDEwOlJlcG9zaXRvcnkyMTYyMTk0OTI=",
"name": "octo-name-repo",
"full_name": "octocat/octo-name-repo",
"private": false,
"owner": {
"login": "octocat",
"id": 209477,
"node_id": "MDQ6VXNlcjIwOTQ3Nw==",
"avatar_url": "https://avatars.githubusercontent.com/u/209477?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": true
},
"html_url": "https://github.com/octocat/octo-name-repo",
"description": "Project for octocats",
"fork": false,
"url": "https://api.github.com/repos/octocat/octo-name-repo",
"forks_url": "https://api.github.com/repos/octocat/octo-name-repo/forks",
"keys_url": "https://api.github.com/repos/octocat/octo-name-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/octocat/octo-name-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/octocat/octo-name-repo/teams",
"hooks_url": "https://api.github.com/repos/octocat/octo-name-repo/hooks",
"issue_events_url": "https://api.github.com/repos/octocat/octo-name-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/octocat/octo-name-repo/events",
"assignees_url": "https://api.github.com/repos/octocat/octo-name-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/octocat/octo-name-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/octocat/octo-name-repo/tags",
"blobs_url": "https://api.github.com/repos/octocat/octo-name-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/octocat/octo-name-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/octocat/octo-name-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/octocat/octo-name-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/octocat/octo-name-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/octocat/octo-name-repo/languages",
"stargazers_url": "https://api.github.com/repos/octocat/octo-name-repo/stargazers",
"contributors_url": "https://api.github.com/repos/octocat/octo-name-repo/contributors",
"subscribers_url": "https://api.github.com/repos/octocat/octo-name-repo/subscribers",
"subscription_url": "https://api.github.com/repos/octocat/octo-name-repo/subscription",
"commits_url": "https://api.github.com/repos/octocat/octo-name-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/octocat/octo-name-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/octocat/octo-name-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/octocat/octo-name-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/octocat/octo-name-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/octocat/octo-name-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/octocat/octo-name-repo/merges",
"archive_url": "https://api.github.com/repos/octocat/octo-name-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/octocat/octo-name-repo/downloads",
"issues_url": "https://api.github.com/repos/octocat/octo-name-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/octocat/octo-name-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/octocat/octo-name-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/octocat/octo-name-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/octocat/octo-name-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/octocat/octo-name-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/octocat/octo-name-repo/deployments"
},
"html_url": "https://github.com/octocat/octo-name-repo/packages/40201"
}
Delete a package for the authenticated user
Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance.
To use this endpoint, you must authenticate using an access token with the read:packages
and delete:packages
scopes.
If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "Delete a package for the authenticated user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
HTTP response status codes for "Delete a package for the authenticated user"
Status code | Description |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Delete a package for the authenticated user"
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME
Response
Status: 204
Restore a package for the authenticated user
Restores a package owned by the authenticated user.
You can restore a deleted package under the following conditions:
- The package was deleted within the last 30 days.
- The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
To use this endpoint, you must authenticate using an access token with the read:packages
and write:packages
scopes. If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "Restore a package for the authenticated user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
Query parameters |
Name, Type, Description |
token stringpackage token |
HTTP response status codes for "Restore a package for the authenticated user"
Status code | Description |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Restore a package for the authenticated user"
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME/restore
Response
Status: 204
List package versions for a package owned by the authenticated user
Lists package versions for a package owned by the authenticated user.
To use this endpoint, you must authenticate using an access token with the read:packages
scope. If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "List package versions for a package owned by the authenticated user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
Query parameters |
Name, Type, Description |
page integerPage number of the results to fetch. Default: |
per_page integerThe number of results per page (max 100). Default: |
state stringThe state of the package, either active or deleted. Default: Can be one of: |
HTTP response status codes for "List package versions for a package owned by the authenticated user"
Status code | Description |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "List package versions for a package owned by the authenticated user"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME/versions
Response
Status: 200
[
{
"id": 45763,
"name": "sha256:08a44bab0bddaddd8837a8b381aebc2e4b933768b981685a9e088360af0d3dd9",
"url": "https://api.github.com/users/octocat/packages/container/hello_docker/versions/45763",
"package_html_url": "https://github.com/users/octocat/packages/container/package/hello_docker",
"created_at": "2020-09-11T21:56:40Z",
"updated_at": "2021-02-05T21:32:32Z",
"html_url": "https://github.com/users/octocat/packages/container/hello_docker/45763",
"metadata": {
"package_type": "container",
"container": {
"tags": [
"latest"
]
}
}
},
{
"id": 881,
"name": "sha256:b3d3e366b55f9a54599220198b3db5da8f53592acbbb7dc7e4e9878762fc5344",
"url": "https://api.github.com/users/octocat/packages/container/hello_docker/versions/881",
"package_html_url": "https://github.com/users/octocat/packages/container/package/hello_docker",
"created_at": "2020-05-21T22:22:20Z",
"updated_at": "2021-02-05T21:32:32Z",
"html_url": "https://github.com/users/octocat/packages/container/hello_docker/881",
"metadata": {
"package_type": "container",
"container": {
"tags": []
}
}
}
]
Get a package version for the authenticated user
Gets a specific package version for a package owned by the authenticated user.
To use this endpoint, you must authenticate using an access token with the read:packages
scope. If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "Get a package version for the authenticated user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
package_version_id integerRequiredUnique identifier of the package version. |
HTTP response status codes for "Get a package version for the authenticated user"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get a package version for the authenticated user"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID
Response
Status: 200
{
"id": 214,
"name": "sha256:3561f0cff06caccddb99c93bd26e712fcc56a811de0f8ea7a17bb865f30b176a",
"url": "https://api.github.com/users/octocat/packages/container/hello_docker/versions/214",
"package_html_url": "https://github.com/users/octocat/packages/container/package/hello_docker",
"created_at": "2020-05-15T03:46:45Z",
"updated_at": "2020-05-15T03:46:45Z",
"html_url": "https://github.com/users/octocat/packages/container/hello_docker/214",
"metadata": {
"package_type": "container",
"container": {
"tags": [
"1.13.6"
]
}
}
}
Delete a package version for the authenticated user
Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance.
To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the read:packages
and delete:packages
scopes.
If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "Delete a package version for the authenticated user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
package_version_id integerRequiredUnique identifier of the package version. |
HTTP response status codes for "Delete a package version for the authenticated user"
Status code | Description |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Delete a package version for the authenticated user"
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID
Response
Status: 204
Restore a package version for the authenticated user
Restores a package version owned by the authenticated user.
You can restore a deleted package version under the following conditions:
- The package was deleted within the last 30 days.
- The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
To use this endpoint, you must authenticate using an access token with the read:packages
and write:packages
scopes. If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "Restore a package version for the authenticated user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
package_version_id integerRequiredUnique identifier of the package version. |
HTTP response status codes for "Restore a package version for the authenticated user"
Status code | Description |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Restore a package version for the authenticated user"
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID/restore
Response
Status: 204
List packages for a user
Lists all packages in a user's namespace for which the requesting user has access.
To use this endpoint, you must authenticate using an access token with the read:packages
scope. If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "List packages for a user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
username stringRequiredThe handle for the GitHub user account. |
Query parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
visibility stringThe selected visibility of the packages. This parameter is optional and only filters an existing result set. The Can be one of: |
page integerPage number of the results to fetch. Default: |
per_page integerThe number of results per page (max 100). Default: |
HTTP response status codes for "List packages for a user"
Status code | Description |
---|---|
200 | OK |
400 | The value of |
401 | Requires authentication |
403 | Forbidden |
Code samples for "List packages for a user"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages?package_type=container
Response
Status: 200
[
{
"id": 197,
"name": "hello_docker",
"package_type": "container",
"owner": {
"login": "monalisa",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.monalisausercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/monalisa",
"html_url": "https://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "User",
"site_admin": false
},
"version_count": 1,
"visibility": "private",
"url": "https://api.github.com/orgs/github/packages/container/hello_docker",
"created_at": "2020-05-19T22:19:11Z",
"updated_at": "2020-05-19T22:19:11Z",
"html_url": "https://github.com/orgs/github/packages/container/package/hello_docker"
},
{
"id": 198,
"name": "goodbye_docker",
"package_type": "container",
"owner": {
"login": "github",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/monalisa",
"html_url": "https://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "User",
"site_admin": false
},
"version_count": 2,
"visibility": "private",
"url": "https://api.github.com/user/monalisa/packages/container/goodbye_docker",
"created_at": "2020-05-20T22:19:11Z",
"updated_at": "2020-05-20T22:19:11Z",
"html_url": "https://github.com/user/monalisa/packages/container/package/goodbye_docker"
}
]
Get a package for a user
Gets a specific package metadata for a public package owned by a user.
To use this endpoint, you must authenticate using an access token with the read:packages
scope. If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "Get a package for a user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
username stringRequiredThe handle for the GitHub user account. |
HTTP response status codes for "Get a package for a user"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get a package for a user"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME
Response
Status: 200
{
"id": 40201,
"name": "octo-name",
"package_type": "rubygems",
"owner": {
"login": "octocat",
"id": 209477,
"node_id": "MDQ6VXNlcjIwOTQ3Nw==",
"avatar_url": "https://avatars.githubusercontent.com/u/209477?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": true
},
"version_count": 3,
"visibility": "public",
"url": "https://api.github.com/users/octocat/packages/rubygems/octo-name",
"created_at": "2019-10-20T14:17:14Z",
"updated_at": "2019-10-20T14:17:14Z",
"repository": {
"id": 216219492,
"node_id": "MDEwOlJlcG9zaXRvcnkyMTYyMTk0OTI=",
"name": "octo-name-repo",
"full_name": "octocat/octo-name-repo",
"private": false,
"owner": {
"login": "octocat",
"id": 209477,
"node_id": "MDQ6VXNlcjIwOTQ3Nw==",
"avatar_url": "https://avatars.githubusercontent.com/u/209477?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": true
},
"html_url": "https://github.com/octocat/octo-name-repo",
"description": "Project for octocats",
"fork": false,
"url": "https://api.github.com/repos/octocat/octo-name-repo",
"forks_url": "https://api.github.com/repos/octocat/octo-name-repo/forks",
"keys_url": "https://api.github.com/repos/octocat/octo-name-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/octocat/octo-name-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/octocat/octo-name-repo/teams",
"hooks_url": "https://api.github.com/repos/octocat/octo-name-repo/hooks",
"issue_events_url": "https://api.github.com/repos/octocat/octo-name-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/octocat/octo-name-repo/events",
"assignees_url": "https://api.github.com/repos/octocat/octo-name-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/octocat/octo-name-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/octocat/octo-name-repo/tags",
"blobs_url": "https://api.github.com/repos/octocat/octo-name-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/octocat/octo-name-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/octocat/octo-name-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/octocat/octo-name-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/octocat/octo-name-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/octocat/octo-name-repo/languages",
"stargazers_url": "https://api.github.com/repos/octocat/octo-name-repo/stargazers",
"contributors_url": "https://api.github.com/repos/octocat/octo-name-repo/contributors",
"subscribers_url": "https://api.github.com/repos/octocat/octo-name-repo/subscribers",
"subscription_url": "https://api.github.com/repos/octocat/octo-name-repo/subscription",
"commits_url": "https://api.github.com/repos/octocat/octo-name-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/octocat/octo-name-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/octocat/octo-name-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/octocat/octo-name-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/octocat/octo-name-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/octocat/octo-name-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/octocat/octo-name-repo/merges",
"archive_url": "https://api.github.com/repos/octocat/octo-name-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/octocat/octo-name-repo/downloads",
"issues_url": "https://api.github.com/repos/octocat/octo-name-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/octocat/octo-name-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/octocat/octo-name-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/octocat/octo-name-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/octocat/octo-name-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/octocat/octo-name-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/octocat/octo-name-repo/deployments"
},
"html_url": "https://github.com/octocat/octo-name-repo/packages/40201"
}
Delete a package for a user
Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance.
To use this endpoint, you must authenticate using an access token with the read:packages
and delete:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "About permissions for GitHub Packages."
Parameters for "Delete a package for a user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
username stringRequiredThe handle for the GitHub user account. |
HTTP response status codes for "Delete a package for a user"
Status code | Description |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Delete a package for a user"
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME
Response
Status: 204
Restore a package for a user
Restores an entire package for a user.
You can restore a deleted package under the following conditions:
- The package was deleted within the last 30 days.
- The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
To use this endpoint, you must authenticate using an access token with the read:packages
and write:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "About permissions for GitHub Packages."
Parameters for "Restore a package for a user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
username stringRequiredThe handle for the GitHub user account. |
Query parameters |
Name, Type, Description |
token stringpackage token |
HTTP response status codes for "Restore a package for a user"
Status code | Description |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Restore a package for a user"
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME/restore
Response
Status: 204
List package versions for a package owned by a user
Lists package versions for a public package owned by a specified user.
To use this endpoint, you must authenticate using an access token with the read:packages
scope. If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "List package versions for a package owned by a user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
username stringRequiredThe handle for the GitHub user account. |
HTTP response status codes for "List package versions for a package owned by a user"
Status code | Description |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "List package versions for a package owned by a user"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME/versions
Response
Status: 200
[
{
"id": 3497268,
"name": "0.3.0",
"url": "https://api.github.com/users/octocat/packages/rubygems/octo-name/versions/3497268",
"package_html_url": "https://github.com/octocat/octo-name-repo/packages/40201",
"license": "MIT",
"created_at": "2020-08-31T15:22:11Z",
"updated_at": "2020-08-31T15:22:12Z",
"description": "Project for octocats",
"html_url": "https://github.com/octocat/octo-name-repo/packages/40201?version=0.3.0",
"metadata": {
"package_type": "rubygems"
}
},
{
"id": 387039,
"name": "0.2.0",
"url": "https://api.github.com/users/octocat/packages/rubygems/octo-name/versions/387039",
"package_html_url": "https://github.com/octocat/octo-name-repo/packages/40201",
"license": "MIT",
"created_at": "2019-12-01T20:49:29Z",
"updated_at": "2019-12-01T20:49:30Z",
"description": "Project for octocats",
"html_url": "https://github.com/octocat/octo-name-repo/packages/40201?version=0.2.0",
"metadata": {
"package_type": "rubygems"
}
},
{
"id": 169770,
"name": "0.1.0",
"url": "https://api.github.com/users/octocat/packages/rubygems/octo-name/versions/169770",
"package_html_url": "https://github.com/octocat/octo-name-repo/packages/40201",
"license": "MIT",
"created_at": "2019-10-20T14:17:14Z",
"updated_at": "2019-10-20T14:17:15Z",
"html_url": "https://github.com/octocat/octo-name-repo/packages/40201?version=0.1.0",
"metadata": {
"package_type": "rubygems"
}
}
]
Get a package version for a user
Gets a specific package version for a public package owned by a specified user.
At this time, to use this endpoint, you must authenticate using an access token with the read:packages
scope. If the package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo
scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Parameters for "Get a package version for a user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
package_version_id integerRequiredUnique identifier of the package version. |
username stringRequiredThe handle for the GitHub user account. |
HTTP response status codes for "Get a package version for a user"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get a package version for a user"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID
Response
Status: 200
{
"id": 387039,
"name": "0.2.0",
"url": "https://api.github.com/users/octocat/packages/rubygems/octo-name/versions/387039",
"package_html_url": "https://github.com/octocat/octo-name-repo/packages/40201",
"license": "MIT",
"created_at": "2019-12-01T20:49:29Z",
"updated_at": "2019-12-01T20:49:30Z",
"description": "Octo-name client for Ruby",
"html_url": "https://github.com/octocat/octo-name-repo/packages/40201?version=0.2.0",
"metadata": {
"package_type": "rubygems"
}
}
Delete package version for a user
Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance.
To use this endpoint, you must authenticate using an access token with the read:packages
and delete:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "About permissions for GitHub Packages."
Parameters for "Delete package version for a user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
username stringRequiredThe handle for the GitHub user account. |
package_version_id integerRequiredUnique identifier of the package version. |
HTTP response status codes for "Delete package version for a user"
Status code | Description |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Delete package version for a user"
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID
Response
Status: 204
Restore package version for a user
Restores a specific package version for a user.
You can restore a deleted package under the following conditions:
- The package was deleted within the last 30 days.
- The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
To use this endpoint, you must authenticate using an access token with the read:packages
and write:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "About permissions for GitHub Packages."
Parameters for "Restore package version for a user"
Headers |
---|
Name, Type, Description |
accept stringSetting to |
Path parameters |
Name, Type, Description |
package_type stringRequiredThe type of supported package. Packages in GitHub's Gradle registry have the type Can be one of: |
package_name stringRequiredThe name of the package. |
username stringRequiredThe handle for the GitHub user account. |
package_version_id integerRequiredUnique identifier of the package version. |
HTTP response status codes for "Restore package version for a user"
Status code | Description |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Restore package version for a user"
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID/restore
Response
Status: 204