---
# @generated by sylphx-gen 0.1.0 from contracts@e145cc7cf1bc9605f2b27439e5e17ed76a1a2fd7e7021906a013f7565e4a0cd5. Do not edit.
title: "Messages"
description: "The `messages` collection of Sylphx Notify: A Message is one notification to one recipient on one topic."
type: reference
product: email
summary: "A Message is one notification to one recipient on one topic."
updated: 2026-09-28
order: 900
---

A Message is one notification to one recipient on one topic. Notify admits it idempotently, checks suppression and preferences, and fans it out to the allowed channels with fallback and digesting; every delivery closes with a provider receipt that only Notify writes.

**Service** Sylphx Notify · **Resource type** `notify.sylphx.com/Message` · **Name pattern** `orgs/{org}/projects/{project}/envs/{env}/messages/{message}` · **Shape** `record`

## Fields

| Field | Type | What it is |
| --- | --- | --- |
| `name` | `string` | `orgs/{org}/projects/{project}/envs/{env}/messages/{message}`. |
| `uid` | `string` | `msg_<cell><ulid>`; never reused. Output only. |
| `meta` | `ResourceMeta` | Resource metadata. |
| `recipient` | `string` | The recipient. Required. |
| `topic` | `string` | The topic preferences are checked against, for example `billing`. Required. |
| `template` | `string` | The template to render; required unless `mailbox` and `content` are set. |
| `template_version` | `int64` | The template version rendered; pinned at admission. Output only. |
| `data` | `struct` | Template variables. |
| `channels` | `Channel[]` | Restrict to these channels, in fallback order; empty uses the recipient's preferences. One of `email`, `sms`, `push`, `inbox`. |
| `send_time` | `timestamp` | Send no earlier than this. |
| `broadcast` | `string` | The broadcast that created it, if any. Output only. |
| `state` | `MessageState` | The admission and delivery state. Output only. One of `accepted`, `suppressed`, `delivering`, `delivered`, `failed`, `cancelled`, `rate_limited`. |
| `deliveries` | `ChannelDelivery[]` | Per-channel deliveries and their receipts. Output only. |
| `delivery_deadline_time` | `timestamp` | Deliver no later than this; a delivery still open then fails with `expired`. Unset retries for up to a day. The message record is kept. |
| `state_reason` | `string` | Why the message is in its state, for example `recipient_interval` for `RATE_LIMITED` or `suppressed` for `SUPPRESSED`. Output only. |
| `capture` | `MessageCapture` | A test recipient's rendered content; empty for every other recipient. Output only. |
| `mailbox` | `string` | Send as this mailbox (its address, display name and, for a connected mailbox, its own SMTP) instead of a verified Email Domain. |
| `content` | `MessageContent` | Inline content, only with `mailbox`: the subject and bodies as written, not rendered from a template. |
| `parent_message_id` | `string` | In-Reply-To: the Message-ID this answers, without angle brackets. |
| `references` | `string[]` | The thread's Message-IDs, oldest first, without angle brackets. |
| `email_message_id` | `string` | The Message-ID Notify gave the email, without angle brackets. Output only. |

## Methods

Every method of the collection, in the registry's order, with the scope it
needs. The full request, response and examples are one link away.

| Method | Call | What it does |
| --- | --- | --- |
| `GET` | [`get`](/docs/api/messages#get) | Gets a message. |
| `GET` | [`list`](/docs/api/messages#list) | Lists messages. |
| `POST` | [`create`](/docs/api/messages#create) | Sends a Message. |
| `POST` | [`cancel`](/docs/api/messages#cancel) | Cancels a Message whose deliveries have not been handed off. |

## get

Gets a message.

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

## list

Lists messages.

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

## create

Sends a Message.

`POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/messages` · scope `notify:send` · effect `write` · [Request, response and examples](/docs/api/messages/create)

## cancel

Cancels a Message whose deliveries have not been handed off.

`POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/messages/message:cancel` · scope `notify:send` · effect `destructive` · [Request, response and examples](/docs/api/messages/cancel)
