---
title: "List webhooks"
method: GET
path: "/v1/webhooks"
tags: ["Webhooks"]
---

# List webhooks

`GET /v1/webhooks`

## Request

- Base URL: `https://api.frihet.io`
- URL: `https://api.frihet.io/v1/webhooks`
- Auth: API key in header `X-API-Key`

Retrieve all webhook subscriptions for the authenticated user.

## Response `200`

List of webhooks

- object
  - `data` Webhook[]
    - `id` string: Unique identifier
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `userId` string
    - `hasSecret` boolean: True if an HMAC secret is configured. The secret value itself is never returned by read endpoints.
    - `name` string, required: Webhook name
    - `url` string, uri, required: Endpoint URL to receive webhook events
    - `secret` string: HMAC secret for verifying webhook signatures. Write-only: echoed once in the create response, never returned by read endpoints (see hasSecret).
    - `events` string[], required: List of event types to subscribe to
    - `status` 'active' | 'inactive'
    - `metadata` object: Arbitrary metadata to attach to the webhook
  - `total` integer

## Other responses

- `401`: Authentication required or invalid API key
- `429`: Rate limit exceeded (100 requests per minute)
- `500`: Internal server error

---

[API](https://skmtc.dev/frihet/apis/frihet-api.md) · [All operations](https://skmtc.dev/frihet/apis/frihet-api/llms.txt) · [OpenAPI document](https://skmtc.dev/frihet/apis/frihet-api/revisions/3dd37f6a72d1?raw)
