---
title: "Get a webhook"
method: GET
path: "/v1/webhooks/{webhookId}"
tags: ["Webhooks"]
---

# Get a webhook

`GET /v1/webhooks/{webhookId}`

## Request

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

Retrieve a single webhook subscription by ID.

## Path parameters

- `webhookId` string, required

## Response `200`

Webhook details

- 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

## Other responses

- `401`: Authentication required or invalid API key
- `404`: Resource not found
- `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)
