🔔 Webhooks — Coming Soon
Get notified the moment your data changes in Fusion — no polling required.
Webhooks let your integration receive near real-time notifications when data changes in Fusion,
instead of polling our endpoints and filtering on LastUpdate or
AddDate. You register a subscription with an HTTPS endpoint; when a
subscribed entity changes, Unity delivers an HTTP POST to that endpoint. This is currently being
tested by our early access consumers. The release date will be coming soon!
Transport
HTTPS endpoints only.
Delivery guarantee
At-least-once — deduplicate on the event id.
Retry window
Roughly 24 hours, then dead-lettered.
How It Works
- 1Subscribe — Register a subscription with your entity type, the lifecycle(s) you want, and an HTTPS webhook URL. Creation is asynchronous; the subscription provisions in the background. See available entity types and lifecycles on the POST Subscription.
- 2Poll for Active — Poll the subscription by id until its status is Active.
- 3Receive — When a subscribed entity changes, your endpoint receives an HTTP POST with a CloudEvents v1.0 payload.
- 4Deduplicate — Delivery is at-least-once; deduplicate on the event id.
- 5Act — The payload carries identifiers only. Use them to fetch current state from the Unity API.
What the Event Looks Like
Events follow the CloudEvents v1.0 standard and carry identifiers only — not the record itself. On receipt, use the identifiers to fetch current state from the Unity API.
Repair Order Created Event
{
"id": "1392660",
"source": "kan-952009-repairorder",
"type": "karmak.fusion.repairorder.created",
"data": {
"repairOrderId": 8973,
"karmakAccountNumber": 952009
},
"time": "2026-08-31T13:44:36.127\u002B00:00",
"specversion": "1.0",
"subject": "repairorder/8973",
"traceparent": "00-08565c557625b0a7fe7f3c7d8e9f0f77-09172a42a7dd39c3-00"
}
The type follows the pattern karmak.fusion.{entity type}.{lifecycle}. For this release, lifecycle is always created — updated and deleted are reserved for future phases and are not yet emitted.
What Your Endpoint Needs to Do
- ✓Be reachable over HTTPS. HTTP endpoints, non-routable addresses, and redirects are rejected.
- ✓Complete the one-time validation handshake when the subscription is created. Until this succeeds, the subscription will not become Active.
- ✓Return a 2xx response quickly to acknowledge receipt. Any non-2xx response is treated as a failed delivery and retried.
- ✓Deduplicate on the event id. The same event may be delivered more than once; without deduplication you will double-process.
If Your Endpoint Is Down
Failed deliveries are retried automatically for roughly 24 hours. Events that still cannot be delivered after that window are set aside (dead-lettered) and can be retrieved later through the Unity API, so nothing is lost while your endpoint is unavailable.
Changing a Webhook URL
There is no update operation for a subscription's URL. To change where events are delivered, delete the existing subscription and create a new one. Events are not delivered in the gap between deleting and recreating.
Endpoints
| Operation | Method | API | Description |
| POST Subscription |
POST |
Helper API |
Create a webhook subscription. |
| GET Subscriptions |
GET |
Helper API |
List all subscriptions for the account. |
| GET Subscription by ID |
GET |
Helper API |
Retrieve a single subscription; poll provisioning status. |
| DELETE Subscription |
DELETE |
Helper API |
Delete a subscription. |