Movatterモバイル変換


[0]ホーム

URL:


Skip to main content
GitHub Docs
The REST API is now versioned.For more information, see "About API versioning."

REST API endpoints for packages

Use the REST API to interact with GitHub Packages.

About GitHub Packages

GitHub Packages supports a range of package managers for publishing packages. For more information, seeIntroduction to GitHub Packages.

After you publish a package, you can use the REST API to manage the package in your GitHub repositories and organizations. For more information, seeDeleting and restoring a package.

To use the REST API to manage GitHub Packages, you must authenticate using a personal access token (classic).

  • To access package metadata, your token must include theread:packages scope.
  • To delete packages and package versions, your token must include theread:packages anddelete:packages scopes.
  • To restore packages and package versions, your token must include theread:packages andwrite:packages scopes.

If your package is in a registry that supports granular permissions, then your token does not need therepo scope to access or manage this package. If your package is in a registry that only supports repository-scoped permissions, then your token must also include therepo scope since your package inherits permissions from a GitHub repository. For a list of registries that only support repository-scoped permissions, seeAbout permissions for GitHub Packages.

Get list of conflicting packages during Docker migration for organization

Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint.

Fine-grained access tokens for "Get list of conflicting packages during Docker migration for organization"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

This endpoint can be used without authentication if only public resources are requested.

Parameters for "Get list of conflicting packages during Docker migration for organization"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
orgstringRequired

The organization name. The name is not case sensitive.

HTTP response status codes for "Get list of conflicting packages during Docker migration for organization"

Status codeDescription
200

OK

401

Requires authentication

403

Forbidden

Code samples for "Get list of conflicting packages during Docker migration for organization"

Request example

get/orgs/{org}/docker/conflicts
curl -L \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/docker/conflicts

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" }]

List packages for an organization

Lists packages in an organization readable by the user.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "List packages for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "List packages for an organization"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
orgstringRequired

The organization name. The name is not case sensitive.

Query parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

visibilitystring

The selected visibility of the packages. This parameter is optional and only filters an existing result set.

Theinternal visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystemsinternal is synonymous withprivate.For the list of GitHub Packages registries that support granular permissions, see "About permissions for GitHub Packages."

Can be one of:public,private,internal

pageinteger

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Default:1

per_pageinteger

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default:30

HTTP response status codes for "List packages for an organization"

Status codeDescription
200

OK

400

The value ofper_page multiplied bypage cannot be greater than 10000.

401

Requires authentication

403

Forbidden

Code samples for "List packages for an organization"

Request example

get/orgs/{org}/packages
curl -L \ -H "Accept: application/vnd.github+json" \ -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.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Get a package for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Get a package for an organization"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

orgstringRequired

The organization name. The name is not case sensitive.

HTTP response status codes for "Get a package for an organization"

Status codeDescription
200

OK

Code samples for "Get a package for an organization"

Request example

get/orgs/{org}/packages/{package_type}/{package_name}
curl -L \ -H "Accept: application/vnd.github+json" \ -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.

The authenticated user must have admin permissions in the organization to use this endpoint. If thepackage_type belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "About permissions for GitHub Packages."

OAuth app tokens and personal access tokens (classic) need theread:packages anddelete:packages scopes to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Delete a package for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Delete a package for an organization"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

orgstringRequired

The organization name. The name is not case sensitive.

HTTP response status codes for "Delete a package for an organization"

Status codeDescription
204

No Content

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "Delete a package for an organization"

Request example

delete/orgs/{org}/packages/{package_type}/{package_name}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -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.

The authenticated user must have admin permissions in the organization to use this endpoint. If thepackage_type belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "About permissions for GitHub Packages."

OAuth app tokens and personal access tokens (classic) need theread:packages andwrite:packages scopes to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Restore a package for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Restore a package for an organization"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

orgstringRequired

The organization name. The name is not case sensitive.

Query parameters
Name, Type, Description
tokenstring

package token

HTTP response status codes for "Restore a package for an organization"

Status codeDescription
204

No Content

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "Restore a package for an organization"

Request example

post/orgs/{org}/packages/{package_type}/{package_name}/restore
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -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.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "List package versions for a package owned by an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "List package versions for a package owned by an organization"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

orgstringRequired

The organization name. The name is not case sensitive.

Query parameters
Name, Type, Description
pageinteger

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Default:1

per_pageinteger

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default:30

statestring

The state of the package, either active or deleted.

Default:active

Can be one of:active,deleted

HTTP response status codes for "List package versions for a package owned by an organization"

Status codeDescription
200

OK

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "List package versions for a package owned by an organization"

Request example

get/orgs/{org}/packages/{package_type}/{package_name}/versions
curl -L \ -H "Accept: application/vnd.github+json" \ -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.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Get a package version for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Get a package version for an organization"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

orgstringRequired

The organization name. The name is not case sensitive.

package_version_idintegerRequired

Unique identifier of the package version.

HTTP response status codes for "Get a package version for an organization"

Status codeDescription
200

OK

Code samples for "Get a package version for an organization"

Request example

get/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -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.

The authenticated user must have admin permissions in the organization to use this endpoint. If thepackage_type belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "About permissions for GitHub Packages."

OAuth app tokens and personal access tokens (classic) need theread:packages anddelete:packages scopes to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Delete package version for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Delete package version for an organization"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

orgstringRequired

The organization name. The name is not case sensitive.

package_version_idintegerRequired

Unique identifier of the package version.

HTTP response status codes for "Delete package version for an organization"

Status codeDescription
204

No Content

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "Delete package version for an organization"

Request example

delete/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -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.

The authenticated user must have admin permissions in the organization to use this endpoint. If thepackage_type belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "About permissions for GitHub Packages."

OAuth app tokens and personal access tokens (classic) need theread:packages andwrite:packages scopes to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Restore package version for an organization"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Restore package version for an organization"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

orgstringRequired

The organization name. The name is not case sensitive.

package_version_idintegerRequired

Unique identifier of the package version.

HTTP response status codes for "Restore package version for an organization"

Status codeDescription
204

No Content

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "Restore package version for an organization"

Request example

post/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -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

Get list of conflicting packages during Docker migration for authenticated-user

Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint.

Fine-grained access tokens for "Get list of conflicting packages during Docker migration for authenticated-user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

HTTP response status codes for "Get list of conflicting packages during Docker migration for authenticated-user"

Status codeDescription
200

OK

Code samples for "Get list of conflicting packages during Docker migration for authenticated-user"

Request example

get/user/docker/conflicts
curl -L \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/docker/conflicts

Response

Status: 200
[ { "id": 197, "name": "hello_docker", "package_type": "container", "owner": { "login": "octocat", "id": 9919, "node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=", "avatar_url": "https://avatars.octocatusercontent.com/u/9919?v=4", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "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/octocat", "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/octocat/packages/container/goodbye_docker", "created_at": "2020-05-20T22:19:11Z", "updated_at": "2020-05-20T22:19:11Z", "html_url": "https://github.com/user/octocat/packages/container/package/goodbye_docker" }]

List packages for the authenticated user's namespace

Lists packages owned by the authenticated user within the user's namespace.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "List packages for the authenticated user's namespace"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "List packages for the authenticated user's namespace"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Query parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

visibilitystring

The selected visibility of the packages. This parameter is optional and only filters an existing result set.

Theinternal visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystemsinternal is synonymous withprivate.For the list of GitHub Packages registries that support granular permissions, see "About permissions for GitHub Packages."

Can be one of:public,private,internal

pageinteger

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Default:1

per_pageinteger

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default:30

HTTP response status codes for "List packages for the authenticated user's namespace"

Status codeDescription
200

OK

400

The value ofper_page multiplied bypage cannot be greater than 10000.

Code samples for "List packages for the authenticated user's namespace"

Request example

get/user/packages
curl -L \ -H "Accept: application/vnd.github+json" \ -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": "octocat", "id": 9919, "node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=", "avatar_url": "https://avatars.octocatusercontent.com/u/9919?v=4", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "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/octocat", "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/octocat/packages/container/goodbye_docker", "created_at": "2020-05-20T22:19:11Z", "updated_at": "2020-05-20T22:19:11Z", "html_url": "https://github.com/user/octocat/packages/container/package/goodbye_docker" }]

Get a package for the authenticated user

Gets a specific package for a package owned by the authenticated user.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Get a package for the authenticated user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Get a package for the authenticated user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

HTTP response status codes for "Get a package for the authenticated user"

Status codeDescription
200

OK

Code samples for "Get a package for the authenticated user"

Request example

get/user/packages/{package_type}/{package_name}
curl -L \ -H "Accept: application/vnd.github+json" \ -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.

OAuth app tokens and personal access tokens (classic) need theread:packages anddelete:packages scopes to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Delete a package for the authenticated user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Delete a package for the authenticated user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

HTTP response status codes for "Delete a package for the authenticated user"

Status codeDescription
204

No Content

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "Delete a package for the authenticated user"

Request example

delete/user/packages/{package_type}/{package_name}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -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.

OAuth app tokens and personal access tokens (classic) need theread:packages andwrite:packages scopes to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Restore a package for the authenticated user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Restore a package for the authenticated user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

Query parameters
Name, Type, Description
tokenstring

package token

HTTP response status codes for "Restore a package for the authenticated user"

Status codeDescription
204

No Content

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "Restore a package for the authenticated user"

Request example

post/user/packages/{package_type}/{package_name}/restore
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -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.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "List package versions for a package owned by the authenticated user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "List package versions for a package owned by the authenticated user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

Query parameters
Name, Type, Description
pageinteger

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Default:1

per_pageinteger

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default:30

statestring

The state of the package, either active or deleted.

Default:active

Can be one of:active,deleted

HTTP response status codes for "List package versions for a package owned by the authenticated user"

Status codeDescription
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"

Request example

get/user/packages/{package_type}/{package_name}/versions
curl -L \ -H "Accept: application/vnd.github+json" \ -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.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Get a package version for the authenticated user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Get a package version for the authenticated user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

package_version_idintegerRequired

Unique identifier of the package version.

HTTP response status codes for "Get a package version for the authenticated user"

Status codeDescription
200

OK

Code samples for "Get a package version for the authenticated user"

Request example

get/user/packages/{package_type}/{package_name}/versions/{package_version_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -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.

The authenticated user must have admin permissions in the organization to use this endpoint.

OAuth app tokens and personal access tokens (classic) need theread:packages anddelete:packages scopes to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Delete a package version for the authenticated user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Delete a package version for the authenticated user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

package_version_idintegerRequired

Unique identifier of the package version.

HTTP response status codes for "Delete a package version for the authenticated user"

Status codeDescription
204

No Content

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "Delete a package version for the authenticated user"

Request example

delete/user/packages/{package_type}/{package_name}/versions/{package_version_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -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.

OAuth app tokens and personal access tokens (classic) need theread:packages andwrite:packages scopes to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Restore a package version for the authenticated user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Restore a package version for the authenticated user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

package_version_idintegerRequired

Unique identifier of the package version.

HTTP response status codes for "Restore a package version for the authenticated user"

Status codeDescription
204

No Content

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "Restore a package version for the authenticated user"

Request example

post/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -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

Get list of conflicting packages during Docker migration for user

Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint.

Fine-grained access tokens for "Get list of conflicting packages during Docker migration for user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

This endpoint can be used without authentication if only public resources are requested.

Parameters for "Get list of conflicting packages during Docker migration for user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
usernamestringRequired

The handle for the GitHub user account.

HTTP response status codes for "Get list of conflicting packages during Docker migration for user"

Status codeDescription
200

OK

401

Requires authentication

403

Forbidden

Code samples for "Get list of conflicting packages during Docker migration for user"

Request example

get/users/{username}/docker/conflicts
curl -L \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/users/USERNAME/docker/conflicts

Response

Status: 200
[ { "id": 197, "name": "hello_docker", "package_type": "container", "owner": { "login": "octocat", "id": 9919, "node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=", "avatar_url": "https://avatars.octocatusercontent.com/u/9919?v=4", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "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/octocat", "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/octocat/packages/container/goodbye_docker", "created_at": "2020-05-20T22:19:11Z", "updated_at": "2020-05-20T22:19:11Z", "html_url": "https://github.com/user/octocat/packages/container/package/goodbye_docker" }]

List packages for a user

Lists all packages in a user's namespace for which the requesting user has access.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "List packages for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "List packages for a user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
usernamestringRequired

The handle for the GitHub user account.

Query parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

visibilitystring

The selected visibility of the packages. This parameter is optional and only filters an existing result set.

Theinternal visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystemsinternal is synonymous withprivate.For the list of GitHub Packages registries that support granular permissions, see "About permissions for GitHub Packages."

Can be one of:public,private,internal

pageinteger

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Default:1

per_pageinteger

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default:30

HTTP response status codes for "List packages for a user"

Status codeDescription
200

OK

400

The value ofper_page multiplied bypage cannot be greater than 10000.

401

Requires authentication

403

Forbidden

Code samples for "List packages for a user"

Request example

get/users/{username}/packages
curl -L \ -H "Accept: application/vnd.github+json" \ -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": "octocat", "id": 9919, "node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=", "avatar_url": "https://avatars.octocatusercontent.com/u/9919?v=4", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "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/octocat", "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/octocat/packages/container/goodbye_docker", "created_at": "2020-05-20T22:19:11Z", "updated_at": "2020-05-20T22:19:11Z", "html_url": "https://github.com/user/octocat/packages/container/package/goodbye_docker" }]

Get a package for a user

Gets a specific package metadata for a public package owned by a user.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Get a package for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Get a package for a user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

usernamestringRequired

The handle for the GitHub user account.

HTTP response status codes for "Get a package for a user"

Status codeDescription
200

OK

Code samples for "Get a package for a user"

Request example

get/users/{username}/packages/{package_type}/{package_name}
curl -L \ -H "Accept: application/vnd.github+json" \ -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.

If thepackage_type belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "About permissions for GitHub Packages."

OAuth app tokens and personal access tokens (classic) need theread:packages anddelete:packages scopes to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Delete a package for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Delete a package for a user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

usernamestringRequired

The handle for the GitHub user account.

HTTP response status codes for "Delete a package for a user"

Status codeDescription
204

No Content

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "Delete a package for a user"

Request example

delete/users/{username}/packages/{package_type}/{package_name}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -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.

If thepackage_type belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "About permissions for GitHub Packages."

OAuth app tokens and personal access tokens (classic) need theread:packages andwrite:packages scopes to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Restore a package for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Restore a package for a user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

usernamestringRequired

The handle for the GitHub user account.

Query parameters
Name, Type, Description
tokenstring

package token

HTTP response status codes for "Restore a package for a user"

Status codeDescription
204

No Content

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "Restore a package for a user"

Request example

post/users/{username}/packages/{package_type}/{package_name}/restore
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -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.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "List package versions for a package owned by a user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "List package versions for a package owned by a user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

usernamestringRequired

The handle for the GitHub user account.

HTTP response status codes for "List package versions for a package owned by a user"

Status codeDescription
200

OK

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "List package versions for a package owned by a user"

Request example

get/users/{username}/packages/{package_type}/{package_name}/versions
curl -L \ -H "Accept: application/vnd.github+json" \ -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.

OAuth app tokens and personal access tokens (classic) need theread:packages scope to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Get a package version for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Get a package version for a user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

package_version_idintegerRequired

Unique identifier of the package version.

usernamestringRequired

The handle for the GitHub user account.

HTTP response status codes for "Get a package version for a user"

Status codeDescription
200

OK

Code samples for "Get a package version for a user"

Request example

get/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -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.

If thepackage_type belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "About permissions for GitHub Packages."

OAuth app tokens and personal access tokens (classic) need theread:packages anddelete:packages scopes to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Delete package version for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Delete package version for a user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

usernamestringRequired

The handle for the GitHub user account.

package_version_idintegerRequired

Unique identifier of the package version.

HTTP response status codes for "Delete package version for a user"

Status codeDescription
204

No Content

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "Delete package version for a user"

Request example

delete/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -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.

If thepackage_type belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "About permissions for GitHub Packages."

OAuth app tokens and personal access tokens (classic) need theread:packages andwrite:packages scopes to use this endpoint. For more information, see "About permissions for GitHub Packages."

Fine-grained access tokens for "Restore package version for a user"

This endpoint works with the following fine-grained token types:

The fine-grained token does not require any permissions.

Parameters for "Restore package version for a user"

Headers
Name, Type, Description
acceptstring

Setting toapplication/vnd.github+json is recommended.

Path parameters
Name, Type, Description
package_typestringRequired

The type of supported package. Packages in GitHub's Gradle registry have the typemaven. Docker images pushed to GitHub's Container registry (ghcr.io) have the typecontainer. You can use the typedocker to find images that were pushed to GitHub's Docker registry (docker.pkg.github.com), even if these have now been migrated to the Container registry.

Can be one of:npm,maven,rubygems,docker,nuget,container

package_namestringRequired

The name of the package.

usernamestringRequired

The handle for the GitHub user account.

package_version_idintegerRequired

Unique identifier of the package version.

HTTP response status codes for "Restore package version for a user"

Status codeDescription
204

No Content

401

Requires authentication

403

Forbidden

404

Resource not found

Code samples for "Restore package version for a user"

Request example

post/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -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

[8]ページ先頭

©2009-2025 Movatter.jp