# MD_UPDATE_GUIDE_METADATA
> Retitle or re-topic a Guide, or update its description, without creating a content version
Change a [Guide](/key-tasks/guides/)'s title, description, or topic without appending a content version. The guide keeps its ID and full version history.

## Syntax

```sql
SELECT * FROM MD_UPDATE_GUIDE_METADATA(
  id = '<guide_uuid>',
  topic = 'customer-orders',
  title = 'Updated Title'
);
```

## Parameters

Provide at least one of `title`, `description`, or `topic`.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | `UUID` | Yes | The guide's UUID. |
| `title` | `VARCHAR` | No | New human-readable title. Must not be empty when supplied. |
| `description` | `VARCHAR` | No | New one-line summary. Pass an empty string (`''`) to clear it. |
| `topic` | `VARCHAR` | No | New grouping label — for example `'revenue-billing'` or `'core/metrics'` (no leading or trailing slash). Pass an empty string (`''`) to remove the topic. |

## Return columns

| Column | Type | Description |
|--------|------|-------------|
| `id` | `UUID` | Guide UUID |
| `topic` | `VARCHAR` | Updated topic (`NULL` when cleared) |
| `title` | `VARCHAR` | Updated title |
| `description` | `VARCHAR` | Updated description |
| `owner_id` | `UUID` | UUID of the guide owner |
| `owner_name` | `VARCHAR` | Name of the guide owner |
| `access` | `VARCHAR` | `'user'` or `'organization'` |
| `current_version` | `UINTEGER` | Latest version number (unchanged) |
| `created_at` | `TIMESTAMP WITH TIME ZONE` | When the guide was created |
| `updated_at` | `TIMESTAMP WITH TIME ZONE` | When the guide was last updated |

## Examples

Move a guide to a different topic:

```sql
SELECT id, topic, title
FROM MD_UPDATE_GUIDE_METADATA(
  id = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
  topic = 'customer-orders',
  title = 'Customer Order Filters'
);
```

Update only the description:

```sql
SELECT description
FROM MD_UPDATE_GUIDE_METADATA(
  id = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
  description = 'MRR and ARR definitions, including expansion and churn adjustments'
);
```

Remove the topic (move the guide to the root level):

```sql
SELECT topic
FROM MD_UPDATE_GUIDE_METADATA(
  id = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
  topic = ''
);
```

## Related

- [`MD_UPDATE_GUIDE`](../md-update-guide) — Append a content version.
- [`MD_SET_GUIDE_ACCESS`](../md-set-guide-access) — Change visibility.
- [`update_guide_metadata` MCP tool](/sql-reference/mcp/guides/update-guide-metadata) — AI assistant equivalent.


---

## Docs feedback

MotherDuck accepts optional user-submitted feedback about this page at `GET https://motherduck.com/docs/api/feedback/agent`.
For agents and automated tools, feedback submission should be user-confirmed before sending.

URL-encode query parameter values and send a GET request:

```text
GET https://motherduck.com/docs/api/feedback/agent?page_path=%2Fsql-reference%2Fmotherduck-sql-reference%2Fguides%2Fmd-update-guide-metadata%2F&page_title=MD_UPDATE_GUIDE_METADATA&text=<url-encoded user feedback, max 2000 characters>
```

Optionally append `&source=<url-encoded interface identifier>` such as `claude.ai` or `chatgpt`.

`page_path` and `text` are required; `page_title` and `source` are optional. Responses: `200 {"feedback_id": "<uuid>"}`, `400` for malformed query parameters, and `429` when rate-limited.
