List an app's pages
Every page of the app: the builder's, with their mode and the roles they are shown to, and the pages app users built of their own.
GET/v1/apps/{appId}/pages
Requires the pages:read scope. Operation pages.list. MCP tool pages_list. CLI: grid82 pages list (npx grid82).
Path parameters
| Name | Type | Required | Description |
|---|
appId | string | yes | |
dataobject[]required
Show child attributes
data.idstringrequiredlength: 1–64 chars
data.namestringrequiredlength: 1–120 chars
data.kindenum<string>requiredone of: declarative, code
data.modeenum<string>requiredone of: locked, template, canvas
data.ownerenum<string>requiredone of: admin, user
data.ownerUserIdstringlength: ≤ 64 chars
data.tableIdstringpattern: ^[a-z][a-z0-9_]{0,62}$
data.forkedFromstringlength: ≤ 64 chars
data.visibleTostring | string[]requireddefault: *
data.readsobject
Show child attributes
data.reads.tablesstring[]requireddefault: []
data.reads.fieldsstring[]requireddefault: []
data.reads.viewsstring[]requireddefault: []
data.bundleHashstringlength: ≤ 128 chars
data.publishedVersionintegerrange: ≥ 1
data.themeobject
Show child attributes
data.theme.accentstringpattern: ^(?:#[0-9a-fA-F]{3,8}|oklch\([0-9.%\s/]{1,60}\))$
data.theme.radiusnumberrange: 0–24
data.versionintegerrequireddefault: 1range: ≥ 1
data.updatedAtstringrequired
errorobjectrequired
Show child attributes
error.codeenum<string>requiredone of: not_found, forbidden, unauthenticated, validation_failed, conflict, rate_limited, payment_required, not_implemented, internal
error.messagestringrequired
error.detailsRecord<string, unknown>