curl --request GET \
--url https://cockroachlabs.cloud/api/v1/clusters/{cluster_id}/migration-assistant \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'{
"bucket_grantee": "arn:aws:iam::123456789012:role/example-role",
"cluster_id": "9f8e7d6c-5b4a-3210-fedc-ba9876543210",
"created_at": "2026-07-30T18:00:00Z",
"deployed_region": "us-east1",
"health": "HEALTHY",
"id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"last_error": "",
"password": "example_password",
"status": "RUNNING",
"updated_at": "2026-07-30T18:05:00Z",
"url": "https://molt-ai.example.crdb.io",
"username": "example_username"
}{
"code": 123,
"details": [
{
"@type": "<string>"
}
],
"message": "<string>"
}Get the Migration Assistant for a cluster.
Includes the lifecycle status and, while RUNNING, the URL and sign-in credentials for the assistant; treat the response as sensitive.
Can be used by the following roles assigned at the organization, folder or cluster scope:
- ORG_ADMIN
- CLUSTER_ADMIN
- CLUSTER_OPERATOR_WRITER
curl --request GET \
--url https://cockroachlabs.cloud/api/v1/clusters/{cluster_id}/migration-assistant \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'{
"bucket_grantee": "arn:aws:iam::123456789012:role/example-role",
"cluster_id": "9f8e7d6c-5b4a-3210-fedc-ba9876543210",
"created_at": "2026-07-30T18:00:00Z",
"deployed_region": "us-east1",
"health": "HEALTHY",
"id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"last_error": "",
"password": "example_password",
"status": "RUNNING",
"updated_at": "2026-07-30T18:05:00Z",
"url": "https://molt-ai.example.crdb.io",
"username": "example_username"
}{
"code": 123,
"details": [
{
"@type": "<string>"
}
],
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the cluster whose assistant to fetch.
Response
A successful response.
MigrationAssistant is a per-cluster migration assistant deployment. The url, username, password, and bucket_grantee are populated only while the status is RUNNING. The last_error is populated only when the status is FAILED.
The ID of the cluster this assistant is deployed for.
Timestamp when the assistant was created.
The cluster region the assistant is deployed in.
- NOT_COMPUTED: Health is not computed; the assistant is not RUNNING.
- HEALTHY: The assistant is ready and serving.
- UNAVAILABLE: The assistant is RUNNING but not currently serving. This is usually transient (for example, its pod is restarting); retry shortly.
- UNKNOWN: The live health probe could not be reached, so serving health is not known. This is usually transient; retry shortly.
NOT_COMPUTED, HEALTHY, UNAVAILABLE, UNKNOWN The unique ID of the migration assistant.
- PENDING: The assistant has been requested and is being provisioned.
- RUNNING: The assistant is ready; its URL and credentials are available.
- DELETING: Deletion has been requested and is in progress.
- FAILED: A provisioning or deletion operation failed; see last_error.
PENDING, RUNNING, DELETING, FAILED Timestamp when the assistant was last updated.
The cloud-native identity the customer must grant bucket access to; populated when the status is RUNNING. Format depends on the cluster's cloud (AWS IAM role ARN, GCP service account email, or Azure object ID).
The failure detail; populated when the status is FAILED.
The password used to sign in to the assistant; populated when the status is RUNNING.
The URL used to reach the assistant; populated when the status is RUNNING.
The username used to sign in to the assistant; populated when the status is RUNNING.

