---
title: "Create webhook endpoint"
method: POST
path: "/webhooks/v1/endpoints"
tags: ["Webhooks"]
---

# Create webhook endpoint

`POST /webhooks/v1/endpoints`

Creates a webhook endpoint that receives platform events matching the supplied event-type filters. Returns the generated signing secret ONCE — the response is the only time it is shown in plaintext.

## Request body

- object
  - `url` string, uri, required — HTTPS callback URL that will receive event deliveries
  - `description` string — Human-readable label for this endpoint
  - `eventTypeFilters` string[], required — Glob patterns of event types to deliver (e.g. "vault.*", "ocr.job.completed", "*")
  - `resourceScopes` object — Optional per-resource allowlists. If vaultIds is set, only events for those vaults are delivered. Same for matterIds.
    - `vaultIds` string[]
    - `matterIds` string[]

## Response `201`

Webhook endpoint created successfully

## Other responses

- `400` — Request body is invalid
- `401` — Invalid API key
- `403` — API key lacks webhooks:write or the required service scopes

---

[API](https://skmtc.net/casemark/apis/case-dev-api.md) · [All operations](https://skmtc.net/casemark/apis/case-dev-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/casemark/case-dev-api/revisions/5b7e64e6d6f9/schema)
