Developers

Umovi integration platform

Webhook events

Payload envelope and event-specific fields emitted by Umovi.

Every delivery uses this envelope:

{
  "id": "evt_22ed489c-0376-46ad-931b-1e00ecae2310",
  "type": "booking.rescheduled",
  "createdAt": "2026-07-29T10:30:00.000Z",
  "data": {
    "bookingId": "f93a19c1-9ab1-43b9-a923-3269f32dc743",
    "providerId": "65f7e4d5-a419-46df-a009-40344428d3a9",
    "oldStartsAt": "2026-07-30T08:00:00.000Z",
    "newStartsAt": "2026-07-30T09:30:00.000Z"
  }
}

All values inside data are strings. Timestamps use ISO 8601; billing issueDate is a calendar date. The envelope id is evt_ followed by the delivery UUID.

Booking events

Eventdata fields
booking.createdbookingId, providerId
booking.updatedbookingId, providerId, changedFields, updatedAt
booking.client_assignedbookingId, providerId, clientId
booking.reminder_sentbookingId, providerId, recipientKind, sentAt
booking.message_createdbookingId, providerId, messageId, authorKind, createdAt
booking.status_changedbookingId, providerId, oldStatus, newStatus, changedAt
booking.confirmedSame fields as booking.status_changed
booking.rescheduledbookingId, providerId, oldStartsAt, newStartsAt
booking.cancelledSame fields as booking.status_changed
booking.cancelled_by_clientbookingId, providerId, cancelledAt
booking.completedSame fields as booking.status_changed
booking.no_showSame fields as booking.status_changed
booking.deletedbookingId, providerId, oldStatus, deletedAt

booking.cancelled represents status CANCELLED; client withdrawal uses WITHDRAWN and emits booking.cancelled_by_client. A status change can emit both the generic booking.status_changed and its specific event, each as a separate delivery. clientId in booking.client_assigned can be an empty string when no global client account is linked.

changedFields is a comma-separated list. Fetch the current reservation when you need its authoritative full state. Message content is deliberately excluded from booking.message_created.

Client events

client.created, client.updated and client.deleted contain providerId, providerClientId and changedAt.

Billing events

Eventdata fields
billing.payment.paidproviderId, paymentId, optional invoiceId, amountMinor, currency, optional paymentMethodCode, paidAt
billing.document.readyproviderId, documentId, optional paymentId, optional invoiceId, documentType, optional documentNumber, issueDate, generatedAt

The special webhook.test event is sent only by the test operation and contains providerId, webhookId and test: "true".