APIs.io Engineering Platform Packages API

Manage packages for authenticated users and organizations.

Operations 27

GET /orgs/{org}/docker/conflicts APIs.io Engineering Platform Get list of conflicting packages during Docker migration for organization #
GET /orgs/{org}/packages APIs.io Engineering Platform List packages for an organization #
GET /orgs/{org}/packages/{package_type}/{package_name} APIs.io Engineering Platform Get a package for an organization #
DELETE /orgs/{org}/packages/{package_type}/{package_name} APIs.io Engineering Platform Delete a package for an organization #
POST /orgs/{org}/packages/{package_type}/{package_name}/restore APIs.io Engineering Platform Restore a package for an organization #
GET /orgs/{org}/packages/{package_type}/{package_name}/versions APIs.io Engineering Platform List package versions for a package owned by an organization #
GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id} APIs.io Engineering Platform Get a package version for an organization #
DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id} APIs.io Engineering Platform Delete package version for an organization #
POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore APIs.io Engineering Platform Restore package version for an organization #
GET /user/docker/conflicts APIs.io Engineering Platform Get list of conflicting packages during Docker migration for authenticated-user #
GET /user/packages APIs.io Engineering Platform List packages for the authenticated user's namespace #
GET /user/packages/{package_type}/{package_name} APIs.io Engineering Platform Get a package for the authenticated user #
DELETE /user/packages/{package_type}/{package_name} APIs.io Engineering Platform Delete a package for the authenticated user #
POST /user/packages/{package_type}/{package_name}/restore APIs.io Engineering Platform Restore a package for the authenticated user #
GET /user/packages/{package_type}/{package_name}/versions APIs.io Engineering Platform List package versions for a package owned by the authenticated user #
GET /user/packages/{package_type}/{package_name}/versions/{package_version_id} APIs.io Engineering Platform Get a package version for the authenticated user #
DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id} APIs.io Engineering Platform Delete a package version for the authenticated user #
POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore APIs.io Engineering Platform Restore a package version for the authenticated user #
GET /users/{username}/docker/conflicts APIs.io Engineering Platform Get list of conflicting packages during Docker migration for user #
GET /users/{username}/packages APIs.io Engineering Platform List packages for a user #
GET /users/{username}/packages/{package_type}/{package_name} APIs.io Engineering Platform Get a package for a user #
DELETE /users/{username}/packages/{package_type}/{package_name} APIs.io Engineering Platform Delete a package for a user #
POST /users/{username}/packages/{package_type}/{package_name}/restore APIs.io Engineering Platform Restore a package for a user #
GET /users/{username}/packages/{package_type}/{package_name}/versions APIs.io Engineering Platform List package versions for a package owned by a user #
GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id} APIs.io Engineering Platform Get a package version for a user #
DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id} APIs.io Engineering Platform Delete package version for a user #
POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore APIs.io Engineering Platform Restore package version for a user #

Documentation

Specifications

Other Resources

🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-1ab188a6-cc1f-490d-9413-9c6da20918d0?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-0e94f581-cbc1-48e0-b594-1f6b3d07a328?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-4517d93a-e7f7-4dc2-b572-06762bbe14de?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-88f9ddbb-3115-47dc-b6e5-7fc6f1d2a190?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-3a12caae-4945-4df4-8ab9-bb6219ba7a9f?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-863b18f0-c2f2-4e32-a5fa-0d1e6ccf77a9?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-189876d1-f207-49a2-a4bc-5c67ae78cd19?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-c1e74fd9-3f84-4d95-943d-d645d6cb82f7?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-b002164d-6e8a-4b6d-b409-4929476e7818?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-508660fd-30b8-4c9c-aede-8edbac8a514d?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-da35e0ba-f1a9-42fe-a77a-56ff0a47e341?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-1d4df7d0-9c92-4fa8-946f-2110c2b3b48d?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-2af6f54f-d259-46c0-8f86-78856f5885cd?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-cc203f31-e7f6-42ec-ad34-c5c4cde58904?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-f19285da-48dd-4691-bbdf-f7d6bec157a3?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-aa69cacc-4bbf-4724-a1d4-78cdad57fee8?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-a5858f86-04d3-4e15-ae11-b42c7516688b?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-c2052341-766c-43c7-b1dc-ed4985e4606b?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-aa777c90-8271-4809-8eac-3ec39a9a899c?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-4d5957dc-df05-4216-a5fc-d46b3ba811d8?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-28d97617-fdba-46a5-ac3e-40f3d2e0fa57?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-7429b451-d812-4abc-b497-b763372cf5c5?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-b0eafdd0-adaa-48a2-a855-6a31beb86d83?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-209f34ef-13c1-400c-bca8-fcddb304aff5?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-fb2bbbb8-d4cc-48b1-a660-c8e158bfbbea?action=share&creator=35240

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/engineering-platform-packages-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

engineering-platform-packages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.1.4
  title: APIs.io Engineering Platform GitHub v3 REST Packages API
  description: GitHub's v3 REST API.
  license:
    name: MIT
    url: https://spdx.org/licenses/MIT
  termsOfService: https://docs.github.com/articles/github-terms-of-service
  contact:
    name: Support
    url: https://support.github.com/contact?tags=dotcom-rest-api
  x-github-plan: ghes
  x-github-release: 3.9
servers:
- url: '{protocol}://{hostname}/api/v3'
  variables:
    hostname:
      description: Self-hosted Enterprise Server hostname
      default: HOSTNAME
    protocol:
      description: Self-hosted Enterprise Server protocol
      default: http
tags:
- name: Packages
  description: Manage packages for authenticated users and organizations.
paths:
  /orgs/{org}/docker/conflicts:
    get:
      summary: APIs.io Engineering Platform Get list of conflicting packages during Docker migration for organization
      description: '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 the `read:packages` scope to use this endpoint.'
      tags:
      - Packages
      operationId: packages/list-docker-migration-conflicting-packages-for-organization
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-organization
      parameters:
      - $ref: '#/components/parameters/org'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/package'
              examples:
                default:
                  $ref: '#/components/examples/packages-for-org'
        '403':
          $ref: '#/components/responses/forbidden'
        '401':
          $ref: '#/components/responses/requires_authentication'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
  /orgs/{org}/packages:
    get:
      summary: APIs.io Engineering Platform List packages for an organization
      description: 'Lists packages in an organization readable by the user.


        OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."'
      tags:
      - Packages
      operationId: packages/list-packages-for-organization
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#list-packages-for-an-organization
      parameters:
      - name: package_type
        description: The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` 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.
        in: query
        required: true
        schema:
          type: string
          enum:
          - npm
          - maven
          - rubygems
          - docker
          - nuget
          - container
      - $ref: '#/components/parameters/org'
      - $ref: '#/components/parameters/package-visibility'
      - name: page
        description: The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/enterprise-server@3.9/rest/using-the-rest-api/using-pagination-in-the-rest-api)."
        in: query
        schema:
          type: integer
          default: 1
      - name: per_page
        description: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/enterprise-server@3.9/rest/using-the-rest-api/using-pagination-in-the-rest-api)."
        in: query
        schema:
          type: integer
          default: 30
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/package'
              examples:
                default:
                  $ref: '#/components/examples/packages-for-org'
        '403':
          $ref: '#/components/responses/forbidden'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '400':
          $ref: '#/components/responses/package_es_list_error'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
  /orgs/{org}/packages/{package_type}/{package_name}:
    get:
      summary: APIs.io Engineering Platform Get a package for an organization
      description: 'Gets a specific package in an organization.


        OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."'
      tags:
      - Packages
      operationId: packages/get-package-for-organization
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#get-a-package-for-an-organization
      parameters:
      - $ref: '#/components/parameters/package-type'
      - $ref: '#/components/parameters/package-name'
      - $ref: '#/components/parameters/org'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/package'
              examples:
                default:
                  $ref: '#/components/examples/package-org'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
    delete:
      summary: APIs.io Engineering Platform Delete a package for an organization
      description: '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 the `package_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](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)."


        OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."'
      tags:
      - Packages
      operationId: packages/delete-package-for-org
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#delete-a-package-for-an-organization
      parameters:
      - $ref: '#/components/parameters/package-type'
      - $ref: '#/components/parameters/package-name'
      - $ref: '#/components/parameters/org'
      responses:
        '204':
          description: Response
        '404':
          $ref: '#/components/responses/not_found'
        '403':
          $ref: '#/components/responses/forbidden'
        '401':
          $ref: '#/components/responses/requires_authentication'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
  /orgs/{org}/packages/{package_type}/{package_name}/restore:
    post:
      summary: APIs.io Engineering Platform Restore a package for an organization
      description: "Restores an entire package in an organization.\n\nYou can restore a deleted package under the following conditions:\n  - The package was deleted within the last 30 days.\n  - 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.\n\nThe authenticated user must have admin permissions in the organization to use this endpoint. If the `package_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](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages).\"\n\nOAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see \"[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages).\""
      tags:
      - Packages
      operationId: packages/restore-package-for-org
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#restore-a-package-for-an-organization
      parameters:
      - $ref: '#/components/parameters/package-type'
      - $ref: '#/components/parameters/package-name'
      - $ref: '#/components/parameters/org'
      - name: token
        description: package token
        schema:
          type: string
        required: false
        in: query
      responses:
        '204':
          description: Response
        '404':
          $ref: '#/components/responses/not_found'
        '403':
          $ref: '#/components/responses/forbidden'
        '401':
          $ref: '#/components/responses/requires_authentication'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
  /orgs/{org}/packages/{package_type}/{package_name}/versions:
    get:
      summary: APIs.io Engineering Platform List package versions for a package owned by an organization
      description: 'Lists package versions for a package owned by an organization.


        OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."'
      tags:
      - Packages
      operationId: packages/get-all-package-versions-for-package-owned-by-org
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#list-package-versions-for-a-package-owned-by-an-organization
      parameters:
      - $ref: '#/components/parameters/package-type'
      - $ref: '#/components/parameters/package-name'
      - $ref: '#/components/parameters/org'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per-page'
      - name: state
        in: query
        required: false
        description: The state of the package, either active or deleted.
        schema:
          type: string
          enum:
          - active
          - deleted
          default: active
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/package-version'
              examples:
                default:
                  $ref: '#/components/examples/package-versions-for-org'
        '404':
          $ref: '#/components/responses/not_found'
        '403':
          $ref: '#/components/responses/forbidden'
        '401':
          $ref: '#/components/responses/requires_authentication'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
  /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}:
    get:
      summary: APIs.io Engineering Platform Get a package version for an organization
      description: 'Gets a specific package version in an organization.


        OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."'
      tags:
      - Packages
      operationId: packages/get-package-version-for-organization
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#get-a-package-version-for-an-organization
      parameters:
      - $ref: '#/components/parameters/package-type'
      - $ref: '#/components/parameters/package-name'
      - $ref: '#/components/parameters/org'
      - $ref: '#/components/parameters/package-version-id'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/package-version'
              examples:
                default:
                  $ref: '#/components/examples/package-version-org'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
    delete:
      summary: APIs.io Engineering Platform Delete package version for an organization
      description: '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 the `package_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](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)."


        OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."'
      tags:
      - Packages
      operationId: packages/delete-package-version-for-org
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#delete-package-version-for-an-organization
      parameters:
      - $ref: '#/components/parameters/package-type'
      - $ref: '#/components/parameters/package-name'
      - $ref: '#/components/parameters/org'
      - $ref: '#/components/parameters/package-version-id'
      responses:
        '204':
          description: Response
        '404':
          $ref: '#/components/responses/not_found'
        '403':
          $ref: '#/components/responses/forbidden'
        '401':
          $ref: '#/components/responses/requires_authentication'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
  /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore:
    post:
      summary: APIs.io Engineering Platform Restore package version for an organization
      description: "Restores a specific package version in an organization.\n\nYou can restore a deleted package under the following conditions:\n  - The package was deleted within the last 30 days.\n  - 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.\n\nThe authenticated user must have admin permissions in the organization to use this endpoint. If the `package_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](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages).\"\n\nOAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see \"[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages).\""
      tags:
      - Packages
      operationId: packages/restore-package-version-for-org
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#restore-package-version-for-an-organization
      parameters:
      - $ref: '#/components/parameters/package-type'
      - $ref: '#/components/parameters/package-name'
      - $ref: '#/components/parameters/org'
      - $ref: '#/components/parameters/package-version-id'
      responses:
        '204':
          description: Response
        '404':
          $ref: '#/components/responses/not_found'
        '403':
          $ref: '#/components/responses/forbidden'
        '401':
          $ref: '#/components/responses/requires_authentication'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
  /user/docker/conflicts:
    get:
      summary: APIs.io Engineering Platform Get list of conflicting packages during Docker migration for authenticated-user
      description: '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 the `read:packages` scope to use this endpoint.'
      tags:
      - Packages
      operationId: packages/list-docker-migration-conflicting-packages-for-authenticated-user
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-authenticated-user
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/package'
              examples:
                default:
                  $ref: '#/components/examples/packages-for-user'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
  /user/packages:
    get:
      summary: APIs.io Engineering Platform List packages for the authenticated user's namespace
      description: 'Lists packages owned by the authenticated user within the user''s namespace.


        OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."'
      tags:
      - Packages
      operationId: packages/list-packages-for-authenticated-user
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#list-packages-for-the-authenticated-users-namespace
      parameters:
      - name: package_type
        description: The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` 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.
        in: query
        required: true
        schema:
          type: string
          enum:
          - npm
          - maven
          - rubygems
          - docker
          - nuget
          - container
      - $ref: '#/components/parameters/package-visibility'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per-page'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/package'
              examples:
                default:
                  $ref: '#/components/examples/packages-for-user'
        '400':
          $ref: '#/components/responses/package_es_list_error'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
  /user/packages/{package_type}/{package_name}:
    get:
      summary: APIs.io Engineering Platform Get a package for the authenticated user
      description: 'Gets a specific package for a package owned by the authenticated user.


        OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."'
      tags:
      - Packages
      operationId: packages/get-package-for-authenticated-user
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#get-a-package-for-the-authenticated-user
      parameters:
      - $ref: '#/components/parameters/package-type'
      - $ref: '#/components/parameters/package-name'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/package'
              examples:
                default:
                  $ref: '#/components/examples/package-user'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
    delete:
      summary: APIs.io Engineering Platform Delete a package for the authenticated user
      description: '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 the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, `repo` scope is also required. For the list these registries, see "[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."'
      tags:
      - Packages
      operationId: packages/delete-package-for-authenticated-user
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#delete-a-package-for-the-authenticated-user
      parameters:
      - $ref: '#/components/parameters/package-type'
      - $ref: '#/components/parameters/package-name'
      responses:
        '204':
          description: Response
        '404':
          $ref: '#/components/responses/not_found'
        '403':
          $ref: '#/components/responses/forbidden'
        '401':
          $ref: '#/components/responses/requires_authentication'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
  /user/packages/{package_type}/{package_name}/restore:
    post:
      summary: APIs.io Engineering Platform Restore a package for the authenticated user
      description: "Restores a package owned by the authenticated user.\n\nYou can restore a deleted package under the following conditions:\n  - The package was deleted within the last 30 days.\n  - 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.\n\nOAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see \"[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages).\""
      tags:
      - Packages
      operationId: packages/restore-package-for-authenticated-user
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#restore-a-package-for-the-authenticated-user
      parameters:
      - $ref: '#/components/parameters/package-type'
      - $ref: '#/components/parameters/package-name'
      - name: token
        description: package token
        schema:
          type: string
        required: false
        in: query
      responses:
        '204':
          description: Response
        '404':
          $ref: '#/components/responses/not_found'
        '403':
          $ref: '#/components/responses/forbidden'
        '401':
          $ref: '#/components/responses/requires_authentication'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
  /user/packages/{package_type}/{package_name}/versions:
    get:
      summary: APIs.io Engineering Platform List package versions for a package owned by the authenticated user
      description: 'Lists package versions for a package owned by the authenticated user.


        OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/enterprise-server@3.9/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."'
      tags:
      - Packages
      operationId: packages/get-all-package-versions-for-package-owned-by-authenticated-user
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/packages/packages#list-package-versions-for-a-package-owned-by-the-authenticated-user
      parameters:
      - $ref: '#/components/parameters/package-type'
      - $ref: '#/components/parameters/package-name'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per-page'
      - name: state
        in: query
        required: false
        description: The state of the package, either active or deleted.
        schema:
          type: string
          enum:
          - active
          - deleted
          default: active
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/package-version'
              examples:
                default:
                  $ref: '#/components/examples/package-versions-for-authenticated-user'
        '404':
          $ref: '#/components/responses/not_found'
        '403':
          $ref: '#/components/responses/forbidden'
        '401':
          $ref: '#/components/responses/requires_authentication'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
  /user/packages/{package_type}/{package_name}/versions/{package_version_id}:
    get:
      summary: APIs.io Engineering Platform Get a package version for the authenticated user
      description: 'Gets a specific package version for a package owned by the authenticated user.


        OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `re

# --- truncated at 32 KB (100 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/engineering-platform/refs/heads/main/openapi/engineering-platform-packages-api-openapi.yml