# Webhooks The M2X Public API can deliver real-time notifications via webhooks. Subscribe to the events your integration cares about — bookings, jobs, consignments, fuel, vehicle timelines, and more — and M2X will POST a payload to your endpoint when they occur. Advanced functionality Webhooks are a more advanced way to integrate with M2X. Before building against them, talk to your M2X account manager about whether webhooks are the right approach for your use case. ## How webhooks work 1. You register an HTTPS endpoint to receive deliveries. 2. M2X sends a `POST` request with a JSON body each time a subscribed event fires. 3. Your endpoint responds quickly with a `2xx` status to acknowledge receipt. ## Available events The full set of webhook payloads is documented in the API reference, grouped by domain: Enterprise events Booking events, site fulfilments, fulfilment requests, offers, and master bookings. Carrier events Shift publication, jobs, invoices, consignments, vehicle timelines, and fuel. ## Authenticating deliveries When you set up a webhook, you choose how M2X authenticates each delivery to your endpoint, so your receiver can confirm the request is genuine. Three methods are supported: - **None** — no `Authorization` header is sent (not suitable for production use). - **Basic** — M2X sends an `Authorization: Basic` header built from a username and password you supply. - **OAuth 2.0 (client credentials)** — M2X fetches a token from your token endpoint and sends it as `Authorization: Bearer `. You provide the token endpoint, client ID, and client secret (and optionally a scope and audience). ## Next steps - Browse webhook payloads in the [API reference](/apis/publicapi/openapi).