PUT
PUT /repos/{owner}/{repo}/import — GitHub API
Deprecated
GitHub token (required); https://api.github.com
GitHub APIStart an import
- Base URL
- https://api.github.com
- Auth
- Authorization: Bearer <GITHUB_API_KEY>
- Last verified
- 2026-10-20 · upstream hash matched
Actions Try in browser→
Agents: curl -H "Accept: text/markdown" this URL
→ 349 tokens · Vary: Accept
→ 349 tokens · Vary: Accept
Critical gotchas
GitHub recommends an Accept: application/vnd.github+json header and an explicit X-GitHub-Api-Version header.
Fine-grained tokens only authorize repositories and permissions selected when the token is created.
cURL
curl -X PUT 'https://api.github.com/repos/example-owner/example-repo/import' \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -H 'Accept: application/vnd.github+json' \ -H 'X-GitHub-Api-Version: 2026-03-10' \ -H 'Content-Type: application/json' \ -d '{ "vcs_url": "example-vcs-url"}'
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| owner | path | string | Yes | The account owner of the repository. The name is not case sensitive. |
| repo | path | string | Yes | The name of the repository without the `.git` extension. The name is not case sensitive. |
| vcs_url | body | string | Yes | The URL of the originating repository. |
| vcs | body | string | No | The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. |
| vcs_username | body | string | No | If authentication is required, the username to provide to `vcs_url`. |
| vcs_password | body | string | No | If authentication is required, the password to provide to `vcs_url`. |
| tfvc_project | body | string | No | For a tfvc import, the name of the project that is being imported. |
Response 200 OK
{
"vcs": "string",
"use_lfs": true,
"vcs_url": "string",
"svc_root": "string",
"tfvc_project": "string",
"status": "auth",
"status_text": "string",
"failed_step": "string",
"error_message": "string",
"import_percent": 0,
"commit_count": 0,
"push_percent": 0,
"has_large_files": true,
"large_files_size": 0,
"large_files_count": 0,
"project_choices": [
{
"vcs": "string",
"tfvc_project": "string",
"human_name": "string"
}
],
"message": "string",
"authors_count": 0,
"url": "https://example.com",
"html_url": "https://example.com",
"authors_url": "https://example.com",
"repository_url": "https://example.com",
"svn_root": "string"
} Get a free GitHub API key → sponsored Affiliate link - we may earn a commission, at no extra cost to you.