Choose the destination
Prefer HTTPS for webhooks. The URL scheme must match the protocol. Loopback,
private, and link-local destinations are refused. Redirects are not followed.
Queue endpoints must be in the same account and region and require
queue:SendMessage on the destination in addition to
notifications:Subscribe on the topic.
Create the subscription
- Console
- API
- CLI
- Go
- Open Notifications, choose the topic, and open Subscriptions.
- Select Subscribe to open the creation page.
- Choose Protocol and enter Endpoint.
- Optionally enter a Filter policy and a Dead-letter queue.
- For a webhook, enable Raw message delivery only if your endpoint expects the published payload instead of a notification envelope.
- Select Create subscription.
Confirmation
Email and webhook subscriptions start inpending_confirmation. Confirmation
links expire after 72 hours by default. Use the subscription’s resend action
if a link expires. The endpoint owner follows the received confirmation link;
returning HTTP 200 to the webhook handshake alone does not confirm it.
These recipient links are separate from authenticated API management, so they
are not SDK or CLI operations. A recipient can also use the unsubscribe link
included with a notification. Administrators remove a subscription through
its authenticated DELETE operation.
Filtering and delivery options
An omitted or empty filter receives every publication. A nonempty policy matches only message attributes, not fields inside a JSON message body. Policies apply equally to all protocols.raw_message_delivery is supported only for HTTP and HTTPS. Queue delivery
always uses the notification envelope. delivery_policy can override the
topic’s retry settings field by field through the API.
A subscription’s dead-letter queue receives failed notification delivery
envelopes. This is different from a queue’s own redrive policy, which handles
messages a queue consumer repeatedly leases without acknowledging. See
delivery failures.
Change or delete a subscription
The API updates mutable settings atPATCH /v1/topics/{topic_id}/subscriptions/{subscription_id}. Omitting
filter_policy preserves it; an empty object removes filtering. Protocol and
endpoint remain immutable. Delete the same resource path to stop future
subscription delivery. Read or rotate webhook secrets through the separate
signing-secret actions, each of which has its own permission.
