Cloud
Migration REST API / Reference / REST API

Product links

Postman Collection
OpenAPI
POST

Update product links (migration assistant)

Updates product links that go to a destination product migrated with the Jira Cloud Migration Assistant (any migration option) or the Confluence Cloud Migration Assistant.

Request

Request bodyapplication/json

product

string

Required
productURL

string

Required
destinationURL

string

Required
migratedFrom

string

Required
migratedFromOverride

string

createBackup

boolean

Responses

A link update has been scheduled. You should receive an ID that you can use to check the status.

application/json

ScheduledJobDTO
POST/jobs/cma
1 2 3 4 5 6 7 8 9 10 11 12 13 curl --request POST \ --url 'https://api.atlassian.com/links/v1/{siteId}/jobs/cma' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "product": "<string>", "productURL": "<string>", "destinationURL": "<string>", "migratedFrom": "<string>", "migratedFromOverride": "<string>", "createBackup": true }'
200Response
1 2 3 { "uuid": "<string>" }
POST

Update product links (site import)

Updates product links that go to a destination product migrated with the Jira site import.

Request

Request bodyapplication/json

productURL

string

Required
destinationURL

string

Required
migratedFrom

string

Required

Responses

A link update has been scheduled. You should receive an ID that you can use to check the status.

application/json

ScheduledJobDTO
POST/jobs/non-cma
1 2 3 4 5 6 7 8 9 10 curl --request POST \ --url 'https://api.atlassian.com/links/v1/{siteId}/jobs/non-cma' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "productURL": "<string>", "destinationURL": "<string>", "migratedFrom": "<string>" }'
200Response
1 2 3 { "uuid": "<string>" }
GET

Get status by ID

Returns the status of a link update by ID.

Request

Path parameters

jobId

string

Required

Responses

Successful operation

application/json

JobStatusDTO
GET/jobs/status/{jobId}
1 2 3 4 curl --request GET \ --url 'https://api.atlassian.com/links/v1/{siteId}/jobs/status/{jobId}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 { "id": "<string>", "status": "PENDING", "error": { "error": "UNAUTHENTICATED_ERROR", "description": "<string>", "details": "<string>", "productUri": "<string>" }, "linksMigrationResults": {}, "startTimeEpoch": 1701432850, "endTimeEpoch": 1701432850, "jobRequestDetails": { "product": "JIRA", "productURL": "<string>", "destinationURL": "<string>", "migratedFrom": "<string>", "createBackup": true } }
GET

Get status by product

Returns the statuses of all link updates performed for a given product.

Request

Query parameters

product

string

Required
productURL

string

Required

Responses

Successful operation

application/json

array<JobStatusDTO>

GET/jobs/status
1 2 3 4 curl --request GET \ --url 'https://api.atlassian.com/links/v1/{siteId}/jobs/status?product={product}&productURL={productURL}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [ { "id": "<string>", "status": "PENDING", "error": { "error": "UNAUTHENTICATED_ERROR", "description": "<string>", "details": "<string>", "productUri": "<string>" }, "linksMigrationResults": {}, "startTimeEpoch": 1701432850, "endTimeEpoch": 1701432850, "jobRequestDetails": { "product": "JIRA", "productURL": "<string>", "destinationURL": "<string>", "migratedFrom": "<string>", "createBackup": true } } ]
GET

Get products by an organization

Returns the list of all products in an organization. You can use it to help you find products that might have links to update.

Request

Path parameters

orgId

string

Required

Responses

Successful operation

application/json

array<ProductDTO>

GET/jobs/products/{orgId}
1 2 3 4 curl --request GET \ --url 'https://api.atlassian.com/links/v1/{siteId}/jobs/products/{orgId}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [ { "siteId": "<string>", "siteURL": "<string>", "lastMigrationTimeEpoch": 1701432850, "lastLinksUpdateTimeEpoch": 1701432850, "lastLinksUpdateStatus": "PENDING", "scopes": [ { "migratedFrom": "<string>", "destinationURL": "<string>", "productFamily": "JIRA" } ], "productFamily": "JIRA", "sandbox": true, "productKey": "<string>", "productName": "<string>" } ]
POST

Export audit log

Exports the audit log that shows every successful link modification for a given product from the last 29 days.

Request

Request bodyapplication/json

product

string

Required
productURL

string

Required

Responses

The audit log is being generated. When completed, you'll receive an email with the download link.

application/json

RequestDescriptiveResultDTO
POST/report/links
1 2 3 4 5 6 7 8 9 curl --request POST \ --url 'https://api.atlassian.com/links/v1/{siteId}/report/links' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "product": "<string>", "productURL": "<string>" }'
202Response
1 2 3 { "result": "<string>" }
POST

Export history report

Exports the history report that shows the summary of all link updates for a given product and their summarized results.

Request

Request bodyapplication/json

product

string

Required
productURL

string

Required

Responses

The history report is being generated. When completed, you'll receive an email with the download link.

application/json

RequestDescriptiveResultDTO
POST/report/jobs
1 2 3 4 5 6 7 8 9 curl --request POST \ --url 'https://api.atlassian.com/links/v1/{siteId}/report/jobs' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "product": "<string>", "productURL": "<string>" }'
202Response
1 2 3 { "result": "<string>" }