How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

GitHub Packages API

Manage packages for authenticated users and organizations.

GitHub Packages API is one of 350 APIs that GitHub publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include Packages. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an AsyncAPI specification, and an API reference.

This API exposes 27 operations across 21 paths, and defines 8 schemas. It is described by OpenAPI 3.2.0, at version 1.1.4.

Requests are made against a single base URL, {protocol}://{hostname}/api/v3.

27 operations 21 paths 8 schemas 6 DELETE15 GET6 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.1.4
Base URL
https://api.github.com
Authentication
HTTP Bearer
Contact
License
Terms of Service
Resource Areas
1

Authentication & Security 1

GitHub Packages API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (bearerHttpAuthentication).

  • bearerHttpAuthentication — Bearer Token

Paths & Operations 27

Across 21 paths, the API surfaces 27 operations — 6 DELETE, 15 GET, 6 POST. Each is listed below with its method, path, parameters, and response codes.

Packages 27

Manage packages for authenticated users and organizations.

GET
/orgs/{org}/docker/conflicts
GitHub Get List of Conflicting Packages During Docker Migration for Organization
packages/list-docker-migration-conflicting-packages-for-organization 1 param → 200401403
GET
/orgs/{org}/packages
GitHub List Packages for an Organization
packages/list-packages-for-organization 5 params → 200400401403
GET
/orgs/{org}/packages/{package_type}/{package_name}
GitHub Get a Package for an Organization
packages/get-package-for-organization 3 params → 200
DELETE
/orgs/{org}/packages/{package_type}/{package_name}
GitHub Delete a Package for an Organization
packages/delete-package-for-org 3 params → 204401403404
POST
/orgs/{org}/packages/{package_type}/{package_name}/restore
GitHub Restore a Package for an Organization
packages/restore-package-for-org 4 params → 204401403404
GET
/orgs/{org}/packages/{package_type}/{package_name}/versions
GitHub List Package Versions for a Package Owned by an Organization
packages/get-all-package-versions-for-package-owned-by-org 6 params → 200401403404
GET
/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}
GitHub Get a Package Version for an Organization
packages/get-package-version-for-organization 4 params → 200
DELETE
/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}
GitHub Delete Package Version for an Organization
packages/delete-package-version-for-org 4 params → 204401403404
POST
/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
GitHub Restore Package Version for an Organization
packages/restore-package-version-for-org 4 params → 204401403404
GET
/user/docker/conflicts
GitHub Get List of Conflicting Packages During Docker Migration for Authenticated-user
packages/list-docker-migration-conflicting-packages-for-authenticated-user → 200
GET
/user/packages
GitHub List Packages for the Authenticated User's Namespace
packages/list-packages-for-authenticated-user 4 params → 200400
GET
/user/packages/{package_type}/{package_name}
GitHub Get a Package for the Authenticated User
packages/get-package-for-authenticated-user 2 params → 200
DELETE
/user/packages/{package_type}/{package_name}
GitHub Delete a Package for the Authenticated User
packages/delete-package-for-authenticated-user 2 params → 204401403404
POST
/user/packages/{package_type}/{package_name}/restore
GitHub Restore a Package for the Authenticated User
packages/restore-package-for-authenticated-user 3 params → 204401403404
GET
/user/packages/{package_type}/{package_name}/versions
GitHub List Package Versions for a Package Owned by the Authenticated User
packages/get-all-package-versions-for-package-owned-by-authenticated-user 5 params → 200401403404
GET
/user/packages/{package_type}/{package_name}/versions/{package_version_id}
GitHub Get a Package Version for the Authenticated User
packages/get-package-version-for-authenticated-user 3 params → 200
DELETE
/user/packages/{package_type}/{package_name}/versions/{package_version_id}
GitHub Delete a Package Version for the Authenticated User
packages/delete-package-version-for-authenticated-user 3 params → 204401403404
POST
/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
GitHub Restore a Package Version for the Authenticated User
packages/restore-package-version-for-authenticated-user 3 params → 204401403404
GET
/users/{username}/docker/conflicts
GitHub Get List of Conflicting Packages During Docker Migration for User
packages/list-docker-migration-conflicting-packages-for-user 1 param → 200401403
GET
/users/{username}/packages
GitHub List Packages for a User
packages/list-packages-for-user 5 params → 200400401403
GET
/users/{username}/packages/{package_type}/{package_name}
GitHub Get a Package for a User
packages/get-package-for-user 3 params → 200
DELETE
/users/{username}/packages/{package_type}/{package_name}
GitHub Delete a Package for a User
packages/delete-package-for-user 3 params → 204401403404
POST
/users/{username}/packages/{package_type}/{package_name}/restore
GitHub Restore a Package for a User
packages/restore-package-for-user 4 params → 204401403404
GET
/users/{username}/packages/{package_type}/{package_name}/versions
GitHub List Package Versions for a Package Owned by a User
packages/get-all-package-versions-for-package-owned-by-user 3 params → 200401403404
GET
/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}
GitHub Get a Package Version for a User
packages/get-package-version-for-user 4 params → 200
DELETE
/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}
GitHub Delete Package Version for a User
packages/delete-package-version-for-user 4 params → 204401403404
POST
/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
GitHub Restore Package Version for a User
packages/restore-package-version-for-user 4 params → 204401403404

Schemas 8

The contract defines 8 schemas that model the data the API accepts and returns. The most detailed are nullable-minimal-repository (87 properties), simple-user (21 properties), nullable-simple-user (21 properties), package-version (11 properties). Each schema is shown below with its type and property counts.

code-of-conduct
object
Code Of Conduct
5 properties 4 required
nullable-minimal-repository
objectnull
Minimal Repository
87 properties 46 required
security-and-analysis
objectnull
3 properties
simple-user
object
A GitHub user.
21 properties 18 required
package
object
A software package
11 properties 9 required
package-version
object
A version of a software package
11 properties 6 required
basic-error
object
Basic Error
4 properties
nullable-simple-user
objectnull
A GitHub user.
21 properties 18 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

github-packages-api-openapi.yml Raw ↑

Other APIs GitHub publishes across the network.

GitHub Events API
GitHub Feeds API
GitHub Gists API
GitHub Issues API
GitHub Licenses API
GitHub Markdown API
GitHub Meta API
GitHub Notifications API
GitHub Octocat API
GitHub Projects API
GitHub Repos API
GitHub Search API
Where this information came from

This is an independent, third-party profile of GitHub Packages API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.