This page documents the REST endpoints used by Forge apps to integrate with the app migration platform during server-to-cloud migrations.
Base path: /app/migration/forge/v1
Download Forge migration REST API
POST /app/migration/forge/v1/message/{transferId}/statustransferId (string, uuid) – required. Transfer ID as UUID.status (string) enum: SUCCESS, FAILEDmessageIds (array<string, uuid>)200 OKExample request body:
1 2{ "status": "SUCCESS", "messageIds": ["53f88ea7-a2d2-4dd2-9f36-2d8c43401b11"] }
POST /app/migration/forge/v1/mapping/{transferId}/findtransferId (string, uuid) – required. Transfer ID as UUID.namespace (string) – required.array<string> (unique items).200 OK, body is an object mapping server keys to values: Record<string, string>Example request body:
1 2["10000", "10001"]
Example response body:
1 2{ "10000": "10023", "10001": "10024" }
POST /app/migration/forge/v1/log/{transferId}transferId (string, uuid) – required. Transfer ID as UUID.message (string, maxLength 65536)200 OKExample request body:
1 2{ "message": "Processed 250 issues for container 3ac7..." }
GET /app/migration/forge/v1/mapping/{transferId}/pagetransferId (string, uuid) – required.namespace (string) – required.lastEntity (string) – optional. Cursor for pagination.pageSize (integer) – optional. Default 1200, min 1, max 1200.200 OK → MigrationMappingDtoExample response body:
1 2{ "meta": { "pageSize": 1200, "hasNext": false, "lastEntity": "1001" }, "items": { "1000": "10023", "1001": "10024" } }
GET /app/migration/forge/v1/data/{s3Key}s3Key (string, uuid) – required.200 OK → Record<string, string>Example response body:
1 2{ "url": "https://..." }
GET /app/migration/forge/v1/data/{s3Key}/payloads3Key (string, uuid) – required.200 OK → application/octet-stream (binary)GET /app/migration/forge/v1/container/{transferId}/pagetransferId and containerType.transferId (string, uuid) – required.containerType (string) – required. One of: JiraProject, ConfluenceSpace, Site.lastEntity (string, uuid) – optional. Cursor for pagination.pageSize (integer) – optional. Default 250, min 1, max 250.200 OK → ContainerByPageResponseContainerByPageResponse:
1 2{ "meta": { "pageSize": 250, "hasNext": false, "lastEntity": "string" }, "containers": [ { "type": "string" }, { "transfers": [PlatformTransfer] } ] }
GET /app/migration/forge/v1/data/{transferId}/alltransferId (string, uuid) – required.200 OK → Array of ForgeFileMappingDtoExample response body:
1 2[ { "key": "dbc96598-fc84-4c91-9e60-2fc01f705de7", "s3Key": "dbc96598-fc84-4c91-9e60-2fc01f705de7", "label": "my-data-export" }, { "key": "abc86558-jg32-5c82-9e60-2fc01f705de7", "s3Key": "abc86558-jg32-5c82-9e60-2fc01f705de7", "label": "my-data-export" } ]
Below are the common schema definitions referenced by the endpoints above.
1 2{ "status": "SUCCESS | FAILED", "messageIds": ["uuid", "uuid", "..."] }
1 2{ "message": "string" }
1 2{ "meta": MigrationMappingMeta, "items": { "<serverKey>": "<value>" } }
1 2{ "pageSize": 0, "hasNext": false, "lastEntity": "string" }
1 2{ "key": "string", "s3Key": "string", "label": "string" }
1 2{ "meta": ContainerResponseMeta, "containers": [ ContainerV1 ] }
1 2{ "pageSize": 0, "hasNext": false, "lastEntity": "string" }
1 2{ "type": "string?", "transfers": [PlatformTransfer]? }
1 2{ "transferId": "string", "operationKey": "string", "status": "string?", "statusMessage": "string?", "progressPercentage": "number?", "progressMessage": "string?", "progressProperties": { "additionalProperty": "any" }?, "lastUpdatedAt": "string?" }
Rate this page: