Rename a page, change its mode, or change who sees it Any of name, mode, tableId and visibleTo.
PATCH /v1/apps/{appId}/pages/{pageId}
A page has one mode for everyone: it cannot be locked for one role and a Template for another.
Requires the pages:write scope. Operation pages.update. MCP tool pages_update. CLI: grid82 pages update (npx grid82).
Path parameters
Name Type Required Description appIdstring yes pageIdstring yes
Name Type Required Description Idempotency-Keystring no Any unique string. Sending the same key with the same request again returns the first response (marked Idempotency-Replayed: true) instead of running it twice. Reusing it for a different request is refused with 409. Kept for 24 hours. Up to 255 characters.
Request body
Field Type Required Description namestring no Up to 60 characters. kind“declarative” or “code” no mode“locked” or “template” no tableIdstring no Up to 64 characters. visibleTo”*” or string[] no
dataobject required
Show child attributes data. idstring required length: 1–64 chars
data. namestring required length: 1–120 chars
data. kindenum<string> required one of: declarative, code
data. modeenum<string> required one of: locked, template, canvas
data. ownerenum<string> required one of: admin, user
data. ownerUserIdstring length: ≤ 64 chars
data. tableIdstring pattern: ^[a-z][a-z0-9_]{0,62}$
data. forkedFromstring length: ≤ 64 chars
data. visibleTostring | string[] required default: *
data. readsobject
Show child attributes data.reads. tablesstring[] required default: []
data.reads. fieldsstring[] required default: []
data.reads. viewsstring[] required default: []
data. bundleHashstring length: ≤ 128 chars
data. publishedVersioninteger range: ≥ 1
data. themeobject
Show child attributes data.theme. accentstring pattern: ^(?:#[0-9a-fA-F]{3,8}|oklch\([0-9.%\s/]{1,60}\))$
data.theme. radiusnumber range: 0–24
data. versioninteger required default: 1 range: ≥ 1
data. updatedAtstring required
errorobject required
Show child attributes error. codeenum<string> required one of: not_found, forbidden, unauthenticated, validation_failed, conflict, rate_limited, payment_required, not_implemented, internal
error. messagestring required
error. detailsRecord<string, unknown>