Export List of Legacy Pages and their Eligibility Status

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Cloud - This article applies to Atlassian products on the cloud platform.

Summary

To assist in identifying pages eligible for the legacy editor, we drafted a Node.js script that exports data about legacy editor eligibility for published pages across Confluence.

Problem Description

Currently, there is no option to generate a list in the UI. 

Pending feature requests:

CONFCLOUD-77396 - Getting issue details... STATUS

How it works

  1. Enable the admin key using the Enable Admin Key API (optional)

  2. Retrieve all pages within a space using the Get Pages in Space API

  3. Determine the eligibility status or cloud editor property for a page using the Get Content Properties for Page API

Setup

System Prerequisites

  • Node.js (version 14 or higher)

  • API token for authentication
  • Admin access to a Confluence instance 

Setup Configs

  1. Use a 'no-scope' API token: Create a new API token and use your email and this token in the config file.

  2. Generate Space Report: Download a Space Report from Admin → Space Reports to use as the CSV.

  3. Configure the scripts: Create a file titled config.json with your Confluence instance details.


    1. {
          "confluenceUrl": "https://your-instance.atlassian.net",
          "auth": {
              "email": "your-email@example.com",
              "token": "your-api-token"
          }
      }



Scripts

  • README.md: Instructions on how to use the scripts.
  • Admin Key Manager (admin-key-manager.js): Manages Confluence admin keys for API access.

  • Legacy Editor Export (legacy-editor-export.js): Exports data about legacy editor eligibility for pages.


Download: legacy-editor-export.zip

Using the Legacy Editor Export Tool

With Admin Key (Default - Recommended)

  1. Enable admin key: First, enable an admin key to access the Confluence API

    node admin-key-manager.js enable 60


  2. Export legacy data: Run the export with your CSV file

    node legacy-editor-export.js -f your-spaces.csv


  3. Disable admin key: When finished, disable the admin key for security

    node admin-key-manager.js disable


Without Admin Key (For Standard or Free Plans)

For customers whose Confluence plans don't include admin key functionality:

  1. Export legacy data: Run the export with the disable admin key flag

    node legacy-editor-export.js -f your-spaces.csv -dak

For best results without an admin key, bulk update space permissions to add a group or user to all spaces before running the script.

More information can be read here: Updating space permissions in bulk. 

Without an admin key, you'll only see pages that your user token has permission to access. 

Output

CSV Content

The script generates a CSV file into the exports/ folder with the following page information:

  • Page ID - Unique page identifier
  • Space ID - Space identifier
  • Space Key - Space key
  • Title - Page title
  • Owner ID - Page owner (may be blank for older pages)
  • Author ID - Original page author/creator (more reliable for older content)
  • Eligibility Status - Legacy editor eligibility status
  • Created Date - When the page was created (ISO 8601 format)
  • Page URL - Direct link to the page

Eligibility Statuses

The tool will check the eligibility status of the published page. Keep in mind that drafts might have different statuses and aren’t included.

Here’s a list of the possible statuses you might see in the export:

  • SUPPORTED: Almost no changes after conversion.

  • SUPPORTED_WITH_MIGRATION: This page can be converted to the new editing experience; however, you may notice slight changes.

  • PARTIALLY_SUPPORTED: Converting this page as-is may result in data loss.

  • UNSUPPORTED: Rare case. This would happen if a conversion error occurred.

  • UNKNOWN: The eligibility status is dynamically generated whenever a page is published. However, some pages may not have an eligibility status set, particularly if they were migrated or before the editor v2 was added to pages.

Custom Workflow

# Export all spaces (requires CSV file, uses admin key by default)
node legacy-editor-export.js -f spaces.csv

# Export without admin key (for customers without admin key access)
node legacy-editor-export.js -f spaces.csv -dak

# Export only global spaces (includes global, collaboration, hub, and other non-personal spaces)
node legacy-editor-export.js -f spaces.csv -g
 
# Export only personal spaces
node legacy-editor-export.js -f spaces.csv -p  

# Export specific space keys
node legacy-editor-export.js -f spaces.csv -sk FSC,ZIS,SNT

# Show help
node legacy-editor-export.js -h

Troubleshooting

Common Issues

  1. "Admin key not enabled": Run node admin-key-manager.js enable first, or use -dak flag if your plan doesn't support admin keys.

    1. Admin key access (Premium/enterprise license)
  2. "CSV file not found": Check the file path and ensure the file exists

  3. "Authentication failed": Verify your email and API token in config.json

  4. "Rate limit exceeded": The scripts include rate limiting, but you may need to wait if you've made many requests recently. Consider splitting the CSV into smaller chunks.
  5. "Error during export: ENOENT: no such file or directory": The folder "/exports" was not found during the export. Create a folder titled "exports" and rerun the script.

Debug Mode

Add console logging to debug issues:

// Add this to see detailed request information
console.log("Making request to:", url);
console.log("Response status:", response.statusCode);

Rate Limiting

The scripts include built-in rate limiting to avoid overwhelming the Confluence API:

  • 1-2 second delays between page requests (depending on space size)

  • 500ms delays between batch operations

  • Batch processing of 5-10 concurrent requests

Error Handling

  • The scripts will exit with error code 1 if critical errors occur

  • Non-critical errors (like individual page failures) are logged but don't stop the process

  • Progress information is displayed during long-running operations

Security Notes

  • Never commit your config.json file with real credentials

  • Admin keys should be disabled when not in use

Support

This script is provided as-is and is not officially supported by Atlassian. It's intended to help with your own analysis and planning. 

Last modified on Jul 3, 2025

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.