What this app is, to you
Get the app's name, address, enabled surfaces, theme, your roles and the pages those roles may open.
GET/v1/app
Never returns the app’s full role list or other users’ roles.
Requires the schema:read scope. Operation app.get. MCP tool app_get. CLI: grid82 app get (npx grid82).
Response
application/jsonSuccess
dataobjectrequiredShow child attributes
data.constrainedRecord<string, string[]>requireddata.idstringrequireddata.namestringrequireddata.slugstringrequireddata.surfacesobjectrequiredShow child attributes
data.surfaces.databooleanrequireddefault: truedata.surfaces.interfacebooleanrequireddefault: truedata.surfaces.assistantbooleanrequireddefault: truedata.surfaces.apibooleanrequireddefault: truedata.surfaces.mcpbooleanrequireddefault: truedata.surfaces.clibooleanrequireddefault: truedata.themeobjectrequiredShow child attributes
data.theme.radiusnumberrequireddefault: 6range: 0–24data.theme.accentstringrequireddefault: oklch(0.47 0.16 262)pattern: ^(?:#[0-9a-fA-F]{3,8}|oklch\([0-9.%\s/]{1,60}\))$data.theme.fontenum<string>requireddefault: interone of: system, geist, inter, figtree, manrope, jakarta, dm-sans, outfit, work-sans, nunito-sans, rubik, public-sans, source-serif, lora, fraunces, instrument-serif, geist-mono, jetbrains-mono, ibm-plex-monodata.theme.iconstring | nulldefault: nulldata.rolesobject[]requiredShow child attributes
data.roles.idstringrequireddata.roles.namestringrequireddata.roles.descriptionstringrequireddata.buildsPagesbooleanrequireddata.buildsWorkflowsbooleanrequireddefault: falsedata.pagesobject[]requiredShow child attributes
data.pages.idstringrequireddata.pages.namestringrequireddata.pages.kindenum<string>requiredone of: declarative, codedata.pages.modeenum<string>requiredone of: locked, template, canvasdata.pages.tableIdstringnullrequireddata.pages.ownerenum<string>requiredone of: admin, userdata.pages.versionnumberrequireddata.pages.updatedAtstringrequireddata.pages.bundleHashstringnullrequireddata.pages.forkedFromstringnullrequireddata.pages.publishedVersionnumbernullrequireddefault: nulldata.pages.themeobject | nullrequireddefault: nullShow child attributes
data.pages.theme.accentstringdata.pages.theme.radiusnumberRefused
errorobjectrequiredShow child attributes
error.codeenum<string>requiredone of: not_found, forbidden, unauthenticated, validation_failed, conflict, rate_limited, payment_required, not_implemented, internalerror.messagestringrequirederror.detailsRecord<string, unknown>