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

# webhookTargets.list()

> List webhook delivery targets.

List configured webhook targets using cursor pagination.

**Required scope: `admin`**

```ts theme={null}
const targets = await mesa.webhookTargets.list({ limit: 50 });

for (const target of targets.webhook_targets) {
  console.log(target.id, target.url, target.events);
}
```

## Options

<ParamField path="org" type="string | undefined">
  Organization override.
</ParamField>

<ParamField path="cursor" type="string | undefined">
  Opaque pagination cursor from a previous response.
</ParamField>

<ParamField path="limit" type="number | undefined">
  Maximum number of targets to return. The server maximum is `100`.
</ParamField>

## Response

<ResponseField name="next_cursor" type="string | null">
  Cursor for the next page, or null when no more results remain.
</ResponseField>

<ResponseField name="has_more" type="boolean">
  Whether another page of results is available.
</ResponseField>

<ResponseField name="webhook_targets" type="WebhookTarget[]">
  Webhook target objects.
</ResponseField>

### WebhookTarget

<ResponseField name="id" type="string">
  Webhook target ID.
</ResponseField>

<ResponseField name="name" type="string | null">
  Webhook target name, or null when unnamed.
</ResponseField>

<ResponseField name="url" type="string">
  Delivery URL.
</ResponseField>

<ResponseField name="events" type="string[]">
  Event names delivered to this target.
</ResponseField>

<ResponseField name="repo_ids" type="string[] | null">
  Repository allowlist, or null when the target receives events for all repositories.
</ResponseField>

<ResponseField name="created_at" type="string">
  Creation time.
</ResponseField>

<ResponseField name="updated_at" type="string">
  Last update time.
</ResponseField>
