Skip to content
Console
Menu

Getting Started

Authentication

KV Store

Update a message topic

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

Updates a message topic; with allow_missing, creates it.

  • Path PATCH https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/message_topics/message-topic
  • Scope notify:write
  • Effect write — a successful call changes state.
  • Collection message_topics
  • Query update_mask, allow_missing, validate_only

#Request

FieldTypeWhat it is
message_topicMessageTopicThe message topic to update; name identifies it. Required.
update_maskfield_maskThe fields to write; unset writes every populated field.
allow_missingboolCreate the message topic when it does not exist (declarative upsert).
validate_onlyboolValidate and return the result without writing anything.

#MessageTopic

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/message_topics/{message_topic}.
metaResourceMetaResource metadata.
required_featurestringA 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_featurestringA 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_windowdurationThe window the allowance counts over: 1 minute to 24 hours; default 24 hours.

#ResourceMeta

FieldTypeWhat it is
labelsmap<string, string>Caller-writable, indexed labels (AIP-122 label rules).
annotationsmap<string, string>Caller-writable, unindexed annotations.
display_namestringCaller-writable human-readable name.

#Response

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/message_topics/{message_topic}.
uidstringtpc_<cell><ulid>; never reused. Output only.
metaResourceMetaResource metadata.
required_featurestringA 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_featurestringA 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_windowdurationThe window the allowance counts over: 1 minute to 24 hours; default 24 hours.

#ResourceMeta

FieldTypeWhat it is
generationint64Increases by one on every change to spec. Output only.
etagstringStrong 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_timetimestampWhen the Resource was created. Output only.
update_timetimestampWhen the Resource last changed. Output only.
delete_timetimestampSet while the Resource is being deleted. Output only.
labelsmap<string, string>Caller-writable, indexed labels (AIP-122 label rules).
annotationsmap<string, string>Caller-writable, unindexed annotations.
display_namestringCaller-writable human-readable name.
creatorstringThe principal that created the Resource. Output only.

#Errors

Every error arrives in the body Errors describes.

#Examples

curl -X PATCH "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/message_topics/message-topic" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"orgs/acme/projects/shop/envs/production/message_topics/message-topic"}'