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

# Get a webhook

`GET /v1/webhooks/{id}`

## Request

- Base URL: `https://hcti.io`
- URL: `https://hcti.io/v1/webhooks/{id}`
- Auth: HTTP basic

Secret parameter values and the signing secret are never returned.

**Rate limit:** 100 requests per minute per organization, shared across all operations in the `webhook:read` group and all API keys belonging to that organization.

## Path parameters

- `id` string, required

## Response `200`

OK

- Webhook: A webhook's endpoint, subscriptions, and delivery parameters. Secret parameter values are never returned. The signing secret is returned only when creating a webhook through the REST API.
  - `id` string, required: Webhook ID.
  - `name` string, required: Display name for the webhook.
  - `enabled` boolean: Whether the webhook is enabled. Disabled webhooks receive no deliveries.
  - `url` string, required: HTTPS endpoint that receives deliveries, without query parameters.
  - `events` WebhookEventType[], required: Event types delivered to this webhook.
  - `parameters` WebhookParameter[], required: Headers and query parameters added to every delivery. Secret values are omitted.
    - `location` 'header' | 'query_parameter', required: Where a webhook parameter is sent on each delivery.
    - `key` string, required: Header or query parameter name.
    - `secret` boolean: Whether the value is secret. Secret values are stored encrypted and never returned.
    - `value` string, nullable: The parameter value, or null for secret parameters.
  - `signing_enabled` boolean: Whether deliveries are signed with this webhook's signing secret.
  - `signing_secret` string, nullable: Signing secret for verifying deliveries. Returned only in the REST API create response, even when signing is disabled. Store it securely; updates, reads, lists, and MCP responses omit this field.
  - `config_version` union: Version of the delivery settings (URL, parameters, and signing). It increases when any of them change, and each delivery attempt records the version it used.
    - integer
    - string, int32
  - `created_at` string, date-time: UTC timestamp when the webhook was created.
  - `updated_at` string, date-time: UTC timestamp when the webhook was last updated.
  - `test_event_id` string, nullable: Event ID of the webhook_test delivery this create or update queued, matching the event_id the endpoint receives. Null when no test was queued, and always null outside create and update responses.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests

## Changes

- **2026-11-03** `100550373ae1`: 1 info
  - added the optional property `signing_secret` to the response with the `200` status
- **2026-10-30** `146fbf859b2d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/htmlcsstoimage/apis/html-css-to-image-api/changes/v1/webhooks/:id/get.md)

---

[API](https://skmtc.dev/htmlcsstoimage/apis/html-css-to-image-api.md) - [All operations](https://skmtc.dev/htmlcsstoimage/apis/html-css-to-image-api/llms.txt) - [OpenAPI document](https://skmtc.dev/htmlcsstoimage/apis/html-css-to-image-api/revisions/100550373ae1?raw)
