> ## 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.

# Service Webhook Events

> This help topic describes the service 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 service events sent by Megaport's webhooks.

<Anchor name="service-availability-updated" />

## service.availability.updated

`service.availability.updated` is sent when service availability changes.

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)
  * `service_type` (string)
  * `service_uid` (string, UUID)
  * `status` (string, "down" | "up")

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": "service.availability.updated",
  "data": {
    "service_type": "vxc",
    "service_uid": "34ee661a-18f0-4c30-8a73-e2d7e0ab641d",
    "status": "up"
  }
}
```

<Anchor name="service-bgp-availability-updated" />

## service.bgp.availability.updated

`service.bgp.availability.updated` is sent when BGP availability changes.

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)
  * `mcr_service_uid` (string, UUID)
  * `peer_asn` (integer, int64)
  * `peer_ip_address` (string)
  * `status` (string, "down" | "up")
  * `vxc_service_uid` (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": "service.bgp.availability.updated",
  "data": {
    "mcr_service_uid": "34ee661a-18f0-4c30-8a73-e2d7e0ab641d",
    "peer_asn": 12076,
    "peer_ip_address": "172.16.35.22",
    "status": "down",
    "vxc_service_uid": "e513ab3e-8b0c-4d88-bef0-1f7358897d6e"
  }
}
```

<Anchor name="service-configured" />

## service.configured

`service.configured` is sent when a service is configured.

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)
  * `service_type` (string)
  * `service_uid` (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": "service.configured",
  "data": {
    "service_type": "megaport",
    "service_uid": "34ee661a-18f0-4c30-8a73-e2d7e0ab641d"
  }
}
```

<Anchor name="service-terminated" />

## service.terminated

`service.terminated` is sent when a service is terminated.

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)
  * `service_type` (string)
  * `service_uid` (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": "service.terminated",
  "data": {
    "service_type": "megaport",
    "service_uid": "34ee661a-18f0-4c30-8a73-e2d7e0ab641d"
  }
}
```
