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

# List Webhooks

> Retrieve a paginated list of webhooks for your organization.

## Endpoint

```
GET https://api.eachlabs.ai/v1/webhooks
```

## Query Parameters

| Parameter | Type    | Required | Default | Description                    |
| --------- | ------- | -------- | ------- | ------------------------------ |
| `limit`   | integer | No       | `50`    | Max webhooks to return (1–100) |
| `offset`  | integer | No       | `0`     | Number of webhooks to skip     |

## Code Examples

<CodeGroup>
  ```bash cURL theme={"dark"}
  curl "https://api.eachlabs.ai/v1/webhooks?limit=10" \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```python Python theme={"dark"}
  import requests

  response = requests.get(
      "https://api.eachlabs.ai/v1/webhooks",
      params={"limit": 10},
      headers={"X-API-Key": "YOUR_API_KEY"}
  )

  data = response.json()
  for webhook in data["webhooks"]:
      print(f"{webhook['execution_id']} → {webhook['url']}")
  ```

  ```javascript JavaScript theme={"dark"}
  const response = await fetch(
    "https://api.eachlabs.ai/v1/webhooks?limit=10",
    { headers: { "X-API-Key": "YOUR_API_KEY" } }
  );
  const data = await response.json();

  data.webhooks.forEach((wh) => {
    console.log(`${wh.execution_id} → ${wh.url}`);
  });
  ```
</CodeGroup>

## Response

```json theme={"dark"}
{
  "webhooks": [
    {
      "execution_id": "abc123-def456-ghi789",
      "url": "https://api.example.com/webhook",
      "request": "{\"event\":\"prediction.completed\"}",
      "headers": {
        "Content-Type": "application/json"
      },
      "source": "api-gateway",
      "created_at": "2025-12-14T10:30:00Z"
    }
  ],
  "limit": 50,
  "offset": 0
}
```

### Response Fields

| Field                     | Type           | Description                        |
| ------------------------- | -------------- | ---------------------------------- |
| `webhooks`                | array          | List of webhook objects            |
| `webhooks[].execution_id` | string \| null | Associated execution ID            |
| `webhooks[].url`          | string         | Target URL                         |
| `webhooks[].request`      | string         | Original request payload           |
| `webhooks[].headers`      | object         | Headers included in the webhook    |
| `webhooks[].source`       | string         | Service that triggered the webhook |
| `webhooks[].created_at`   | string         | ISO 8601 timestamp                 |
| `limit`                   | integer        | Applied limit                      |
| `offset`                  | integer        | Applied offset                     |

## Error Responses

| Status | Body                                      | Description            |
| ------ | ----------------------------------------- | ---------------------- |
| `401`  | `{"error": "Invalid or missing API key"}` | Authentication failure |
| `500`  | `{"error": "Internal server error"}`      | Server error           |
