Image

API Reference

Last updated: 04-20-2026

Nutanix Move REST APIs (2.4.0)

Download OpenAPI specification:

Introduction

Nutanix Move (Move) is a cross-hypervisor mobility solution to move VMs with minimal downtime. Move helps streamline 'lift-and-shift' virtual machine (VM) migrations to a Nutanix Enterprise Cloud. Move provides:

  • Streamlined migrations with one-click simplicity
  • Near-zero downtime with full cutover control
  • Simple test migrations and roll-back capabilities
  • Cost efficiency included with all Nutanix software editions.

This document covers APIs that are available in Move-6.2.0.

Refer to the Move user guide for more information related to the supported source to target migration details.

Note: Since the infrastructure underneath is completely different, a small downtime is incurred during cutover from any of the above sources to targets.

Authentication

Move uses JWT token based bearer authentication.

The user provides username and password once to generate an authentication token (using the login API). This authentication token is added as an HTTP Authorization header every time a request is sent.

Best Practice

It is advised that the user revoke the authentication token using the Revoke API after completing required tasks.

Error codes

List of HTTP Status codes returned by Move application:

Error codes Messages
200 Successful operation
201 Created
202 Accepted
204 No Content
401 Unauthorized
403 Forbidden
404 Not Found
409 Conflict
422 Unprocessable Entity
500 Internal Server Error
501 Not Implemented
503 Service unavailable

Workflow

This documentation helps in familiarizing with Nutanix Move V2 API workflow. The API's need to be executed in the following sequence to successfully migrate a VM using the Move application.

Authentication:

  • Login- User has to login and obtain an authentication token. This token is used for authorization in all APIs.

Inventory:

Migration:

  • Create a Migration plan by providing source information, target information, network mappings, schedule settings, and workload.

  • Prepare the VMs for Migration– in manual or automatic mode. If the preparation mode is set to 'manual', OS specific scripts are to be executed manually to prepare the source VMs.

  • Perform readiness checks to confirm if that particular migration plan is ready to start.

  • Start the Migration plan and wait for VMs to reach the cutover state. User can view workload details for a migration plan and the list of actions that can be performed on the current VM.

  • Perform cutover. The cutover process begins immediately and takes a few minutes. Once the cutover is complete, the VM is ready for use in the target provider.

Application:

Agent

Get info on the given supported agent

Fetch information on the given supported agent provided as a query parameter.

Authorizations:
Bearer
query Parameters
name
required
string
Value: "nwagent"

The type of agents whose information is to be fetched.

checkConnectivity
boolean

Check if a connection can be established at the moment.

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/agent \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "APIVersion": "2.2.0",
  • "AgentType": "nwagent",
  • "AgentVersion": "1.0"
}

Application

Change Move appliance NTP servers configurations

Change Move appliance NTP servers configurations

Sample API Syntax: https://move.address/move/v2/configurations/appliance/ntpservers

Authorizations:
Bearer
Request Body schema: application/json
required

Move provider configurations to be changed.

FailedNTPServers
Array of strings

List of all failed NTP servers.

NTPServers
Array of strings

List of all available NTP servers.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/configurations/appliance/ntpservers \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "FailedNTPServers": [
        "string"
    ],
    "NTPServers": [
        "string"
    ]
}'

Response samples

Content type
application/json
{
  • "Spec": {
    }
}

Change Move appliance providers snapshots configurations

Change Move appliance snapshot configurations

Sample API Syntax: https://move.address/move/v2/configurations/appliance/providers/snapshots

Authorizations:
Bearer
Request Body schema: application/json
required

Move provider configurations to be changed.

CycleDurationAHV
string

Snapshot cycle duration for AHV.

CycleDurationAWS
string

Snapshot cycle duration for AWS.

CycleDurationAzure
string

Snapshot cycle duration for Azure.

CycleDurationESX
string

Snapshot cycle duration for ESX.

CycleDurationHyperV
string

Snapshot cycle duration for Hyper V.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/configurations/appliance/providers/snapshots \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "CycleDurationAHV": "string",
    "CycleDurationAWS": "string",
    "CycleDurationAzure": "string",
    "CycleDurationESX": "string",
    "CycleDurationHyperV": "string"
}'

Response samples

Content type
application/json
{
  • "Spec": {
    }
}

Change the settings of Move application

Changes the Move application information. Details such as Telemetry on, Eula Accepted and more can be edited using this API.

Sample API Syntax: https://move.address/move/v2/appinfo

Authorizations:
Bearer
Request Body schema: application/json
required

Move application information to be changed.

APIVersion
string

Move API Version.

object (AppInfo)

Move application Information.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/appinfo \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "APIVersion": "string",
    "Spec": {
        "CbtApiVersion": "string",
        "CbtDriverLinVersion": "string",
        "CbtDriverWinVersion": "string",
        "CbtVerifyVersion": "string",
        "DiskRdrVersion": "string",
        "EulaAccepted": true,
        "LinuxOfflineBundleMD5": "string",
        "Reverse": true,
        "SSLExpiry": "string",
        "State": 0,
        "TelemetryOn": true,
        "TimezoneAbbr": "string",
        "UTCOffsetHHMM": "string",
        "Version": "string",
        "WindowsOfflineBundleMD5": "string"
    }
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Spec": {
    },
  • "Status": {
    }
}

Configure Move application properties

Configures the Move application properties. For example:

  • Eula Accepted
  • Telemetry on
Sample API Syntax: https://move.address/move/v2/configure

Authorizations:
Bearer
Request Body schema: application/json
required

Move application properties to be configured.

APIVersion
string

Move API version.

object (Configuration)

Move application configuration information.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/configure \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "APIVersion": "string",
    "Spec": {
        "EulaAccepted": true,
        "TelemetryOn": true
    }
}'

Response samples

Content type
application/json
{
  • "Error": {
    }
}

Download the compressed archive support bundle

GET /move/v2/supportbundle API downloads the support bundle requested earlier.

GET /move/v2/supportbundle/status API tracks the status of bundling. Once ready, use the POST /move/v2/supportbundle API to trigger the download of the support bundle containing information about the current state of the VM and logs.

Sample API Syntax: https://move.address/move/v2/supportbundle

Authorizations:
Bearer

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/supportbundle \
    --header 'Accept: application/json, application/x-gzip' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
"string"

Get Move appliance configurations

Gets the Move appliance configurations.
Sample API Syntax: https://move.address/move/v2/configurations/appliance

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/configurations/appliance \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Spec": {
    }
}

Get Move appliance docker bridge IP configurations

Gets the Move appliance docker bridge IP.
Sample API Syntax: https://move.address/move/v2/configurations/appliance/dockerip

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/configurations/appliance/dockerip \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Spec": {
    }
}

Get Move appliance hostname configurations

Gets the Move appliance hostname. Sample API syntax: https://move.address/move/v2/configurations/appliance/ntpservers

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/configurations/appliance/hostname \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Spec": {
    }
}

Get Move appliance NTP servers configurations

Gets the Move appliance NTP servers.
Sample API Syntax: https://move.address/move/v2/configurations/appliance/ntpservers

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/configurations/appliance/ntpservers \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Spec": {
    }
}

Get Move appliance providers snapshots configurations

Gets the Move appliance snapshots configurations.
Sample API Syntax: https://move.address/move/v2/configurations/appliance/providers/snapshots

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/configurations/appliance/providers/snapshots \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Spec": {
    }
}

Get Move appliance SSL certificate configurations

Gets the Move appliance SSL certificate.
Sample API syntax: https://move.address/move/v2/configurations/appliance/sslcertificate

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/configurations/appliance/sslcertificate \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Spec": {
    }
}

Get Move application information

Gets the Move application information such as:

  • version
  • status
  • login information
Sample API Syntax: https://move.address/move/v2/appinfo

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/appinfo \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Status": {
    }
}

Get status of support bundle

Tracks the status of support bundle containing information about the current state of the VM and logs.

Sample API Syntax: https://move.address/move/v2/supportbundle/status

Authorizations:
Bearer

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/supportbundle/status \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "SupportBundleResponse": {
    }
}

Get the state of the Move appliance docker services

Gets the state of Move appliance docker services or service groups.
Sample API syntax: https://move.address/move/v2/configurations/appliance/services

Authorizations:
Bearer
query Parameters
svc
Array of strings

Comma-separated name(s) of the service(s) for which the status is to be fetched.

svcgrp
Array of strings

Comma-separated name(s) of the service group(s) for which the status is to be fetched.

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/configurations/appliance/services \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "ServiceGroups": [
    ],
  • "Services": [
    ]
}

Trigger the download of compressed archive support bundle

POST /move/v2/supportbundle API requests the support bundle containing information about the current state of the VM and logs.

Related APIs

  • GET /move/v2/supportbundle/status API tracks the status of bundling.
  • Once ready, use GET /move/v2/supportbundle API to download the support bundle.
Sample API Syntax: https://move.address/move/v2/supportbundle

Authorizations:
Bearer

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/supportbundle \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "ApiVersion": "string",
  • "Code": 0,
  • "Kind": "string",
  • "Message": "string",
  • "State": "string"
}

Update Move appliance SSL certificate configurations

Update Move appliance SSL certificate configurations.

Sample API syntax: https://move.address/move/v2/configurations/appliance/sslcertificate

Authorizations:
Bearer
Request Body schema: multipart/form-data
required
Action
required
string

Move appliance SSL certificate actions.

PrivateKey
string <binary>

The private key to be updated.

SSLCertificate
string <binary>

The SSL certificate to be updated.

SSLCertificateChain
string <binary>

The SSL certificate chain to be updated.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/configurations/appliance/sslcertificate \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: multipart/form-data' \
    --data '{
    "Action": "string",
    "PrivateKey": null,
    "SSLCertificate": null,
    "SSLCertificateChain": null
}'

Response samples

Content type
application/json
{
  • "Spec": {
    }
}

Update the state of the Move appliance docker service(s) or service group(s)

Update the state of the Move appliance docker service(s) or service group(s).
Sample API syntax: https://move.address/move/v2/configurations/appliance/service

Authorizations:
Bearer
Request Body schema: application/json
required

Service(s) or service group(s) with their states to be changed.

Array of objects

List of service group(s) with action to perform.

Array of objects

List of service(s) with action to perform.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/configurations/appliance/services \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "ServiceGroups": [
        {}
    ],
    "Services": [
        {}
    ]
}'

Response samples

Content type
application/json
{
  • "ApiVersion": "string",
  • "Code": 0,
  • "Kind": "string",
  • "Message": "string",
  • "State": "string"
}

Updates Move appliance hostname configurations

Updates Move appliance hostname configurations.

Sample API syntax: https://move.address/move/v2/configurations/appliance/ntpservers

Authorizations:
Bearer
Request Body schema: application/json
required

Move provider configurations to be updated.

Hostname
string

Hostname.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/configurations/appliance/hostname \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "Hostname": "string"
}'

Response samples

Content type
application/json
{
  • "Spec": {
    }
}

Bandwidth Throttling Policies

Create a new bandwidth capacity policy

Create a new bandwidth capacity policy

Authorizations:
Bearer
Request Body schema: application/json
required

The bandwidth capacity policy details

IsActive
boolean
Default: true

Indicates if the policy is active or not.

MatchExpression
required
string

The expression used to determine if the policy applies to a particular VM.

Name
required
string

Name of the policy.

required
Array of objects (BandwidthCapSchedule)

The list of cron schedules

required
Array of objects (BandwidthCapWindowSchedule)

The list of cron schedules with start and end time details.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/bwcap/policies \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "IsActive": true,
    "MatchExpression": "string",
    "Name": "string",
    "Schedules": [
        {
            "BwcapMbps": 0,
            "CronExpr": "string"
        }
    ],
    "WindowSchedules": [
        {
            "BwcapMbps": 0,
            "DaysOfTheWeek": [
                "string"
            ],
            "EndTimeHours": 0,
            "EndTimeMins": 0,
            "StartTimeHours": 0,
            "StartTimeMins": 0
        }
    ]
}'

Response samples

Content type
application/json
{
  • "BandwidthCapPolicyDef": {
    },
  • "CreatedAt": "2019-08-24T14:15:22Z",
  • "UUID": "string",
  • "UpdatedAt": "2019-08-24T14:15:22Z"
}

Delete a specific bandwidth capacity policy

Delete a specific bandwidth capacity policy

Authorizations:
Bearer
path Parameters
policyuuid
required
string

The UUID of the policy

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev//move/v2/plans/bwcap/policies/{policyuuid} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "ApiVersion": "string",
  • "Code": 0,
  • "Kind": "string",
  • "Message": "string",
  • "State": "string"
}

Get a list of all the bandwidth capacity policies

Get the bandwidth capacity policies

Authorizations:
Bearer

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/bwcap/policies/list \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get details of a specific bandwidth capacity policy

Get details of a specific bandwidth capacity policy

Authorizations:
Bearer
path Parameters
policyuuid
required
string

The UUID of the policy

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/plans/bwcap/policies/{policyuuid} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "BandwidthCapPolicyDef": {
    },
  • "CreatedAt": "2019-08-24T14:15:22Z",
  • "UUID": "string",
  • "UpdatedAt": "2019-08-24T14:15:22Z"
}

Update a specific bandwidth capacity policy

Update a specific bandwidth capacity policy

Authorizations:
Bearer
path Parameters
policyuuid
required
string

The UUID of the policy

Request Body schema: application/json
required

The bandwidth capacity policy details

IsActive
boolean
Default: true

Indicates if the policy is active or not.

MatchExpression
required
string

The expression used to determine if the policy applies to a particular VM.

Name
required
string

Name of the policy.

required
Array of objects (BandwidthCapSchedule)

The list of cron schedules

required
Array of objects (BandwidthCapWindowSchedule)

The list of cron schedules with start and end time details.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/plans/bwcap/policies/{policyuuid} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "IsActive": true,
    "MatchExpression": "string",
    "Name": "string",
    "Schedules": [
        {
            "BwcapMbps": 0,
            "CronExpr": "string"
        }
    ],
    "WindowSchedules": [
        {
            "BwcapMbps": 0,
            "DaysOfTheWeek": [
                "string"
            ],
            "EndTimeHours": 0,
            "EndTimeMins": 0,
            "StartTimeHours": 0,
            "StartTimeMins": 0
        }
    ]
}'

Response samples

Content type
application/json
{
  • "BandwidthCapPolicyDef": {
    },
  • "CreatedAt": "2019-08-24T14:15:22Z",
  • "UUID": "string",
  • "UpdatedAt": "2019-08-24T14:15:22Z"
}

Cloud Pricing

Get Provider pricing details

Gets regional pricing details for the specified Provider UUID. The information retrieved includes:

  • Data egress cost per GiB

The region must be one of :
  • us-east-1
  • ap-south-1

Authorizations:
Bearer
path Parameters
provideruuid
required
string

UUID of the provider

region
required
string

The region ( one of us-east-1 or ap-south-1 )

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/cloudpricing/{provideruuid}/{region} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
     

Response samples

Content type
application/json
{
  • "CostPerThousandGetSnapShotBlockAPICalls": 0.1,
  • "DataEgressCostPerGiB": 0.1,
  • "DeltaSyncDataOverheadMultiplier": 0.1
}

Events

Cancels the events CSVfile download

Cancels the events CSVfile download if the download is in a ready or in-progress state.

Sample API Syntax: https://move.address/move/v2/events/download/cancel

Authorizations:
Bearer

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/events/download/cancel \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "ApiVersion": "string",
  • "Code": 0,
  • "Kind": "string",
  • "Message": "string",
  • "State": "string"
}

Create the events csv file

POST /move/v2/events/download API requests to download all events as per the filter criterion

Sample API Syntax: https://move.address/move/v2/events/download

Authorizations:
Bearer
Request Body schema: application/json
required

Input to download the events csv file

object (EventsFilter)

Filter for listing Move Events.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/events/download \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "Filter": {
        "EventNames": [
            "string"
        ],
        "EventStatuses": [
            "string"
        ],
        "EventTypes": [
            "string"
        ],
        "IamNames": [
            "string"
        ],
        "MpNames": [
            "string"
        ],
        "SourcePaths": [
            "string"
        ],
        "TargetPaths": [
            "string"
        ],
        "UserNames": [
            "string"
        ],
        "VmNames": [
            "string"
        ]
    }
}'

Response samples

Content type
application/json
{
  • "TaskUuid": "60e7d9b1-e34e-4d60-9bcd-0411d7a448bf"
}

Download the events csv file

GET /move/v2/events/download downloads the events csv file.

GET /move/v2/download/status API tracks the status of csv file creation. Use the POST /move/v2/events/download API to trigger the events csv file creation.

Sample API Syntax: https://move.address/move/v2/events/download

Authorizations:
Bearer

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/events/download \
    --header 'Accept: application/x-gzip' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Get a list of Move events

Get the list of Move events.

Input :-

  • Pagination details:- page number and records per page
  • Filter details:- Event types, VM names, Migration plan names, and status
Output :-
  • List of Move events
  • Paging details such as total number of records, total number of pages, and current page number
Sample API Syntax: https://{move_ip}/move/v2/events

Authorizations:
Bearer
Request Body schema: application/json
required

Get the list of events for the input entities

object (EventsFilter)

Filter for listing Move Events.

required
object (PaginationCriteria)

Used as input for lists with pagination

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/events \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "Filter": {
        "EventNames": [
            "string"
        ],
        "EventStatuses": [
            "string"
        ],
        "EventTypes": [
            "string"
        ],
        "IamNames": [
            "string"
        ],
        "MpNames": [
            "string"
        ],
        "SourcePaths": [
            "string"
        ],
        "TargetPaths": [
            "string"
        ],
        "UserNames": [
            "string"
        ],
        "VmNames": [
            "string"
        ]
    },
    "PaginationCriteria": {
        "PageNumber": 0,
        "RecordsPerPage": 0
    }
}'

Response samples

Content type
application/json
{
  • "Events": [
    ],
  • "MetaData": {
    },
  • "PaginationDetails": {
    }
}

Get status of events csv file bundle

Tracks the status of events csv file bundle

Sample API Syntax: https://move.address/move/v2/events/download/status

Authorizations:
Bearer

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/events/download/status \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "EventsFileResponse": {
    }
}

IAM provider

Deregisters an IAM provider

Deregisters an IAM provider from Move.

Authorizations:
Bearer
path Parameters
id
required
string <uuid>

IAM provider UUID.

Request Body schema: application/json
required

IAM provider information required to deregister a provider.

ForceDeregister
boolean
Default: false

Forcefully deregister IAM provider from Move.

object (PcIamDeregisterInfo)

Prism Central access information.

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev//move/v2/iamproviders/{id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Status": {
    }
}

Displays all IAM providers registered with Move

Displays all IAM providers registered with Move. Also, this API is used to fetch UI login details for IAM providers

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/iamproviders/view \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Entities": [
    ]
}

Generates authentication token using given IAM provider

Generates authentication token from user credentials, refresh token or authorization code (generated during UI authentication) using a given IAM provider.

path Parameters
id
required
string <uuid>

IAM provider UUID.

Request Body schema: application/x-www-form-urlencoded
required
grantType
required
string
Enum: "PASSWORD" "AUTHORIZATION_CODE" "REFRESH_TOKEN"

Type of method used for generating authentication code.

username
string

The login username. Only considered when grant type is "PASSWORD".

password
string

The login password. Only considered when grant type is "PASSWORD".

authCode
string

The user authorization code. Only considered when grant type is "AUTHORIZATION_CODE".

refreshToken
string

The refresh token. Only considered when grant type is "REFRESH_TOKEN".

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/iamproviders/{id}/token \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    --data '{
    "authCode": "string",
    "grantType": "PASSWORD",
    "password": "string",
    "refreshToken": "string",
    "username": "string"
}'

Response samples

Content type
application/json
{
  • "AccessToken": "xxx.yyy.zzz",
  • "Expiry": 1704067200,
  • "IamProviderUuid": "3af948bf-72ed-4fe8-90f5-f1d3cf592c7d",
  • "RefreshToken": "yyy",
  • "Username": "abc@mail.com"
}

Get IAM provider details

Gets details of the IAM provider whose UUID is specified.

Authorizations:
Bearer
path Parameters
id
required
string <uuid>

IAM Provider UUID.

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/iamproviders/{id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
     

Response samples

Content type
application/json
{
  • "MetaData": {
    },
  • "Spec": {
    }
}

List all IAM providers

List all IAM providers registered with Move.

Authorizations:
Bearer

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/iamproviders \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Entities": [
    ]
}

Registers a new IAM provider

Registers a new IAM provider with Move.

Currently, only Prism Central is supported as an IAM provider.

Authorizations:
Bearer
Request Body schema: application/json
required

IAM provider information required to register a new provider.

object (PcIamRegisterInfo)

Prism Central access information.

Array of objects (AuthRoleMap)
Type
required
string
Value: "PC"

IAM provider type. Currently only Prism Central is supported as IAM provider.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/iamproviders \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "PcIamRegisterInfo": {
        "IPorFQDN": "string",
        "Password": "string",
        "Username": "string"
    },
    "RolesMap": [
        {
            "Groups": [
                "string"
            ],
            "Role": "MoveAdmin",
            "Usernames": [
                "string"
            ]
        }
    ],
    "Type": "PC"
}'

Response samples

Content type
application/json
{
  • "MetaData": {
    },
  • "Spec": {
    }
}

Updates details for an existing IAM provider

Updates details for an existing IAM provider.

Currently, only the user list update operation is allowed.

Authorizations:
Bearer
path Parameters
id
required
string <uuid>

IAM provider UUID.

Request Body schema: application/json
required

IAM provider information to be updated.

required
Array of objects (AuthRoleMap)

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/iamproviders/{id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "RolesMap": [
        {
            "Groups": [
                "string"
            ],
            "Role": "MoveAdmin",
            "Usernames": [
                "string"
            ]
        }
    ]
}'

Response samples

Content type
application/json
{
  • "MetaData": {
    },
  • "Spec": {
    }
}

Libraries

Delete VDDK libraries

Deletes the uploaded virtual disk development kit (VDDK) files.

Sample API Syntax: https://move.address/move/v2/vddk

Authorizations:
Bearer
query Parameters
ParamKey
required
string
Enum: "VDDK1" "VDDK2"

The key of the VDDK library to be deleted.

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev//move/v2/vddk \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Status": {
    }
}

Get VDDK libraries

Fetches information about the uploaded virtual disk development kit (VDDK) libraries.

Sample API Syntax: https://move.address/move/v2/vddk

Authorizations:
Bearer

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/vddk \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Status": [
    ]
}

Upload VDDK libraries

Upload the virtual disk development kit (VDDK) files that are needed to perform migration from the ESXi host.

Sample API Syntax: https://move.address/move/v2/vddk/upload

Authorizations:
Bearer
Request Body schema: multipart/form-data
VDDK1
string <binary>

The VDDK1 is used to upload VDDK 7.0.3.1 version of VDDK library. VDDK1 is required for migration from ESXi host 5.5, 6.0 and 6.5.

VDDK2
string <binary>

The VDDK2 is used to upload VDDK 8.0.3.2 version of VDDK library. VDDK2 is required for migration from ESXi host => 6.7.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/vddk/upload \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: multipart/form-data' \
    --data '{
    "VDDK1": null,
    "VDDK2": null
}'

Response samples

Content type
application/json
{
  • "Status": [
    ]
}

Local Provider

Change Move application password

Configures the Move application properties

Authorizations:
Bearer
Request Body schema: application/json
required

Move application password to be configured.

APIVersion
string

Move API version

object (ChangePassword)

Change password for Move application.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/changepassword \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "APIVersion": "string",
    "Spec": {
        "NewPassword": "string",
        "OldPassword": "string",
        "UserName": "string"
    }
}'

Response samples

Content type
application/json
{
  • "Status": {
    }
}

Generates the access/refresh token using a given native username and password.

Generates access/refresh token from native user credentials, refresh token or authorization code (generated during UI authentication)

Request Body schema: application/x-www-form-urlencoded
required
grantType
required
string
Enum: "PASSWORD" "REFRESH_TOKEN"

Type of method used for generating access/refresh code.

username
required
string

The login username. It is considered for both when the grant type is "PASSWORD" or "REFRESH_TOKEN"

password
string

The login password. Only considered when the grant type is "PASSWORD".

refreshToken
string

The refresh token. Only considered when the grant type is "REFRESH_TOKEN".

expiry
integer

Optional timestamp (in seconds since epoch) to denote how long the token has to be valid, if not provided the default expiry of 15 minutes will be taken.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/token \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    --data '{
    "expiry": 0,
    "grantType": "PASSWORD",
    "password": "string",
    "refreshToken": "string",
    "username": "string"
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "AccessToken": "string",
  • "AccessTokenExpiry": 0,
  • "IssuedAt": 0,
  • "RefreshToken": "string",
  • "RefreshTokenExpiry": 0,
  • "Username": "string"
}

Revoke an authentication token

Revokes the authentication token. Authentication token is obtained by using POST /move/v2/users/login API. You need the token to access APIs after you log in for the first time.

Sample API Syntax: https://move.address/move/v2/token/revoke

Authorizations:
Bearer
Request Body schema: application/json
required

Refresh the token that needs to be validated.

RevokeAllAuthTokens
boolean

Whether to revoke all the longer validity auth tokens

object (Token)

Authentication Token

Username
string

username of the user for which the tokens needs to be revoked.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/token/revoke \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "RevokeAllAuthTokens": true,
    "Spec": {
        "Token": "string"
    },
    "Username": "string"
}'

Response samples

Content type
application/json
{
  • "AllAuthTokensRevoked": true,
  • "Status": {
    }
}

Perses

Get perses token.

Get the perses token from the perses login API.

Authorizations:
Bearer

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/perses/token \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "access_token": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJudXRhbml4IiwiZXhwIjoxNzUzMjQ4MTM3LCJuYmYiOjE3NTMyNDcyMzd9.2RwgzU7tDwGcZEL",
  • "expiry": "0001-01-01T00:00:00Z",
  • "refresh_token": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJudXRhbml4IiwiZXhwIjoxNzUzMjQ4MTM3LCJuYmYiOjE3NTMyNDcyMzd9.2RwgzU7tDwGcZEL",
  • "token_type": "Bearer"
}

Plan

Act on a stage in a migration plan

Performs an action on a stage in a migration plan. It is only valid for cluster conversion.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/stage/867b4a4f-cb8c-4416-8d7e-26e033023aa4/action

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

sid
required
string

Stage UUID.

Request Body schema: application/json

Request for action to be performed on the stage.

required
object

Stage action spec.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/stage/{sid}/action \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "Spec": {
        "Action": "retry",
        "Entities": {
            "NodeUuid": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
            "VMUuids": [
                "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
            ]
        }
    }
}'

Response samples

Content type
application/json
{
  • "ApiVersion": "string",
  • "Code": 0,
  • "Kind": "string",
  • "Message": "string",
  • "State": "string"
}

Cancel migration operation

Cancels scheduled/ongoing migration for the provided plan UUID.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/cancel

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/cancel \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json, application/octet-stream' \
     

Response samples

Content type
application/json
{
  • "ApiVersion": "string",
  • "Code": 0,
  • "Kind": "string",
  • "Message": "string",
  • "State": "string"
}

Create a new migration plan

Creates a new migration plan.

Information required to create a migration plan include:

  • Source provider information
  • Target provider information
  • Network mappings
  • Schedule settings
  • Workload
Sample API Syntax: https://move.address/move/v2/plans

Authorizations:
Bearer
Request Body schema: application/json
required

Information required to create new migration plan.

APIVersion
string

Move API version

object (MetaData)

Metadata information

object (Plan)

Plan information

Type
string

Migration Plan type

Responses

Response samples

Content type
application/json
{
  • "MetaData": {
    },
  • "Spec": {
    },
  • "Status": { }
}

Customize properties of the workload in the target

Given a migration plan UUID and a valid workload UUID, this API updates customizable workload properties in target.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/workloads/91cea36d-c857-4092-b232-d46484ee3205/custom

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID

wid
required
string

Workload UUID

Request Body schema:
required

Information required to update workload custom properties

Schema not provided

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/plans/{id}/workloads/{wid}/custom \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "APIVersion": "string",
    "CustomProperties": {
        "Type": "VmCustomPropertiesInfo",
        "VmCustomPropertiesInfo": {
            "Source": {
                "GenericVmCustomProperties": {
                    "Memory": 0,
                    "Name": "string",
                    "NumCDROMs": 0,
                    "NumCoresPerSocket": 0,
                    "NumDisks": 0,
                    "NumNICs": 0,
                    "NumvCPUs": 0,
                    "PowerState": "PoweredOn"
                },
                "MimicGenericVmCustomProperties": {},
                "Type": "GenericVmCustomProperties"
            },
            "Target": {
                "GenericVmCustomProperties": {
                    "Memory": 0,
                    "Name": "string",
                    "NumCDROMs": 0,
                    "NumCoresPerSocket": 0,
                    "NumDisks": 0,
                    "NumNICs": 0,
                    "NumvCPUs": 0,
                    "PowerState": "PoweredOn"
                },
                "MimicGenericVmCustomProperties": {},
                "Type": "GenericVmCustomProperties"
            },
            "VMCustomizeType": "replicate"
        }
    },
    "MetaData": {
        "Version": "string"
    }
}'

Response samples

Content type
application/json
{
  • "APIVersion": "2.2.0",
  • "CustomProperties": {
    },
  • "MetaData": {
    }
}

Delete migration plan

Deletes the migration plan by providing Migration Plan UUID as input.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev//move/v2/plans/{id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
     

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Status": {
    }
}

Federate a migration plan

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/federate \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Status": {
    }
}

Fetch migration plan information

Get the migration plan details for the provided plan UUID. The details fetched include:

  • Plan status
  • Number of entities
  • Entity Schedule
  • Source provider information
  • Target provider information
  • Network mappings
  • Workload
Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

query Parameters
IncludeVMDetails
boolean

Include VM details in the API response from each migration plan in MigrationPlanSummary (deprecated).

IncludeEntityDetails
boolean

Include entity details in the API response from each migration plan in MigrationPlanSummary (Higher priority than IncludeVMDetails).

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/plans/{id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
     

Response samples

Content type
application/json
{
  • "MetaData": {
    },
  • "Spec": {
    }
}

Get details of the ISO file required for uploading to a conversion plan

Retrieves details of the ISO file required for uploading to a conversion plan.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/iso/getdetails

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

query Parameters
HypervisorType
required
string
Default: "kvm"
Enum: "kvm" "esx"

Hypervisor type for which the ISO details are required.

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/plans/{id}/iso/getdetails \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "HypervisorType": "string",
  • "IsIsoUploadRequired": true,
  • "IsoVersions": [
    ]
}

Get the custom-view details of a workload

Given a migration plan UUID and a valid workload UUID, this API gets the custom-view details of the workload.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/workloads/91cea36d-c857-4092-b232-d46484ee3205/custom

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID

wid
required
string

Workload UUID

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/plans/{id}/workloads/{wid}/custom \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "APIVersion": "2.0.0",
  • "CustomProperties": {
    },
  • "MetaData": {
    }
}

Get the custom-view details of a workload's IP configuration

Fetches the custom-view IP configuration details of the workload for the specified migration plan UUID and workload UUID.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/workloads/91cea36d-c857-4092-b232-d46484ee3205/customips

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID

wid
required
string

Workload UUID

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/plans/{id}/workloads/{wid}/customips \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "APIVersion": "2.2.0",
  • "Data": {
    },
  • "MetaData": {
    }
}

Get the preparation details of the plan

Get the preparation details of the plan.

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/plans/{id}/prepare \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Spec": {
    },
  • "Type": "string"
}

Get workload details

Given a migration plan's UUID and a valid workload's UUID, this API gets the migration plan's workload information.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/workloads/91cea36d-c857-4092-b232-d46484ee3205

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID

wid
required
string

Workload UUID

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/plans/{id}/workloads/{wid} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Status": {
    }
}

Get workloads

Gets details of all the workloads of a plan by providing plan UUID.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/workloads/list

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

query Parameters
NumIterations
integer <uint64>

Number of iterations to be returned for a workload.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/workloads/list \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Status": {
    }
}

List details of all migration plans

Lists the details of all migration plans.

Set the includeVMdetails flag in the input for the API response to include VM details corresponding to each migration plan in the MigrationPlanSummary.
The API retrieves the following information for each migration plan:

  • Migration plan name
  • Migration plan UUID
  • Source provider information
  • Target provider information
  • Network mappings
  • Schedule settings
  • Workload
Sample API Syntax: https://move.address/move/v2/plans/list

Authorizations:
Bearer
query Parameters
IncludeVMDetails
boolean

Include VM details in the API response from each migration plan in MigrationPlanSummary (deprecated).

IncludeEntityDetails
boolean

Include entity details in the API response from each migration plan in MigrationPlanSummary (Higher priority than IncludeVMDetails).

Request Body schema:

Filter the list of migration plans by providing input migration plan object.

EntityType
string
Enum: "VM" "Files" "SecurityPolicy" "Conversion"

Entity type filter.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/list \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json, application/octet-stream' \
    --data '{
    "EntityType": "VM"
}'

Response samples

Content type
application/json
{
  • "Entities": [
    ]
}

List details of all migration plans with minimal information

Lists the details of all migration plans with minimal information.

The API retrieves the following information for each migration plan:

Authorizations:
Bearer
Request Body schema: application/json

Filter the list of migration plans by providing input migration plan object.

EntityType
string
Enum: "VM" "Files" "SecurityPolicy" "Conversion"

Entity type filter.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/listminimal \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "EntityType": "VM"
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "Entities": [
    ]
}

List details of the migration plan selected for generating the report

Lists details of the migration plan selected for generating the report. - The API retrieves the following information for each migration plan. - $ref "#/definitions/PlanReportEntities"

Authorizations:
Bearer
Request Body schema: application/json

Get the migration plan and share details based on the respective UUIDs.

Array
IterationCount
integer

Indicates the number of iterations in a report based on the user input.

MigplanUUID
string

UUID of the migration plan.

ShareUUIDs
Array of strings

UUID of the shares.

ShowAllIterations
boolean

Indicates all the iterations.

ShowAllShares
boolean

Indicates all the shares.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/reports \
    --header 'Authorization: Bearer <your_access_token>' \
     

Perform migration plan readiness checks

Performs readiness checks on migration plan to confirm if that particular migration plan is ready to start. On providing the plan UUID, the port and VMs status check results are received.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/readiness

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/readiness \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "MetaData": {
    },
  • "Status": {
    }
}

Perform workload actions

Performs an action on the migration plan workload. The list of available workload actions:

  • Cutover
  • Test
  • Retest
  • Undotest
  • Retry
  • Discard
  • Abort
  • Suspend
  • Resume
  • Sync
  • Complete
Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/workloads/91cea36d-c857-4092-b232-d46484ee3205/action

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID

wid
required
string

Workload UUID

Request Body schema: application/json
required

Requested workload action to be performed on the VM.

APIVersion
string

Move API version

required
object

Workload action request.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/workloads/{wid}/action \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "APIVersion": "string",
    "Spec": {
        "Action": "cutover"
    }
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Status": {
    }
}

Prepare the source environment for migrations

Prepares the source VMs in a migration plan. For example- Install VirtIO drivers, retaining IP and so on.
If the preparation mode is set to 'manual', the API returns OS specific scripts that can be executed manually to prepare the source VMs.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/prepare

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

query Parameters
UninstallGuestTools
boolean

Uninstall guest tools flag.

SkipIPRetention
boolean

Skip IP retention flag.

InstallNGT
boolean

Install NGT flag

Request Body schema: application/json

Workload credentials to prepare the source environment.

APIVersion
string

Move API version

object (MetaData)

Metadata information

object (GuestOperationsInput)
Type
string

Guest operation type.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/prepare \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "APIVersion": "string",
    "MetaData": {
        "Count": 0,
        "CreationTime": "string",
        "Kind": "string",
        "LastUpdateTime": "string",
        "Name": "string",
        "SpecVersion": "string",
        "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
    },
    "Spec": {
        "CommonCredentials": {
            "LinuxPassword": "string",
            "LinuxUserName": "string",
            "PemFile": "string",
            "WindowsPassword": "string",
            "WindowsUserName": "string"
        },
        "GuestPrepMode": "manual",
        "RePrepareVMs": true,
        "Region": "string",
        "RunInBackground": true,
        "VMs": [
            {
                "GuestPrepMode": "manual",
                "Password": "string",
                "PemFile": "string",
                "SkipIpRetention": true,
                "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                "UserName": "string",
                "VMId": "string"
            }
        ]
    },
    "Type": "string"
}'

Response samples

Content type
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Spec": {
    },
  • "Status": {
    },
  • "TaskUUID": "8466acfc-5ecc-47de-81d5-49e4178d2fda"
}

Resume suspended migration

Resume a suspended migration plan for the provided migration plan UUID.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/resume

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/resume \
    --header 'Accept: application/json, application/octet-stream' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json, application/octet-stream' \
     

Response samples

Content type
{
  • "ApiVersion": "string",
  • "Code": 0,
  • "Kind": "string",
  • "Message": "string",
  • "State": "string"
}

Start migration

Starts a migration plan by providing plan UUID and an optional snapshot frequency (in minutes).

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/start

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

Request Body schema: application/json

Snapshot frequency can be specified optionally.

APIVersion
string

Move API version

object (MetaData)

Metadata information

object

Snapshot frequency in minutes.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/start \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "APIVersion": "string",
    "MetaData": {
        "Count": 0,
        "CreationTime": "string",
        "Kind": "string",
        "LastUpdateTime": "string",
        "Name": "string",
        "SpecVersion": "string",
        "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
    },
    "Spec": {
        "Time": 0
    }
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Status": {
    }
}

Suspend ongoing migration

Suspends migration plan of provided plan UUID.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/suspend

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/suspend \
    --header 'Accept: application/json, application/octet-stream' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json, application/octet-stream' \
     

Response samples

Content type
{
  • "ApiVersion": "string",
  • "Code": 0,
  • "Kind": "string",
  • "Message": "string",
  • "State": "string"
}

Trigger selective refresh for the selected source workload in the given plan.

Given a migration plan UUID and a valid workload UUID, this API selectively refreshes the source workload details and updates the plan.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/workloads/91cea36d-c857-4092-b232-d46484ee3205/refresh

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID

wid
required
string

Workload UUID

Request Body schema: application/json

Workload refresh configuration to control the sub-operations during a selective refresh of a workload.

forceUpdateTarget
boolean
Default: false

Replicate the properties of the source to the target, regardless of workload's customize-type.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/workloads/{wid}/refresh \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "forceUpdateTarget": false
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "Data": {
    },
  • "MetaData": {
    }
}

Update migration plan

Updates the migration plan using the plan UUID as input. When not in progress, all migration plan entities can be updated.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

Request Body schema: application/json
required

Information required to update migration plan object.

APIVersion
string

Move API version

IsUpdatePlanFlow
boolean

Indicates whether the update plan is called as part of the create plan. Assigned values can be False or True

object (MigrationPlanSummary)

Summary of migration plan.

object (Plan)

Plan information

Type
string

Plan type.

Responses

Response samples

Content type
{
  • "MetaData": {
    }
}

Update node VM order for a migration plan

Update node VM order for a migration plan.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/defaultnodevmorder

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

Request Body schema: application/json

Request to update the node VM order for a migration plan.

SetDefault
boolean

Flag to indicate if the node VM order should be set as default. This will override the update node VM order spec.

object (UpdateNodeVMOrderSpec)

Update node VM order specifications.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/nodevmorder \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "SetDefault": true,
    "UpdateNodeVMOrderSpec": {
        "NodeVMOrderStages": [
            {
                "Entities": {
                    "NodeUuid": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                    "VMUuids": [
                        "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
                    ]
                },
                "StageType": "ConvertNode"
            }
        ]
    }
}'

Response samples

Content type
application/json
{
  • "ApiVersion": "string",
  • "Code": 0,
  • "Kind": "string",
  • "Message": "string",
  • "State": "string"
}

Upload the ISO file for a conversion plan

Uploads the ISO file for a conversion plan.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/iso/upload

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

Request Body schema: multipart/form-data
required
isoFile
required
string <binary>

The ISO file to be uploaded.

md5Sum
required
string

MD5 hash of the ISO file.

hypervisorType
required
string
Default: "kvm"
Enum: "kvm" "esx"

Hypervisor type for which the ISO details are required.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/iso/upload \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: multipart/form-data' \
    --data '{
    "hypervisorType": "kvm",
    "isoFile": null,
    "md5Sum": "string"
}'

Response samples

Content type
application/json
{
  • "TaskUuid": "60e7d9b1-e34e-4d60-9bcd-0411d7a448bf"
}

Validate cluster for conversion in a migration plan.

Validates the cluster for conversion in a migration plan. Returns task UUID for the operation.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/validateconversion

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID

Request Body schema: application/json

Request to validate the cluster for conversion in a migration plan.

ForceRetry
boolean

Force retry the cluster conversion validation even if it was completed successfully earlier.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/{id}/validateconversion \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "ForceRetry": true
}'

Response samples

Content type
application/json
{
  • "TaskUuid": "60e7d9b1-e34e-4d60-9bcd-0411d7a448bf"
}

Validate the hash for the ISO to be uploaded

Validate the hash for the ISO to be uploaded for a conversion plan.

Sample API Syntax: https://move.address/move/v2/plans/867b4a4f-cb8c-4416-8d7e-26e033023aa4/iso/validate

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID

query Parameters
HypervisorType
required
string
Default: "kvm"
Enum: "kvm" "esx"

Hypervisor type for which the ISO details are required.

Md5Sum
required
string

MD5 hash of the ISO file.

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/plans/{id}/iso/validatehash \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "IsIsoValid": true,
  • "Messages": [
    ]
}

Provider

Add PC credentials to a provider

Adds PC credentials to an existing provider.

Sample API Syntax: https://move.address/move/v2/81b0a14d-c937-4872-b792-d46484ee8905/AddEntity

Authorizations:
Bearer
path Parameters
id
required
string

Provider UUID.

Request Body schema: application/json
required

PC access information to add to the provider.

IPorFQDN
string

Prism Central IP Address or FQDN.

Password
string

Prism Central password.

Username
string

Prism Central username.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/providers/{id}/addentity \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "IPorFQDN": "string",
    "Password": "string",
    "Username": "string"
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Spec": {
    },
  • "Status": {
    },
  • "TaskUuid": "string"
}

Create a new provider

Creates a new provider.

A provider is an environment (ESXi/AOS/AWS/AZURE and so on) which can act as a migration source, target or both. The provider can later be added as a source/target during the creation of migration plans. See the Move User Guide to know about supported source/target types.

Sample API Syntax: https://move.address/move/v2/providers

Authorizations:
Bearer
Request Body schema:
required

Provider object information required to create a new provider.

APIVersion
string

Move API version

object (MetaData)

Metadata information

object (Provider)

Information to add provider.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/providers \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "APIVersion": "string",
    "MetaData": {
        "Count": 0,
        "CreationTime": "string",
        "Kind": "string",
        "LastUpdateTime": "string",
        "Name": "string",
        "SpecVersion": "string",
        "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
    },
    "Spec": {
        "AOSAccessInfo": {
            "IPorFQDN": "string",
            "Password": "string",
            "RegisteredVCAccessInfo": [
                {
                    "IPAddress": "string",
                    "Password": "string",
                    "Username": "string"
                }
            ],
            "Username": "string"
        },
        "AOSCCAccessInfo": {
            "IPorFQDN": "string",
            "Password": "string",
            "RegisteredVCAccessInfo": [
                {
                    "IPAddress": "string",
                    "Password": "string",
                    "Username": "string"
                }
            ],
            "Username": "string"
        },
        "AOSCCProperties": {
            "ClusterUuid": "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
        },
        "AOSProperties": {
            "AddFNSProvider": true,
            "CategoriesMapping": {
                "property1": [
                    "string"
                ],
                "property2": [
                    "string"
                ]
            },
            "Clusters": [
                {
                    "CompatibleTargetTypes": [
                        "string"
                    ],
                    "Containers": [
                        {
                            "FreeBytes": "string",
                            "IsNutanixManaged": true,
                            "Name": "string",
                            "TotalBytes": "string",
                            "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                            "UsedBytes": "string"
                        }
                    ],
                    "HypervisorTypes": [
                        "string"
                    ],
                    "IPorFQDN": "string",
                    "Name": "string",
                    "Networks": [
                        {
                            "IPPool": [
                                "string"
                            ],
                            "IsIpamEnabled": true,
                            "Name": "string",
                            "UUID": "string",
                            "WarningMsg": "string"
                        }
                    ],
                    "RegisteredVCIPAddress": "string",
                    "SupportedCpuModels": [
                        {
                            "IsDefault": true,
                            "Name": "string",
                            "UUID": "string",
                            "Vendor": "string"
                        }
                    ],
                    "TargetUUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                    "Type": "string",
                    "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                    "Version": "string",
                    "Vpcs": [
                        {
                            "Name": "string",
                            "UUID": "string",
                            "VPCSubnets": [
                                {
                                    "IPPool": [
                                        "string"
                                    ],
                                    "Name": "string",
                                    "UUID": "string",
                                    "WarningMsg": "string"
                                }
                            ],
                            "VPCTunnel": {
                                "Name": "string",
                                "UUID": "string"
                            }
                        }
                    ]
                }
            ],
            "Errors": [
                {
                    "ApiVersion": "string",
                    "Code": 0,
                    "Kind": "string",
                    "Message": "string",
                    "State": "string"
                }
            ],
            "FeaturesStatus": [
                {
                    "IsEnabled": true,
                    "Name": "string",
                    "Version": "string"
                }
            ],
            "Projects": [
                {
                    "ClusterList": [
                        "string"
                    ],
                    "ErrorList": [
                        "string"
                    ],
                    "Name": "string",
                    "RunbookList": [
                        "string"
                    ],
                    "SubnetList": [
                        "string"
                    ],
                    "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                    "UserList": [
                        "string"
                    ],
                    "VpcList": [
                        "string"
                    ],
                    "VpcTunnelList": [
                        "string"
                    ]
                }
            ],
            "Runbooks": [
                {
                    "Description": "string",
                    "ErrorList": [
                        {
                            "Message": "string",
                            "Title": "string",
                            "Type": "INFO"
                        }
                    ],
                    "IsSupported": true,
                    "MessageList": [
                        {
                            "Message": "string",
                            "Title": "string",
                            "Type": "INFO"
                        }
                    ],
                    "Name": "string",
                    "ProjectUUID": "string",
                    "TaskList": [
                        {
                            "MessageList": [
                                {
                                    "Message": "string",
                                    "Title": "string",
                                    "Type": "INFO"
                                }
                            ],
                            "Name": "string",
                            "Type": "string",
                            "UUID": "string"
                        }
                    ],
                    "UUID": "string",
                    "VariableList": [
                        {
                            "DataType": "BASE",
                            "Description": "string",
                            "IsDynamic": true,
                            "IsEditable": true,
                            "IsHidden": true,
                            "IsMandatory": true,
                            "IsSecret": true,
                            "Label": "string",
                            "MessageList": [
                                {
                                    "Message": "string",
                                    "Title": "string",
                                    "Type": "INFO"
                                }
                            ],
                            "Name": "string",
                            "Options": {
                                "Choices": [
                                    "string"
                                ],
                                "Type": "PREDEFINED"
                            },
                            "Regex": {
                                "ShouldValidate": true,
                                "Value": "string"
                            },
                            "UUID": "string",
                            "Value": "string",
                            "ValueType": "STRING"
                        }
                    ],
                    "WarningList": [
                        {
                            "Message": "string",
                            "Title": "string",
                            "Type": "INFO"
                        }
                    ]
                }
            ],
            "Users": [
                {
                    "Name": "string",
                    "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
                }
            ],
            "Version": "string"
        },
        "AWSAccessInfo": {
            "AccessKey": "string",
            "SecretKey": "string"
        },
        "AWSProperties": {
            "AvailableRegions": [
                {
                    "AvailabilityZones": [
                        "string"
                    ],
                    "ID": "string",
                    "Name": "string",
                    "Networks": [
                        {
                            "IsDefault": true,
                            "Name": "string",
                            "SecurityGroups": [
                                {
                                    "IsDefault": true,
                                    "Name": "string",
                                    "SgID": "string",
                                    "VpcID": "string"
                                }
                            ],
                            "State": "string",
                            "Subnet": {
                                "property1": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ],
                                "property2": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ]
                            },
                            "VpcId": "string"
                        }
                    ]
                }
            ],
            "ContextEntries": [
                {
                    "ContextKeyName": "string",
                    "ContextKeyType": "string",
                    "ContextKeyValues": [
                        "string"
                    ]
                }
            ],
            "RegionsWithInstances": [
                {
                    "AvailabilityZones": [
                        "string"
                    ],
                    "ID": "string",
                    "Name": "string",
                    "Networks": [
                        {
                            "IsDefault": true,
                            "Name": "string",
                            "SecurityGroups": [
                                {
                                    "IsDefault": true,
                                    "Name": "string",
                                    "SgID": "string",
                                    "VpcID": "string"
                                }
                            ],
                            "State": "string",
                            "Subnet": {
                                "property1": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ],
                                "property2": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ]
                            },
                            "VpcId": "string"
                        }
                    ]
                }
            ]
        },
        "AzureAccessInfo": {
            "ClientID": "string",
            "ClientSecret": "string",
            "SubscriptionID": "string",
            "TenantID": "string"
        },
        "AzureProperties": {
            "AvailableRegions": [
                {
                    "ID": "string",
                    "Name": "string",
                    "NetworkSecurityGroups": [
                        {
                            "Location": "string",
                            "Name": "string",
                            "NsgID": "string",
                            "ResourceGroup": "string"
                        }
                    ],
                    "Networks": [
                        {
                            "Location": "string",
                            "Name": "string",
                            "ResourceGroup": "string",
                            "Subnet": {
                                "property1": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ],
                                "property2": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ]
                            },
                            "VnetId": "string"
                        }
                    ],
                    "ResourceGroups": [
                        "string"
                    ]
                }
            ],
            "RegionsWithInstances": [
                {
                    "ID": "string",
                    "Name": "string",
                    "NetworkSecurityGroups": [
                        {
                            "Location": "string",
                            "Name": "string",
                            "NsgID": "string",
                            "ResourceGroup": "string"
                        }
                    ],
                    "Networks": [
                        {
                            "Location": "string",
                            "Name": "string",
                            "ResourceGroup": "string",
                            "Subnet": {
                                "property1": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ],
                                "property2": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ]
                            },
                            "VnetId": "string"
                        }
                    ],
                    "ResourceGroups": [
                        "string"
                    ]
                }
            ],
            "RegisteredApplication": {
                "Application": "string",
                "Subscription": "string",
                "Tenant": "string"
            }
        },
        "CompatibleTargetTypes": [
            "string"
        ],
        "ESXAccessInfo": {
            "IPorFQDN": "string",
            "Password": "string",
            "Username": "string"
        },
        "ESXProperties": {
            "VddkProperties": [
                {
                    "LibUploaded": false,
                    "Version": "string"
                }
            ],
            "Version": "string"
        },
        "FilesAccessInfo": {
            "IPorFQDN": "string",
            "PCAccessInfo": {
                "IPorFQDN": "string",
                "Password": "string",
                "Username": "string"
            },
            "Password": "string",
            "Username": "string"
        },
        "FilesProperties": {
            "FileserverID": "string",
            "SupportedProtocols": [
                "string"
            ],
            "TenantID": "string"
        },
        "HyperVAccessInfo": {
            "IPorFQDN": "string",
            "Password": "string",
            "Username": "string"
        },
        "HyperVProperties": {
            "Version": "string"
        },
        "HyperVSettings": {
            "OverrideAgent": true
        },
        "InventoryErrors": [
            "string"
        ],
        "IsInventoryLoading": true,
        "Name": "string",
        "NsxAccessInfo": {
            "IPorFQDN": "string",
            "Password": "string",
            "Username": "string"
        },
        "NsxProperties": {
            "Version": "string"
        },
        "OtherFilesAccessInfo": {
            "IPorFQDN": "string",
            "Password": "string",
            "TargetName": "string",
            "TargetUUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
            "Username": "string"
        },
        "OverrideType": "string",
        "PermissionsError": {
            "ErrorMsg": "string",
            "Source": [
                "string"
            ],
            "Target": [
                "string"
            ]
        },
        "Roles": [
            "string"
        ],
        "SpProviderIds": [
            "string"
        ],
        "Type": "string",
        "TypeDescription": "string",
        "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
        "Version": "string",
        "VmProviderIds": [
            "string"
        ]
    }
}'

Response samples

Content type
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Spec": {
    },
  • "Status": {
    },
  • "TaskUuid": "string"
}

Delete a provider

Deletes a provider whose UUID is specified.

Sample API Syntax: https://move.address/move/v2/81b0a14d-c937-4872-b792-d46484ee8905

Authorizations:
Bearer
path Parameters
id
required
string

Provider UUID.

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev//move/v2/providers/{id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
     

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Status": {
    }
}

Edit provider PC credentials

Updates PC credentials for an existing provider.

Sample API Syntax: https://move.address/move/v2/81b0a14d-c937-4872-b792-d46484ee8905/EditEntity

Authorizations:
Bearer
path Parameters
id
required
string

Provider UUID.

Request Body schema:
required

Updated PC access information for the provider.

IPorFQDN
string

Prism Central IP Address or FQDN.

Password
string

Prism Central password.

Username
string

Prism Central username.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/providers/{id}/editentity \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "IPorFQDN": "string",
    "Password": "string",
    "Username": "string"
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Spec": {
    },
  • "Status": {
    },
  • "TaskUuid": "string"
}

Fetch provider inventory information

Gets inventory of the provider. Inventory collection gathers information about the VMs in a provider. The information retrieved includes:

  • Cluster name
  • Data center name
  • Network details
  • OS type
  • Number of CPUs
  • VM names
  • VM UUIDs
Note: the refresh inventory flag can be used to refresh the inventory for the provider, if set to true.

Sample API Syntax: https://move.address/move/v2/81b0a14d-c937-4872-b792-d46484ee8905/workloads/list

Authorizations:
Bearer
path Parameters
id
required
string

UUID of the provider.

query Parameters
targetSpProvider
string

The UUID of target security policy provider to fetch customized "AssociatedCategories" for each workload.

Request Body schema:

Workload search filter object to filter the required VM information.

AfterOffset
integer <int64>
BeforeOffset
integer <int64>
Fields
Array of strings
object (Filters)
Limit
integer <int64>
Query
string
RefreshInventory
boolean
Default: false

Refresh Provider Inventory.

ShowVMS
string
Enum: "all" "ineligiblevms" "eligiblevms"
SortBy
string (SortColumn)
Enum: "VMName" "Cluster" "Datacenter" "OS" "HostName" "PowerState" "VCPU" "Memory" "Storage" "ShareName" "SharePath" "sequence_number"

The column based on which the filter output are sorted. The permissible list of values- VMName, Cluster, Datacenter, OS, HostName, PowerState, VCPU, Memory, Storage, ShareName, SharePath.

SortOrderDesc
boolean
UpdateInventoryToPlans
boolean
Default: true

Update refreshed inventory details to all available plans which have the provider as the source. This flag is honored only if 'RefreshInventory' is also 'true'.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/providers/{id}/workloads/list \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "AfterOffset": 0,
    "BeforeOffset": 0,
    "Fields": [
        "string"
    ],
    "Filter": {
        "Categories": {
            "property1": [
                "string"
            ],
            "property2": [
                "string"
            ]
        },
        "Cluster": [
            "string"
        ],
        "Datacenter": [
            "string"
        ],
        "Host": [
            "string"
        ],
        "ShareUuids": [
            "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
        ],
        "TargetType": "string",
        "VMUuids": [
            "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
        ]
    },
    "Limit": 0,
    "Query": "string",
    "RefreshInventory": false,
    "ShowVMS": "all",
    "SortBy": "VMName",
    "SortOrderDesc": true,
    "UpdateInventoryToPlans": true
}'

Response samples

Content type
{
  • "APIVersion": "string",
  • "Entities": [
    ],
  • "MetaData": {
    },
  • "Nodes": {
    },
  • "SecurityPolicyData": {
    },
  • "Shares": [
    ]
}

Get details about a specified runbook from the Prism Central provider

Retrieves the details of a specified runbook from the Prism Central provider. The runbook details include the runbook variables, tasks, and whether the runbook is supported to run with Move.

Sample API syntax: https://move.address/move/v2/81b0a14d-c937-4872-b792-d46484ee8905/runbooks/d376e450-4185-ea73-22a4-1820f3865eea

Authorizations:
Bearer
path Parameters
id
required
string

UUID of the provider.

runbookid
required
string

UUID of the runbook.

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/providers/{id}/runbooks/{runbookid} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Spec": {
    }
}

Get information about all providers

Gets the provider information.

List the provider UUIDs in the request for details of specified list of providers. If no provider UUIDs are specified, returns the information about all providers known to the Move application. The information retrieved includes:

  • Provider name
  • Provider type
  • Provider UUID
  • Version
  • Role
Sample API Syntax: https://move.address/move/v2/providers/list

Authorizations:
Bearer
Request Body schema: application/json

Filter the list of providers to be retrieved by giving input provider filter object.

EntityType
string
Enum: "VM" "Files" "SecurityPolicy" "Conversion"

Entity type filter.

RefreshInventory
boolean
Default: false

Refresh Provider Inventory.

TargetUUID
string <uuid>

Target provider UUID.

Type
string

Provider type.

UUIDs
Array of strings <uuid> [ items <uuid > ]

List of Provider UUIDs.

UpdateInventoryToPlans
boolean
Default: true

Update refreshed inventory details to all available plans which have the providers as the source. This flag is honored only if 'RefreshInventory' is also 'true'.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/providers/list \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "EntityType": "VM",
    "RefreshInventory": false,
    "TargetUUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
    "Type": "string",
    "UUIDs": [
        "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
    ],
    "UpdateInventoryToPlans": true
}'

Response samples

Content type
application/json
{
  • "Entities": [
    ],
  • "MetaData": {
    }
}

Get provider details

Gets details of a single provider whose UUID is specified. The information retrieved includes:

  • Provider name
  • Provider type
  • Provider UUID
  • Version
  • Role
Sample API Syntax: https://move.address/move/v2/81b0a14d-c937-4872-b792-d46484ee8905

Authorizations:
Bearer
path Parameters
id
required
string

Provider UUID.

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/providers/{id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
     

Response samples

Content type
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Spec": {
    },
  • "TaskUuid": "string",
  • "Type": "string"
}

Update provider information

Updates provider information. The API can update provider name and all fields in provider access info.
Note: The Type field of the provider cannot be updated.

Sample API Syntax: https://move.address/move/v2/81b0a14d-c937-4872-b792-d46484ee8905

Authorizations:
Bearer
path Parameters
id
required
string

Provider UUID.

Request Body schema:
required

Information required to be updated in the provider.

APIVersion
string

Move API version

object (MetaData)

Metadata information

object (Provider)

Information to add provider.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/providers/{id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "APIVersion": "string",
    "MetaData": {
        "Count": 0,
        "CreationTime": "string",
        "Kind": "string",
        "LastUpdateTime": "string",
        "Name": "string",
        "SpecVersion": "string",
        "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
    },
    "Spec": {
        "AOSAccessInfo": {
            "IPorFQDN": "string",
            "Password": "string",
            "RegisteredVCAccessInfo": [
                {
                    "IPAddress": "string",
                    "Password": "string",
                    "Username": "string"
                }
            ],
            "Username": "string"
        },
        "AOSCCAccessInfo": {
            "IPorFQDN": "string",
            "Password": "string",
            "RegisteredVCAccessInfo": [
                {
                    "IPAddress": "string",
                    "Password": "string",
                    "Username": "string"
                }
            ],
            "Username": "string"
        },
        "AOSCCProperties": {
            "ClusterUuid": "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
        },
        "AOSProperties": {
            "AddFNSProvider": true,
            "CategoriesMapping": {
                "property1": [
                    "string"
                ],
                "property2": [
                    "string"
                ]
            },
            "Clusters": [
                {
                    "CompatibleTargetTypes": [
                        "string"
                    ],
                    "Containers": [
                        {
                            "FreeBytes": "string",
                            "IsNutanixManaged": true,
                            "Name": "string",
                            "TotalBytes": "string",
                            "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                            "UsedBytes": "string"
                        }
                    ],
                    "HypervisorTypes": [
                        "string"
                    ],
                    "IPorFQDN": "string",
                    "Name": "string",
                    "Networks": [
                        {
                            "IPPool": [
                                "string"
                            ],
                            "IsIpamEnabled": true,
                            "Name": "string",
                            "UUID": "string",
                            "WarningMsg": "string"
                        }
                    ],
                    "RegisteredVCIPAddress": "string",
                    "SupportedCpuModels": [
                        {
                            "IsDefault": true,
                            "Name": "string",
                            "UUID": "string",
                            "Vendor": "string"
                        }
                    ],
                    "TargetUUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                    "Type": "string",
                    "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                    "Version": "string",
                    "Vpcs": [
                        {
                            "Name": "string",
                            "UUID": "string",
                            "VPCSubnets": [
                                {
                                    "IPPool": [
                                        "string"
                                    ],
                                    "Name": "string",
                                    "UUID": "string",
                                    "WarningMsg": "string"
                                }
                            ],
                            "VPCTunnel": {
                                "Name": "string",
                                "UUID": "string"
                            }
                        }
                    ]
                }
            ],
            "Errors": [
                {
                    "ApiVersion": "string",
                    "Code": 0,
                    "Kind": "string",
                    "Message": "string",
                    "State": "string"
                }
            ],
            "FeaturesStatus": [
                {
                    "IsEnabled": true,
                    "Name": "string",
                    "Version": "string"
                }
            ],
            "Projects": [
                {
                    "ClusterList": [
                        "string"
                    ],
                    "ErrorList": [
                        "string"
                    ],
                    "Name": "string",
                    "RunbookList": [
                        "string"
                    ],
                    "SubnetList": [
                        "string"
                    ],
                    "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                    "UserList": [
                        "string"
                    ],
                    "VpcList": [
                        "string"
                    ],
                    "VpcTunnelList": [
                        "string"
                    ]
                }
            ],
            "Runbooks": [
                {
                    "Description": "string",
                    "ErrorList": [
                        {
                            "Message": "string",
                            "Title": "string",
                            "Type": "INFO"
                        }
                    ],
                    "IsSupported": true,
                    "MessageList": [
                        {
                            "Message": "string",
                            "Title": "string",
                            "Type": "INFO"
                        }
                    ],
                    "Name": "string",
                    "ProjectUUID": "string",
                    "TaskList": [
                        {
                            "MessageList": [
                                {
                                    "Message": "string",
                                    "Title": "string",
                                    "Type": "INFO"
                                }
                            ],
                            "Name": "string",
                            "Type": "string",
                            "UUID": "string"
                        }
                    ],
                    "UUID": "string",
                    "VariableList": [
                        {
                            "DataType": "BASE",
                            "Description": "string",
                            "IsDynamic": true,
                            "IsEditable": true,
                            "IsHidden": true,
                            "IsMandatory": true,
                            "IsSecret": true,
                            "Label": "string",
                            "MessageList": [
                                {
                                    "Message": "string",
                                    "Title": "string",
                                    "Type": "INFO"
                                }
                            ],
                            "Name": "string",
                            "Options": {
                                "Choices": [
                                    "string"
                                ],
                                "Type": "PREDEFINED"
                            },
                            "Regex": {
                                "ShouldValidate": true,
                                "Value": "string"
                            },
                            "UUID": "string",
                            "Value": "string",
                            "ValueType": "STRING"
                        }
                    ],
                    "WarningList": [
                        {
                            "Message": "string",
                            "Title": "string",
                            "Type": "INFO"
                        }
                    ]
                }
            ],
            "Users": [
                {
                    "Name": "string",
                    "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
                }
            ],
            "Version": "string"
        },
        "AWSAccessInfo": {
            "AccessKey": "string",
            "SecretKey": "string"
        },
        "AWSProperties": {
            "AvailableRegions": [
                {
                    "AvailabilityZones": [
                        "string"
                    ],
                    "ID": "string",
                    "Name": "string",
                    "Networks": [
                        {
                            "IsDefault": true,
                            "Name": "string",
                            "SecurityGroups": [
                                {
                                    "IsDefault": true,
                                    "Name": "string",
                                    "SgID": "string",
                                    "VpcID": "string"
                                }
                            ],
                            "State": "string",
                            "Subnet": {
                                "property1": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ],
                                "property2": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ]
                            },
                            "VpcId": "string"
                        }
                    ]
                }
            ],
            "ContextEntries": [
                {
                    "ContextKeyName": "string",
                    "ContextKeyType": "string",
                    "ContextKeyValues": [
                        "string"
                    ]
                }
            ],
            "RegionsWithInstances": [
                {
                    "AvailabilityZones": [
                        "string"
                    ],
                    "ID": "string",
                    "Name": "string",
                    "Networks": [
                        {
                            "IsDefault": true,
                            "Name": "string",
                            "SecurityGroups": [
                                {
                                    "IsDefault": true,
                                    "Name": "string",
                                    "SgID": "string",
                                    "VpcID": "string"
                                }
                            ],
                            "State": "string",
                            "Subnet": {
                                "property1": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ],
                                "property2": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ]
                            },
                            "VpcId": "string"
                        }
                    ]
                }
            ]
        },
        "AzureAccessInfo": {
            "ClientID": "string",
            "ClientSecret": "string",
            "SubscriptionID": "string",
            "TenantID": "string"
        },
        "AzureProperties": {
            "AvailableRegions": [
                {
                    "ID": "string",
                    "Name": "string",
                    "NetworkSecurityGroups": [
                        {
                            "Location": "string",
                            "Name": "string",
                            "NsgID": "string",
                            "ResourceGroup": "string"
                        }
                    ],
                    "Networks": [
                        {
                            "Location": "string",
                            "Name": "string",
                            "ResourceGroup": "string",
                            "Subnet": {
                                "property1": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ],
                                "property2": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ]
                            },
                            "VnetId": "string"
                        }
                    ],
                    "ResourceGroups": [
                        "string"
                    ]
                }
            ],
            "RegionsWithInstances": [
                {
                    "ID": "string",
                    "Name": "string",
                    "NetworkSecurityGroups": [
                        {
                            "Location": "string",
                            "Name": "string",
                            "NsgID": "string",
                            "ResourceGroup": "string"
                        }
                    ],
                    "Networks": [
                        {
                            "Location": "string",
                            "Name": "string",
                            "ResourceGroup": "string",
                            "Subnet": {
                                "property1": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ],
                                "property2": [
                                    {
                                        "Ipv4Cidr": "string",
                                        "Ipv6Cidr": "string",
                                        "Name": "string",
                                        "SubnetID": "string"
                                    }
                                ]
                            },
                            "VnetId": "string"
                        }
                    ],
                    "ResourceGroups": [
                        "string"
                    ]
                }
            ],
            "RegisteredApplication": {
                "Application": "string",
                "Subscription": "string",
                "Tenant": "string"
            }
        },
        "CompatibleTargetTypes": [
            "string"
        ],
        "ESXAccessInfo": {
            "IPorFQDN": "string",
            "Password": "string",
            "Username": "string"
        },
        "ESXProperties": {
            "VddkProperties": [
                {
                    "LibUploaded": false,
                    "Version": "string"
                }
            ],
            "Version": "string"
        },
        "FilesAccessInfo": {
            "IPorFQDN": "string",
            "PCAccessInfo": {
                "IPorFQDN": "string",
                "Password": "string",
                "Username": "string"
            },
            "Password": "string",
            "Username": "string"
        },
        "FilesProperties": {
            "FileserverID": "string",
            "SupportedProtocols": [
                "string"
            ],
            "TenantID": "string"
        },
        "HyperVAccessInfo": {
            "IPorFQDN": "string",
            "Password": "string",
            "Username": "string"
        },
        "HyperVProperties": {
            "Version": "string"
        },
        "HyperVSettings": {
            "OverrideAgent": true
        },
        "InventoryErrors": [
            "string"
        ],
        "IsInventoryLoading": true,
        "Name": "string",
        "NsxAccessInfo": {
            "IPorFQDN": "string",
            "Password": "string",
            "Username": "string"
        },
        "NsxProperties": {
            "Version": "string"
        },
        "OtherFilesAccessInfo": {
            "IPorFQDN": "string",
            "Password": "string",
            "TargetName": "string",
            "TargetUUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
            "Username": "string"
        },
        "OverrideType": "string",
        "PermissionsError": {
            "ErrorMsg": "string",
            "Source": [
                "string"
            ],
            "Target": [
                "string"
            ]
        },
        "Roles": [
            "string"
        ],
        "SpProviderIds": [
            "string"
        ],
        "Type": "string",
        "TypeDescription": "string",
        "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
        "Version": "string",
        "VmProviderIds": [
            "string"
        ]
    }
}'

Response samples

Content type
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Spec": {
    },
  • "Status": {
    },
  • "TaskUuid": "string"
}

Validate provider information

Validate provider information. The API can validate credentials and check permissions associated with the provider.

Sample API Syntax: https://move.address/move/v2/81b0a14d-c937-4872-b792-d46484ee8905/validate

Authorizations:
Bearer
path Parameters
id
required
string

Provider UUID.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/providers/{id}/validate \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Spec": {
    },
  • "TaskUuid": "string",
  • "Type": "string"
}

Source

Power on the VMs that are part of a migration plan in the region specified

Powers on selected VMs during migration - if they are powered off. This API is for internal use only and is specific to AWS source provider.

Sample API Syntax: https://move.address/move/v2/sources/6b45ca9f-71a6-23b5-bd0c-bf917b95e7a5/regions/us-south-1/poweronvms

Authorizations:
Bearer
path Parameters
id
required
string

Source UUID.

regionId
required
string

Region identifier.

Request Body schema: application/json

List of VM IDs in the migration plan that need to be powered On.

APIVersion
string
object (VMToMigrate)

VM information.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/sources/{id}/regions/{regionId}/poweronvms \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "APIVersion": "string",
    "Spec": {
        "VMs": [
            {
                "AllowUVMOps": true,
                "CategoriesMapping": {
                    "property1": [
                        "string"
                    ],
                    "property2": [
                        "string"
                    ]
                },
                "CreatePublicIpAddress": true,
                "DiskConfig": {
                    "AddCdrom": true
                },
                "EnableMemoryOvercommit": true,
                "GuestPrepMode": "manual",
                "ID": "string",
                "InstallNGT": true,
                "Owner": "string",
                "Password": "string",
                "PemFile": "string",
                "PowerOffForpRDMtovRDMConversion": true,
                "RetainMacAddress": true,
                "RetainUserData": true,
                "Runbooks": [
                    {
                        "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                        "Variables": [
                            {}
                        ]
                    }
                ],
                "SkipCdrom": true,
                "SkipIPRetention": true,
                "TimeZone": "string",
                "UUID": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                "UninstallGuestTools": true,
                "UserName": "string",
                "VMCustomizationConfig": {
                    "AWSVMConfig": {
                        "AMIID": "string",
                        "InstanceType": "string"
                    },
                    "AzureVMConfig": {
                        "DiskCategory": "string",
                        "VMSize": "string"
                    }
                },
                "VMCustomizeType": "replicate",
                "VMPriority": "High"
            }
        ]
    }
}'

Response samples

Content type
application/json
{
  • "ApiVersion": "string",
  • "Code": 0,
  • "Kind": "string",
  • "Message": "string",
  • "State": "string"
}

Task

Get task details

Get details of the task whose UUID is specified.

Authorizations:
Bearer
path Parameters
id
required
string <uuid>

Task UUID.

query Parameters
IncludeChildTasks
boolean
Default: false

Include child tasks in the response.

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/tasks/{id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
     

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Spec": {
    }
}

Token

Checks if the token is authorized to access Move

Checks if a user with the given token is authorized to access Move. Move generates an event whenever this API is called.

Sample API Syntax: https://move.address/move/v2/token/checkAuthorized

Request Body schema: application/json
required

Authentication token whose authorization status will be checked.

Token
string

Authentication Token

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/token/checkAuthorized \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
    --data '{
    "Token": "string"
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "MetaData": {
    },
  • "Status": {
    }
}

Validate the authentication token in the Authorization header

Validates the authentication token in the Authorization header. This is intended for subrequest authentication using GET method supported by web servers such as NGINX. This API has minimal overhead compared to other APIs.

Sample API Syntax: https://move.address/move/v2/token/status

Authorizations:
Bearer

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/token/status \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Message": "Invalid Token"
}

Translation

Add or update building blocks preview for translating security policy

Add or update building blocks preview for translating security policy. The API is in beta and might be subjected to change. This API involves a low-level call with minimal validations for the data.

Authorizations:
Bearer
Request Body schema: application/json
required
AssociatedPolicyUuids
Array of strings

The list of NSX security policies' UUID whose building blocks preview are to be updated. If empty, expecting all the building blocks preview will be updated.

required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

required
object (TspBuildingBlocksPreview)

The building blocks during the translation of security policies.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/buildingblockspreview/put \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "AssociatedPolicyUuids": [
        "string"
    ],
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    },
    "TspBuildingBlocksPreview": {
        "NsxGroupsToPcAddressGroups": [
            {
                "AssociatedIps": [
                    "string"
                ],
                "AssociatedPolicies": [
                    {
                        "PolicyName": "string",
                        "PolicyUuid": "string"
                    }
                ],
                "IsCustomized": true,
                "IsMigrated": true,
                "NsxGroupId": "string",
                "NsxGroupName": "string",
                "PcAddressGroupName": "string",
                "PcAddressGroupUuid": "string"
            }
        ],
        "NsxGroupsToPcCategories": [
            {
                "AssociatedPolicies": [
                    {
                        "PolicyName": "string",
                        "PolicyUuid": "string"
                    }
                ],
                "IsCustomized": true,
                "IsMigrated": true,
                "NsxGroupId": "string",
                "NsxGroupName": "string",
                "PcCategoryName": "string",
                "PcCategoryUuid": "string",
                "PcCategoryValue": "string"
            }
        ],
        "NsxServicesToPcServices": [
            {
                "AssociatedPolicies": [
                    {
                        "PolicyName": "string",
                        "PolicyUuid": "string"
                    }
                ],
                "IsCustomized": true,
                "IsMigrated": true,
                "NsxServiceId": "string",
                "NsxServiceName": "string",
                "PcServiceName": "string",
                "PcServiceUuid": "string",
                "ServiceElements": [
                    {
                        "IcmpCode": 0,
                        "IcmpType": 0,
                        "Ports": "string",
                        "Protocol": "string"
                    }
                ]
            }
        ]
    }
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "Data": {
    },
  • "MetaData": {
    }
}

Add or update FNS policies preview for translating security policy

Add or update FNS policies preview for translating security policy. The API is in beta and might be subjected to change. This API involves a low-level call with minimal validations for the data.

Authorizations:
Bearer
Request Body schema: application/json
required
AssociatedPolicyUuids
Array of strings

The list of NSX security policies' UUID whose FNS security policies preview are to be updated. If empty, expecting all the FNS security policies preview will be updated.

required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

required
object (TspFnsPoliciesPreview)

The Prism Central FNS security policies during the translation of security policies.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/fnspoliciespreview/put \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "AssociatedPolicyUuids": [
        "string"
    ],
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    },
    "TspFnsPoliciesPreview": {
        "NsxPoliciesToFnsPolicies": [
            {
                "Nsx": {
                    "PolicyName": "string",
                    "PolicyUuid": "string"
                },
                "Pc": [
                    {
                        "IsMigrated": true,
                        "PolicyMode": "Save",
                        "PolicyName": "string",
                        "PolicyUuid": "string",
                        "PotentialSecuredEntities": [
                            {
                                "IsSecuredEntity": true,
                                "NsxGroupUuid": "string",
                                "SubType": "string",
                                "Type": "string",
                                "Value": "string"
                            }
                        ],
                        "Rules": {
                            "Inbound": [
                                {
                                    "SecuredEntity": [
                                        {
                                            "NsxGroupUuid": "string",
                                            "SubType": "string",
                                            "Type": "string",
                                            "Value": "string"
                                        }
                                    ],
                                    "Services": {
                                        "NamedServices": [
                                            {
                                                "Name": "string",
                                                "NsxServiceUuid": "string"
                                            }
                                        ],
                                        "Raw": [
                                            {}
                                        ]
                                    },
                                    "Source": [
                                        {
                                            "NsxGroupUuid": "string",
                                            "SubType": "string",
                                            "Type": "string",
                                            "Value": "string"
                                        }
                                    ]
                                }
                            ],
                            "Intra": [
                                {
                                    "SecuredEntity": [
                                        {
                                            "NsxGroupUuid": "string",
                                            "SubType": "string",
                                            "Type": "string",
                                            "Value": "string"
                                        }
                                    ],
                                    "TrafficFlow": "Allow"
                                }
                            ],
                            "Outbound": [
                                {
                                    "Destination": [
                                        {
                                            "NsxGroupUuid": "string",
                                            "SubType": "string",
                                            "Type": "string",
                                            "Value": "string"
                                        }
                                    ],
                                    "SecuredEntity": [
                                        {
                                            "NsxGroupUuid": "string",
                                            "SubType": "string",
                                            "Type": "string",
                                            "Value": "string"
                                        }
                                    ],
                                    "Services": {
                                        "NamedServices": [
                                            {
                                                "Name": "string",
                                                "NsxServiceUuid": "string"
                                            }
                                        ],
                                        "Raw": [
                                            {}
                                        ]
                                    }
                                }
                            ]
                        }
                    }
                ],
                "PolicyScope": {
                    "CreateCategory": true,
                    "NsVpc": {
                        "AssociatedCategories": [
                            {
                                "Description": "string",
                                "Id": "string",
                                "Key": "string",
                                "ProviderUuid": "string",
                                "RecId": 0,
                                "ResourceType": "string",
                                "Type": "string",
                                "Value": "string"
                            }
                        ],
                        "Id": "string",
                        "Name": "string"
                    },
                    "ScopeType": "VPC"
                },
                "SplitPolicyInfo": {
                    "HasUserConsent": false,
                    "Method": "ByRulesCount",
                    "TotalCount": 0
                }
            }
        ]
    }
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "Data": {
    },
  • "MetaData": {
    }
}

Add or update inventory for translating security policy

Add or update inventory for translating security policy. The API is in beta and might be subjected to change. This API involves a low-level call with minimal validations for the data.

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

required
object (TspInventory)

The inventory info during the translation of security policies.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/inventory/put \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    },
    "TspInventory": {
        "NsxGroups": {},
        "NsxSecurityPolicies": {
            "Migratable": [
                {
                    "AssociatedMovePlan": "string",
                    "Id": "string",
                    "IsNonMigratable": true,
                    "IsPartial": true,
                    "MigratableWarnings": [
                        "string"
                    ],
                    "Name": "string",
                    "NonMigratableReasons": [
                        "string"
                    ],
                    "NonMigratableRulesCount": 0,
                    "Rules": [
                        {
                            "DestinationGroups": [
                                {
                                    "Id": "string",
                                    "Name": "string"
                                }
                            ],
                            "DestinationIps": [
                                "string"
                            ],
                            "Id": "string",
                            "IsNonMigratable": true,
                            "MigratableWarnings": [
                                "string"
                            ],
                            "Name": "string",
                            "NonMigratableReasons": [
                                "string"
                            ],
                            "Services": {
                                "NamedServices": [
                                    {
                                        "Name": "string",
                                        "NsxServiceUuid": "string"
                                    }
                                ],
                                "Raw": [
                                    {}
                                ]
                            },
                            "SourceGroups": [
                                {
                                    "Id": "string",
                                    "Name": "string"
                                }
                            ],
                            "SourceIps": [
                                "string"
                            ],
                            "TrafficFlow": "string"
                        }
                    ],
                    "TotalRulesCount": 0,
                    "Uuid": "string"
                }
            ],
            "NonMigratable": [
                {
                    "AssociatedMovePlan": "string",
                    "Id": "string",
                    "IsNonMigratable": true,
                    "IsPartial": true,
                    "MigratableWarnings": [
                        "string"
                    ],
                    "Name": "string",
                    "NonMigratableReasons": [
                        "string"
                    ],
                    "NonMigratableRulesCount": 0,
                    "Rules": [
                        {
                            "DestinationGroups": [
                                {
                                    "Id": "string",
                                    "Name": "string"
                                }
                            ],
                            "DestinationIps": [
                                "string"
                            ],
                            "Id": "string",
                            "IsNonMigratable": true,
                            "MigratableWarnings": [
                                "string"
                            ],
                            "Name": "string",
                            "NonMigratableReasons": [
                                "string"
                            ],
                            "Services": {
                                "NamedServices": [
                                    {
                                        "Name": "string",
                                        "NsxServiceUuid": "string"
                                    }
                                ],
                                "Raw": [
                                    {}
                                ]
                            },
                            "SourceGroups": [
                                {
                                    "Id": "string",
                                    "Name": "string"
                                }
                            ],
                            "SourceIps": [
                                "string"
                            ],
                            "TrafficFlow": "string"
                        }
                    ],
                    "TotalRulesCount": 0,
                    "Uuid": "string"
                }
            ]
        },
        "NsxServices": {}
    }
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "Data": {
    },
  • "MetaData": {
    }
}

Bulk security policy updates

Update security policies in bulk with VPC and category information. This API is in beta and subject to change. It performs a low-level call with minimal data validation.

Authorizations:
Bearer
Request Body schema: application/json
required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

Array of objects (UpdateSecurityPolicyInfo)

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/fnspoliciespreview/bulkupdatesecuritypolicies \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    },
    "UpdateSecurityPoliciesInfo": [
        {
            "PolicyName": "string",
            "PolicyScope": {
                "CreateCategory": true,
                "NsVpc": {
                    "AssociatedCategories": [
                        {
                            "Description": "string",
                            "Id": "string",
                            "Key": "string",
                            "ProviderUuid": "string",
                            "RecId": 0,
                            "ResourceType": "string",
                            "Type": "string",
                            "Value": "string"
                        }
                    ],
                    "Id": "string",
                    "Name": "string"
                },
                "ScopeType": "VPC"
            },
            "PolicyUuid": "string"
        }
    ]
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "Data": {
    },
  • "MetaData": {
    }
}

Collect building blocks preview for translating security policy

Fetch building blocks preview for translating security policy. The API is in beta and might be subjected to change. This API involves a low-level call with minimal validations for the data.

Authorizations:
Bearer
Request Body schema: application/json
required
AssociatedPolicyUuids
Array of strings

The list of NSX security policies' UUID whose building blocks preview to be fetched. If empty, all the building blocks preview will be fetched.

required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/buildingblockspreview/fetch \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "AssociatedPolicyUuids": [
        "string"
    ],
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    }
}'

Response samples

Content type
application/json
{
  • "LastUpdated": "string",
  • "TspBuildingBlocksPreview": {
    },
  • "Version": "string"
}

Collect FNS policies preview for translating security policy

Fetch FNS policies preview for translating security policy. The API is in beta and might be subjected to change. This API involves a low-level call with minimal validations for the data.

Authorizations:
Bearer
Request Body schema: application/json
required
AssociatedPolicyUuids
Array of strings

The list of NSX security policies' UUID whose FNS security policies preview to be fetched. If empty, all the FNS security policies preview will be fetched.

required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/fnspoliciespreview/fetch \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "AssociatedPolicyUuids": [
        "string"
    ],
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    }
}'

Response samples

Content type
application/json
{
  • "LastUpdated": "string",
  • "TspFnsPoliciesPreview": {
    },
  • "Version": "string"
}

Collect inventory for translating security policy

Fetch inventory for translating security policy. The API is in beta and might be subjected to change. This API involves a low-level call with minimal validations for the data.

Authorizations:
Bearer
Request Body schema: application/json
required
object (TspInventorySearchFilter)
required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/inventory/fetch \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "SearchFilter": {
        "GroupUuids": [
            "string"
        ],
        "PolicyName": "string",
        "VmUuids": [
            "string"
        ]
    },
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    }
}'

Response samples

Content type
application/json
{
  • "LastUpdated": "string",
  • "TspInventory": {
    },
  • "Version": "string"
}

Populate FNS policies preview of a translated security policy

Populate FNS policies preview of a translated security policy. The API is in beta and might be subjected to change. This API checks the migration validations and stores the status internally.

Authorizations:
Bearer
Request Body schema: application/json
required
AddNsxInfo
boolean
Default: false

Optional flag to indicate if the NSX security policy information is to be added in the response.

FnsPolicyName
required
string

The Prism Central FNS security policy name whose Secured Entities is to be updated.

NsxPolicyUuid
required
string

The NSX security policy UUID whose FNS security policy preview is to be updated.

required
Array of objects (EntityInfo)

The list of secured entities that are to be available in the particular FNS security policy.

required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/fnspoliciespreview/selectivepopulate \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "AddNsxInfo": false,
    "FnsPolicyName": "string",
    "NsxPolicyUuid": "string",
    "SecuredEntities": [
        {
            "NsxGroupUuid": "string",
            "SubType": "string",
            "Type": "string",
            "Value": "string"
        }
    ],
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    }
}'

Response samples

Content type
application/json
{
  • "NsxPolicyInfo": {
    },
  • "NsxPolicyToPcPolicy": {
    }
}

Populate split FNS policies preview of a translated security policy

Populate split FNS policies preview of a translated security policy as per user request. The API is in beta and might be subjected to change. This API checks the migration validations and stores the status internally.

Authorizations:
Bearer
Request Body schema: application/json
required
AddNsxInfo
boolean
Default: false

Optional flag to indicate if the NSX security policy information is to be added in the response.

NsxPolicyUuid
required
string

The NSX security policy UUID whose FNS security policy preview is to be updated.

SplitMethod
required
string
Enum: "ByRulesCount" "BySecuredEntity"

The method to split NSX policy to FNS security policies.

required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/fnspoliciespreview/selectivepopulatetosplit \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "AddNsxInfo": false,
    "NsxPolicyUuid": "string",
    "SplitMethod": "ByRulesCount",
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    }
}'

Response samples

Content type
application/json
{
  • "NsxPolicyInfo": {
    },
  • "NsxPolicyToPcPolicy": {
    }
}

Populate translated security policy

Populate translated security policy. The API is in beta and might be subjected to change. This API checks the migration validations and stores the status internally.

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/populate \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    }
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "Data": {
    },
  • "MetaData": {
    }
}

Remove building blocks preview for translating security policy

Remove building blocks preview for translating security policy. The API is in beta and might be subjected to change. This API involves a low-level call with minimal validations for the data.

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/buildingblockspreview/remove \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    }
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "Data": {
    },
  • "MetaData": {
    }
}

Remove FNS policies preview for translating security policy

Remove FNS policies preview for translating security policy. The API is in beta and might be subjected to change. This API involves a low-level call with minimal validations for the data.

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/fnspoliciespreview/remove \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    }
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "Data": {
    },
  • "MetaData": {
    }
}

Remove inventory for translating the security policy

Remove inventory for translating security policy. The API is in beta and might be subjected to change. This API involves a low-level call with minimal validations for the data.

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (TranslationKey)

To denote the translation key denoting the translation of security policies.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/translatedsecuritypolicy/inventory/remove \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "TranslationKey": {
        "PlanId": "string",
        "SourceProviderId": "string",
        "TargetProviderId": "string"
    }
}'

Response samples

Content type
application/json
{
  • "APIVersion": "string",
  • "Data": {
    },
  • "MetaData": {
    }
}

Upgrade

Check for Move application upgrades

Checks if any upgrade for the Move application is available and returns information about the latest version, the current version, and release notes.

Sample API Syntax: https://move.address/move/v2/checkUpgrade

Authorizations:
Bearer
query Parameters
ReCache
boolean
Default: false

Update metadata while checking for upgrade.

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/checkUpgrade \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Status": {
    }
}

Discard the current upgrade process

Discard the current upgrade process and start fresh with a new script.

Authorizations:
Bearer
path Parameters
id
required
string

Uuid of the upgrade process to be discarded

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/upgrade/{id}/discard \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Get information about the ongoing upgrade

Get information about the ongoing upgrade process.

Authorizations:
Bearer

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/upgrade/GetUpgradeInfo \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get information about the upgrade bundle which was uploaded offline

Get information about the upgrade bundle which was uploaded offline. The information fetched includes path to uploaded files and metadata.

Sample API Syntax: https://move.address/move/v2/uploadUpgradeFiles

Authorizations:
Bearer

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/uploadUpgradeFiles \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Status": {
    }
}

Get status of an ongoing Move application upgrade

Checks the status of the ongoing upgrade of the Move application and returns following information about the upgrade:

  • Online/offline
  • Current version
  • Latest version
  • Percentage progress
  • Tasks completed
Sample API Syntax: https://move.address/move/v2/upgrade

Authorizations:
Bearer

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/upgrade \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
{
  • "Status": {
    }
}

Initiate Move application upgrade

Initiates the Move application upgrade and returns upgrade information:

  • Online/offline
  • Current version
  • Latest version
  • Percentage progress
  • Tasks completed
Sample API Syntax: https://move.address/move/v2/upgrade

Authorizations:
Bearer
Request Body schema: application/json
required

Information required to trigger a Move application upgrade.

APIVersion
string

Move API Version.

object (XtractInitUpgradeInfo)

Move application upgrade information.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/upgrade \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "APIVersion": "string",
    "Spec": {
        "LatestVersion": "string",
        "OfflineUpgrade": true,
        "UploadedFilesInfo": {
            "BundleFileInfo": {
                "Path": "string"
            },
            "MetaFileInfo": {
                "Path": "string"
            }
        },
        "Version": "string"
    }
}'

Response samples

Content type
application/json
{
  • "Status": {
    }
}

Manually upgrades the Move application

Manually upgrades the Move application by uploading the required data.

Authorizations:
Bearer
Request Body schema: multipart/form-data
DataZipFile
string <binary>

The zip file contains the database and other required data.

MD5Hash
string <binary>

MD5 hash of the uploaded zip file.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/upgrade/migrateOs/manual \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: multipart/form-data' \
    --data '{
    "DataZipFile": null,
    "MD5Hash": null
}'

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string",
  • "taskId": "string"
}

Upgrade the Move application

Upgrades the Move application automatically by first connecting to the old Move application through SSH, gathering the necessary information, and loading the database into the new VM.

Authorizations:
Bearer
Request Body schema: application/json
required

Request payload for the automatic upgrade process.

oldVmIP
string

IP address of the old Move appliance.

oldVmSshPassword
string

SSH password of the old Move appliance.

oldVmSshUser
string

SSH user of the old Move appliance.

port
integer
Default: 22

Port number for SSH connection.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/upgrade/migrateOs/automatic \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "oldVmIP": "string",
    "oldVmSshPassword": "string",
    "oldVmSshUser": "string",
    "port": 22
}'

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string",
  • "taskId": "string"
}

Upload the offline upgrade files

Upload the files (bundle and meta files) needed to upgrade the application offline. This API can also be used in dark sites.

Sample API Syntax: https://move.address/move/v2/uploadUpgradeFiles

Authorizations:
Bearer
Request Body schema: multipart/form-data
upBundleFile
string <binary>

The application bundle to be uploaded.

upMetaFile
string <binary>

The metadata file corresponding to the uploaded bundle.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/uploadUpgradeFiles \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: multipart/form-data' \
    --data '{
    "upBundleFile": null,
    "upMetaFile": null
}'

Response samples

Content type
application/json
{
  • "Status": {
    }
}

Workload

Batch workload actions composed of multiple workloads from different migration plans

Performs workload actions from different migration plans in a batch using a single API. The list of available workload actions:

  • Cutover
  • Test
  • Retest
  • Undotest
  • Retry
  • Discard
  • Abort
  • Suspend
  • Resume
  • Sync
  • Complete
Sample API Syntax: https://move.address/move/v2/plans/workloads/action

Authorizations:
Bearer
Request Body schema: application/json
required

Perform specified action in a batch of workloads.

APIVersion
string

Move API version.

required
object

Workload batch action request.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/workloads/action \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "APIVersion": "string",
    "Spec": {
        "Action": "cutover",
        "WorkloadReferences": [
            {
                "Password": "string",
                "PlanReference": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                "UserName": "string",
                "WorkloadReference": "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
            }
        ]
    }
}'

Response samples

Content type
{
  • "Status": [
    ]
}

Downloads a file with a list of failed files and failure reasons.

Downloads a file with a list of failed files and failure reasons.

Authorizations:
Bearer
path Parameters
id
required
string

Migration plan UUID.

wid
required
string

Workload UUID.

iterationid
required
integer <uint64>

Iteration number.

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev//move/v2/plans/{id}/workloads/{wid}/iterations/{iterationid}/downloadFiles \
    --header 'Accept: application/json, application/octet-stream' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
"string"

Get workload information from all migration plans by applying given filters

This API is used to retrieve the workload information from all migration plans by applying the given filters. One can filter based on plan, provider, workload references (UUIDs), and the workload's current migration state.

Sample API Syntax: https://move.address/move/v2/plans/workloads/list

Authorizations:
Bearer
query Parameters
NumIterations
integer <uint64>

Number of iterations to be returned for a workload.

Request Body schema:

Workload search filter can be specified to list only required workload information.

object (WorkloadSearchFilterByReferencesAndStates)

Filter to select and view specific VMs from a workload.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/workloads/list \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json, application/octet-stream' \
    --data '{
    "Filter": {
        "MigrationStates": [
            0
        ],
        "PlanReferences": [
            "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
        ],
        "ProviderReferences": [
            "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
        ],
        "WorkloadReferences": [
            "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
        ]
    }
}'

Response samples

Content type
application/json
{
  • "Status": [
    ]
}

Schedule cutover actions for multiple workloads across different migration plans

Schedule cutover actions for workloads across multiple migration plans in a single API call.
Sample API Syntax: https://move.address/move/v2/plans/scheduleCutover

Authorizations:
Bearer
Request Body schema: application/json
required

Perform a specified action on a batch of workloads.

required
Array of objects (PlanWorkloadReference)

Reference of required VMs.

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev//move/v2/plans/scheduleCutover \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "Spec": [
        {
            "Password": "string",
            "PlanReference": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
            "UserName": "string",
            "WorkloadReference": "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
        }
    ]
}'

Response samples

Content type
{
  • "Status": [
    ]
}

Update scheduled cutover actions across multiple migration plans

Update schedule cutover actions for workloads across multiple migration plans in a single API call.
Sample API Syntax: https://move.address/move/v2/plans/scheduleCutover

Authorizations:
Bearer
Request Body schema: application/json
required

Perform a specified action on a batch of workloads.

required
object

Workload schedule cutover action request.

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev//move/v2/plans/scheduleCutover \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <your_access_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "Spec": {
        "ScheduleCutoverConfigurations": [
            {
                "PlanReference": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
                "ScheduleCutoverFlag": true,
                "ScheduleCutoverOptions": {
                    "Autocutover": true,
                    "EndDateTime": "string",
                    "StartDateTime": "string",
                    "Timezone": "string"
                },
                "WorkloadReference": "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
            }
        ]
    }
}'

Response samples

Content type
{
  • "Status": [
    ]
}