Skip to navigation

Enable a webhook

View as Markdown

Reactivates the endpoint: sets is_active: true and resets disabled_reason, disabled_at and consecutive_failures. Use it after fixing an endpoint that was disabled automatically (consecutive_failures or gone) or manually. The endpoint receives events from that point on; to deliver events missed while it was disabled, use POST /api/webhooks/{webhookId}/replay (events continue to be stored while an endpoint is disabled).

No body.

Idempotency. Safe to retry: enabling an active endpoint leaves it active and resets its counters.

Access

  • Required scope: full. Human users need the owner or admin role.
  • Rate limit: General API (120–600 requests/min per workspace, by plan) plus the configuration-mutations limit — 10 requests/min per workspace, shared with other configuration changes. See Rate limits.
  • Plan: Requires an active subscription (active, trialing or past_due); without one the request is refused with 403 BILLING_ERROR (metadata.kind: subscription_required). See Billing and usage.

Authentication

AuthorizationBearer

Workspace API key: jl_ followed by 64 lowercase hex characters, created by the workspace owner in the dashboard (Settings → API Keys) and sent as Authorization: Bearer jl_.... The plaintext is shown once, at creation; Jelliu stores only a SHA-256 hash. A workspace can hold up to 25 active keys.

ScopeGET / HEADPOST / PUT / PATCH / DELETEAdmin-only routes
readYesNoNo
writeYesYesNo
fullYesYesYes

Operations restricted to admins or owners reject keys without the full scope with 403, and say so in their description. No key, whatever its scope, can mint or revoke API keys or rotate a webhook secret — that requires a signed-in owner session. A revoked key stops authenticating within about 10 seconds. See Authentication.

Path parameters

webhookIdstringRequiredformat: "uuid"

UUID of the outbound webhook endpoint, returned as id by GET /api/webhooks. It must belong to the authenticated workspace; an id from another workspace, an unknown id or a value that is not a UUID answers 404.

Response

The endpoint, now active.
dataobject

An outbound webhook endpoint as returned by the API. The signing secret is never included; it is returned once by POST /api/webhooks (as an additional secret field) and by rotate-secret. Custom headers keep their names, but every value is "[configured]". Members below admin (and API keys without the full scope) see only the origin of url.

Errors

401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error