Skip to navigation

Create a webhook

Partner key + restaurant key. The URL must be a public https:// address. The signing secret (whsec_…) is shown once, in secret. See Webhooks for how to verify deliveries.

Not allowed for an archived restaurant (409 RESTAURANT_ARCHIVED).

Authentication

AuthorizationBearer

The partner key, sent as Authorization: Bearer lbp_test_…. Created in the partner portal under Partner key. It belongs to the partner, not to a restaurant, and only works against /api/v1/partner. Server to server only: a request with an Origin header is rejected with 403 FORBIDDEN. A test key sees and creates only sandboxes; live partner keys are not available yet. A revoked key, a restaurant key (lbs_…) here, or a suspended or archived partner returns 401 UNAUTHORIZED; an expired key returns 401 KEY_EXPIRED.

X-LettBestilt-Restaurant-Keystring

The restaurant’s own key (lbs_test_… or lbs_live_…), sent in X-LettBestilt-Restaurant-Key together with the partner key for calls about one restaurant. The key must have full access (scope *, otherwise 403 INSUFFICIENT_SCOPE), belong to a restaurant the partner owns, and be in the same environment as the partner key (otherwise 401 UNAUTHORIZED). A slug that does not exist, belongs to another partner or does not match the key always gives the same 404 RESTAURANT_NOT_FOUND. Older keys without an environment in the prefix (lbs_<random>) are not accepted here; rotate them in the partner portal.

Path parameters

slugstringRequired
The restaurant's slug.

Request

This endpoint expects an object.
urlstringRequiredformat: "uri"
eventslist of enumsRequired
isActivebooleanOptionalDefaults to true

Response

Created. Store secret now; it is not shown again.

dataobject
A webhook subscription. The signing secret is only shown when it is created.
secretstring

The signing secret (whsec_…) for the HMAC-SHA256 signature, shown once.

messagestringOptional

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
422
Unprocessable Entity Error
429
Too Many Requests Error