# Phone Number Validation — Ideal Postcodes

> Validates a phone number and returns information about it. See the documentation.

- Key: `ideal_postcodes-phone-number-validation`
- Type: Action (Write)
- Version: 0.0.3
- App: Ideal Postcodes (`ideal_postcodes`) — https://pipedream.com/apps/ideal-postcodes.md
- This page (HTML): https://pipedream.com/apps/ideal-postcodes/actions/phone-number-validation
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/ideal_postcodes/actions/phone-number-validation/phone-number-validation.mjs

## Description

Validates a phone number and returns information about it. [See the documentation](https://docs.ideal-postcodes.co.uk/docs/api/phone-number-validation).

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `query` | `string` | Yes | Specifies the phone number to validate. Phone number must include a country code in acceptable format. For instance, UK phone numbers should be suffixed +44, 44 or 0044. |
| `currentCarrier` | `boolean` | No | When set to true the current network of the phone number will be retrieved and populated. Note that this operation is potentially slow depending on the network and local conditions. |
| `tags` | `string` | No | A comma separated list of tags to query over. Useful if you want to specify the circumstances in which the request was made. If multiple tags are specified, the response will only comprise of requests for which all the tags are satisfied - i.e. searching foo,bar will only query requests which tagged both foo and bar. |

## 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": "ideal_postcodes",
      },
    },
  },
)

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: "ideal_postcodes-phone-number-validation",
  arguments: {
    query: "Phone Number",
    currentCarrier: true,
  },
})
```

**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: "ideal_postcodes-phone-number-validation",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    ideal_postcodes: { authProvisionId: "apn_xxxxxxx" },
    query: "Phone Number",
    currentCarrier: true,
  },
})

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": "ideal_postcodes-phone-number-validation",
    "configured_props": {
      "ideal_postcodes": { "authProvisionId": "apn_xxxxxxx" },
      "query": "Phone Number",
      "currentCarrier": true
    }
  }'
```

---

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