Menu
Platform
AI
App store purchases
Database
Flags
Jobs and cron
Localization
Monitoring
Notifications
Payments
Queues
Sandboxes
Webhooks
Getting Started
Authentication
KV Store
Deploy & Infrastructure
Reference
Publish a realtime channel
Publishes one message to the channel: it is appended to the channel's history and pushed to every connected client.
Publishes one message to the channel: it is appended to the channel's history and pushed to every connected client. A retry with the same Idempotency-Key returns the first message.
- Path
POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/realtime_channels/realtime-channel:publish - Scope
events:publish - Effect
write— a successful call changes state. - Collection realtime_channels
#Request
| Field | Type | What it is |
|---|---|---|
name | string | The name of the realtime channel. Required. |
message_type | string | The message name, 1 to 255 of [A-Za-z0-9._:-]. Required. |
data | value | The payload; at most 64 KiB as JSON. |
client_id | string | The publisher's client id, shown to subscribers. |
#Response
| Field | Type | What it is |
|---|---|---|
realtime_message | RealtimeMessage | The message as the channel appended it. |
#RealtimeMessage
| Field | Type | What it is |
|---|---|---|
name | string | …/realtime_channels/{realtime_channel}/realtime_messages/{realtime_message}. |
uid | string | rtm_<cell><ulid>; never reused. Output only. |
meta | ResourceMeta | Resource metadata. |
cursor | string | The message's place in the channel; send it back as after_cursor (or Last-Event-ID) to resume after it. Output only. |
sequence | int64 | The position in the channel, from 1, gap-free. Output only. |
message_type | string | The message name (chat.message, presence.enter, …). Required. |
data | value | The payload. |
client_id | string | The publisher's client id, when it named one. |
publish_time | timestamp | When the channel appended it. Output only. |
#ResourceMeta
| Field | Type | What it is |
|---|---|---|
generation | int64 | Increases by one on every change to spec. Output only. |
etag | string | Strong ETag (AIP-154): changes on any change to spec, status, or metadata. Send it back as If-Match or etag to make Update and Delete conditional; a mismatch fails with ABORTED / 409 ETAG_MISMATCH. Output only. |
create_time | timestamp | When the Resource was created. Output only. |
update_time | timestamp | When the Resource last changed. Output only. |
delete_time | timestamp | Set while the Resource is being deleted. Output only. |
labels | map<string, string> | Caller-writable, indexed labels (AIP-122 label rules). |
annotations | map<string, string> | Caller-writable, unindexed annotations. |
display_name | string | Caller-writable human-readable name. |
creator | string | The principal that created the Resource. Output only. |
#Errors
UNAUTHENTICATED— No valid key or token was presented.PERMISSION_DENIED— The key lacks the method's permission.RESOURCE_NOT_FOUND— The named Resource does not exist or is not visible.INVALID_FIELD— A field failed validation.IDEMPOTENCY_KEY_REUSED— An Idempotency-Key was reused with another body.IDEMPOTENCY_IN_PROGRESS— The first call with this Idempotency-Key is still running.
Every error arrives in the body Errors describes.
#Examples
curl -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/realtime_channels/realtime-channel:publish" \
-H "Authorization: Bearer $SYLPHX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message_type":"…"}'