> ## Documentation Index
> Fetch the complete documentation index at: https://doc.convo.co.in/llms.txt
> Use this file to discover all available pages before exploring further.

# List All Active Webhook Subscriptions for a Project

> Retrieve all webhook subscriptions in your Convo project, optionally filtered by Custom App name, with topics and delivery URLs.

Use this endpoint to retrieve all webhook subscriptions associated with your Convo project. Each webhook object includes the subscribed topics, delivery URL, and shared secret used for payload verification. Optionally filter by a specific Custom App name.

## Endpoint

```text theme={null}
GET https://connect.api-wa.co/project-apis/v1/project/{project_id}/webhook
```

## Authentication

```text theme={null}
X-API-WA-Project-API-Pwd: YOUR_API_PASSWORD
```

## Path Parameters

<ParamField path="project_id" type="string" required>
  Your Convo project ID.
</ParamField>

## Query Parameters

<ParamField query="app_name" type="string">
  Filter webhooks by the name of the Custom App they belong to. If omitted, webhooks for all apps in the project may be returned depending on your setup.
</ParamField>

## Request Example

```bash theme={null}
curl "https://connect.api-wa.co/project-apis/v1/project/YOUR_PROJECT_ID/webhook?app_name=MyApp" \
  -H "X-API-WA-Project-API-Pwd: YOUR_API_PASSWORD"
```

## Response

Returns an array of webhook subscription objects.

<ResponseField name="id" type="string">
  Unique identifier for the webhook subscription.
</ResponseField>

<ResponseField name="app_id" type="string">
  The ID of the Custom App this webhook is registered under.
</ResponseField>

<ResponseField name="project_id" type="string">
  The ID of the project this webhook belongs to.
</ResponseField>

<ResponseField name="topics" type="array">
  List of event topics this webhook is subscribed to (e.g., `"contact.created"`, `"message.received"`).
</ResponseField>

<ResponseField name="webhook_url" type="string">
  The HTTPS URL where event payloads will be delivered.
</ResponseField>

<ResponseField name="shared_secret" type="string">
  A secret token you can use to verify that incoming webhook payloads originate from Convo.
</ResponseField>

<ResponseField name="created_at" type="integer">
  Unix timestamp (milliseconds) of when the webhook was created.
</ResponseField>

<ResponseField name="updated_at" type="integer">
  Unix timestamp (milliseconds) of the last update to this webhook.
</ResponseField>

## Example Response

```json theme={null}
[
  {
    "id": "627adef5f2d93aba6fa649d7",
    "app_id": "627ac3ce1b6404b276b1acae",
    "project_id": "6245d025fcb7966c46294618",
    "topics": ["contact.created"],
    "webhook_url": "https://your-server.com/webhook",
    "shared_secret": "8d008e6e505171aa...",
    "created_at": 1652219637153,
    "updated_at": 1652220659065
  }
]
```

## Error Responses

| Status Code | Description                                                                                             |
| ----------- | ------------------------------------------------------------------------------------------------------- |
| `400`       | Bad Request — The `app_name` provided does not exist, or a required parameter is missing.               |
| `500`       | Internal Server Error — An unexpected server-side error occurred. Retry the request or contact support. |
