---
name: "org.bluez.AdvertisementMonitorManager"
section: "5"
platform: "linux"
package: "bluez-utils"
version: "5.87-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/org.bluez.AdvertisementMonitorManager"
---

# org.bluez.AdvertisementMonitorManager(5)

BlueZ D-Bus AdvertisementMonitorManager API documentation

## Name

org.bluez.AdvertisementMonitorManager - BlueZ D-Bus AdvertisementMonitorManager API documentation

## Interface

- **Service**

  org.bluez

- **Interface**

  org.bluez.AdvertisementMonitorManager1 \[experimental\]

- **Object path**

  /org/bluez/{hci0,hci1,...}

- **Used by**

  **[bluetoothctl-monitor(1)](/bluetoothctl-monitor/1.md)**

### Methods

### void RegisterMonitor(object application)

Registers the root path of a hierarchy of advertisement monitors implementing **[org.bluez.AdvertisementMonitor(5)](/org.bluez.AdvertisementMonitor/5.md)**.

The application object path together with the D-Bus ystem bus connection ID define the identification of the application registering advertisement monitors.

Once a root path is registered by a client via this method, the client can freely expose/unexpose advertisement monitors without re-registering the root path again.

After use, the client should call **UnregisterMonitor()** method to invalidate the advertisement monitors.

Possible errors:

- **org.bluez.Error.InvalidArguments**

  - **org.bluez.Error.AlreadyExists**

  - **org.bluez.Error.Failed**

  Examples:

- **bluetoothctl**

  \[monitor\] \> add-or-pattern \<start\_pos\> \<ad\_type\> \<content\>

### void UnregisterMonitor(object application)

Unregisters a hierarchy of advertisement monitors that has been previously registered with **RegisterMonitor()**. The object path parameter must match the same value that has been used on registration.

Upon unregistration, the advertisement monitor(s) should expect to receive **Release()** method as the signal that the advertisement monitor(s) has been deactivated.

Possible errors:

- **org.bluez.Error.InvalidArguments**

  - **org.bluez.Error.DoesNotExist**

  Examples:

- **bluetoothctl**

  \[monitor\] \> remove-pattern \<monitor-id/all\>

### Properties

### array{string} SupportedMonitorTypes \[read-only\]

This lists the supported types of advertisement monitors. An application should check this before instantiate and expose an object of **[org.bluez.AdvertisementMonitor(5)](/org.bluez.AdvertisementMonitor/5.md)**.

Possible values:

- **"or\_patterns"**

  Patterns with logic OR applied. With this type, property **Patterns** must exist and has at least one pattern.

### array{string} SupportedFeatures \[read-only\]

This lists the features of advertisement monitoring supported by **[bluetoothd(8)](/bluetoothd/8.md)**.

Possible values:

- **"controller-patterns"**

  If the controller is capable of performing advertisement monitoring by patterns, **[bluetoothd(8)](/bluetoothd/8.md)** would offload the patterns to the controller to reduce power consumption.
