GitHub Migrations API

Move projects to or from GitHub.

Documentation

📖
Documentation
https://docs.github.com/en/rest/apps
📖
Documentation
https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/ https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api
📖
Documentation
https://docs.github.com/en/rest/codes-of-conduct/codes-of-conduct
📖
Documentation
https://docs.github.com/en/rest/emojis
📖
Documentation
https://docs.github.com/en/rest/gitignore
📖
Documentation
https://docs.github.com/en/rest/apps/installations
📖
Documentation
https://docs.github.com/en/rest/enterprise-admin
📖
Documentation
https://docs.github.com/en/rest/activity/events
📖
Documentation
https://docs.github.com/en/rest/orgs
📖
Documentation
https://docs.github.com/en/rest/rate-limit
📖
Documentation
https://docs.github.com/en/enterprise-cloud@latest/rest/scim
📖
Documentation
https://docs.github.com/en/rest/using-the-rest-api/getting-started-with-the-rest-api
📖
Documentation
https://docs.github.com/en/rest/teams
📖
Documentation
https://docs.github.com/en/rest/meta/meta
📖
Documentation
https://docs.github.com/en/rest/actions
📖
Documentation
https://docs.github.com/en/rest/branches
📖
Documentation
https://docs.github.com/en/rest/code-scanning
📖
Documentation
https://docs.github.com/en/rest/collaborators
📖
Documentation
https://docs.github.com/en/rest/dependabot
📖
Documentation
https://docs.github.com/en/rest/webhooks
📖
Documentation
https://docs.github.com/en/rest/pulls
📖
Documentation
https://docs.github.com/en/rest/git/tags
📖
Documentation
https://docs.github.com/en/rest/repos/autolinks
📖
Documentation
https://docs.github.com/en/rest/collaborators/invitations

Specifications

Other Resources

OpenAPI Specification

github-migrations-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  version: 1.1.4
  title: GitHub Application About Migrations API
  description: 'Use the REST API to retrieve information about GitHub Apps and GitHub App

    installations.'
  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: Migrations
  description: Move projects to or from GitHub.
paths:
  /orgs/{org}/migrations:
    get:
      summary: GitHub List Organization Migrations
      description: 'Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API).


        A list of `repositories` is only returned for export migrations.'
      tags:
      - Migrations
      operationId: migrations/list-for-org
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/migrations/orgs#list-organization-migrations
      parameters:
      - $ref: '#/components/parameters/org'
      - $ref: '#/components/parameters/per-page'
      - $ref: '#/components/parameters/page'
      - name: exclude
        description: Exclude attributes from the API response to improve performance
        in: query
        schema:
          type: array
          items:
            description: Allowed values that can be passed to the exclude param.
            enum:
            - repositories
            example: repositories
            type: string
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/migration'
              examples:
                default:
                  $ref: '#/components/examples/migration-with-short-org-items'
          headers:
            Link:
              $ref: '#/components/headers/link'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: migrations
        subcategory: orgs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      summary: GitHub Start an Organization Migration
      description: 'Initiates the generation of a migration archive.


        Before you can use this endpoint, you must configure a blob storage provider in the "Migrations" section in the Management Console. For more details, see "[Migrating repositories from GitHub Enterprise Server to GitHub Enterprise Cloud](https://docs.github.com/enterprise-server@3.9/migrations/using-github-enterprise-importer/migrating-repositories-with-github-enterprise-importer/migrating-repositories-from-github-enterprise-server-to-github-enterprise-cloud#step-4-set-up-blob-storage)."'
      tags:
      - Migrations
      operationId: migrations/start-for-org
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/migrations/orgs#start-an-organization-migration
      parameters:
      - $ref: '#/components/parameters/org'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                repositories:
                  type: array
                  description: A list of arrays indicating which repositories should be migrated.
                  items:
                    type: string
                lock_repositories:
                  type: boolean
                  example: true
                  description: Indicates whether repositories should be locked (to prevent manipulation) while migrating data.
                  default: false
                exclude_metadata:
                  type: boolean
                  description: Indicates whether metadata should be excluded and only git source should be included for the migration.
                  default: false
                exclude_git_data:
                  type: boolean
                  description: Indicates whether the repository git data should be excluded from the migration.
                  default: false
                exclude_attachments:
                  type: boolean
                  example: true
                  description: Indicates whether attachments should be excluded from the migration (to reduce migration archive file size).
                  default: false
                exclude_releases:
                  type: boolean
                  example: true
                  description: Indicates whether releases should be excluded from the migration (to reduce migration archive file size).
                  default: false
                exclude_owner_projects:
                  type: boolean
                  example: true
                  description: Indicates whether projects owned by the organization or users should be excluded. from the migration.
                  default: false
                org_metadata_only:
                  type: boolean
                  example: true
                  description: Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags).
                  default: false
                exclude:
                  type: array
                  description: Exclude related items from being returned in the response in order to improve performance of the request.
                  items:
                    type: string
                    enum:
                    - repositories
              required:
              - repositories
            examples:
              default:
                value:
                  repositories:
                  - github/Hello-World
                  lock_repositories: true
      responses:
        '201':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/migration'
              examples:
                default:
                  $ref: '#/components/examples/migration-with-short-org-2'
        '404':
          $ref: '#/components/responses/not_found'
        '422':
          $ref: '#/components/responses/validation_failed'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: migrations
        subcategory: orgs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /orgs/{org}/migrations/{migration_id}:
    get:
      summary: GitHub Get an Organization Migration Status
      description: 'Fetches the status of a migration.


        The `state` of a migration can be one of the following values:


        *   `pending`, which means the migration hasn''t started yet.

        *   `exporting`, which means the migration is in progress.

        *   `exported`, which means the migration finished successfully.

        *   `failed`, which means the migration failed.'
      tags:
      - Migrations
      operationId: migrations/get-status-for-org
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/migrations/orgs#get-an-organization-migration-status
      parameters:
      - $ref: '#/components/parameters/org'
      - $ref: '#/components/parameters/migration-id'
      - name: exclude
        description: Exclude attributes from the API response to improve performance
        in: query
        schema:
          type: array
          items:
            description: Allowed values that can be passed to the exclude param.
            enum:
            - repositories
            example: repositories
            type: string
      responses:
        '200':
          description: '*   `pending`, which means the migration hasn''t started yet.

            *   `exporting`, which means the migration is in progress.

            *   `exported`, which means the migration finished successfully.

            *   `failed`, which means the migration failed.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/migration'
              examples:
                default:
                  $ref: '#/components/examples/migration-with-short-org'
        '404':
          $ref: '#/components/responses/not_found'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: migrations
        subcategory: orgs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /orgs/{org}/migrations/{migration_id}/archive:
    get:
      summary: GitHub Download an Organization Migration Archive
      description: Fetches the URL to a migration archive.
      tags:
      - Migrations
      operationId: migrations/download-archive-for-org
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/migrations/orgs#download-an-organization-migration-archive
      parameters:
      - $ref: '#/components/parameters/org'
      - $ref: '#/components/parameters/migration-id'
      responses:
        '302':
          description: Response
        '404':
          $ref: '#/components/responses/not_found'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: migrations
        subcategory: orgs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      summary: GitHub Delete an Organization Migration Archive
      description: Deletes a previous migration archive. Migration archives are automatically deleted after seven days.
      tags:
      - Migrations
      operationId: migrations/delete-archive-for-org
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/migrations/orgs#delete-an-organization-migration-archive
      parameters:
      - $ref: '#/components/parameters/org'
      - $ref: '#/components/parameters/migration-id'
      responses:
        '204':
          description: Response
        '404':
          $ref: '#/components/responses/not_found'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: migrations
        subcategory: orgs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock:
    delete:
      summary: GitHub Unlock an Organization Repository
      description: Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/enterprise-server@3.9/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data.
      tags:
      - Migrations
      operationId: migrations/unlock-repo-for-org
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/migrations/orgs#unlock-an-organization-repository
      parameters:
      - $ref: '#/components/parameters/org'
      - $ref: '#/components/parameters/migration-id'
      - $ref: '#/components/parameters/repo-name'
      responses:
        '204':
          description: Response
        '404':
          $ref: '#/components/responses/not_found'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: migrations
        subcategory: orgs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /orgs/{org}/migrations/{migration_id}/repositories:
    get:
      summary: GitHub List Repositories in an Organization Migration
      description: List all the repositories for this organization migration.
      tags:
      - Migrations
      operationId: migrations/list-repos-for-org
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/migrations/orgs#list-repositories-in-an-organization-migration
      parameters:
      - $ref: '#/components/parameters/org'
      - $ref: '#/components/parameters/migration-id'
      - $ref: '#/components/parameters/per-page'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/minimal-repository'
              examples:
                default:
                  $ref: '#/components/examples/minimal-repository-items'
          headers:
            Link:
              $ref: '#/components/headers/link'
        '404':
          $ref: '#/components/responses/not_found'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: migrations
        subcategory: orgs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /user/migrations:
    get:
      summary: GitHub List User Migrations
      description: Lists all migrations a user has started.
      tags:
      - Migrations
      operationId: migrations/list-for-authenticated-user
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/migrations/users#list-user-migrations
      parameters:
      - $ref: '#/components/parameters/per-page'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/migration'
              examples:
                default:
                  $ref: '#/components/examples/migration-items'
          headers:
            Link:
              $ref: '#/components/headers/link'
        '304':
          $ref: '#/components/responses/not_modified'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: migrations
        subcategory: users
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      summary: GitHub Start a User Migration
      description: Initiates the generation of a user migration archive.
      tags:
      - Migrations
      operationId: migrations/start-for-authenticated-user
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/migrations/users#start-a-user-migration
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                lock_repositories:
                  description: Lock the repositories being migrated at the start of the migration
                  example: true
                  readOnly: false
                  type: boolean
                exclude_metadata:
                  description: Indicates whether metadata should be excluded and only git source should be included for the migration.
                  example: true
                  readOnly: false
                  type: boolean
                exclude_git_data:
                  description: Indicates whether the repository git data should be excluded from the migration.
                  example: true
                  readOnly: false
                  type: boolean
                exclude_attachments:
                  description: Do not include attachments in the migration
                  example: true
                  readOnly: false
                  type: boolean
                exclude_releases:
                  description: Do not include releases in the migration
                  example: true
                  readOnly: false
                  type: boolean
                exclude_owner_projects:
                  description: Indicates whether projects owned by the organization or users should be excluded.
                  example: true
                  readOnly: false
                  type: boolean
                org_metadata_only:
                  type: boolean
                  example: true
                  description: Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags).
                  default: false
                exclude:
                  description: Exclude attributes from the API response to improve performance
                  example:
                  - repositories
                  readOnly: false
                  type: array
                  items:
                    description: Allowed values that can be passed to the exclude param.
                    enum:
                    - repositories
                    example: repositories
                    type: string
                repositories:
                  type: array
                  items:
                    description: Repository path, owner and name
                    example: acme/widgets
                    type: string
              required:
              - repositories
              type: object
            examples:
              default:
                value:
                  repositories:
                  - octocat/Hello-World
                  lock_repositories: true
      responses:
        '201':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/migration'
              examples:
                default:
                  $ref: '#/components/examples/migration-2'
        '304':
          $ref: '#/components/responses/not_modified'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '422':
          $ref: '#/components/responses/validation_failed'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: migrations
        subcategory: users
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /user/migrations/{migration_id}/archive:
    get:
      summary: GitHub Download a User Migration Archive
      description: 'Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects:


        *   attachments

        *   bases

        *   commit\_comments

        *   issue\_comments

        *   issue\_events

        *   issues

        *   milestones

        *   organizations

        *   projects

        *   protected\_branches

        *   pull\_request\_reviews

        *   pull\_requests

        *   releases

        *   repositories

        *   review\_comments

        *   schema

        *   users


        The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository''s Git data.'
      tags:
      - Migrations
      operationId: migrations/get-archive-for-authenticated-user
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/migrations/users#download-a-user-migration-archive
      parameters:
      - $ref: '#/components/parameters/migration-id'
      responses:
        '302':
          description: Response
        '304':
          $ref: '#/components/responses/not_modified'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: migrations
        subcategory: users
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /user/migrations/{migration_id}/repositories:
    get:
      summary: GitHub List Repositories for a User Migration
      description: Lists all the repositories for this user migration.
      tags:
      - Migrations
      operationId: migrations/list-repos-for-authenticated-user
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/migrations/users#list-repositories-for-a-user-migration
      parameters:
      - $ref: '#/components/parameters/migration-id'
      - $ref: '#/components/parameters/per-page'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/minimal-repository'
              examples:
                default:
                  $ref: '#/components/examples/minimal-repository-items'
          headers:
            Link:
              $ref: '#/components/headers/link'
        '404':
          $ref: '#/components/responses/not_found'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: migrations
        subcategory: users
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /orgs/{org}/docker/conflicts:
    get:
      summary: GitHub 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:
      - Migrations
      operationId: getListOfConflictingPackagesDuringDockerMigrationForOrganization
      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'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
      security:
      - bearerHttpAuthentication: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /user/docker/conflicts:
    get:
      summary: GitHub 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:
      - Migrations
      operationId: getListOfConflictingPackagesDuringDockerMigrationForAuthenticateduser
      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
      parameters:
      - in: header
        name: Authorization
        schema:
          type: string
        example: example_value
      - in: header
        name: X-GitHub-Api-Version
        schema:
          type: string
          default: '2022-11-28'
        example: example_value
      - in: header
        name: Accept
        schema:
          type: string
          default: application/vnd.github+json
        example: example_value
      security:
      - bearerHttpAuthentication: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /users/{username}/docker/conflicts:
    get:
      summary: GitHub Get List of Conflicting Packages During Docker Migration for User
      description: '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 the `read:packages` scope to use this endpoint.'
      tags:
      - Migrations
      operationId: getListOfConflictingPackagesDuringDockerMigrationForUser
      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-user
      parameters:
      - $ref: '#/components/parameters/username'
      - in: header
        name: Authorization
        schema:
          type: string
        example: example_value
      - in: header
        name: X-GitHub-Api-Version
        schema:
          type: string
          default: '2022-11-28'
        example: example_value
      - in: header
        name: Accept
        schema:
          type: string
          default: application/vnd.github+json
        example: example_value
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/package'
              examples:
                default:
                  $ref: '#/components/examples/packages-for-user'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: packages
        subcategory: packages
      security:
      - bearerHttpAuthentication: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    nullable-simple-user:
      title: Simple User
      description: A GitHub user.
      type: object
      properties:
        name:
          nullable: true
          type: string
          example: octocat
        email:
          nullable: true
          type: string
          example: octocat@github.com
        login:
          type: string
          example: octocat
        id:
          type: integer
          example: 1
        node_id:
          type: string
          example: MDQ6VXNlcjE=
        avatar_url:
          type: string
          format: uri
          example: https://github.com/images/error/octocat_happy.gif
        gravatar_id:
          type: string
          example: 41d064eb2195891e12d0413f63227ea7
          nullable: true
        url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat
        html_url:
          type: string
          format: uri
          example: https://github.com/octocat
        followers_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/followers
        following_url:
          type: string
          example: https://api.github.com/users/octocat/following{/other_user}
        gists_url:
          type: string
          example: https://api.github.com/users/octocat/gists{/gist_id}
        starred_url:
          type: string
          example: https://api.github.com/users/octocat/starred{/owner}{/repo}
        subscriptions_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/subscriptions
        organizations_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/orgs
        repos_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/repos
        events_url:
          type: string
          example: https://api.github.com/users/octocat/events{/privacy}
        received_events_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/received_events
        type:
          type: string
          example: User
        site_admin:
          type: boolean
          example: true
        starred_at:
          type: string
          example: '"2020-07-09T00:17:55Z"'
      required:
      - avatar_url
      - events_url
      - followers_url
      - following_url
      - gists_url
      - gravatar_id
      - html_url
      - id
      - node_id
      - login
      - organizations_url
      - received_events_url
      - repos_url
      - site_admin
      - starred_url
      - subscriptions_url
      - type
      - url
      nullable: true
    repository:
      title: Repository
      description: A repository on GitHub.
      type: object
      properties:
        id:
          description: Unique identifier of the repository
          example: 42
          type: integer
        node_id:
          type: string
          example: MDEwOlJlcG9zaXRvcnkxMjk2MjY5
        name:
          description: The name of the repository.
          type: string
          example: Team Environment
        full_name:
          type: string
          example: octocat/Hello-World
        license:
          $ref: '#/components/schemas/nullable-license-simple'
        forks:
          type: integer
          example: 42
        permissions:
          type: object
          properties:
            admin:
              type: boolean
            pull:
              type: boolean
            triage:
              type: boolean
            push:
              type: boolean
            maintain:
              type: boolean
          required:
          - admin
          - pull
          - push
        owner:
          $ref: '#/components/schemas/simple-user'
        private:
          description: Whether the repository is private or public.
          default: false
          type: boolean
          example: true
        html_url:
          type: string
          format: uri
          example: https://github.com/octocat/Hello-World
        description:
          type: string
          example: This your first repo!
          nullable: true
        fork:
          type: boolean
          example: true
        url:
          type: string
          format: uri
          example: https://api.github.com/repos/octocat/Hello-World
        archive_url:
          type: string
          example: http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}
        assignees_url:
          type: string
          example: http://api.github.com/repos/octocat/Hello-World/assignees{/user}
        blobs_url:
          type: string
          example: http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}
        branches_url:
          type: string
          example: http://api.github.com/repos/octocat/Hello-World/branches{/branch}
        collaborators_url:
          type: string
          example: http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}
        comments_url:
          type: string
          example: http://api.github.com/repos/octocat/Hello-World/comments{/number}
        c

# --- truncated at 32 KB (730 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/openapi/github-migrations-api-openapi.yml