Creates a subscription that delivers classified updates in real time. Each subscription supports two delivery modes — you can use one or both:
For webhook delivery, set webhookUrl to your HTTPS endpoint. The system will POST each update to your URL as it occurs. Deliveries are retried with exponential backoff (1m, 5m, 30m, 2h, 12h) for up to 5 attempts. Each delivery includes an X-Noves-Signature header containing an HMAC-SHA256 hex digest of the request body, computed with the secret returned when you create the subscription. Use this to verify that payloads are authentic.
For WebSocket delivery, set websocketEnabled to true. The response includes a websocketUrl containing the subscription secret; clients should use that URL as-is. Updates are pushed to all connected clients in real time. If no client is connected, messages are queued for up to 1 hour and replayed automatically when a client reconnects.
Use the filters object to control which updates are delivered. It contains three categories of filters (OR'd — a match in any category delivers the update):
partyFilter is a top-level filter that only delivers updates involving the specified Canton party. Each filter category applies the party check in its own way.
filters.txTypeFilters matches classification types such as transfer, rewards, fees, traffic purchases, coupons, subscriptions, preapprovals, token operations, and more).
filters.rawEventFilters matches raw DAML events by template module, optional template entity, and optional event type. filters.utilityFilters supports composite filters such as allCCMovements. Both arrays are required when filters is supplied; pass an empty array when a category is unused. Invalid filter values return HTTP 400.
Set includeRawData to true to receive the raw update alongside the classified update. When enabled, each message includes a rawData field containing the unprocessed payload.
Each webhook body or WebSocket message identifies the subscription and update, includes the update's effective time, and provides the classified update in data. When requested, rawData contains the corresponding raw update.

