Skip to content

Resolve a migration that needs attention

POST
/api/docker/migrations/{id}/resolve
curl --request POST \
--url https://gateway.example.com/api/docker/migrations/550e8400-e29b-41d4-a716-446655440000/resolve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "authoritativeSide": "source" }'

Confirms which node is authoritative after an operator reconciled both nodes, then releases the migration lock and the maintenance mode the migration entered. Resolving to the source restores the restart policy the migration replaced on the source. No container is started or removed.

id
required
string
>= 1 characters
Example
550e8400-e29b-41d4-a716-446655440000

JSON request body

Media typeapplication/json
object
authoritativeSide
required
string
Allowed values: source target

Migration resolved

Media typeapplication/json
object
data
required
object
id
required
string format: uuid
resourceType
required
string
Allowed values: container deployment
resourceName
required
string
deploymentId
required
string | null format: uuid
sourceNodeId
required
string format: uuid
targetNodeId
required
string format: uuid
targetNodeSlug
required
string | null
targetResourceId
required
string | null
keepSource
required
boolean
sourceState
required
string
status
required
string
Allowed values: pending running waiting cancelling cancelled completed failed cleanup_pending needs_attention
phase
required
string
progress
required
object
key
additional properties
verification
required
object
key
additional properties
errorCode
required
string | null
errorMessage
required
string | null
cancellationRequestedAt
required
string | null
cutoverAt
required
string | null
createdAt
required
string | null
startedAt
required
string | null
updatedAt
required
string | null
completedAt
required
string | null
Example
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Example resource",
"createdAt": "2024-01-01T12:00:00.000Z",
"updatedAt": "2024-01-01T12:30:00.000Z"
}
}

Bad request

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": [
{
"path": [
"name"
],
"message": "Required"
}
]
}

Authentication required

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNAUTHORIZED",
"message": "Authentication required"
}

Forbidden

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "FORBIDDEN",
"message": "Insufficient permissions"
}

Not found

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "NOT_FOUND",
"message": "Resource not found"
}

Conflict

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "CONFLICT",
"message": "Resource already exists"
}

Unprocessable entity

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNPROCESSABLE_ENTITY",
"message": "Request could not be processed"
}

Internal server error

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}