---
title: Subscription keys
slug: cms-11/dev-docs/subscription-keys
docTags: 
createdAt: 2026-07-22T19:45:22.322Z
---

This API supports storing a link between a key and a user. You can then later use the API to get a list of users who are subscribing to a key. A key can be anything you want formatted as a Uri.

Access the API by getting an instance of the `ISubscriptionService` interface, which lets you subscribe or unsubscribe a user and find users that subscribe to a particular key.

This API is just a supporting service and subscriptions are independent from user notifications, no calls are made from one to the other. Use the subscriptions API to populate the recipient field when creating a notification message because an event happened in the system. If the sender is also a subscriber, you may need to filter the list before sending the message to avoid the person triggering the event also getting notified.

## Subscription keys

A subscription key is in URI format and identifies something it can notify. The format is unconstrained but should match the item it identifies.

The subscription key indicates that the user is interested in that item and all items below it, that is, all items with a key that starts with the subscribed key.

## Subscribe and unsubscribe

Use the `Subscribe` methods to add one or more users to a subscription.

Use the `Unsubscribe` method to remove one or more users from a subscription.

You can hook into the `UserSubscribed` and `UserUnsubscribed` events, which only trigger for changes. If a user is added to a subscription twice, it only triggers for the first.

## Clear

By calling `ClearUser`, it removes subscriptions for that user, so use it only when you delete a user from the system. The `ClearSubscription` method removes users from that particular subscription. The `UserCleared` and `SubscriptionCleared` events are called for these respectively.

## List subscriptions

`ListSubscriptions` returns a list of subscriptions for a user.

## List and find subscribers

`ListSubscribers` returns a list of users that subscribe to a specified subscription. The `FindSubscribersAsync` method returns users that match a subscription key, fully and partly (begins-with).

:::hint{type="info"}
**Note**
The partly matching is done on whole *segments* (delimited by slashes) in the URI path.
:::
