GitHub Migrations API

Move projects to or from GitHub.

Documentation

📖
Documentation
https://docs.github.com/en/rest/apps
📖
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.2.0
info:
  title: Github Migrations API
  version: 1.1.4
  contact:
    name: Support
    url: https://support.github.com/contact?tags=dotcom-rest-api
  license:
    name: MIT
    url: https://spdx.org/licenses/MIT
  termsOfService: https://docs.github.com/articles/github-terms-of-service
  description: 'Operations tagged Migrations across 2 of this provider''s published API definitions: github-openapi.yml, github-organizations-openapi.yml. Each path carries the servers of the definition it was published in.'
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
    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
  /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
    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
  /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
    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
  /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
    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
  /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
    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
  /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
    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
  /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
    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
  /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
    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
  /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
    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
components:
  schemas:
    code-of-conduct:
      title: Code Of Conduct
      description: Code Of Conduct
      type: object
      properties:
        key:
          type: string
          example: contributor_covenant
        name:
          type: string
          example: Contributor Covenant
        url:
          type: string
          format: uri
          example: https://api.github.com/codes_of_conduct/contributor_covenant
        body:
          type: string
          example: "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response\n                  to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address,\n                  posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and\nclarified by project maintainers.\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/).\n"
        html_url:
          type:
          - string
          - 'null'
          format: uri
          example: https://api.github.com/repos/octocat/Hello-World
      required:
      - url
      - html_url
      - key
      - name
    minimal-repository:
      title: Minimal Repository
      description: Minimal Repository
      type: object
      properties:
        id:
          type: integer
          example: 1296269
        node_id:
          type: string
          example: MDEwOlJlcG9zaXRvcnkxMjk2MjY5
        name:
          type: string
          example: Hello-World
        full_name:
          type: string
          example: octocat/Hello-World
        owner:
          $ref: '#/components/schemas/simple-user'
        private:
          type: boolean
          example: true
        html_url:
          type: string
          format: uri
          example: https://github.com/octocat/Hello-World
        description:
          type:
          - string
          - 'null'
          example: This your first repo!
        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}
        commits_url:
          type: string
          example: http://api.github.com/repos/octocat/Hello-World/commits{/sha}
        compare_url:
          type: string
          example: http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}
        contents_url:
          type: string
          example: http://api.github.com/repos/octocat/Hello-World/contents/{+path}
        contributors_url:
          type: string
          format: uri
          example: http://api.github.com/repos/octocat/Hello-World/contributors
        deployments_url:
          type: string
          format: uri
          example: http://api.github.com/repos/octocat/Hello-World/deployments
        downloads_url:
          type: string
 

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