---
# @generated by sylphx-gen. Do not edit.
title: "sylphx notify message_topics"
description: "The sylphx notify message_topics commands of Sylphx Notify: every verb, with its argument, its flags and a run line."
type: reference
product: notifications
summary: "Every sylphx notify message_topics command: its argument, its flags and a run line."
updated: 2026-09-28
nav: false
---

The `message_topics` commands of Sylphx Notify, as the CLI spells them: the same
calls as [the `message_topics` API page](/docs/api/message_topics), typed for the
shell. [Install, sign in and the grammar](/docs/cli) are on the CLI index.

## get

Gets a message topic.

**`NAME`** — the resource's name; a bare id is enough below the linked
project.

**CLI**

```bash
sylphx notify message-topics get orgs/acme/projects/shop/envs/production/message_topics/message-topic
```

`GET https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/message_topics/message-topic` · scope `notify:read` · effect `read` · [Request, response and examples](/docs/api/message_topics/get)

## list

Lists message topics.

**`PARENT`** — optional: the CLI fills it from the linked project or the
key's scope when it is left out.

**CLI**

```bash
sylphx notify message-topics list orgs/acme/projects/shop/envs/production
```

`GET https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/message_topics` · scope `notify:read` · effect `read` · [Request, response and examples](/docs/api/message_topics/list)

**Flags**

| Flag | Type | What it does |
| --- | --- | --- |
| `--page-size` | `int` | At most this many; default 50, clamped to 1000. |
| `--page-token` | `string` | `next_page_token` of the previous page. |
| `--filter` | `string` | AIP-160 filter over labels and filterable fields. |
| `--order-by` | `string` | AIP-132 ordering over filterable fields. |

## update

Updates a message topic; with `allow_missing`, creates it.

**`NAME`** — the resource's name; a bare id is enough below the linked
project.

**CLI**

```bash
sylphx notify message-topics update orgs/acme/projects/shop/envs/production/message_topics/message-topic
```

`PATCH https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/message_topics/message-topic` · scope `notify:write` · effect `write` · [Request, response and examples](/docs/api/message_topics/update)

**Flags**

| Flag | Type | What it does |
| --- | --- | --- |
| `--meta.labels` | `key=value` | Caller-writable, indexed labels (AIP-122 label rules). Repeat the flag for each value. |
| `--meta.annotations` | `key=value` | Caller-writable, unindexed annotations. Repeat the flag for each value. |
| `--meta.display-name` | `string` | Caller-writable human-readable name. |
| `--required-feature` | `string` | A Money feature key the recipient must hold (`entitlement_grants:check` for the Recipient's `external_key` as the end user). A message to a recipient that does not hold it is recorded `SUPPRESSED` with `state_reason` `entitlement`; when Money cannot answer, the create fails with 503 and writes nothing. The sending key must also hold `billing:read`. Unset admits every recipient. |
| `--send-limit-feature` | `string` | A Money `limit` feature whose allowance is the most messages on this topic one recipient receives per `send_limit_window`. A message over it, or to a recipient that holds no allowance, is recorded `RATE_LIMITED` and its create answers 429. Unset: no topic limit. |
| `--send-limit-window` | `duration` | The window the allowance counts over: 1 minute to 24 hours; default 24 hours. |
| `--allow-missing` | `bool` | Create the message topic when it does not exist (declarative upsert). |
| `--dry-run` | `bool` | Validate and print the result without writing (validate_only). |

## delete

Deletes a message topic; its messages are admitted with no gate or topic limit.

**`NAME`** — the resource's name; a bare id is enough below the linked
project.

**CLI**

```bash
sylphx notify message-topics delete orgs/acme/projects/shop/envs/production/message_topics/message-topic --yes
```

`DELETE https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/message_topics/message-topic` · scope `notify:write` · effect `destructive` · [Request, response and examples](/docs/api/message_topics/delete)

**Flags**

| Flag | Type | What it does |
| --- | --- | --- |
| `--etag` | `string` | Delete only if the current etag matches. |
| `--allow-missing` | `bool` | Succeed when the message topic does not exist. |
| `--dry-run` | `bool` | Validate and print the result without writing (validate_only). |
| `--yes` | `bool` | Do not ask before this destructive call. |
