Limits
The hard numbers, whose they are, and what happens at each.
Limits
A few numbers are the app’s own, chosen so a save stays short enough to sit through with the tab open. The rest belong to Confluence: the app works within them and, where it can, tells you before you save that a change would run into one.
| Limit | Value | Counted how |
|---|---|---|
| Page moves per save | 1,000 | One per page that changes place. A page moving to a new parent counts once, because its child pages go with it. A sort or drag counts only the pages that actually have to move. |
| Parents changed per save | 100 | One per parent you rearranged, one per destination (pages put First and pages put Last count separately), and one per Include every level below sort. |
| Every level below | 500 parents per sort | Pages and folders that have child pages. Not counted against the 1,000 moves. |
| Items beneath a page you move | 1,000 | Confluence’s limit, not the app’s. Every level counts, and so do whiteboards, databases and other content. |
| Page titles | Unique in each space; up to 255 characters | Confluence’s rules. Capitals don’t make two titles different. |
| Permission to move pages | Space admin, or Manage all content | Confluence’s rule for its own Move, applied to you. Without it, the list is read-only. |
| Pages and spaces listed | No cap | Every list is read to the end, 250 at a time: a parent’s child pages, the page tree, the spaces. |
| Move to… search results | 50 at a time | Show more adds the next 50. |
| Pages under one parent, for a new order | 50,000 | A safety stop far above any real parent. A new order for a parent with more child pages than that isn’t applied, and the save stops: “That parent has too many pages to sort at once.” |
| Undo | None | As in Confluence. Every change is listed in Unsaved changes before you save. |
1,000 page moves per save
The limit treats the two kinds of change differently:
- Rearranging past 1,000 doesn’t block the save. The Unsaved changes summary says so before you start: “n page moves. This save makes the first 1,000; sort again afterwards to finish. Saving can’t be undone.” Pages moving to a new parent are always saved in full; the parents you rearranged share what is left, and the one that crosses the line gets part of its new order. Afterwards the panel reads “That was the first 1,000 moves: about n more are still to do. Sort again and save to finish.” Sorting again plans only what is still out of place.
- Moving more than 1,000 pages to new parents does block it. The panel says “That’s n pages moving to new parents. One save can move up to 1,000: cancel some with × and move them in a second save.”, and Save changes stays unavailable until you do.
Why 1,000: a save runs only while your tab is open, and in our testing a move took about half a second, so 1,000 moves take roughly 7½ minutes. With no undo, the same number bounds what a mistaken save can change. And every site using the app shares one hourly request budget from Atlassian; a 1,000-move save uses about 6% of it.
100 parents per save
A save is planned as steps: one per destination, one per rearranged parent, and one per every-level-below sort. With more than 100, nothing starts, and the panel says “This save changes n parents; one save can change up to 100. Save some of the changes first, then the rest.” Cancel some moves with × in Unsaved changes, or Discard and work through the parents over two saves.
Every level below: 500 parents per sort
Include every level below sorts each parent beneath the one you sorted the same way, working down a level at a time. How many pages that moves is only known while it runs, so it isn’t counted against the 1,000. Each such sort stops after 500 parents instead, and says where to pick up: “Stopped after 500 parents; open a page further down and sort from there for the rest.”
Confluence’s own limits
These come from Confluence and apply to its own Move just the same. The app can’t lift them. It checks for the 1,000-item rule and for title clashes as you work, so those refusals don’t first surface halfway through a save.
More than 1,000 items beneath a page
Confluence won’t move a page that has more than 1,000 items beneath it, through its API or with its own Move. Every level counts, and so do whiteboards, databases and other content, not just pages. A page with exactly 1,000 beneath it still moves.
When you open a parent, the app counts what is beneath each of its child pages in the background, and marks any page over the limit Too big to move out. Such a page:
- Can’t go into another page or space. It can’t be dropped into a page on its own, and with only such pages selected Move to… is unavailable. In a group dropped into a page, onto the page tree or sent with Move to…, it is left out and the move says why: “it has n pages beneath it. Confluence can’t move a page with more than 1,000 pages beneath it, not even with its own Move. Move some of its child pages out first.”
- Can still be dragged up or down in its parent. The app reaches the order you want by moving the pages around it instead. While you drag it, the card reads “Too big to move inside a page: reorder only”.
- Can’t swap places with another like it. Two such pages keep their current order, and everything else is arranged around them: “… can’t swap places: each has more than 1,000 pages beneath it, and Confluence can’t move a page like that, not even with its own Move. They keep their current order and everything else is arranged around them.”
The count comes from Confluence search, which can trail very recent changes by a few seconds, so a page that crossed the line moments ago may not be marked yet. Confluence then refuses it at save, and the result names it.
Titles are unique in each space
No two pages in a space can share a title, and capitals make no difference: “EXPENSES” clashes with “Expenses”. Moving within a space never clashes. Moving to another space can, so before the move is added to Unsaved changes the app looks up each page’s title there, and if any is taken, asks whether to rename or leave out:
- Rename and move gives each clashing page the first free title of “Expenses (1)”, “Expenses (2)” and so on, free in both spaces, as Confluence’s own Move suggests. The app tries up to “(100)”; a page with no free title among those is left out.
- Leave it out (or Leave them out) keeps the clashing pages where they are, and the rest move.
A title can be at most 255 characters, so a long one is shortened to make room for the number. The rename happens during the save, before the pages move, and adds a new version to the page like any rename in Confluence. If the move itself then fails, the page keeps its new title where it was.
Who can move pages
Confluence lets a person move pages in a space if they are a space admin there, or have Manage all content where space roles are on. The app checks this for the space you have open; without it, you can browse but not change anything, and a banner says so. Restricted pages, and moves into a space where you lack the permission, are refused by Confluence at save. Each one is named in the result, and the rest still save.
Rate limits and a busy Confluence
Confluence answers with a rate-limit error (HTTP 429) when the app is over Atlassian’s rate limit, which is one budget shared by every site using the app, and now and then with a server error. Instead of failing on one busy moment, the app waits as long as Confluence asks, or backs off, and tries again:
- Reads are retried up to five times on a rate limit, and twice on a server error.
- Moves are retried up to five times on a rate limit, and once on a server error.
- During a save, each wait is kept to 3 seconds so a stretch stays inside Forge’s time limit. A page still rate-limited after its retries is reported as not moved, and the save carries on with the rest.
- A stretch that fails outright is tried twice more, 2 and then 4 seconds later; if it still fails, the save stops and shows the error. Three stretches in a row that make no progress stop it too: “Confluence is responding too slowly, so the save stopped.” Either way, pages already moved stay moved.
A read that is still rate-limited after its retries says “Confluence is busy. Wait a minute and try again.”