Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

REST API returns 501 Not Implemented Error Until Page is Visited

Jacob Nowjack May 25, 2021

Our app has some minor differences between Confluence Server and Confluence Cloud (such as minor macro storage format differences and data being moved out of page attachments to our servers). We created an automated tool to go through all Confluence Cloud spaces and update our macros as well as grab attachments using the REST API. The problem is we see issues with some, but not all, REST API calls after users have run the Atlassian Cloud Migration Assistant and are running our automated tool in Confluence Cloud. 

Our REST API calls to GET /rest/api/content/<page-id>, GET /rest/api/content/<page-d>/child/attachment and GET /download/attachments/<attachment> all work successfully. A call to  PUT /rest/api/content/<page-id> however fails with a "HTTP/1.1 501 Not Implemented" response.  The PUT call continues to fail even if run multiple times. The only way for the PUT call to succeed is to have a user manually view the Confluence Cloud page.  Since users may have thousands of inserted macros on their Confluence Cloud instance this can be a major pain for them to have to manually visit every page before running our migration tool.

Why is the PUT operation failing with a "501 Not Implemented" until a user visits a page converted from Confluence Server to Confluence Cloud? Is there any workaround we can use to force whatever change happens when a user first visits the page and thus allow our PUT call to work?

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
1 vote
Answer accepted
Jacob Nowjack May 26, 2021

This was solved by appending "?status=current" to the URL when performing the PUT request to update the page: "/wiki/rest/api/content/PAGE_ID?status=current"

TAGS
AUG Leaders

Atlassian Community Events