Skip to content
API reference

Webhooks

7 endpoints

The endpoint descriptions come directly from the API and are in German.

Webhook-Endpunkte

get/v1/webhook_endpoints

Empfänger für Ereignisse.

Response 200WebhookEndpointList

NameTypeDescription
objectrequired"list"
datarequiredWebhookEndpoint[]
has_morerequiredboolean

Possible errors

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Example
curl -X GET https://api.ladehase.com/v1/webhook_endpoints \n  -H "Authorization: Bearer lh_test_…"
Response 200
{
  "object": "list",
  "data": [
    {
      "id": "whk_2f4a6c8e0b1d3f5a",
      "object": "webhook_endpoint",
      "livemode": true,
      "url": "string",
      "description": "string",
      "events": [
        "string"
      ],
      "enabled": true,
      "secret": "string",
      "created_at": "string"
    }
  ],
  "has_more": true
}

Webhook anlegen

post/v1/webhook_endpoints

Signatur `Ladehase-Signature: t=…,v1=…` (HMAC-SHA256 über `t.body`). Das Geheimnis ist nur in dieser Antwort sichtbar.

Parameters

NameInType
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)Headerstring

Request

NameTypeDescription
urlrequiredstring (uri)
descriptionoptionalstring | null
eventsoptional"session.created" | "session.started" | "session.updated" | "session.stopped" | "session.settled" | "session.failed" | "payment.authorized" | "payment.captured" | "payment.released" | "payment.refunded" | "device.online" | "device.offline" | "device.error" | "terminal.online" | "terminal.offline" | "integration.error" | "*"[]
enabledoptionalboolean

Response 201WebhookEndpoint

NameTypeDescription
idrequiredstringID mit Präfix «whk_»
objectrequired"webhook_endpoint"
livemoderequiredboolean
urlrequiredstring
descriptionrequiredstring | null
eventsrequiredstring[]
enabledrequiredboolean
secretoptionalstringNur beim Anlegen oder Rotieren sichtbar
created_atrequiredstring

Possible errors

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Example
curl -X POST https://api.ladehase.com/v1/webhook_endpoints \n  -H "Authorization: Bearer lh_test_…" \n  -H "Content-Type: application/json" \n  -d '{"url":"https://example.ch/webhooks/ladehase","description":"string","events":["*"],"enabled":true}'
Response 201
{
  "id": "whk_2f4a6c8e0b1d3f5a",
  "object": "webhook_endpoint",
  "livemode": true,
  "url": "string",
  "description": "string",
  "events": [
    "string"
  ],
  "enabled": true,
  "secret": "string",
  "created_at": "string"
}

Webhook ändern

patch/v1/webhook_endpoints/{id}

Auch `rotate_secret`.

Parameters

NameInType
idrequiredPathstring

Request

NameTypeDescription
urloptionalstring (uri)
descriptionoptionalstring | null
eventsoptional"session.created" | "session.started" | "session.updated" | "session.stopped" | "session.settled" | "session.failed" | "payment.authorized" | "payment.captured" | "payment.released" | "payment.refunded" | "device.online" | "device.offline" | "device.error" | "terminal.online" | "terminal.offline" | "integration.error" | "*"[]
enabledoptionalboolean
rotate_secretoptionalboolean

Response 200WebhookEndpoint

NameTypeDescription
idrequiredstringID mit Präfix «whk_»
objectrequired"webhook_endpoint"
livemoderequiredboolean
urlrequiredstring
descriptionrequiredstring | null
eventsrequiredstring[]
enabledrequiredboolean
secretoptionalstringNur beim Anlegen oder Rotieren sichtbar
created_atrequiredstring

Possible errors

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Example
curl -X PATCH https://api.ladehase.com/v1/webhook_endpoints/{id} \n  -H "Authorization: Bearer lh_test_…" \n  -H "Content-Type: application/json" \n  -d '{"url":"https://example.ch/webhooks/ladehase","description":"string","events":["*"],"enabled":true,"rotate_secret":true}'
Response 200
{
  "id": "whk_2f4a6c8e0b1d3f5a",
  "object": "webhook_endpoint",
  "livemode": true,
  "url": "string",
  "description": "string",
  "events": [
    "string"
  ],
  "enabled": true,
  "secret": "string",
  "created_at": "string"
}

Webhook löschen

delete/v1/webhook_endpoints/{id}

Keine weiteren Zustellungen.

Parameters

NameInType
idrequiredPathstring

Response 200Deleted

NameTypeDescription
idrequiredstring
objectrequiredstring
deletedrequiredtrue

Possible errors

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Example
curl -X DELETE https://api.ladehase.com/v1/webhook_endpoints/{id} \n  -H "Authorization: Bearer lh_test_…"
Response 200
{
  "id": "string",
  "object": "string",
  "deleted": true
}

Zustellprotokoll

get/v1/webhook_endpoints/{id}/deliveries

Letzte 100 Zustellungen mit Antwortcode.

Parameters

NameInType
idrequiredPathstring

Response 200Object

Possible errors

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Example
curl -X GET https://api.ladehase.com/v1/webhook_endpoints/{id}/deliveries \n  -H "Authorization: Bearer lh_test_…"
Response 200
{}

Ereignisse

get/v1/events

Alle Ereignisse, neueste zuerst.

Parameters

NameInType
limitoptionalQueryinteger
starting_afteroptionalQuerystring
typeoptionalQuerystring

Response 200EventList

NameTypeDescription
objectrequired"list"
datarequiredEvent[]
has_morerequiredboolean

Possible errors

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Example
curl -X GET https://api.ladehase.com/v1/events \n  -H "Authorization: Bearer lh_test_…"
Response 200
{
  "object": "list",
  "data": [
    {
      "id": "evt_1b3d5f7a9c0e2f4b",
      "object": "event",
      "type": "string",
      "livemode": true,
      "data": {},
      "created_at": "string"
    }
  ],
  "has_more": true
}

Ereignis erneut senden

post/v1/events/{id}/resend

An alle passenden Endpunkte.

Parameters

NameInType
idrequiredPathstring
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)Headerstring

Response 200Object

Possible errors

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Example
curl -X POST https://api.ladehase.com/v1/events/{id}/resend \n  -H "Authorization: Bearer lh_test_…"
Response 200
{}