# NotificationSubscriptionUpdateDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

DTO for updating an existing notification subscription.
Includes concurrency stamp for optimistic concurrency control.

## Fields
- `name` (string) required: Subscription name. (nullable, max length 256)
- `description` (string): Optional description. (nullable, max length 1024)
- `isEnabled` (boolean): Whether the subscription is enabled.
- `scope` ([SubscriptionScope](https://devportal.demo.winkpg.io/docs/api/models/SubscriptionScope.md)): Organizational scope.
  Values:
  - `Merchant`: Subscription scoped to a specific merchant. Only matches events originating from that merchant.
  - `Reseller`: Subscription scoped to a reseller and all its descendants (sub-resellers and merchants). Uses ResellerPathPrefix for efficient hierarchy matching.
  - `Admin`: Subscription with tenant-wide scope. Matches events across all resellers and merchants within the tenant. Requires admin-level permissions.
- `resellerId` (string(uuid)): Reseller ID (required for reseller scope). (nullable)
- `merchantId` (string(uuid)): Merchant ID (required for merchant scope). (nullable)
- `resellerPathPrefix` (string): Reseller path prefix (required for reseller scope). (nullable, max length 512)
- `eventTypes` (array<string>) required: Event types to subscribe to (at least one required). (nullable)
- `filterExpressionJson` (string): Serialized filter expression JSON (null for no filter). (nullable, max length 8192)
- `channelIds` (array<string(uuid)>) required: Channel IDs to route notifications through. (nullable)
- `concurrencyStamp` (string): (nullable)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
