Create
const url = 'https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/webhook';const options = { method: 'POST', headers: { 'Wink-Version': '2.0', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: 'null'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/webhook \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Wink-Version: 2.0' \ --data nullRegisters a new webhook subscription for the managing entity and returns the persisted record. The secret is returned only in this response.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Identifier of the managing entity that will own the webhook
Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69Header Parameters
Section titled “Header Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”Webhook configuration including the target callback URL and the list of event types to subscribe to
Request payload for creating or updating a webhook subscription, including the target endpoint URL, owning entity, and the list of event types to subscribe to.
object
Whether this webhook is actively subscribed to events.
Example
trueThe managing entity (account owner) that will own this webhook.
object
Unique managing entity (account owner) identifier.
Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69Display name of the managing entity.
Example
The Siam Residences, BangkokExample
{ "identifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69", "name": "The Siam Residences, Bangkok"}HTTPS endpoint URL to POST events to. Must be a valid, publicly accessible URL.
Example
https://api.example.com/webhooks/wink/eventsDescriptive name of this webhook, e.g. ‘Booking confirmation sync’ or ‘Payment notifications’.
Example
Booking confirmation syncExample
{ "enabled": true, "entity": { "identifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69", "name": "The Siam Residences, Bangkok" }, "eventList": [ "booking.created" ], "eventUrl": "https://api.example.com/webhooks/wink/events", "name": "Booking confirmation sync"}Responses
Section titled “Responses”Webhook created. The secret is returned only in this response.
Returned exactly once, on create and on secret rotation: the webhook and its plaintext signing secret. Store the secret now — it cannot be retrieved later.
object
Plaintext signing secret (whsec_…). Shown once.
Lightweight projection of a webhook subscription that delivers HTTP POST notifications to a configured endpoint whenever subscribed events occur on the Wink platform.
object
Datetime this record was first created
Whether this webhook is actively subscribed to events.
HTTPS endpoint URL to POST events to.
Unique identifier for this record.
Datetime this record was last updated
Descriptive name of this webhook, e.g. ‘Booking confirmation sync’ or ‘Payment notifications’.
Unique managing entity (owner) identifier
Display name of the managing entity that owns this webhook.
Until when the previous secret is still accepted after a rotation.
Last four characters of the signing secret. The secret itself is returned only once, on create and rotate.
Unique authenticated user identifier
Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.
Example
Bad Request — missing or invalid request parameter or body
object
object
Example
Unauthorized — authentication is required or the session has expired
object
object
Example
Forbidden — authenticated but lacking the required permission or scope
object
object
Example
Not Found — the requested resource does not exist
object
object
Example
Method Not Allowed — the HTTP verb is not supported on this endpoint
object
object
Example
Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version
object
object
Example
Unsupported Media Type — use application/json
object
object
Example
Internal Server Error — an unexpected failure occurred on the server
object
object
Example
Service Unavailable — a downstream dependency is unreachable
