{ "info": { "_postman_id": "7613bc49-67e4-426c-80da-d088e21a258f", "name": "Migration Public APIs", "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" }, "item": [ { "name": "Generate Token", "description": "Use these APIs to generate tokens needed to authenticate the plugin for cloud migrations.", "item": [ { "name": "Create auth token", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}migrations/public/v1/token", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Use this API to create an auth token. An auth token will be used in the save token API which will connect your cloud site to the on-premises instance. Its validity is 5 minutes.", "body": { "mode": "raw", "raw": "{\n \"cloudUrl\": \"https://username.atlassian.net\"\n}" } }, "response": [] } ] }, { "name": "Migration job", "description": "A migration job is a wrapper object describing a migration. This description includes a flow, such as `jira-onpremises-to-cloud`, the name of your migration, source, destination, and scope. Use this resource to create new jobs or get existing ones.", "item": [ { "name": "Create migration job", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}migrations/public/v1/jobs", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Use this resource to create new migration jobs. Creating a job returns a `jobId`, which you can then use to execute pre-migration checks as well as migrations. Rate limit: 5 requests per minute.", "body": { "mode": "raw", "raw": "{\n \"flow\": \"jira-onpremises-to-cloud\",\n \"source\": {\n \"serverId\": \"0123456789\"\n },\n \"destination\": {\n \"url\": \"https://username.jira-dev.com\"\n },\n \"scope\": {\n \"projects\": {\n \"includedKeys\": [\n \"ABC\",\n \"DEF\",\n \"XYZ\"\n ],\n \"includedData\": \"all\"\n }\n }\n}" } }, "response": [] }, { "name": "Get migration job", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}migrations/public/v1/jobs/:jobId", "query": [], "variable": [ { "key": "jobId", "value": "{{jobId}}", "description": "ID of the job whose details to get.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Use this resource to get the details of an existing job. Rate limit: 600 requests per minute." }, "response": [] } ] }, { "name": "Migration task", "description": "Use migration task resources to execute migration tasks or run pre-flight checks. Tasks are aggregated under a job.", "item": [ { "name": "Get migration tasks by job", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}migrations/public/v1/jobs/:jobId/tasks", "query": [ { "key": "cursor", "value": "{{cursor}}", "disabled": true, "description": "Cursor value for pagination. Use one of the values provided in the `links` field of the response." } ], "variable": [ { "key": "jobId", "value": "{{jobId}}", "description": "ID of the job from which to get tasks.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all the tasks for the given `jobId`, sorted in descending order of creation. Response is paginated with 20 entries per page. Rate limit: 600 requests per minute." }, "response": [] }, { "name": "Create migration task", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}migrations/public/v1/jobs/:jobId/tasks", "query": [], "variable": [ { "key": "jobId", "value": "{{jobId}}", "description": "ID of the job under which to create the new task.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Use this API to create new tasks. A task can either be a pre-migration check or a migration. The endpoint returns a `taskId`, which you can later use to check the status and definition of your tasks. Rate limit: 5 requests per minute.", "body": { "mode": "raw", "raw": "{\n \"task\": \"check\"\n}" } }, "response": [] }, { "name": "Get migration task", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}migrations/public/v1/jobs/:jobId/tasks/:taskId", "query": [], "variable": [ { "key": "jobId", "value": "{{jobId}}", "description": "ID of the job from which to get your task.", "disabled": false }, { "key": "taskId", "value": "{{taskId}}", "description": "ID of the task to get.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the definition of a specific task within a job. Requires both a `jobId` and a `taskId`. Rate limit: 600 requests per minute." }, "response": [] } ] }, { "name": "Migration task status", "description": "Use these APIs to check the status of existing migration tasks. The response is in the form of a status tree, where the root level contains the overall status. You can also drill down on the details of the status to see which pre-migration checks failed and which spaces/projects failed or were successful. Because the response could contain a lot of statuses, this API returns paginated responses. For more details, see this [guide](/platform/migration-api/guides/migrate-jira-or-confluence-to-cloud-using-api/#7--check-the-status-of-your-tasks).", "item": [ { "name": "Get migration task status", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}migrations/public/v1/jobs/:jobId/tasks/:taskId/status", "query": [ { "key": "expandChildren", "value": "{{expandChildren}}", "disabled": true, "description": "Whether to expand child tasks." }, { "key": "level", "value": "{{level}}", "disabled": true, "description": "How deep a task is nested. For example, a `migrate` task's level can be `[migrate]` or `[migrate, usersAndGroups]`." }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "Indicates where in its lifecycle a task is. See [here](/platform/migration-api/guides/migrate-jira-or-confluence-to-cloud-using-api/#pre-migration-check-statuses-and-outcomes) for more information." }, { "key": "outcome", "value": "{{outcome}}", "disabled": true, "description": "Indicates the outcome of a finished task. See [here](/platform/migration-api/guides/migrate-jira-or-confluence-to-cloud-using-api/#pre-migration-check-statuses-and-outcomes) for more information." }, { "key": "cursor", "value": "{{cursor}}", "disabled": true, "description": "Cursor value for pagination. Use one of the values provided in the `links` field of the response." } ], "variable": [ { "key": "jobId", "value": "{{jobId}}", "description": "ID of the job under which your task is grouped.", "disabled": false }, { "key": "taskId", "value": "{{taskId}}", "description": "ID of the task to get.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the status of the indicated task within a job. Rate limit: 600 requests per minute." }, "response": [] } ] }, { "name": "Artifacts", "description": "Use artifact resources to access artifacts related to a task.", "item": [ { "name": "Get artifact", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}migrations/public/v1/artifacts/:artifactId", "query": [], "variable": [ { "key": "artifactId", "value": "{{artifactId}}", "description": "ID of the artifact.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/zip" } ], "description": "Use this API to download the artifact file.Rate limit: 20 requests per minute." }, "response": [] } ] } ], "variable": [ { "key": "protocol", "name": "Protocol", "description": "The HTTP Protocol that should be used for this REST API.", "type": "string", "value": "https" }, { "key": "host", "name": "Host", "description": "The HTTP host that should be used for this REST API.", "type": "string", "value": "api.atlassian.com" }, { "key": "basePath", "name": "Base Path", "description": "The path, after the host, of the base of the REST API.", "type": "string", "value": "" } ] }