> For the complete documentation index, see [llms.txt](https://eventx-hq.gitbook.io/knowledge-base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://eventx-hq.gitbook.io/knowledge-base/api-v1/event-webhook.md).

# Event Webhook

## GET /public-api/v1/event/{eventId}/webhook/all

> List all webhooks for an event

```json
{"openapi":"3.2.0","info":{"title":"Public Api","version":"beta"},"servers":[{"url":"https://esaas-api.eventx.io"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"name":"Authorization","type":"apiKey","in":"header","description":"Bearer Authorization with jwt token"}}},"paths":{"/public-api/v1/event/{eventId}/webhook/all":{"get":{"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"dataList":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"actions":{"type":"array","items":{"type":"string","enum":["attendee-create","attendee-update","attendee-delete","attendee-check-in","attendee-check-out"]},"minItems":1},"rawData":{"type":"object","properties":{"url":{"type":"string"},"actions":{"type":"array","items":{"type":"string","enum":["attendee-create","attendee-update","attendee-delete","attendee-check-in","attendee-check-out"]},"minItems":1}},"additionalProperties":false}},"required":["id","url","actions","rawData"],"additionalProperties":false}}},"required":["dataList"],"additionalProperties":false}}}},"500":{"description":"ERROR"}},"parameters":[{"name":"eventId","in":"path","required":true,"schema":{"type":"string"}}],"tags":["Event Webhook"],"operationId":"getAllEventWebhook","summary":"List all webhooks for an event"}}}}
```

## Create a webhook subscription for an event

> Configure a URL to receive attendee lifecycle events.\
> \
> When a matching action fires, EventX sends an HTTP POST to your endpoint with this payload:\
> \
> \`\`\`json\
> {\
> &#x20; "config": {\
> &#x20;   "event\_id": "95b71478-c7dd-4bbd-b65b-244a63d3e689",\
> &#x20;   "webhook\_id": "59acba79-1ff4-4ade-8e74-6491e73e2d28",\
> &#x20;   "action": "attendee-update",\
> &#x20;   "endpoint\_url": "<https://hooks.example.com/webhook"\\>
> &#x20; },\
> &#x20; "attendee": {\
> &#x20;   "id": "a2f46cf1-6787-45a2-bb8b-08cc6d6114d2",\
> &#x20;   "first\_name": "angussdf",\
> &#x20;   "last\_name": "luk",\
> &#x20;   "firstName": "angussdf",\
> &#x20;   "lastName": "luk",\
> &#x20;   "name": "angus luk nw1k",\
> &#x20;   "email": "<attendee@example.com>",\
> &#x20;   "registration\_status": "registered",\
> &#x20;   "virtual\_attendance\_status": "pending",\
> &#x20;   "first\_entered\_web\_app\_at": null,\
> &#x20;   "magic\_link\_url": "<https://portal.eventx.io/magic-link/00000000-0000-0000-0000-000000000000/authorize",\\>
> &#x20;   "attendance\_type": "pending",\
> &#x20;   "role\_tags": \[\
> &#x20;     "visitor"\
> &#x20;   ],\
> &#x20;   "ticket\_class\_id": null,\
> &#x20;   "ticket\_class\_name": null,\
> &#x20;   "job\_title": "manager",\
> &#x20;   "organization": "eventx",\
> &#x20;   "city": null,\
> &#x20;   "country": "HK",\
> &#x20;   "area\_code": "852",\
> &#x20;   "contact\_no": "51234567",\
> &#x20;   "source": null,\
> &#x20;   "created\_at": "2026-07-30T01:46:33.487Z",\
> &#x20;   "update\_at": "2026-07-30T01:48:16.845Z",\
> &#x20;   "attended\_at": null,\
> &#x20;   "registered\_at": "2026-07-30T01:46:33.487Z",\
> &#x20;   "checked\_in\_at": null,\
> &#x20;   "custom\_fields": {},\
> &#x20;   "check\_in\_method": null\
> &#x20; }\
> }\
> \
> Your server must respond with any 2xx status to acknowledge receipt.

````json
{"openapi":"3.2.0","info":{"title":"Public Api","version":"beta"},"servers":[{"url":"https://esaas-api.eventx.io"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"name":"Authorization","type":"apiKey","in":"header","description":"Bearer Authorization with jwt token"}}},"paths":{"/public-api/v1/event/{eventId}/webhook":{"post":{"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"actions":{"type":"array","items":{"type":"string","enum":["attendee-create","attendee-update","attendee-delete","attendee-check-in","attendee-check-out"]},"minItems":1},"rawData":{"type":"object","properties":{"url":{"type":"string"},"actions":{"type":"array","items":{"type":"string","enum":["attendee-create","attendee-update","attendee-delete","attendee-check-in","attendee-check-out"]},"minItems":1}},"additionalProperties":false}},"required":["id","url","actions","rawData"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"500":{"description":"ERROR"}},"parameters":[{"name":"eventId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"actions":{"type":"array","items":{"type":"string","enum":["attendee-create","attendee-update","attendee-delete","attendee-check-in","attendee-check-out"]},"minItems":1}},"required":["url","actions"],"additionalProperties":false}}}},"tags":["Event Webhook"],"operationId":"createEventWebhook","summary":"Create a webhook subscription for an event","description":"Configure a URL to receive attendee lifecycle events.\n\nWhen a matching action fires, EventX sends an HTTP POST to your endpoint with this payload:\n\n```json\n{\n  \"config\": {\n    \"event_id\": \"95b71478-c7dd-4bbd-b65b-244a63d3e689\",\n    \"webhook_id\": \"59acba79-1ff4-4ade-8e74-6491e73e2d28\",\n    \"action\": \"attendee-update\",\n    \"endpoint_url\": \"https://hooks.example.com/webhook\"\n  },\n  \"attendee\": {\n    \"id\": \"a2f46cf1-6787-45a2-bb8b-08cc6d6114d2\",\n    \"first_name\": \"angussdf\",\n    \"last_name\": \"luk\",\n    \"firstName\": \"angussdf\",\n    \"lastName\": \"luk\",\n    \"name\": \"angus luk nw1k\",\n    \"email\": \"attendee@example.com\",\n    \"registration_status\": \"registered\",\n    \"virtual_attendance_status\": \"pending\",\n    \"first_entered_web_app_at\": null,\n    \"magic_link_url\": \"https://portal.eventx.io/magic-link/00000000-0000-0000-0000-000000000000/authorize\",\n    \"attendance_type\": \"pending\",\n    \"role_tags\": [\n      \"visitor\"\n    ],\n    \"ticket_class_id\": null,\n    \"ticket_class_name\": null,\n    \"job_title\": \"manager\",\n    \"organization\": \"eventx\",\n    \"city\": null,\n    \"country\": \"HK\",\n    \"area_code\": \"852\",\n    \"contact_no\": \"51234567\",\n    \"source\": null,\n    \"created_at\": \"2026-07-30T01:46:33.487Z\",\n    \"update_at\": \"2026-07-30T01:48:16.845Z\",\n    \"attended_at\": null,\n    \"registered_at\": \"2026-07-30T01:46:33.487Z\",\n    \"checked_in_at\": null,\n    \"custom_fields\": {},\n    \"check_in_method\": null\n  }\n}\n\nYour server must respond with any 2xx status to acknowledge receipt."}}}}
````

## Permanently delete a webhook

> Hard delete. The webhook is permanently removed from the database.

```json
{"openapi":"3.2.0","info":{"title":"Public Api","version":"beta"},"servers":[{"url":"https://esaas-api.eventx.io"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"name":"Authorization","type":"apiKey","in":"header","description":"Bearer Authorization with jwt token"}}},"paths":{"/public-api/v1/event/{eventId}/webhook/{webhookId}":{"delete":{"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false}}}},"500":{"description":"ERROR"}},"parameters":[{"name":"eventId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"webhookId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"tags":["Event Webhook"],"operationId":"deleteEventWebhookById","summary":"Permanently delete a webhook","description":"Hard delete. The webhook is permanently removed from the database."}}}}
```

## PATCH /public-api/v1/event/{eventId}/webhook/{webhookId}

> Partially update a webhook

```json
{"openapi":"3.2.0","info":{"title":"Public Api","version":"beta"},"servers":[{"url":"https://esaas-api.eventx.io"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"name":"Authorization","type":"apiKey","in":"header","description":"Bearer Authorization with jwt token"}}},"paths":{"/public-api/v1/event/{eventId}/webhook/{webhookId}":{"patch":{"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"actions":{"type":"array","items":{"type":"string","enum":["attendee-create","attendee-update","attendee-delete","attendee-check-in","attendee-check-out"]},"minItems":1},"rawData":{"type":"object","properties":{"url":{"type":"string"},"actions":{"type":"array","items":{"type":"string","enum":["attendee-create","attendee-update","attendee-delete","attendee-check-in","attendee-check-out"]},"minItems":1}},"additionalProperties":false}},"required":["id","url","actions","rawData"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"500":{"description":"ERROR"}},"parameters":[{"name":"eventId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"webhookId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"actions":{"type":"array","items":{"type":"string","enum":["attendee-create","attendee-update","attendee-delete","attendee-check-in","attendee-check-out"]},"minItems":1}},"additionalProperties":false}}}},"tags":["Event Webhook"],"operationId":"patchEventWebhookById","summary":"Partially update a webhook"}}}}
```
