service.deleted
A service is deleted. data.object is the service as it was. Sent to the account’s webhooks, and to an OAuth app that subscribes to it while its installation grants services:read.
Parameters
Section titled “ Parameters ”Header Parameters
Section titled “Header Parameters”t=<unix seconds>,v1=<hex HMAC-SHA256>, the HMAC computed over <t>.<raw body> with the signing secret. During a secret rotation it carries one v1 per secret: accept the request if any matches.
The event type, as in type.
The event ID, as in id.
Request Bodyrequired
Section titled “Request Bodyrequired”object
The event’s ID, evt_ and 32 hex characters. Equal to the X-Talki-Delivery header and unchanged on a redelivery: deduplicate on it.
When the event was written, ISO 8601 with a +00:00 offset, possibly with microseconds. Parse it as an instant.
The dated contract version data is shaped for: the endpoint’s version on a webhook, the app’s on an app event.
The Talki account the event happened on.
false for an event from a sandbox account.
object
Where the change came from: voice (the assistant, during a call), dashboard (a person in the Talki web or mobile app), api (a credential through the API) or system (a rule Talki applied on its own). New values may be added; treat one you do not recognise as unknown.
The event’s payload.
object
The Service object, as the REST API returns it.
object
Opaque Talki service identifier.
The location that offers it (GET /v1/locations). Each location has services of its own, so two locations selling the same thing have one service each, with its own id, price and availability. Never null, and it never changes.
What the business calls this service.
duration for a timed slot (the common case), or day_range for a stay spanning whole nights or days: a hotel room, a multi-day rental. Read this before duration_minutes; the two modes are booked with different information.
True when a booking of this service carries a count — covers, people, items — and the assistant asks for it. False when one booking always means one unit.
Smallest count a booking may carry.
False when the business has switched the service off. It is still published — see the note on this object — but it is not bookable and should not be offered.
When the service was added, RFC 3339 UTC.
Last change to the service, RFC 3339 UTC. Show it to a human; do not sync on it, for the reason given on Appointment.updated_at.
Example
{ "id": "evt_04d8e87897db4ecab459a456ea55e754", "type": "service.deleted", "created_at": "2026-09-22T15:04:06.218734+00:00", "api_version": "2026-10-01", "account_id": "f7e39b9a-1ac8-45e4-93da-2600f17cb286", "livemode": true, "origin": { "source": "dashboard", "credential_id": null, "idempotency_key": null }, "data": { "object": { "id": "45c470b7-592a-42cd-8ce8-5d7a0a497d26", "location_id": "0b7d4e19-8a2c-4f61-9d3e-5c1a7b2f8e40", "name": "Haircut", "description": "Wash and cut", "price": "30€", "duration_minutes": 30, "booking_mode": "duration", "range_unit": null, "min_stay": null, "max_stay": null, "checkin_time": null, "checkout_time": null, "asks_quantity": false, "quantity_label": null, "min_quantity": 1, "max_quantity": null, "is_active": true, "created_at": "2026-08-01T08:00:00Z", "updated_at": "2026-09-10T10:30:00Z" } }}Responses
Section titled “ Responses ”Any 2xx acknowledges the event. Any other status, a redirect, or no answer within 10 seconds is a failure and is retried; 410 disables a webhook endpoint at once.
