Webhook endpoints

Create a webhook endpoint

Registers a receiver for a workspace's events. The key must be an owner or admin of the workspace, and a workspace holds at most 10 endpoints.

The response is the only one that carries secret: store it to verify each request. Send your own secret to use the same one everywhere; otherwise one starting with whsec_ is generated. If you lose it, delete the endpoint and create it again.

The endpoint is pinned to the API version this request was served at, unless you send api_version. Its events are named and shaped as that version has them.

post/webhook_endpoints

Request

  • Base URL
    https://www.happyscribe.com/api/v1
  • Auth
    API key in header Authorization

Request body

workspace_idstring required

The workspace whose events it receives. A wks_ id; integer workspace ids are still accepted.

urlstring required

A public HTTPS URL. Redirects are not followed.

enabled_eventsstring[] required

Event types, or * for every event this workspace and version send, now and later.

namestring nullable

Defaults to the URL's host.

secretstring nullable

Your own signing secret, at least 16 characters. Omit it to have one generated.

api_versionstring

Pin the endpoint to this version instead of the one serving the request.

Example request

{
  "workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
  "url": "https://api.acme.com/happyscribe/webhooks",
  "enabled_events": [
    "meeting.finished",
    "bot.summary_ready"
  ],
  "api_version": "2026-10-09"
}

Response

Endpoint created, with its secret.

idstring

Webhook endpoint ID, beginning with whe_. Treat it as an opaque string.

objectstring

Always webhook_endpoint.

workspace_idstring

Workspace ID, beginning with wks_. Treat it as an opaque string.

namestring

Defaults to the URL's host.

urlstring uri

The public HTTPS URL events are sent to.

enabled_eventsstring[]

The events it receives, named as its api_version names them. * is every event.

status'enabled' | 'disabled'

Whether it receives events.

  • enabled: receives events.
  • disabled: receives nothing; disabling cancels its pending deliveries.
api_versionstring date

The version its events are named and shaped at.

metadataMetadata

Your own key-value pairs, for your ids and context. HappyScribe stores them, returns them on the object and in every webhook that carries it, and never acts on them. Up to 50 keys of up to 40 characters (no square brackets), values up to 500 characters. See metadata.

created_atstring date-time

When it was created, in ISO 8601.

updated_atstring date-time

When it last changed, in ISO 8601.

secretstring required

The signing secret. Shown only in this response.

Example response

{
  "id": "whe_01k6d4a1b2c3d4e5f6g7h8j9km",
  "workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
  "name": "Acme production",
  "url": "https://api.acme.com/happyscribe/webhooks",
  "enabled_events": [
    "meeting.finished",
    "bot.summary_ready"
  ],
  "api_version": "2026-10-09",
  "metadata": {
    "gurusup_user_id": "usr_8812"
  },
  "secret": "whsec_5f0c2a9e1b7d4c3a8e6f0b2d9c1a7e4f3b8d6c0a2e9f1b4d"
}

Changes

No recorded changes to this operation across all 1 revision of this API.