GitHub · Schema

Migration

A migration.

CodeDeveloper ToolsPipelinesPlatformSoftware DevelopmentVersion ControlT1GitHubGit

Properties

Name Type Description
id integer
owner object
guid string
state string
lock_repositories boolean
exclude_metadata boolean
exclude_git_data boolean
exclude_attachments boolean
exclude_releases boolean
exclude_owner_projects boolean
org_metadata_only boolean
repositories array The repositories included in the migration. Only returned for export migrations.
url string
created_at string
updated_at string
node_id string
archive_url string
exclude array Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`.
View JSON Schema on GitHub

JSON Schema

github-migration-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/github/main/json-schema/github-migration-schema.json",
  "title": "Migration",
  "description": "A migration.",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/github-migrations-api-openapi.yml#/components/schemas/migration",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "owner": {
      "$ref": "#/$defs/nullable-simple-user"
    },
    "guid": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "lock_repositories": {
      "type": "boolean"
    },
    "exclude_metadata": {
      "type": "boolean"
    },
    "exclude_git_data": {
      "type": "boolean"
    },
    "exclude_attachments": {
      "type": "boolean"
    },
    "exclude_releases": {
      "type": "boolean"
    },
    "exclude_owner_projects": {
      "type": "boolean"
    },
    "org_metadata_only": {
      "type": "boolean"
    },
    "repositories": {
      "type": "array",
      "description": "The repositories included in the migration. Only returned for export migrations.",
      "items": {
        "$ref": "#/$defs/repository"
      }
    },
    "url": {
      "type": "string",
      "format": "uri"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    },
    "node_id": {
      "type": "string"
    },
    "archive_url": {
      "type": "string",
      "format": "uri"
    },
    "exclude": {
      "description": "Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `\"repositories\"`.",
      "type": "array",
      "items": {
        "description": "Allowed values that can be passed to the exclude parameter. The array can include any of: `\"repositories\"`.",
        "type": "string"
      }
    }
  },
  "required": [
    "id",
    "node_id",
    "owner",
    "guid",
    "state",
    "lock_repositories",
    "exclude_metadata",
    "exclude_git_data",
    "exclude_attachments",
    "exclude_releases",
    "exclude_owner_projects",
    "org_metadata_only",
    "repositories",
    "url",
    "created_at",
    "updated_at"
  ],
  "$defs": {
    "nullable-license-simple": {
      "title": "License Simple",
      "description": "License Simple",
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "url": {
          "type": [
            "string",
            "null"
          ],
          "format": "uri"
        },
        "spdx_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "node_id": {
          "type": "string"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        }
      },
      "required": [
        "key",
        "name",
        "url",
        "spdx_id",
        "node_id"
      ]
    },
    "nullable-simple-user": {
      "title": "Simple User",
      "description": "A GitHub user.",
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "email": {
          "type": [
            "string",
            "null"
          ]
        },
        "login": {
          "type": "string"
        },
        "id": {
          "type": "integer"
        },
        "node_id": {
          "type": "string"
        },
        "avatar_url": {
          "type": "string",
          "format": "uri"
        },
        "gravatar_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        },
        "followers_url": {
          "type": "string",
          "format": "uri"
        },
        "following_url": {
          "type": "string"
        },
        "gists_url": {
          "type": "string"
        },
        "starred_url": {
          "type": "string"
        },
        "subscriptions_url": {
          "type": "string",
          "format": "uri"
        },
        "organizations_url": {
          "type": "string",
          "format": "uri"
        },
        "repos_url": {
          "type": "string",
          "format": "uri"
        },
        "events_url": {
          "type": "string"
        },
        "received_events_url": {
          "type": "string",
          "format": "uri"
        },
        "type": {
          "type": "string"
        },
        "site_admin": {
          "type": "boolean"
        },
        "starred_at": {
          "type": "string"
        }
      },
      "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"
      ]
    },
    "repository": {
      "title": "Repository",
      "description": "A repository on GitHub.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Unique identifier of the repository",
          "type": "integer"
        },
        "node_id": {
          "type": "string"
        },
        "name": {
          "description": "The name of the repository.",
          "type": "string"
        },
        "full_name": {
          "type": "string"
        },
        "license": {
          "$ref": "#/$defs/nullable-license-simple"
        },
        "forks": {
          "type": "integer"
        },
        "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": "#/$defs/simple-user"
        },
        "private": {
          "description": "Whether the repository is private or public.",
          "default": false,
          "type": "boolean"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "fork": {
          "type": "boolean"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "archive_url": {
          "type": "string"
        },
        "assignees_url": {
          "type": "string"
        },
        "blobs_url": {
          "type": "string"
        },
        "branches_url": {
          "type": "string"
        },
        "collaborators_url": {
          "type": "string"
        },
        "comments_url": {
          "type": "string"
        },
        "commits_url": {
          "type": "string"
        },
        "compare_url": {
          "type": "string"
        },
        "contents_url": {
          "type": "string"
        },
        "contributors_url": {
          "type": "string",
          "format": "uri"
        },
        "deployments_url": {
          "type": "string",
          "format": "uri"
        },
        "downloads_url": {
          "type": "string",
          "format": "uri"
        },
        "events_url": {
          "type": "string",
          "format": "uri"
        },
        "forks_url": {
          "type": "string",
          "format": "uri"
        },
        "git_commits_url": {
          "type": "string"
        },
        "git_refs_url": {
          "type": "string"
        },
        "git_tags_url": {
          "type": "string"
        },
        "git_url": {
          "type": "string"
        },
        "issue_comment_url": {
          "type": "string"
        },
        "issue_events_url": {
          "type": "string"
        },
        "issues_url": {
          "type": "string"
        },
        "keys_url": {
          "type": "string"
        },
        "labels_url": {
          "type": "string"
        },
        "languages_url": {
          "type": "string",
          "format": "uri"
        },
        "merges_url": {
          "type": "string",
          "format": "uri"
        },
        "milestones_url": {
          "type": "string"
        },
        "notifications_url": {
          "type": "string"
        },
        "pulls_url": {
          "type": "string"
        },
        "releases_url": {
          "type": "string"
        },
        "ssh_url": {
          "type": "string"
        },
        "stargazers_url": {
          "type": "string",
          "format": "uri"
        },
        "statuses_url": {
          "type": "string"
        },
        "subscribers_url": {
          "type": "string",
          "format": "uri"
        },
        "subscription_url": {
          "type": "string",
          "format": "uri"
        },
        "tags_url": {
          "type": "string",
          "format": "uri"
        },
        "teams_url": {
          "type": "string",
          "format": "uri"
        },
        "trees_url": {
          "type": "string"
        },
        "clone_url": {
          "type": "string"
        },
        "mirror_url": {
          "type": [
            "string",
            "null"
          ],
          "format": "uri"
        },
        "hooks_url": {
          "type": "string",
          "format": "uri"
        },
        "svn_url": {
          "type": "string",
          "format": "uri"
        },
        "homepage": {
          "type": [
            "string",
            "null"
          ],
          "format": "uri"
        },
        "language": {
          "type": [
            "string",
            "null"
          ]
        },
        "forks_count": {
          "type": "integer"
        },
        "stargazers_count": {
          "type": "integer"
        },
        "watchers_count": {
          "type": "integer"
        },
        "size": {
          "description": "The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0.",
          "type": "integer"
        },
        "default_branch": {
          "description": "The default branch of the repository.",
          "type": "string"
        },
        "open_issues_count": {
          "type": "integer"
        },
        "is_template": {
          "description": "Whether this repository acts as a template that can be used to generate new repositories.",
          "default": false,
          "type": "boolean"
        },
        "topics": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "has_issues": {
          "description": "Whether issues are enabled.",
          "default": true,
          "type": "boolean"
        },
        "has_projects": {
          "description": "Whether projects are enabled.",
          "default": true,
          "type": "boolean"
        },
        "has_wiki": {
          "description": "Whether the wiki is enabled.",
          "default": true,
          "type": "boolean"
        },
        "has_pages": {
          "type": "boolean"
        },
        "has_downloads": {
          "description": "Whether downloads are enabled.",
          "default": true,
          "type": "boolean",
          "deprecated": true
        },
        "has_discussions": {
          "description": "Whether discussions are enabled.",
          "default": false,
          "type": "boolean"
        },
        "archived": {
          "description": "Whether the repository is archived.",
          "default": false,
          "type": "boolean"
        },
        "disabled": {
          "type": "boolean",
          "description": "Returns whether or not this repository disabled."
        },
        "visibility": {
          "description": "The repository visibility: public, private, or internal.",
          "default": "public",
          "type": "string"
        },
        "pushed_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "created_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updated_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "allow_rebase_merge": {
          "description": "Whether to allow rebase merges for pull requests.",
          "default": true,
          "type": "boolean"
        },
        "temp_clone_token": {
          "type": "string"
        },
        "allow_squash_merge": {
          "description": "Whether to allow squash merges for pull requests.",
          "default": true,
          "type": "boolean"
        },
        "allow_auto_merge": {
          "description": "Whether to allow Auto-merge to be used on pull requests.",
          "default": false,
          "type": "boolean"
        },
        "delete_branch_on_merge": {
          "description": "Whether to delete head branches when pull requests are merged",
          "default": false,
          "type": "boolean"
        },
        "allow_update_branch": {
          "description": "Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging.",
          "default": false,
          "type": "boolean"
        },
        "use_squash_pr_title_as_default": {
          "type": "boolean",
          "description": "Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.",
          "default": false,
          "deprecated": true
        },
        "squash_merge_commit_title": {
          "type": "string",
          "enum": [
            "PR_TITLE",
            "COMMIT_OR_PR_TITLE"
          ],
          "description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
        },
        "squash_merge_commit_message": {
          "type": "string",
          "enum": [
            "PR_BODY",
            "COMMIT_MESSAGES",
            "BLANK"
          ],
          "description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
        },
        "merge_commit_title": {
          "type": "string",
          "enum": [
            "PR_TITLE",
            "MERGE_MESSAGE"
          ],
          "description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
        },
        "merge_commit_message": {
          "type": "string",
          "enum": [
            "PR_BODY",
            "PR_TITLE",
            "BLANK"
          ],
          "description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
        },
        "allow_merge_commit": {
          "description": "Whether to allow merge commits for pull requests.",
          "default": true,
          "type": "boolean"
        },
        "allow_forking": {
          "description": "Whether to allow forking this repo",
          "type": "boolean"
        },
        "web_commit_signoff_required": {
          "description": "Whether to require contributors to sign off on web-based commits",
          "default": false,
          "type": "boolean"
        },
        "open_issues": {
          "type": "integer"
        },
        "watchers": {
          "type": "integer"
        },
        "master_branch": {
          "type": "string"
        },
        "starred_at": {
          "type": "string"
        },
        "anonymous_access_enabled": {
          "type": "boolean",
          "description": "Whether anonymous git access is enabled for this repository"
        }
      },
      "required": [
        "archive_url",
        "assignees_url",
        "blobs_url",
        "branches_url",
        "collaborators_url",
        "comments_url",
        "commits_url",
        "compare_url",
        "contents_url",
        "contributors_url",
        "deployments_url",
        "description",
        "downloads_url",
        "events_url",
        "fork",
        "forks_url",
        "full_name",
        "git_commits_url",
        "git_refs_url",
        "git_tags_url",
        "hooks_url",
        "html_url",
        "id",
        "node_id",
        "issue_comment_url",
        "issue_events_url",
        "issues_url",
        "keys_url",
        "labels_url",
        "languages_url",
        "merges_url",
        "milestones_url",
        "name",
        "notifications_url",
        "owner",
        "private",
        "pulls_url",
        "releases_url",
        "stargazers_url",
        "statuses_url",
        "subscribers_url",
        "subscription_url",
        "tags_url",
        "teams_url",
        "trees_url",
        "url",
        "clone_url",
        "default_branch",
        "forks",
        "forks_count",
        "git_url",
        "has_downloads",
        "has_issues",
        "has_projects",
        "has_wiki",
        "has_pages",
        "homepage",
        "language",
        "archived",
        "disabled",
        "mirror_url",
        "open_issues",
        "open_issues_count",
        "license",
        "pushed_at",
        "size",
        "ssh_url",
        "stargazers_count",
        "svn_url",
        "watchers",
        "watchers_count",
        "created_at",
        "updated_at"
      ]
    },
    "simple-user": {
      "title": "Simple User",
      "description": "A GitHub user.",
      "type": "object",
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "email": {
          "type": [
            "string",
            "null"
          ]
        },
        "login": {
          "type": "string"
        },
        "id": {
          "type": "integer"
        },
        "node_id": {
          "type": "string"
        },
        "avatar_url": {
          "type": "string",
          "format": "uri"
        },
        "gravatar_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        },
        "followers_url": {
          "type": "string",
          "format": "uri"
        },
        "following_url": {
          "type": "string"
        },
        "gists_url": {
          "type": "string"
        },
        "starred_url": {
          "type": "string"
        },
        "subscriptions_url": {
          "type": "string",
          "format": "uri"
        },
        "organizations_url": {
          "type": "string",
          "format": "uri"
        },
        "repos_url": {
          "type": "string",
          "format": "uri"
        },
        "events_url": {
          "type": "string"
        },
        "received_events_url": {
          "type": "string",
          "format": "uri"
        },
        "type": {
          "type": "string"
        },
        "site_admin": {
          "type": "boolean"
        },
        "starred_at": {
          "type": "string"
        }
      },
      "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"
      ]
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/github-migration"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.