Find an API

Search public APIs with auth details & Postman guides

← All APIs

AWS Server Migration Service

amazonaws · Cloud

Cloud No Auth Free & Open cloud Sandbox

Product update We recommend Amazon Web Services Application Migration Service (Amazon Web Services MGN) as the primary migration service for lift-and-shift migrations. If Amazon Web Services MGN is unavailable in a specific Amazon Web Services Region, you can use the Server Migration Service APIs through March 2023. Server Migration Service (Server Migration Service) makes it easi

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST GetConnectors

Describes the connectors registered with the Server Migration Service.

https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetConnectors?nextToken=example&maxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AWSServerMigrationService_V2016_10_24.GetConnectors
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetConnectors?nextToken=example&maxResults=example" \
  -H "X-Amz-Target: AWSServerMigrationService_V2016_10_24.GetConnectors"
import requests
params = {
    "nextToken": "example",
    "maxResults": "example"
}
headers = {
    "X-Amz-Target": "AWSServerMigrationService_V2016_10_24.GetConnectors"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetConnectors",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetConnectors');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'AWSServerMigrationService_V2016_10_24.GetConnectors'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetConnectors")
	q := baseURL.Query()
	q.Set("nextToken", "example")
	q.Set("maxResults", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "AWSServerMigrationService_V2016_10_24.GetConnectors")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetConnectors")
uri.query = URI.encode_www_form({
  "nextToken" => "example",
  "maxResults" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AWSServerMigrationService_V2016_10_24.GetConnectors"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetConnectors?" . http_build_query([
    "nextToken" => "example",
    "maxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AWSServerMigrationService_V2016_10_24.GetConnectors"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST GetReplicationJobs

Describes the specified replication job or all of your replication jobs.

https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationJobs?nextToken=example&maxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AWSServerMigrationService_V2016_10_24.GetReplicationJobs
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationJobs?nextToken=example&maxResults=example" \
  -H "X-Amz-Target: AWSServerMigrationService_V2016_10_24.GetReplicationJobs"
import requests
params = {
    "nextToken": "example",
    "maxResults": "example"
}
headers = {
    "X-Amz-Target": "AWSServerMigrationService_V2016_10_24.GetReplicationJobs"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationJobs",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationJobs');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'AWSServerMigrationService_V2016_10_24.GetReplicationJobs'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationJobs")
	q := baseURL.Query()
	q.Set("nextToken", "example")
	q.Set("maxResults", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "AWSServerMigrationService_V2016_10_24.GetReplicationJobs")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationJobs")
uri.query = URI.encode_www_form({
  "nextToken" => "example",
  "maxResults" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AWSServerMigrationService_V2016_10_24.GetReplicationJobs"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationJobs?" . http_build_query([
    "nextToken" => "example",
    "maxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AWSServerMigrationService_V2016_10_24.GetReplicationJobs"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST GetReplicationRuns

Describes the replication runs for the specified replication job.

https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationRuns?nextToken=example&maxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AWSServerMigrationService_V2016_10_24.GetReplicationRuns
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationRuns?nextToken=example&maxResults=example" \
  -H "X-Amz-Target: AWSServerMigrationService_V2016_10_24.GetReplicationRuns"
import requests
params = {
    "nextToken": "example",
    "maxResults": "example"
}
headers = {
    "X-Amz-Target": "AWSServerMigrationService_V2016_10_24.GetReplicationRuns"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationRuns",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationRuns');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'AWSServerMigrationService_V2016_10_24.GetReplicationRuns'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationRuns")
	q := baseURL.Query()
	q.Set("nextToken", "example")
	q.Set("maxResults", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "AWSServerMigrationService_V2016_10_24.GetReplicationRuns")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationRuns")
uri.query = URI.encode_www_form({
  "nextToken" => "example",
  "maxResults" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AWSServerMigrationService_V2016_10_24.GetReplicationRuns"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/sms/2016-10-24/#X-Amz-Target=AWSServerMigrationService_V2016_10_24.GetReplicationRuns?" . http_build_query([
    "nextToken" => "example",
    "maxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AWSServerMigrationService_V2016_10_24.GetReplicationRuns"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. See official documentation for authentication and setup.

What can you build with AWS Server Migration Service?

AWS Server Migration Service is a Cloud API. Developers commonly use cloud APIs for:

  • provisioning and managing cloud infrastructure
  • automating deployments and container orchestration
  • monitoring uptime and performance metrics
  • managing storage buckets and databases
  • setting up auto-scaling and load balancing

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. AWS Server Migration Service is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide · Learn about API keys · What is REST?

Open documentation ↗