Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How to get a list of Confluence Cloud pages that use the legacy editor?

Kent Chiu
Contributor
June 30, 2025

How can we obtain a list of Confluence Cloud pages that utilize the legacy editor? Is there a tool for bulk conversion?

3 answers

0 votes
marc -Collabello--Phase Locked-
Community Champion
July 2, 2025

Hi @Kent Chiu ,

We make a free addon, Keep it up to date! This addon has a macro you can insert into a page to show a table with pages using the Legacy Editor (the Keep Legacy Editor macro).

This makes it simple to look for pages which need updating due to the legacy editor deprecation.

Hope this helps!

0 votes
Dan Breyen
Community Champion
June 30, 2025

Hi @Kent Chiu I found this older community article that refers to using the API to tell if a page is using the legacy editor.  Find-pages-still-using-Legacy-editor 

I also found CONFCLOUD-77396 which might be worth watching and voting for as a good reference.

Hope that helps.

Kent Chiu
Contributor
June 30, 2025

Thank you, @Dan Breyen, for your reply. I went to CONFCLOUD-77396, but for some reason, I can not vote on that issue.

Dan Breyen
Community Champion
June 30, 2025

Hi Kent, if you're not logged in on Atlassian's Jira Site, I don't believe you are able to vote for things.  

Kent Chiu
Contributor
June 30, 2025

Thank you, @Dan Breyen.    You are correct. Once I logged in, I was able to watch and vote.

0 votes
Shawn Doyle - ReleaseTEAM
Community Champion
June 30, 2025

Hi @Kent Chiu 

 

Take a look at this answer from a year or so ago.

Solved: Find pages still using Legacy editor

@Henning Stoll posted an answer that uses the API to find the pages using the old editor.

 

Kent Chiu
Contributor
June 30, 2025

Thank you, @Shawn Doyle - ReleaseTEAM , for your reply. I am looking for a Confluence Cloud tool that lists pages using the legacy editor without requiring individual API checks. We have over 10,000 Confluence Cloud pages, some created with the new editor and others still using the legacy editor from our Confluence Server migration.

Shawn Doyle - ReleaseTEAM
Community Champion
June 30, 2025

I don't believe any exists. 

You could easily script this to get the list of all content then loop it thru the check. 

Something like this (untested from AI) And for some reason code block isn't working in the forums atm...

 

import requests
from requests.auth import HTTPBasicAuth

# Configuration
CONFLUENCE_BASE_URL = "https://your-domain.atlassian.net/wiki"
USERNAME = "your-email@example.com" # Atlassian account email
API_TOKEN = "your-api-token"
AUTH = HTTPBasicAuth(USERNAME, API_TOKEN)

# Set headers
HEADERS = {
"Accept": "application/json"
}

def get_all_content():
url = f"{CONFLUENCE_BASE_URL}/rest/api/content"
params = {
"limit": 50, # adjust as needed
"expand": "version"
}

content_list = []
while url:
response = requests.get(url, headers=HEADERS, auth=AUTH, params=params)
response.raise_for_status()
data = response.json()
content_list.extend(data.get("results", []))
url = data["_links"].get("next")
if url:
url = CONFLUENCE_BASE_URL + url
params = {} # only needed on first request

return content_list

def check_editor_type(content_id):
url = f"{CONFLUENCE_BASE_URL}/rest/api/content/{content_id}"
params = {
"expand": "metadata.properties.editor"
}
response = requests.get(url, headers=HEADERS, auth=AUTH, params=params)
response.raise_for_status()
data = response.json()

editor = data.get("metadata", {}).get("properties", {}).get("editor", {}).get("value", "v1")
return editor.lower()

def main():
print("Fetching all content...")
content_items = get_all_content()

v1_pages = []

for item in content_items:
title = item.get("title")
content_id = item.get("id")
try:
editor_type = check_editor_type(content_id)
if editor_type == "v1":
v1_pages.append((content_id, title))
except Exception as e:
print(f"Error checking content ID {content_id}: {e}")

print("\nPages using V1 Editor:")
for cid, title in v1_pages:
print(f"- {title} (ID: {cid})")

if __name__ == "__main__":
main()

Kent Chiu
Contributor
June 30, 2025

Thanks, @Shawn Doyle - ReleaseTEAM, for the sample code. I am not a developer. My knowledge of API and code writing is somewhat limited.

Shawn Doyle - ReleaseTEAM
Community Champion
June 30, 2025

Sounds like a great time to buy some snacks for a developer and ask for a favor.

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
STANDARD
PERMISSIONS LEVEL
Product Admin
TAGS
AUG Leaders

Atlassian Community Events