Pages
Create, read, update, delete, move, copy, and organize Confluence pages.
Prerequisites
Section titled “Prerequisites”- Authenticated profile with Confluence access (
atlcli auth login) - Space permission: View for read operations, Edit for create/update/delete
List Pages
Section titled “List Pages”List pages in a space:
atlcli wiki page list --space TEAMOutput:
ID TITLE MODIFIED AUTHOR12345 Getting Started 2025-01-14 10:30 alice@company12346 API Reference 2025-01-13 15:45 bob@company12347 Configuration Guide 2025-01-12 09:00 alice@companyOptions:
| Flag | Description |
|---|---|
--space | Space key |
--cql | CQL query to filter pages |
--label | Filter by label |
--limit | Maximum results |
Get Page
Section titled “Get Page”View a specific page:
atlcli wiki page get --id 12345Options:
| Flag | Description |
|---|---|
--id | Page ID (required) |
--version | Get specific version |
--expand | Include: body, version, ancestors |
--json | JSON output |
Create Page
Section titled “Create Page”Create a new page from a markdown file:
atlcli wiki page create --space TEAM --title "New Page" --body ./content.mdOptions:
| Flag | Description |
|---|---|
--space | Space key (required) |
--title | Page title (required) |
--body | Markdown file with page content (required) |
Examples
Section titled “Examples”# Create page from fileatlcli wiki page create --space TEAM --title "API Guide" --body ./api-guide.md
# Create under parentatlcli wiki page create --space TEAM --title "Child Page" --body ./child.md --parent 12345Update Page
Section titled “Update Page”Update an existing page from a markdown file:
atlcli wiki page update --id 12345 --body ./updated-content.mdOptions:
| Flag | Description |
|---|---|
--id | Page ID (required) |
--body | Markdown file with new content (required) |
--title | Change title |
Examples
Section titled “Examples”# Update content from fileatlcli wiki page update --id 12345 --body ./updated-guide.md
# Change title tooatlcli wiki page update --id 12345 --body ./guide.md --title "New Title"Delete Page
Section titled “Delete Page”Delete a single page:
atlcli wiki page delete --id 12345 --confirmOptions:
| Flag | Description |
|---|---|
--id | Page ID |
--confirm | Skip confirmation prompt |
Bulk Delete
Section titled “Bulk Delete”Delete multiple pages matching a CQL query:
atlcli wiki page delete --cql "space = TEAM AND label = deprecated" --confirmOptions:
| Flag | Description |
|---|---|
--cql | CQL query to match pages |
--dry-run | Preview without deleting |
--confirm | Skip confirmation |
# Preview what would be deletedatlcli wiki page delete --cql "space = ARCHIVE AND lastModified < now('-365d')" --dry-run
# Delete old archived pagesatlcli wiki page delete --cql "space = ARCHIVE AND lastModified < now('-365d')" --confirmArchive Page
Section titled “Archive Page”Move pages to archive instead of deleting:
# Archive single pageatlcli wiki page archive --id 12345 --confirm
# Bulk archive via CQLatlcli wiki page archive --cql "space = TEAM AND label = deprecated" --confirmOptions:
| Flag | Description |
|---|---|
--id | Page ID |
--cql | CQL query for bulk archive |
--dry-run | Preview without archiving |
--confirm | Skip confirmation |
Copy Page
Section titled “Copy Page”Duplicate a page:
atlcli wiki page copy --id 12345 --title "Copy of Page"Options:
| Flag | Description |
|---|---|
--id | Source page ID (required) |
--title | Title for the copy |
--space | Target space (default: same space) |
--parent | Parent page for the copy |
Examples
Section titled “Examples”# Copy to same spaceatlcli wiki page copy --id 12345 --title "Page Copy"
# Copy to different spaceatlcli wiki page copy --id 12345 --title "Page Copy" --space DOCSList Children
Section titled “List Children”Get child pages of a parent:
atlcli wiki page children --id 12345Options:
| Flag | Description |
|---|---|
--id | Parent page ID (required) |
--limit | Maximum results |
--json | JSON output |
Output:
Child pages (3): 12346 Getting Started 12347 API Reference 12348 Troubleshooting└── Troubleshooting (12348)Move Page
Section titled “Move Page”Move a page to a new location:
# Move under different parentatlcli wiki page move --id 12345 --parent 67890Position Options
Section titled “Position Options”Control exact position among siblings using file paths or page IDs:
# Move before specific siblingatlcli wiki page move ./docs/page.md --before ./docs/intro.md
# Move after specific siblingatlcli wiki page move ./docs/page.md --after ./docs/setup.md
# Move to first positionatlcli wiki page move ./docs/appendix.md --first
# Move to last positionatlcli wiki page move ./docs/appendix.md --last
# Move to specific position (1-indexed)atlcli wiki page move --id 12345 --position 3Options:
| Flag | Description |
|---|---|
--id | Page ID to move |
--parent | New parent page ID |
--before | Position before this page |
--after | Position after this page |
--first | Move to first child position |
--last | Move to last child position |
--position | Specific position index (1-based) |
Sort Children
Section titled “Sort Children”Reorder child pages:
# Alphabetical sort (using file path)atlcli wiki page sort ./docs/api.md --alphabetical
# Natural sort (handles numbers correctly)atlcli wiki page sort ./docs/chapters.md --natural
# Sort by creation dateatlcli wiki page sort ./docs/changelog.md --by created
# Sort by last modified, reversedatlcli wiki page sort ./docs/changelog.md --by modified --reverse
# Sort using page IDatlcli wiki page sort --id 12345 --alphabetical --dry-runOptions:
| Flag | Description |
|---|---|
--alphabetical | Sort A-Z by title |
--natural | Natural sort (“Chapter 2” before “Chapter 10”) |
--by | Sort by: created, modified |
--reverse | Reverse sort order |
--dry-run | Preview without applying |
Natural Sort Example
Section titled “Natural Sort Example”Before (alphabetical): After (natural):Chapter 1 Chapter 1Chapter 10 Chapter 2Chapter 2 Chapter 10Chapter 3 Chapter 3Cross-Product Linking
Section titled “Cross-Product Linking”Link Confluence pages to Jira issues for bidirectional traceability.
Link Issue to Page
Section titled “Link Issue to Page”atlcli wiki page link-issue --id 12345 --issue PROJ-123Options:
| Flag | Description |
|---|---|
--id | Page ID (required) |
--issue | Jira issue key (required) |
--comment | Add comment to the linked issue |
List Linked Issues
Section titled “List Linked Issues”atlcli wiki page issues --id 12345Options:
| Flag | Description |
|---|---|
--id | Page ID (required) |
--project | Filter by Jira project |
Unlink Issue
Section titled “Unlink Issue”atlcli wiki page unlink-issue --id 12345 --issue PROJ-123Examples
Section titled “Examples”# Link a Jira issue to a pageatlcli wiki page link-issue --id 12345 --issue PROJ-123
# Link with comment on the issueatlcli wiki page link-issue --id 12345 --issue PROJ-456 --comment
# List all Jira issues linked to a pageatlcli wiki page issues --id 12345
# Filter by projectatlcli wiki page issues --id 12345 --project PROJ
# Remove linkatlcli wiki page unlink-issue --id 12345 --issue PROJ-123JSON Output
Section titled “JSON Output”All commands support --json:
atlcli wiki page list --space TEAM --json{ "schemaVersion": "1", "pages": [ { "id": "12345", "title": "Getting Started", "space": {"key": "TEAM", "name": "Team Docs"}, "url": "https://company.atlassian.net/wiki/spaces/TEAM/pages/12345", "version": 5, "lastModified": "2025-01-14T10:30:00Z", "author": { "displayName": "Alice", "email": "alice@company.com" } } ], "total": 24}Use Cases
Section titled “Use Cases”Reorganize Documentation
Section titled “Reorganize Documentation”# Move all API docs under new parentfor id in $(atlcli wiki page list --space TEAM --json | jq -r '.pages[] | select(.title | startswith("API")) | .id'); do atlcli wiki page move --id $id --parent 99999doneBulk Cleanup
Section titled “Bulk Cleanup”# Archive pages not modified in 6 monthsatlcli wiki page archive --cql "space = TEAM AND lastModified < now('-180d')" --dry-run
# If looks good, executeatlcli wiki page archive --cql "space = TEAM AND lastModified < now('-180d')" --confirmClone Documentation Structure
Section titled “Clone Documentation Structure”# Copy page to new spaceatlcli wiki page copy --id 12345 --title "API Docs" --space NEW_SPACEStandardize Page Order
Section titled “Standardize Page Order”# Sort all sections alphabeticallyfor parent in 12345 12346 12347; do atlcli wiki page sort --id $parent --natural --dry-rundoneTroubleshooting
Section titled “Troubleshooting”Page Not Found
Section titled “Page Not Found”Symptom: Error: Page 12345 not found
Causes:
- Page was deleted or moved to trash
- Page ID is incorrect
- You don’t have View permission for the page
Fix: Verify the page exists in Confluence and you have access.
Cannot Delete Page
Section titled “Cannot Delete Page”Symptom: Error: Cannot delete page with children
Cause: The page has child pages that must be deleted first.
Fix: Delete child pages first, then delete the parent:
# List childrenatlcli wiki page children --id 12345
# Delete children first, then parentatlcli wiki page delete --id <child-id> --confirmatlcli wiki page delete --id 12345 --confirmRelated Topics
Section titled “Related Topics”- Sync - Bidirectional sync between local files and Confluence
- Folders - Organize pages with folders (Cloud only)
- Labels - Tag and filter pages with labels
- History - View and restore page versions
- Attachments - Manage page attachments