REST API endpoints for Enterprise Live Migrations
Use the REST API to manage Enterprise Live Migrations on your GitHub Enterprise Server instance.
メモ
Enterprise Live Migrations は パブリック プレビュー であり、変更される可能性があります。
List Enterprise Live Migrations
List Enterprise Live Migrations (ELM) for the current GHES appliance.
"List Enterprise Live Migrations" のきめ細かいアクセス トークン
このエンドポイントは、GitHubアプリ ユーザー アクセス トークン、GitHub アプリ インストール アクセス トークン、またはきめ細かい個人用アクセス トークンでは機能しません。
"List Enterprise Live Migrations" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
page_size integer Number of results per page. |
after string Cursor for pagination. Use the value from |
status string Optional filter by migration status. 次のいずれかにできます: |
"List Enterprise Live Migrations" の HTTP 応答状態コード
| 状態コード | 説明 |
|---|---|
200 | OK |
400 | Bad Request |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | The migration service is missing the source or target credentials required to service this request. An organization administrator must configure the required secrets before retrying. |
500 | Internal Error |
501 | Not implemented. |
"List Enterprise Live Migrations" のコード サンプル
要求の例
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprise/live-migrationsResponse
Status: 200Create an Enterprise Live Migration
Create an Enterprise Live Migration (ELM) for a single repository on the current GHES appliance. The migration is created in a created state and is not started; run the start endpoint to launch backfill and live updates. Credentials are referenced by name (pat_name) rather than submitted inline, and are not echoed back in the response.
"Create an Enterprise Live Migration" のきめ細かいアクセス トークン
このエンドポイントは、GitHubアプリ ユーザー アクセス トークン、GitHub アプリ インストール アクセス トークン、またはきめ細かい個人用アクセス トークンでは機能しません。
"Create an Enterprise Live Migration" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
source_organization_login string 必須Source organization login on the GHES appliance. |
source_repository_name string 必須Source repository name. |
target_organization_login string 必須Target organization login on the destination GitHub environment. |
target_repository_name string 必須Target repository name. |
target_api_endpoint string 必須Migration target API endpoint URL. Must be a valid HTTPS URL. |
pat_name string 必須Name of the organization-scoped migration credential set to use. The raw token is never submitted inline and is never returned in the response. |
target_visibility string Target repository visibility. Defaults to 次のいずれかにできます: |
"Create an Enterprise Live Migration" の HTTP 応答状態コード
| 状態コード | 説明 |
|---|---|
201 | The migration was created. The response contains the new migration identifier and its expiration. No credentials are returned. |
400 | Bad Request |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
409 | Conflict. The request conflicts with the current state of the migration. |
422 | The migration service is missing the source or target credentials required to service this request. An organization administrator must configure the required secrets before retrying. |
500 | Internal Error |
"Create an Enterprise Live Migration" のコード サンプル
要求の例
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprise/live-migrationsThe migration was created. The response contains the new migration identifier and its expiration. No credentials are returned.
Status: 201Get an Enterprise Live Migration
Retrieve combined status, progress, cutover readiness, expiration, and timing for an Enterprise Live Migration (ELM) on the current GHES appliance.
"Get an Enterprise Live Migration" のきめ細かいアクセス トークン
このエンドポイントは、GitHubアプリ ユーザー アクセス トークン、GitHub アプリ インストール アクセス トークン、またはきめ細かい個人用アクセス トークンでは機能しません。
"Get an Enterprise Live Migration" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
migration_id string 必須The ID of the migration. |
"Get an Enterprise Live Migration" の HTTP 応答状態コード
| 状態コード | 説明 |
|---|---|
200 | OK |
400 | Bad Request |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | The migration service is missing the source or target credentials required to service this request. An organization administrator must configure the required secrets before retrying. |
500 | Internal Error |
"Get an Enterprise Live Migration" のコード サンプル
要求の例
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprise/live-migrations/MIGRATION_IDResponse
Status: 200Cancel an Enterprise Live Migration
Cancel an Enterprise Live Migration (ELM) in progress. This terminates the migration: it is cancelled locally, aborted on the migration backend, and its work items are removed. This is a terminal action with no recovery — a subsequent status request reflects the terminated state.
"Cancel an Enterprise Live Migration" のきめ細かいアクセス トークン
このエンドポイントは、GitHubアプリ ユーザー アクセス トークン、GitHub アプリ インストール アクセス トークン、またはきめ細かい個人用アクセス トークンでは機能しません。
"Cancel an Enterprise Live Migration" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
migration_id string 必須The ID of the migration. |
"Cancel an Enterprise Live Migration" の HTTP 応答状態コード
| 状態コード | 説明 |
|---|---|
204 | The migration was cancelled. No content is returned; query the migration status to observe the terminal state. |
400 | Bad Request |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
409 | Conflict. The migration is not in a state that can be cancelled (for example, it has already completed or been terminated). |
422 | The migration service is missing the source or target credentials required to service this request. An organization administrator must configure the required secrets before retrying. |
500 | Internal Error |
"Cancel an Enterprise Live Migration" のコード サンプル
要求の例
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprise/live-migrations/MIGRATION_ID/cancelThe migration was cancelled. No content is returned; query the migration status to observe the terminal state.
Status: 204Cutover an Enterprise Live Migration
Initiate cutover for an Enterprise Live Migration (ELM), archiving the source repository and draining remaining changes. Cutover is asynchronous; the migration transitions through cutover_pending and cutover_finalizing to completed. No content is returned — query the migration status to observe progress.
"Cutover an Enterprise Live Migration" のきめ細かいアクセス トークン
このエンドポイントは、GitHubアプリ ユーザー アクセス トークン、GitHub アプリ インストール アクセス トークン、またはきめ細かい個人用アクセス トークンでは機能しません。
"Cutover an Enterprise Live Migration" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
migration_id string 必須The ID of the migration. |
| 名前, タイプ, 説明 |
|---|
force boolean Bypass the cutover readiness checks and initiate cutover even when the migration is not reported as ready. Defaults to デフォルト: |
"Cutover an Enterprise Live Migration" の HTTP 応答状態コード
| 状態コード | 説明 |
|---|---|
204 | Cutover was initiated. No content is returned; query the migration status to observe the cutover progress. |
400 | Bad Request |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
409 | Conflict. The migration is not ready for cutover (for example, backfill is still in progress, or the migration has already completed, been cancelled, or failed). |
422 | The migration service is missing the source or target credentials required to service this request. An organization administrator must configure the required secrets before retrying. |
500 | Internal Error |
"Cutover an Enterprise Live Migration" のコード サンプル
要求の例
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprise/live-migrations/MIGRATION_ID/cutoverCutover was initiated. No content is returned; query the migration status to observe the cutover progress.
Status: 204Pause an Enterprise Live Migration
Pause source-load work for an active Enterprise Live Migration (ELM). Backfill and Git synchronization are paused while live event collection and delivery continue. The operation is idempotent for a migration that is already paused. No content is returned; query the migration status to observe the durable state.
"Pause an Enterprise Live Migration" のきめ細かいアクセス トークン
このエンドポイントは、GitHubアプリ ユーザー アクセス トークン、GitHub アプリ インストール アクセス トークン、またはきめ細かい個人用アクセス トークンでは機能しません。
"Pause an Enterprise Live Migration" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
migration_id string 必須The unique identifier of the Enterprise Live Migration. |
"Pause an Enterprise Live Migration" の HTTP 応答状態コード
| 状態コード | 説明 |
|---|---|
204 | The migration was paused. No content is returned; query the migration status to confirm its current state. |
400 | Bad Request |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
409 | Conflict. The migration is not in a state that can be paused, such as when it has not been started or has already completed. |
422 | The pause request was accepted by the migration service, but the migration did not complete the transition to paused. Query the migration status and retry. This status is also returned when the migration service is missing the source or target credentials required to service the request; an organization administrator must configure the required secrets before retrying. |
500 | Internal Error |
"Pause an Enterprise Live Migration" のコード サンプル
要求の例
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprise/live-migrations/MIGRATION_ID/pauseThe migration was paused. No content is returned; query the migration status to confirm its current state.
Status: 204Resume an Enterprise Live Migration
Resume a paused Enterprise Live Migration (ELM). The migration is re-queued and resumes backfill and live updates. A subsequent status request reflects the resumed state.
"Resume an Enterprise Live Migration" のきめ細かいアクセス トークン
このエンドポイントは、GitHubアプリ ユーザー アクセス トークン、GitHub アプリ インストール アクセス トークン、またはきめ細かい個人用アクセス トークンでは機能しません。
"Resume an Enterprise Live Migration" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
migration_id string 必須The ID of the migration. |
"Resume an Enterprise Live Migration" の HTTP 応答状態コード
| 状態コード | 説明 |
|---|---|
204 | The migration was resumed. No content is returned; query the migration status to observe the resumed state. |
400 | Bad Request |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
409 | Conflict. The migration is not in a state that can be resumed (for example, it is not paused, or has completed or terminated). |
422 | The migration service is missing the source or target credentials required to service this request. An organization administrator must configure the required secrets before retrying. |
500 | Internal Error |
"Resume an Enterprise Live Migration" のコード サンプル
要求の例
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprise/live-migrations/MIGRATION_ID/resumeThe migration was resumed. No content is returned; query the migration status to observe the resumed state.
Status: 204Revert cutover for an Enterprise Live Migration
Revert cutover for an Enterprise Live Migration (ELM). This unarchives the source repository and terminates any cutover or migration still in progress so the source repository can be migrated again.
"Revert cutover for an Enterprise Live Migration" のきめ細かいアクセス トークン
このエンドポイントは、GitHubアプリ ユーザー アクセス トークン、GitHub アプリ インストール アクセス トークン、またはきめ細かい個人用アクセス トークンでは機能しません。
"Revert cutover for an Enterprise Live Migration" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
migration_id string 必須The ID of the migration. |
"Revert cutover for an Enterprise Live Migration" の HTTP 応答状態コード
| 状態コード | 説明 |
|---|---|
200 | The cutover was reverted. |
400 | Bad Request |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
409 | Conflict. The migration is not in a state where cutover can be reverted. |
422 | The migration service is missing the source or target credentials required to service this request. An organization administrator must configure the required secrets before retrying. |
500 | Internal Error |
503 | Service unavailable |
"Revert cutover for an Enterprise Live Migration" のコード サンプル
要求の例
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprise/live-migrations/MIGRATION_ID/revert-cutoverThe cutover was reverted.
Status: 200Start an Enterprise Live Migration
Start a created Enterprise Live Migration (ELM), launching backfill and enabling live updates. The migration must be in a startable state (for example, created, paused, or failed); preflight validation runs before the migration is queued unless it has been skipped.
"Start an Enterprise Live Migration" のきめ細かいアクセス トークン
このエンドポイントは、GitHubアプリ ユーザー アクセス トークン、GitHub アプリ インストール アクセス トークン、またはきめ細かい個人用アクセス トークンでは機能しません。
"Start an Enterprise Live Migration" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
migration_id string 必須The ID of the migration. |
"Start an Enterprise Live Migration" の HTTP 応答状態コード
| 状態コード | 説明 |
|---|---|
204 | The migration was started (queued for execution). No content is returned; query the migration status to observe progress. |
400 | Bad Request |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
409 | Conflict. The migration is not in a state that can be started (for example, it has already been started or has completed). |
422 | The migration could not be started because preflight validation did not pass. Query the migration status for details. This status is also returned when the migration service is missing the source or target credentials required to service the request; an organization administrator must configure the required secrets before retrying. |
500 | Internal Error |
"Start an Enterprise Live Migration" のコード サンプル
要求の例
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprise/live-migrations/MIGRATION_ID/startThe migration was started (queued for execution). No content is returned; query the migration status to observe progress.
Status: 204