DokumentationProdukteuseNotificationNachrichten-APINachrichten-API V1
Nachricht senden
In API Explorer austestenÖffnet den Explorer mit Methode und Pfad dieses Requests.
Schickt eine Benachrichtigung an einen Abonnenten.
subscriber ist die Kennung des Abonnements aus der Abonnenten-API, nicht die eines Kontos. Gehört das Abonnement zu keiner deiner Apps, ist es eine 404 — es existiert für dein Token nicht.
POST https://messages.api.usenotification.artim-industries.com/v1/messages
| Methode | POST |
| Basis | messages.api.usenotification.artim-industries.com/v1 |
| Scope | un.messages:send |
| Antwort | 201 |
| Zugang | Developer Mitgliedschaft |
| Auth | Authorization: Bearer unapi_… |
Parameter
Dieser Endpunkt nimmt keine Parameter.
Anfragekörper
| Feld | Typ | Bedeutung |
|---|---|---|
subscriber | string | Kennung des Abonnements. Pflicht. |
name | string | Der Anlass, Überschrift der Push-Nachricht. Pflicht. |
content | string | Der Text. Pflicht. |
data | object | Nutzlast für deine App — sie kommt unverändert an. |
Felder, die der Vertrag nicht nennt, werden verworfen — ein Client kann keine eigenen Felder unterschieben.
{
"subscriber": "66c0aa11…",
"name": "Lieferung",
"content": "Deine Bestellung ist unterwegs.",
"data": { "orderId": "4711" }
}
Anfrage
curl -X POST "https://messages.api.usenotification.artim-industries.com/v1/messages" \
-H "Authorization: Bearer unapi_…" \
-H "Content-Type: application/json" \
-d '{ "subscriber": "66c0aa11…", "name": "Lieferung", "content": "Deine Bestellung ist unterwegs.", "data": { "orderId": "4711" } }'
Antwort
| Feld | Typ | Bedeutung |
|---|---|---|
id | string | Kennung der Nachricht. |
subscriberId | string | Der Empfänger. |
name | string | Der Anlass. |
content | string | Der Text. |
data | object | Die Nutzlast. |
createdAt | string | Zeitpunkt des Versands. |
{
"id": "66c1bb22…",
"subscriberId": "66c0aa11…",
"name": "Lieferung",
"content": "Deine Bestellung ist unterwegs.",
"data": { "orderId": "4711" },
"createdAt": "2026-08-21T09:20:00"
}
Fehler
| Status | code | Wann |
|---|---|---|
400 | invalid_request | Ein Pflichtfeld fehlt, ein Typ passt nicht, oder ein Verweis zeigt auf etwas, das es hier nicht gibt. |
401 | invalid_token | Bearer fehlt, ist unbekannt oder abgelaufen. |
403 | missing_scope | Das Token trägt den Scope dieses Endpunkts nicht. |
404 | not_found | Der Eintrag gehört nicht zum freigegebenen Anbieter — oder die Anfrage kam auf der falschen Subdomain an. |
409 | conflict | Der Zustand verbietet die Änderung — der Fehlerkörper nennt den Grund. |
429 | rate_limited | Kontingent erschöpft, siehe Retry-After. |
Jede Fehlerantwort trägt dieselbe Hülle: error.code benennt den Fehler, error.message sagt in einem Satz, was fehlt.
Rate Limits
Das Limit gilt pro Team, nicht pro Token.
| Zugang | Produktion | Sandbox |
|---|---|---|
| Hobby | 60 Anfragen/Minute | ohne Limit |
| Developer Mitgliedschaft | 10.000 Anfragen/Minute | ohne Limit |
Bei 429 sagt der Retry-After-Header, wie lange du warten sollst.