Tag Management
Tags (also called Groups) allow you to organize your watches, set group-wide notification preferences, and perform bulk operations on related watches.
Retrieve a list of all tags/groups.
Response Fields
Unique identifier for the tag
Unix timestamp of creation
Whether notifications are muted for this tag
Example
curl -X GET "http://localhost:5000/api/v1/tags" \
-H "x-api-key: YOUR_API_KEY"
{
"550e8400-e29b-41d4-a716-446655440000" : {
"uuid" : "550e8400-e29b-41d4-a716-446655440000" ,
"title" : "Production Sites" ,
"date_created" : 1640995200 ,
"notification_muted" : false
},
"330e8400-e29b-41d4-a716-446655440001" : {
"uuid" : "330e8400-e29b-41d4-a716-446655440001" ,
"title" : "News Sources" ,
"date_created" : 1640998800 ,
"notification_muted" : false
}
}
Create a Tag
Create a new tag/group.
Request Body
Array of notification URLs (Apprise format) for this tag
Whether notifications are muted for watches in this tag
Whether tag settings override individual watch settings
Example
curl -X POST "http://localhost:5000/api/v1/tag" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Important Sites"
}'
{
"uuid" : "550e8400-e29b-41d4-a716-446655440000"
}
Get a Single Tag
Retrieve information about a specific tag.
Path Parameters
Query Parameters
Set to "muted" or "unmuted" to change notification mute state
Set to "true" to recheck all watches in this tag
Example
# Get tag info
curl -X GET "http://localhost:5000/api/v1/tag/550e8400-e29b-41d4-a716-446655440000" \
-H "x-api-key: YOUR_API_KEY"
# Recheck all watches in tag
curl -X GET "http://localhost:5000/api/v1/tag/550e8400-e29b-41d4-a716-446655440000?recheck=true" \
-H "x-api-key: YOUR_API_KEY"
# Mute tag notifications
curl -X GET "http://localhost:5000/api/v1/tag/550e8400-e29b-41d4-a716-446655440000?muted=muted" \
-H "x-api-key: YOUR_API_KEY"
{
"uuid" : "550e8400-e29b-41d4-a716-446655440000" ,
"title" : "Production Sites" ,
"date_created" : 1640995200 ,
"notification_muted" : false ,
"notification_urls" : [ "mailto:[email protected] " ],
"overrides_watch" : true
}
When rechecking a tag with 20+ watches, the operation runs in the background and returns a 202 status code.
Update a Tag
Update an existing tag. Only include fields you want to change.
Path Parameters
UUID of the tag to update
Request Body
Update notification URLs for this tag
Update notification mute state
Whether tag settings override watch settings
Example
curl -X PUT "http://localhost:5000/api/v1/tag/550e8400-e29b-41d4-a716-446655440000" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated Production Sites",
"notification_muted": false
}'
Updating a tag clears checksums for all watches using that tag, forcing them to reprocess on next check.
Delete a Tag
Delete a tag and remove it from all watches.
Path Parameters
UUID of the tag to delete
Example
curl -X DELETE "http://localhost:5000/api/v1/tag/550e8400-e29b-41d4-a716-446655440000" \
-H "x-api-key: YOUR_API_KEY"
Deleting a tag removes it from all associated watches but does not delete the watches themselves.
Tag Configuration Options
Tags inherit all configuration options from the Watch schema, allowing you to set defaults that can override individual watch settings when overrides_watch is enabled.
Common Tag Settings
Array of Apprise notification URLs
Custom notification title template
Custom notification body template
Format: text, html, htmlcolor, markdown, or System default
Mute all notifications for watches in this tag
Object with fields: weeks, days, hours, minutes, seconds
time_between_check_use_default
Whether to use global check interval (when false, uses tag-specific interval)
Backend: system, html_requests, html_webdriver, extra_browser_*
HTTP method: GET, POST, PUT, DELETE
Custom HTTP headers as key-value pairs
CSS/XPath selectors to extract specific content
CSS/XPath selectors to remove content
Text patterns to ignore in change detection
Text patterns that must be present to trigger
Bulk Operations
Recheck All Watches in Tag
You can trigger a recheck of all watches in a tag:
curl -X GET "http://localhost:5000/api/v1/tag/550e8400-e29b-41d4-a716-446655440000?recheck=true" \
-H "x-api-key: YOUR_API_KEY"
Response Codes:
200 OK - Less than 20 watches, queued synchronously
202 Accepted - 20+ watches, queued in background
Apply Settings to Multiple Watches
To apply tag settings to all watches in the tag, enable overrides_watch:
import requests
headers = {
'x-api-key' : 'YOUR_API_KEY' ,
'Content-Type' : 'application/json'
}
tag_uuid = '550e8400-e29b-41d4-a716-446655440000'
# Update tag with overrides enabled
data = {
'overrides_watch' : True ,
'notification_urls' : [ 'mailto:[email protected] ' ],
'time_between_check' : {
'hours' : 2
}
}
response = requests.put(
f 'http://localhost:5000/api/v1/tag/ { tag_uuid } ' ,
headers = headers,
json = data
)
When overrides_watch is true, the tag’s settings take precedence over individual watch settings.