> ## Documentation Index
> Fetch the complete documentation index at: https://docs.megaport.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Outage Webhook Events

> This help topic describes the outage webhook events.

export const Anchor = ({name}) => {
  const errorPrefix = '\x1b[31;1;4mERROR\x1b[0m: Anchor -';
  if (name === undefined || name === null || name === 'undefined') {
    console.error(`${errorPrefix} \`name\` must have a value — rendering an empty string instead`);
    return <></>;
  }
  const raw = typeof name === 'string' ? name : JSON.stringify(name);
  const id = raw.replace(/\s+/g, '-').replace(/[^A-Za-z0-9_-]/g, '').replace(/-+/g, '-').replace(/^-+|-+$/g, '');
  if (!id) {
    console.error(`${errorPrefix} \`name\` "${name}" sanitizes to an empty id — rendering an empty string instead`);
    return <></>;
  }
  return <a style={{
    scrollMarginTop: 'var(--scroll-mt)'
  }} id={id}></a>;
};

This topic describes the outage events sent by Megaport's webhooks.

<Anchor name="outage-advised" />

## outage.advised

`outage.advised` is sent when an outage is being investigated.

The payload of this event has the following structure:

* `company_uid` (string, UUID)
* `metadata` (object)
  * `environment` (string)
* `schema_version` (string)
* `timestamp` (string, date-time)
* `type` (string)
* `data` (object)
  * `advisory_message` (string)
  * `company_uid` (string, UUID)
  * `label` (string)
  * `outage_uid` (string, UUID)
  * `service_uids` (array of string, UUID)

For example:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "company_uid": "681ef39b-436b-40dd-a914-26391db2689c",
  "metadata": {
    "environment": "production"
  },
  "schema_version": "1",
  "timestamp": "2026-04-23T10:29:12Z",
  "type": "outage.advised",
  "data": {
    "advisory_message": "Carrier reports estimated repair time of two hours.",
    "company_uid": "681ef39b-436b-40dd-a914-26391db2689c",
    "label": "Sydney metro fibre cut affecting MCR2-SYD1.",
    "outage_uid": "9f2c1f3e-7b9d-4f6a-8c11-9e9b1234abcd",
    "service_uids": [
      "3a8c0b2d-7f44-49ab-9a85-2bcd9e012345"
    ]
  }
}
```

<Anchor name="outage-closed" />

## outage.closed

`outage.closed` is sent when an outage has been resolved.

The payload of this event has the following structure:

* `company_uid` (string, UUID)
* `metadata` (object)
  * `environment` (string)
* `schema_version` (string)
* `timestamp` (string, date-time)
* `type` (string)
* `data` (object)
  * `company_uid` (string, UUID)
  * `label` (string)
  * `outage_uid` (string, UUID)
  * `purpose` (string)
  * `resolved_at` (string, date-time)
  * `service_uids` (array of string, UUID)
  * `started_at` (string, date-time)

For example:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "company_uid": "681ef39b-436b-40dd-a914-26391db2689c",
  "metadata": {
    "environment": "production"
  },
  "schema_version": "1",
  "timestamp": "2026-04-23T10:29:12Z",
  "type": "outage.closed",
  "data": {
    "company_uid": "681ef39b-436b-40dd-a914-26391db2689c",
    "label": "Sydney metro fibre cut affecting MCR2-SYD1.",
    "outage_uid": "9f2c1f3e-7b9d-4f6a-8c11-9e9b1234abcd",
    "purpose": "Carrier outage between Sydney CBD and North Sydney.",
    "resolved_at": "2026-04-29T16:08:00Z",
    "service_uids": [
      "3a8c0b2d-7f44-49ab-9a85-2bcd9e012345"
    ],
    "started_at": "2026-04-29T14:21:00Z"
  }
}
```

<Anchor name="outage-notice" />

## outage.notice

`outage.notice` is sent when an outage has been reported.

The payload of this event has the following structure:

* `company_uid` (string, UUID)
* `metadata` (object)
  * `environment` (string)
* `schema_version` (string)
* `timestamp` (string, date-time)
* `type` (string)
* `data` (object)
  * `company_uid` (string, UUID)
  * `description` (string)
  * `label` (string)
  * `next_update_note` (string)
  * `notice_uid` (string, UUID)
  * `outage_uid` (string, UUID)
  * `service_uids` (array of string, UUID)

For example:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "company_uid": "681ef39b-436b-40dd-a914-26391db2689c",
  "metadata": {
    "environment": "production"
  },
  "schema_version": "1",
  "timestamp": "2026-04-23T10:29:12Z",
  "type": "outage.notice",
  "data": {
    "company_uid": "681ef39b-436b-40dd-a914-26391db2689c",
    "description": "Engineers are still investigating. Customers should expect intermittent BGP flaps in SYD2 until at least 02:30 UTC.",
    "label": "SYD2 transit instability.",
    "next_update_note": "Awaiting upstream carrier response before issuing the next update.",
    "notice_uid": "f4e3d2c1-b0a9-4988-7766-554433221100",
    "outage_uid": "1f4e7c0a-2b3d-4e5f-6a7b-8c9d0e1f2a3b",
    "service_uids": [
      "3a8c0b2d-7f44-49ab-9a85-2bcd9e012345"
    ]
  }
}
```

<Anchor name="outage-reopened" />

## outage.reopened

`outage.reopened` is sent when an outage is reopened.

The payload of this event has the following structure:

* `company_uid` (string, UUID)
* `metadata` (object)
  * `environment` (string)
* `schema_version` (string)
* `timestamp` (string, date-time)
* `type` (string)
* `data` (object)
  * `company_uid` (string, UUID)
  * `label` (string)
  * `outage_uid` (string, UUID)
  * `purpose` (string)
  * `reopened_at` (string, date-time)
  * `service_uids` (array of string, UUID)

For example:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "company_uid": "681ef39b-436b-40dd-a914-26391db2689c",
  "metadata": {
    "environment": "production"
  },
  "schema_version": "1",
  "timestamp": "2026-04-23T10:29:12Z",
  "type": "outage.reopened",
  "data": {
    "company_uid": "681ef39b-436b-40dd-a914-26391db2689c",
    "label": "Sydney metro fibre cut affecting MCR2-SYD1.",
    "outage_uid": "9f2c1f3e-7b9d-4f6a-8c11-9e9b1234abcd",
    "purpose": "Issue recurred after the initial fix; investigation continues.",
    "reopened_at": "2026-04-29T18:42:00Z",
    "service_uids": [
      "3a8c0b2d-7f44-49ab-9a85-2bcd9e012345"
    ]
  }
}
```

<Anchor name="outage-resolved" />

## outage.resolved

`outage.resolved` is sent when an outage has been resolved.

The payload of this event has the following structure:

* `company_uid` (string, UUID)
* `metadata` (object)
  * `environment` (string)
* `schema_version` (string)
* `timestamp` (string, date-time)
* `type` (string)
* `data` (object)
  * `company_uid` (string, UUID)
  * `label` (string)
  * `mitigation_actions` (string)
  * `outage_uid` (string, UUID)
  * `resolution` (string)
  * `resolved_at` (string, date-time)
  * `root_cause` (string)
  * `service_uids` (array of string, UUID)
  * `started_at` (string, date-time)

For example:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "company_uid": "681ef39b-436b-40dd-a914-26391db2689c",
  "metadata": {
    "environment": "production"
  },
  "schema_version": "1",
  "timestamp": "2026-04-23T10:29:12Z",
  "type": "outage.resolved",
  "data": {
    "company_uid": "681ef39b-436b-40dd-a914-26391db2689c",
    "label": "Sydney metro fibre cut affecting MCR2-SYD1.",
    "mitigation_actions": "Traffic rerouted via alternate path; affected card replaced.",
    "outage_uid": "9f2c1f3e-7b9d-4f6a-8c11-9e9b1234abcd",
    "resolution": "Carrier completed splice repair on the affected fibre.",
    "resolved_at": "2026-04-29T16:08:00Z",
    "root_cause": "Third-party fibre cut by civil works contractor.",
    "service_uids": [
      "3a8c0b2d-7f44-49ab-9a85-2bcd9e012345"
    ],
    "started_at": "2026-04-29T14:21:00Z"
  }
}
```

<Anchor name="outage-started" />

## outage.started

`outage.started` is sent when an outage event has been started.

The payload of this event has the following structure:

* `company_uid` (string, UUID)
* `metadata` (object)
  * `environment` (string)
* `schema_version` (string)
* `timestamp` (string, date-time)
* `type` (string)
* `data` (object)
  * `company_uid` (string, UUID)
  * `label` (string)
  * `outage_uid` (string, UUID)
  * `purpose` (string)
  * `service_uids` (array of string, UUID)
  * `started_at` (string, date-time)

For example:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "company_uid": "681ef39b-436b-40dd-a914-26391db2689c",
  "metadata": {
    "environment": "production"
  },
  "schema_version": "1",
  "timestamp": "2026-04-23T10:29:12Z",
  "type": "outage.started",
  "data": {
    "company_uid": "681ef39b-436b-40dd-a914-26391db2689c",
    "label": "Sydney metro fibre cut affecting MCR2-SYD1.",
    "outage_uid": "9f2c1f3e-7b9d-4f6a-8c11-9e9b1234abcd",
    "purpose": "Carrier outage between Sydney CBD and North Sydney.",
    "service_uids": [
      "3a8c0b2d-7f44-49ab-9a85-2bcd9e012345"
    ],
    "started_at": "2026-04-29T14:21:00Z"
  }
}
```
