| Item | Details |
|---|---|
| Protocol | HTTPS POST |
| Content-Type | application/json |
| Delivery | Asynchronous (queued after registration events) |
| Timeout | 10 seconds per delivery attempt |
| Retries | Up to 5 automatic retries for failed deliveries |
| Management API | Integrations service v1 (management-authenticated) |
| Environment | Base path |
|---|---|
| Staging | https://api.staging.micetribe.com/integrations/v1 |
| Production | https://api.micetribe.com/integrations/v1 |
event_id.| Trigger | Value | When it fires |
|---|---|---|
| Registration created | registration.created | A new registration is created |
| Registration updated | registration.updated | An existing registration is updated |
| Registration deleted | registration.deleted | A registration is deleted |
| Registration attended | registration.attended | Attendance is recorded |
| Registration printed | registration.printed | A badge/registration is printed |
| Header | Description |
|---|---|
Content-Type | application/json |
Accept | application/json |
X-Timestamp | Unix timestamp (seconds) used when signing |
X-Request-Id | Unique UUID for this delivery attempt |
X-Signature | HMAC-SHA256 signature (only if signing secret is configured) |
signature = HMAC-SHA256( secret, timestamp + "." + raw_request_body )secret — the signing secret you configured on the webhooktimestamp — value of X-Timestamp (string)raw_request_body — exact JSON bytes in the POST body (no re-encoding)X-Signature using a constant-time comparison.X-Timestamp is older than 5 minutes to limit replay windows.2xx within a few seconds; heavy work should be queued on your side.{
"registration_id": "6a08287fa219e11ac60d2a10",
"data": {
"registration_data": {
"email": "attendee@example.com",
"phone": "+97400000000",
"fullname": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe"
},
"entry_status": "Approved",
"persona": "attendee",
"barcode": "ABC123XY",
"source": "online",
"mirror": "",
"print": {
"print_count": 0,
"last_printed_at": "",
"last_printed_by": ""
},
"checkin": {
"attended": false,
"checkin_at": ""
},
"payment": {
"total_payment": "10.00",
"currency": "QAR",
"method": "SkipCash"
}
},
"meta": {
"event_id": 7337,
"event_name": "My Event",
"event_slug": "my-event",
"webhook_name": "crm-sync",
"occurred_at": "2026-06-01T12:29:11+00:00",
"created_at": "2026-05-18T09:27:25+00:00",
"updated_at": "2026-06-01T08:37:39+00:00",
"trigger": "registration.updated",
"webhook_url": "https://your-server.com/webhooks/micetribe",
"request_method": "post"
}
}
| Field | Description |
|---|---|
registration_id | Registration document ID |
data.registration_data | Form field values submitted by the attendee |
data.entry_status | Human-readable status: Approved, Declined, Pending Approved, Pending Payment, Request Revision, Updated |
data.persona | Form/persona slug (e.g. attendee, visitor) |
data.barcode | Registration barcode |
data.source | online, onsite, integrations, or import |
data.print | Included when print-related data exists |
data.checkin | Included when check-in data exists |
data.payment | Included when payment data exists |
data.parent | Included when parent registration data exists |
data.product | Included when product data exists |
meta.trigger | Trigger that caused this delivery |
meta.webhook_name | Name you gave the webhook in management |
meta.occurred_at | ISO 8601 time of the underlying event |
print, checkin, payment, parent, product) are omitted when empty.webhook_logs).2xx is treated as success.300+ or network errors are treated as failure.webhooks:dispatch-retries), which runs every 15 minutes and picks up rows whose next_retry_at is due.| Retry attempt | Wait before next retry |
|---|---|
| 1st retry | 15 minutes |
| 2nd retry | 30 minutes |
| 3rd retry | 3 hours |
| 4th retry | 6 hours |
| 5th retry | 12 hours |
POST with JSON body.200–299 on success.X-Signature when a signing secret is configured.registration_id + meta.trigger + X-Request-Id (retries may repeat the same payload).active: true and at least one trigger.X-Timestamp.| Issue | What to check |
|---|---|
| No webhooks received | Webhook active is true, correct event_id, trigger matches action |
| Invalid signature | Use raw request body; match X-Timestamp exactly; correct secret |
| Repeated deliveries | Retries after non-2xx; implement idempotency |
| Missing fields in payload | Optional blocks are omitted when empty; check trigger type |
| 404 on management API | Use /integrations/v1/... (single slash after integrations) |
X-Signature, X-Timestamp)registration_id, data, meta)