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

# Ping a webhook

> Send a signed test event and see how your endpoint responds.

Sends a signed `ping` event to the webhook through the real delivery path (same signature headers, same URL safety checks) and returns your endpoint's HTTP response synchronously. Use it to validate connectivity and signature verification end to end before relying on the webhook.

The ping body has the standard event envelope with `"type": "ping"` and `"data": {"webhook_id": "..."}`. Pings bypass `enabled_events` filtering and are not retried.

**Returns** the receiving endpoint's status code.

***

## Path parameters

<ParamField path="webhook_id" type="string" required>
  The webhook's `id` (UUID).
</ParamField>

***

## Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://agp.eu.hcompany.ai/api/v2/webhooks/f47ac10b-58cc-4372-a567-0e02b2c3d479/ping \
    -H "Authorization: Bearer $HAI_API_KEY"
  ```

  ```python Python theme={null}
  from hai_agents import Client

  client = Client()  # reads HAI_API_KEY from the environment

  result = client.webhooks.ping_webhook(webhook_id="f47ac10b-58cc-4372-a567-0e02b2c3d479")
  print(result.response_status)  # 200 if your endpoint accepted the ping
  ```

  ```typescript TypeScript theme={null}
  import { HaiAgentsClient } from "hai-agents";

  const client = new HaiAgentsClient(); // reads HAI_API_KEY from the environment

  const result = await client.webhooks.pingWebhook({ webhookId: "f47ac10b-58cc-4372-a567-0e02b2c3d479" });
  console.log(result.responseStatus); // 200 if your endpoint accepted the ping
  ```
</CodeGroup>

```json Response theme={null}
{
  "response_status": 200
}
```

***

## Errors

| Status | Cause                                                                      |
| ------ | -------------------------------------------------------------------------- |
| `400`  | The webhook URL is not `https://` or does not resolve to a public address. |
| `404`  | Webhook not found or you don't have access.                                |
| `502`  | The endpoint could not be reached (connection error or timeout).           |
