# Create HTTP Check — Pingdom

> Creates a new HTTP check in Pingdom. See the documentation

- Key: `pingdom-create-http-check`
- Type: Action (Write)
- Version: 0.0.2
- App: Pingdom (`pingdom`) — https://pipedream.com/apps/pingdom.md
- This page (HTML): https://pipedream.com/apps/pingdom/actions/create-http-check
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/pingdom/actions/create-http-check/create-http-check.mjs

## Description

Creates a new HTTP check in Pingdom. [See the documentation](https://docs.pingdom.com/api/#tag/Checks/operation/post.checks)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `host` | `string` | Yes | The target host for the check. |
| `name` | `string` | Yes | The name of the check. |
| `auth` | `string` | No | Username and password, colon separated. |
| `customMessage` | `string` | No | Custom message that will be added to email and webhook alerts. |
| `integrationIds` | `integer[]` | No | Integration identifiers. |
| `ipv6` | `boolean` | No | Use ipv6 instead of ipv4, if an IP address is provided as host this will be overrided by the IP address version. |
| `notifyAgainEvery` | `string` | No | Notify again every n result. 0 means that no extra notifications will be sent. |
| `notifyWhenBackup` | `boolean` | No | Notify when back up again. |
| `paused` | `boolean` | No | Whether the check is paused or not. |
| `probeFilters` | `string[]` | No | Filters used for probe selections. Overwrites previous filters for check. To remove all filters from a check, use an empty value. |
| `resolution` | `integer` | No | How often should the check be tested? (minutes). |
| `responseTimeThreshold` | `integer` | No | Triggers a down alert if the response time exceeds threshold specified in ms (Not available for Starter and Free plans). |
| `sendNotificationWhenDown` | `integer` | No | Send notification when down X times. |
| `tags` | `string[]` | No | List of tags for check. The maximum length of a tag is 64 characters. |
| `teamIds` | `integer[]` | No | Teams to alert. Options are loaded from the connected account. |
| `userIds` | `string[]` | No | User identifiers. Options are loaded from the connected account. |
| `encryption` | `boolean` | No | Connection encryption. |
| `port` | `integer` | No | Target port. |
| `sslDownDaysBefore` | `string` | No | Treat the target site as down if a certificate expires within the given number of days. This parameter will be ignored if verify_certificate is set to false. It will appear provided verify_certificate is true and ssl_down_days_before value is greater than or equals 1. |
| `verifyCertificate` | `boolean` | No | Treat target site as down if an invalid/unverifiable certificate is found. |
| `postData` | `string` | No | Data that should be posted to the web page, for example submission data for a sign-up or login form. The data needs to be formatted in the same way as a web browser would send it to the web server. |
| `requestHeaders` | `string[]` | No | Custom HTTP header. |
| `shouldContain` | `string` | No | Target site should contain this string. Note! This parameter cannot be used together with the parameter 'shouldnotcontain', use only one of them in your request. |
| `shouldNotContain` | `string` | No | Target site should NOT contain this string. Note! This parameter cannot be used together with the parameter 'shouldcontain', use only one of them in your request. |
| `url` | `string` | No | Path to target on server. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "pingdom",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "pingdom-create-http-check",
  arguments: {
    host: "Host",
    name: "Name",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "pingdom-create-http-check",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    pingdom: { authProvisionId: "apn_xxxxxxx" },
    host: "Host",
    name: "Name",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "pingdom-create-http-check",
    "configured_props": {
      "pingdom": { "authProvisionId": "apn_xxxxxxx" },
      "host": "Host",
      "name": "Name"
    }
  }'
```

---

- App: https://pipedream.com/apps/pingdom.md · All apps: https://pipedream.com/apps
