We are trying to programmatically read the rows/entries of a Confluence database page via the REST API v2 and the official Atlassian MCP server, and hitting a wall on both paths.
What we have:
Our OAuth 2.0 (3LO) app has all published Confluence scopes granted, including:
read:database:confluence, write:database:confluence, read:custom-content:confluence, read:content:confluence, read:page:confluence, read:confluence-content.all, and all other granular scopes listed in the Confluence OAuth scopes documentation.
What works:
GET /wiki/api/v2/databases/{id} — returns database metadata (title, version, spaceId, etc.) ✅
What doesn't work:
All sub-endpoints return 401 Unauthorized; scope does not match (header x-failure-category: FAILURE_CLIENT_SCOPE_CHECK):
- GET /wiki/api/v2/databases/{id}/entries → 401
- GET /wiki/api/v2/databases/{id}/content → 401
- GET /wiki/api/v2/databases/{id}/children → 401
- GET /wiki/api/v2/databases/{id}/export → 401
We also tried the Atlassian MCP server (mcp.atlassian.com) — its getConfluencePage tool and CQL search (ancestor = {id}) return no results for database content.
The problem:
The published scope list only documents three database scopes (read, write, delete). There is no scope for reading database entries. The responses include no WWW-Authenticate header that would hint at the required scope name.
Questions:
- Is there a scope for reading database entries that is not yet listed in the public documentation?
- Is reading database entries via OAuth 3LO supported at all?
- Is there a roadmap item for exposing this via the public API?