# Monitoring Integrations API Reference

Source: https://instatus.com/help/api/monitoring-integrations

You can programmatically create third party monitoring integrations using the REST API.

## Create integration

**Endpoint:**

```bash
POST /v3/integrations
```

**Body parameters**

| Field | Type | Description |
| ----- | ---- | ----------- |
| `pageId` | `string` | ID of the status page |
| `integrationType` | `string` | Integration type, e.g. `PINGDOM`, `NEWRELIC` |
| `components` | `string[]` | IDs of components to attach |

**Example request**

```json
{
  "pageId": "page123",
  "integrationType": "PINGDOM",
  "components": ["component1", "component2"]
}
```

**Example response**

```json
{
  "integration": {
    "id": "int_abc",
    "monitoringTool": "PINGDOM"
  },
  "message": "Integration created successfully."
}
```

This endpoint accepts any monitoring tool listed in our [`MonitoringTool` enum](https://github.com/instatushq/instatus/blob/master/packages/backend/prisma/schema.prisma).

## Update integration

**Endpoint:**

```bash
PUT /v3/integrations/:integration_id
```

Send any of the fields from the create endpoint, or provide new template data to customize incident creation and resolution.

**Example request**

```json
{
  "label": "Pingdom Primary",
  "createTemplate": { "name": "New incident" },
  "resolveTemplate": { "name": "Incident resolved" }
}
```

**Example response**

```json
{
  "integration": {
    "id": "int_abc",
    "label": "Pingdom Primary"
  }
}
```

## Delete integration

**Endpoint:**

```bash
DELETE /v3/integrations/:integration_id
```

**Example response**

```json
{}
```
