# Webhook Registration & Incidents

{% hint style="info" %}
💬 **Need help?** If you're stuck, ask Eva on ATRIP for instant diagnostics.

<a href="https://www.atriptech.com/" class="button primary" data-icon="comments">Ask Eva</a>
{% endhint %}

Use this page to register your webhook endpoint and query incident records from the API reference layer.

### What this page covers

* `updateWebhookURL.do` for webhook registration
* `event/getPageList.do` for incident lookup

### Typical flow

{% stepper %}
{% step %}

### Register your webhook URL

Save the endpoint that Atlas should call for webhook delivery.
{% endstep %}

{% step %}

### Receive webhook events

Handle ticketing, schedule change, airline status, email, and incident notifications.
{% endstep %}

{% step %}

### Query incidents when needed

Use incident lookup to reconcile missed or unresolved events.
{% endstep %}
{% endstepper %}

### Use this when you need

* initial webhook setup
* webhook endpoint updates
* incident reconciliation
* operational follow-up after schedule changes or cancellations

### Related pages

* [Webhooks](https://resources.atriptech.com/api-document/readme/webhook-overview)
* [Incident Query](https://resources.atriptech.com/api-document/readme/webhook-overview/incident-query)
* [Incident Notification](https://resources.atriptech.com/api-document/readme/webhook-overview/incident-notification)

## Register Webhook

> \*\*Endpoint:\*\*\
> <https://sandbox.atriptech.com/updateWebhookURL.do>

```json
{"openapi":"3.0.1","info":{"title":"Default module","version":"1.0.0"},"tags":[{"name":"Notifications and Webhook"}],"security":[],"paths":{"/updateWebhookURL.do":{"post":{"summary":"Register Webhook","deprecated":false,"description":"**Endpoint:**\nhttps://sandbox.atriptech.com/updateWebhookURL.do","tags":["Notifications and Webhook"],"parameters":[{"name":"Accept","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"Accept-Encoding","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"x-atlas-client-id","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"x-atlas-client-secret","in":"header","description":"","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL for receiving webhook notifications"}},"required":["url"]}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"msg":{"$ref":"#/components/schemas/ResponseMessage","nullable":true}},"required":["status"]}}},"headers":{}}}}}},"components":{"schemas":{"ResponseMessage":{"type":"string","description":"It serves as an additional description of the response result. Especially when the interface reports an error (`status` !=`0`), it is usually a human-readable error message. Note: Do not use this field in any programming scenarios. For example, do not judge whether the interface responds successfully based on this field. Instead, you should only determine it by checking whether the status is equal to`0`at any time."}}}}
```

## Incident List

> \*\*Endpoint:\*\*\
> <https://sandbox.atriptech.com/event/getPageList.do>

```json
{"openapi":"3.0.1","info":{"title":"Default module","version":"1.0.0"},"tags":[{"name":"Notifications and Webhook"}],"security":[],"paths":{"/event/getPageList.do":{"post":{"summary":"Incident List","deprecated":false,"description":"**Endpoint:**\nhttps://sandbox.atriptech.com/event/getPageList.do","tags":["Notifications and Webhook"],"parameters":[{"name":"Accept","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"Accept-Encoding","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"x-atlas-client-id","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"x-atlas-client-secret","in":"header","description":"","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"eventId":{"type":"string","description":"Incident ID"},"orderNo":{"type":"string","description":"Order number"},"eventType":{"type":"string","description":"Incident type:\n- `email.schedulechange`: Schedule Change-Email Notification\n- `abnormal.cancelled`: Unacounted Cancellation\n- `order.schedulechange`: Schedule Change-API Notification"},"pnr":{"type":"string","description":"Order's pnr."},"paxName":{"type":"string","description":"Order's passenger names."},"paxEmail":{"type":"string","description":"Order's passenger Email. Email address passed to the Airline."},"airline":{"type":"string","description":"Airline IATA code."},"eventStatus":{"type":"array","items":{"type":"integer"},"description":"A list containing incident stauses\n- `0`: Unconfirmed\n- `1`: Confirmed"},"eventTimeStart":{"type":"string","description":"Incident Receiving Time Start\nFormat: yyyy-MM-dd HH:mm:ss UTC+08:00"},"eventTimeEnd":{"type":"string","description":"Incident Receiving Time End\nFormat: yyyy-MM-dd HH:mm:ss UTC+08:00"},"depTimeStart":{"type":"string","description":"Departure Time Start(Departure local time)\nFormat: yyyy-MM-dd HH:mm:ss"},"depTimeEnd":{"type":"string","description":"Departure Time End(Departure local time)\nFormat: yyyy-MM-dd HH:mm:ss"},"updateTimeStart":{"type":"string"},"pageIndex":{"type":"integer","default":1,"description":"Pagination","nullable":true},"pageSize":{"type":"integer","description":"Number of records per page"}},"required":["pageSize"]}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"msg":{"type":"string","nullable":true},"records":{"type":"array","items":{"type":"object","properties":{"eventId":{"type":"string","description":"Incident Id."},"orderNo":{"type":"string","description":"Order Number."},"eventType":{"type":"string","description":"Incident type\n-`email.schedulechange`: Schedule Change-Email Notification\n-`abnormal.cancelled`: Unacounted Cancellation\n-`order.schedulechange`: Schedule Change-API Notification"},"eventStatus":{"type":"integer","description":"Incident staus\n-`0`: Unconfirmed\n-`1`: Confirmed"},"eventTime":{"type":"string","description":"Incident recieving time.\nFormat: yyyy-MM-dd HH:mm:ss UTC+08:00"},"confirmedResult":{"type":"string","description":"Incident Reason. Schedule Change Type & Cancelled Type.","nullable":true},"confirmedRemark":{"type":"string","description":"Remark.","nullable":true},"createTime":{"type":"string","description":"Incident create time.\nFormat: yyyy-MM-dd HH:mm:ss UTC+08:00"},"airline":{"type":"string","description":"Airline IATA code."},"depTime":{"type":"string","description":"Flight depature time. Depature local time."},"confirmTime":{"type":"string","description":"Confirmed Time.\nFormat: yyyy-MM-dd HH:mm:ss UTC+08:00","nullable":true},"notified":{"type":"integer","description":"Send the notification or not. 1: YES. 0: No","nullable":true},"pnr":{"type":"string","description":"Order's pnr."},"paxName":{"type":"string","description":"Order's passenger names."},"paxEmail":{"type":"string","description":"Order's passenger Email. Email address passed to the Airline."}},"required":["eventId","orderNo","eventType","eventStatus","eventTime","createTime","airline","depTime","pnr","paxName","paxEmail"]}},"pageIndex":{"type":"string","description":"Current pagination"},"pageSize":{"type":"string","description":"Page size"},"total":{"type":"string","description":"Total number of records"}},"required":["status","pageIndex","pageSize","total","records"]}}},"headers":{}}}}}}}
```
