-
Type:
Suggestion
-
Resolution: Unresolved
-
Component/s: Page - Content APIs
-
None
-
1
-
1
Add support for returning both direct and inherited/hierarchical restrictions in Confluence Cloud REST API v2 bulk endpoints
The Problem
- N+1 Query Overhead: API v2 does not return restriction data in bulk. Auditing a space requires querying every single page individually (140,000+ API calls for a large space), leading to severe rate-limiting (HTTP 429).
- Missing Hierarchical / Inherited Restrictions: Confluence view restrictions are hierarchical (inherited from ancestor pages). If an API only returns direct page restrictions, child pages appear unrestricted, producing inaccurate audit reports unless the client reconstructs and traverses the entire page tree.
- Broken v1 Fallback: The legacy v1 endpoint (/wiki/rest/api/content) supported bulk expansion, but pagination fails at start=400 when using the Admin Key (Atl-Confluence-With-Admin-Key: true).
Proposed Solution
Add an expansion/query parameter to return effective (direct + inherited) restriction status in bulk list responses.
Requirements
- Direct & Inherited Awareness: Distinguish between restrictions applied directly to the page vs. restrictions inherited from ancestor pages.
- Cursor-Based Pagination: Seamlessly paginate across large datasets (100k+ pages) via _links.next.
- Admin Key Support: Fully compatible with Atl-Confluence-With-Admin-Key: true without pagination limits.