Webhooks
Änderungen abonnieren, statt danach zu fragen. Ein Webhook kostet nichts von Ihrem Anfragekontingent, was ihn deutlich günstiger macht, als einen Markt per Zeitgeber erneut zu lesen.
/v1/api/webhookswebhooks:manageWebhooks auflisten
Jeder Endpunkt, den Ihre Organisation registriert hat.
Das Signaturgeheimnis ist nie enthalten. Es wird einmal bei der Anlage des Endpunkts gezeigt, und eine Endpunktliste, die es zurückgäbe, würde es jedem aushändigen, der diesen Aufruf lesen kann.
Antwort
{
"data": [
{
"id": "whk_1b7e6c19a139404cb173d23fcb3331c4",
"url": "https://example.com/hooks/skautik",
"events": ["property.created", "property.withdrawn"],
"active": true,
"created_at": "2026-08-13T10:43:37Z",
"updated_at": "2026-08-13T10:43:37Z"
}
]
}https://api.skautik.com/v1/api/webhooks
GET /v1/api/webhooks HTTP/1.1
Host: api.skautik.com
Authorization: Bearer sk_live_…/v1/api/webhooks/eventswebhooks:manageVerfügbare Ereignisse auflisten
Die Ereignisse, die ein Endpunkt abonnieren kann, und was jedes bedeutet.
Wird aus derselben Liste bedient, gegen die die API prüft, kann also nicht hinter dem zurückbleiben, was tatsächlich zustellbar ist.
Antwort
{
"data": [
{
"name": "property.created",
"description": "A property was added to your organisation."
}
]
}https://api.skautik.com/v1/api/webhooks/events
GET /v1/api/webhooks/events HTTP/1.1
Host: api.skautik.com
Authorization: Bearer sk_live_…/v1/api/webhookswebhooks:manageEinen Webhook anlegen
Einen HTTPS-Endpunkt für eine Menge von Ereignissen registrieren.
Die Antwort enthält ein Signaturgeheimnis, einmalig gezeigt. Speichern Sie es sofort: Jede Zustellung wird damit signiert, und ein Handler, der die Signatur nicht prüft, nimmt gefälschte Aufrufe von jedem an, der die URL erfährt.
Felder im Rumpf
| Name | Typ | Beschreibung |
|---|---|---|
urlerforderlich | string | HTTPS-Endpunkt. Einfaches HTTP wird abgelehnt. Beispiel: https://example.com/hooks/skautik |
eventserforderlich | array | Namen der zu abonnierenden Ereignisse. Jeder Name muss einem der oben aufgeführten Ereignisse entsprechen; ein unbekannter wird abgelehnt, statt stillschweigend nie auszulösen. Beispiel: ["property.created", "inquiry.created"] |
Rumpf der Anfrage
{
"url": "https://example.com/hooks/skautik",
"events": ["property.created", "property.withdrawn"]
}Antwort
{
"data": {
"webhook": {
"id": "whk_1b7e6c19a139404cb173d23fcb3331c4",
"url": "https://example.com/hooks/skautik",
"events": ["property.created", "property.withdrawn"],
"active": true,
"created_at": "2026-08-13T10:43:37Z",
"updated_at": "2026-08-13T10:43:37Z"
},
"secret": "whsec_uEw7ugUA3saVyNo087Sg3XvhBnWI0txICtik-ySKD2k"
}
}Bemerkenswerte Antworten
- 201
- Angelegt. signing_secret erscheint nur in dieser Antwort.
- 422
- Die URL ist kein HTTPS, nicht erreichbar, oder ein Ereignisname ist unbekannt.
https://api.skautik.com/v1/api/webhooks
POST /v1/api/webhooks HTTP/1.1
Host: api.skautik.com
Authorization: Bearer sk_live_…
Content-Type: application/json
{
"url": "https://example.com/hooks/skautik",
"events": ["property.created", "property.withdrawn"]
}/v1/api/webhooks/{webhook_id}webhooks:manageEinen Webhook abrufen
Ein Endpunkt mit dem Zustand seiner letzten Zustellungen.
Pfadparameter
| Name | Typ | Beschreibung |
|---|---|---|
webhook_iderforderlich | string | Webhook-Kennung. Beispiel: whk_1b7e6c19a139404cb173d23fcb3331c4 |
https://api.skautik.com/v1/api/webhooks/{webhook_id}
GET /v1/api/webhooks/whk_1b7e6c19a139404cb173d23fcb3331c4 HTTP/1.1
Host: api.skautik.com
Authorization: Bearer sk_live_…/v1/api/webhooks/{webhook_id}webhooks:manageEinen Webhook ändern
URL, Ereignisse oder den Aktivzustand ändern.
Eine Teiländerung: Was Sie weglassen, bleibt unangetastet. active auf false zu setzen beendet Zustellungen, ohne die Registrierung zu verlieren, und ist das, wonach man greift, während man einen Handler repariert.
Pfadparameter
| Name | Typ | Beschreibung |
|---|---|---|
webhook_iderforderlich | string | Webhook-Kennung. Beispiel: whk_1b7e6c19a139404cb173d23fcb3331c4 |
Felder im Rumpf
| Name | Typ | Beschreibung |
|---|---|---|
url | string | Neuer HTTPS-Endpunkt. Beispiel: https://example.com/hooks/skautik |
events | array | Ersetzt die gesamte Abonnementliste, statt sie zu ergänzen. Beispiel: ["property.created", "property.withdrawn"] |
active | boolean | False pausiert Zustellungen; Registrierung und Geheimnis bleiben bestehen. Beispiel: true |
Rumpf der Anfrage
{ "active": false }https://api.skautik.com/v1/api/webhooks/{webhook_id}
PATCH /v1/api/webhooks/whk_1b7e6c19a139404cb173d23fcb3331c4 HTTP/1.1
Host: api.skautik.com
Authorization: Bearer sk_live_…
Content-Type: application/json
{ "active": false }/v1/api/webhooks/{webhook_id}/rotate-secretwebhooks:manageDas Signaturgeheimnis wechseln
Ein neues Geheimnis ausgeben und das alte sofort beenden.
Das, wonach man greift, wenn ein Geheimnis leckt. Das vorherige funktioniert in dem Moment nicht mehr, in dem dieser Aufruf zurückkommt, damit signierte Zustellungen scheitern also an der Prüfung: Rollen Sie das neue vorher aus, oder nehmen Sie eine Lücke in Kauf.
Pfadparameter
| Name | Typ | Beschreibung |
|---|---|---|
webhook_iderforderlich | string | Webhook-Kennung. Beispiel: whk_1b7e6c19a139404cb173d23fcb3331c4 |
Antwort
{
"data": {
"secret": "whsec_4_j7SxmfWXaoJnLbkypLXAw-Pjs8J74_OyWb-oj7fik",
"note": "The previous secret stopped working immediately."
}
}https://api.skautik.com/v1/api/webhooks/{webhook_id}/rotate-secret
POST /v1/api/webhooks/whk_1b7e6c19a139404cb173d23fcb3331c4/rotate-secret HTTP/1.1
Host: api.skautik.com
Authorization: Bearer sk_live_…/v1/api/webhooks/{webhook_id}webhooks:manageEinen Webhook löschen
Zustellungen beenden und den Endpunkt vergessen.
Pfadparameter
| Name | Typ | Beschreibung |
|---|---|---|
webhook_iderforderlich | string | Webhook-Kennung. Beispiel: whk_1b7e6c19a139404cb173d23fcb3331c4 |
https://api.skautik.com/v1/api/webhooks/{webhook_id}
DELETE /v1/api/webhooks/whk_1b7e6c19a139404cb173d23fcb3331c4 HTTP/1.1
Host: api.skautik.com
Authorization: Bearer sk_live_…/v1/api/webhooks/{webhook_id}/testwebhooks:manageEine Testzustellung senden
Ein künstliches Ereignis auslösen, um zu belegen, dass Ihr Handler funktioniert.
Sendet ein Ereignis webhook.test mit demselben Signatur- und Wiederholungsverhalten wie eine echte Zustellung, Sie können die Signaturprüfung also verifizieren, bevor etwas Echtes davon abhängt.
Pfadparameter
| Name | Typ | Beschreibung |
|---|---|---|
webhook_iderforderlich | string | Webhook-Kennung. Beispiel: whk_1b7e6c19a139404cb173d23fcb3331c4 |
https://api.skautik.com/v1/api/webhooks/{webhook_id}/test
POST /v1/api/webhooks/whk_1b7e6c19a139404cb173d23fcb3331c4/test HTTP/1.1
Host: api.skautik.com
Authorization: Bearer sk_live_…/v1/api/webhooks/{webhook_id}/deliverieswebhooks:manageZustellungen auflisten
Letzte Versuche, ihre Antwortcodes und der Wiederholungsstand.
30 Tage lang vorgehalten. Die Stelle, an der man nachsieht, wenn ein Handler stillschweigend aufgehört hat zu arbeiten.
Pfadparameter
| Name | Typ | Beschreibung |
|---|---|---|
webhook_iderforderlich | string | Webhook-Kennung. Beispiel: whk_1b7e6c19a139404cb173d23fcb3331c4 |
Query-Parameter
| Name | Typ | Beschreibung |
|---|---|---|
status | enum | Nach Ergebnis filtern. succeeded | failed | pending Beispiel: succeeded |
limit | integer | Wie viele Versuche zurückgegeben werden, neueste zuerst. Auf 100 begrenzt. Beispiel: 100 |
https://api.skautik.com/v1/api/webhooks/{webhook_id}/deliveries
GET /v1/api/webhooks/whk_1b7e6c19a139404cb173d23fcb3331c4/deliveries?status=succeeded&limit=100 HTTP/1.1
Host: api.skautik.com
Authorization: Bearer sk_live_…