---
title: "Rename an app, or change its theme and surfaces"
description: "Changes what the app is called, how it looks to its users (accent, radius, font, density), and which surfaces are switched on for them: data grid, interface, assistant, API, MCP, CLI."
canonical: "https://gtable.app/docs/builder-api/apps/update"
updated: "2026-10-05"
---

# Rename an app, or change its theme and surfaces

`PATCH https://studio.gtable.app/v1/apps/{appId}`

Changes what the app is called, how it looks to its users (accent, radius, font, density), and which surfaces are switched on for them: data grid, interface, assistant, API, MCP, CLI.

Within a minute of switching one off: `api` refuses every call made with a key or a connected token, the CLI's included (the app's own screens, on a signed-in session, keep working); `mcp` refuses the app's MCP endpoints and drops it from the suite's MCP server; `cli` refuses the official command-line tool by its user agent, which with the API on stops the tool and nothing else; `assistant` takes the in-app assistant away; `data` and `interface` hide those tabs. Nothing is deleted by any of them.

Requires the `schema:write` scope. Operation `apps.update`. MCP tool `apps_update`. CLI, once published: `gtable apps update`.

## Path parameters

| Name    | Type   | Required | Description |
| ------- | ------ | -------- | ----------- |
| `appId` | string | yes      |             |

## Headers

| Name              | Type   | Required | Description                                                                                                                                                                                                                                                        |
| ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Idempotency-Key` | string | 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           |
| ---------- | ------ | -------- | --------------------- |
| `name`     | string | no       | Up to 120 characters. |
| `theme`    | object | no       |                       |
| `surfaces` | object | no       |                       |
