Skip to content

Gets all migrations

GET/migrations

Endpoint API · Migrations

Gets all migration jobs for the tenant.

Required permissionendpoint-migration:read

Parameters

Name In Type Required Description
X-Tenant-ID header string (uuid) Yes Tenant ID.
mode query string No Filter migration jobs by sending or receiving mode.
Must be one of: sending, receiving.
page query integer No The page number to fetch, starting with 1.
pageSize query integer No Size of the page requested.
Must be ≥ 1 and ≤ 1000.
pageTotal query boolean No Whether the number of pages should be calculated and returned in the response.

Request samples

curl -X GET "https://api-<data-region>.central.sophos.com/endpoint/v1/migrations" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>"

import requests

response = requests.get(
    "https://api-<data-region>.central.sophos.com/endpoint/v1/migrations",
    headers={
        "Authorization": "Bearer <access-token>",
        "X-Tenant-ID": "<tenant-id>",
    },
)
print(response.json())

$headers = @{
    "Authorization" = "Bearer <access-token>"
    "X-Tenant-ID" = "<tenant-id>"
}
Invoke-RestMethod -Method GET -Uri "https://api-<data-region>.central.sophos.com/endpoint/v1/migrations" -Headers $headers

package main

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

func main() {
    req, err := http.NewRequest("GET", "https://api-<data-region>.central.sophos.com/endpoint/v1/migrations", nil)
    if err != nil {
        panic(err)
    }
    req.Header.Set("Authorization", "Bearer <access-token>")
    req.Header.Set("X-Tenant-ID", "<tenant-id>")

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}

const response = await fetch("https://api-<data-region>.central.sophos.com/endpoint/v1/migrations", {
  method: "GET",
  headers: {
    "Authorization": "Bearer <access-token>",
    "X-Tenant-ID": "<tenant-id>",
  },
});
const data = await response.json();
console.log(data);

Responses

200 — Gets all migration jobs.

Response fields

itemsarray of objectrequired
List of migration jobs.
Migration job details.
Show child attributesHide child attributes
idstring (uuid)required
Migration job ID.
tokenstring
Job token.
modestringrequired
Whether the tenant is sending or receiving endpoints.
Must be one of: sending, receiving.
createdAtstring (date-time)required
When the job was created.
createdByobject
Show child attributesHide child attributes
idstringrequired
Principal Email or clientId.
typestring (enum)required
Principal type.
Must be one of: user, service, system.
namestring
User Principal name.
accountTypestring
Account type.
Must be one of: partner, tenant, organization.
accountIdstring (uuid)
Account ID.
expiresAtstring (date-time)required
When the migration job expires.
pagesobjectrequired
Show child attributesHide child attributes
currentintegerrequired
The 1-based page number being returned.
sizeintegerrequired
The size of the page being returned.
totalinteger
(Optional) The total number of pages that exist, if pageTotal=true in the request.
itemsinteger
(Optional) The total number of items across all pages.
maxSizeintegerrequired
The maximum page size that can be requested.

Errors

Status Meaning
400 Bad request.
500 Unexpected error.

All error responses share the same shape — see the error response object.

Response examples

200

{
  "items": [
    {
      "id": "c83bc7f6-7c93-4aa4-ac73-006bd5a5884a",
      "token": "eyJmb28iOiJ434833989debe92389we9e8debe902392388ede982372309099de9999a0a7732736611222fff2f1f212fffef3f592983iYXIifQo=",
      "mode": "receiving",
      "createdAt": "2021-04-22T15:32:28.482Z",
      "expiresAt": "2021-04-29T15:32:28.482Z"
    }
  ],
  "pages": {
    "current": 0,
    "size": 0,
    "total": 0,
    "items": 0,
    "maxSize": 0
  }
}

See the guide for a narrative walkthrough of this API.