Tags
A tag is an optional string label on a notification or task. The server stores and delivers it but does not use it for routing. It is metadata for the receiving side to group, filter, or replace on. Unlike a topic, which decides who receives a message, a tag has no effect on delivery.
bash
sp notify -t family --tag kitchen --title "Dishwasher" --content "Cycle finished"
sp notify -t family --tag doorbell --title "Door" --content "Someone's at the door"
sp task -t field --tag inspection --title "Site 4" --photo-input "Photo of the meter"python
from simplepush import Client, PhotoInput
client = Client(api_token="YOUR_API_TOKEN")
client.send_notification(topic="family", tag="kitchen",
title="Dishwasher", content="Cycle finished")
client.send_task(topic="field", tag="inspection", title="Site 4",
inputs=[PhotoInput(description="Photo of the meter")])typescript
import { Client } from "@simplepush/sdk";
const client = new Client({ apiToken: "YOUR_API_TOKEN" });
await client.sendNotification({
topic: "family", tag: "kitchen",
title: "Dishwasher", content: "Cycle finished",
});
await client.sendTask({
topic: "field", tag: "inspection", title: "Site 4",
inputs: [{ type: "photo", description: "Photo of the meter", required: true }],
});bash
curl -X POST https://api.simplepu.sh/v1/notifications \
-H "API-Token: $SP_API_TOKEN" \
-H "Topic: family" \
-H "Tag: kitchen" \
-H "Title: Dishwasher" \
-H "Content: Cycle finished"Choosing tags
Tags are free-form, with no server-side registration. Pick whatever scheme the consumer needs:
- Per source:
home-assistant,prometheus,github-actions - Per severity:
info,warning,critical - Per context:
personal,work,family
sp task reads a default tag from $SP_TAG. This is useful when a whole script should label all its sends the same way. sp notify takes --tag explicitly.
On an encrypted send the tag is encrypted along with the title and content. Recipients can read it, the server cannot. Tags work the same way in personal and organization modes.