WebhookEndpointResp

Webhook endpoint as returned by GET /webhook-endpoints/{id} and GET /webhook-endpoints. The signing secret is not included — it's shown only once in the create / rotate-secret responses (CreateWebhookEndpointResp and RotateWebhookSecretResp). To recover from a lost secret, call POST /webhook-endpoints/{id}/rotate-secret.

  • createdAt
    Type: stringFormat: date-time

    When the webhook endpoint was created.

  • description
    Type: string

    Free-text label set on create / update.

  • eventTypes
    Type: array string[] · WebhookEventType[]enum

    Event types currently subscribed.

    values
    • workflow.started
    • workflow.failed
    • workflow.completed
    • workflow.declined
    • workflow.voided
    • Type: string · WebhookEventTypeenum

      Type of webhook event

      values
      • workflow.started
      • workflow.failed
      • workflow.completed
      • workflow.declined
      • workflow.voided
  • id
    Type: string

    Webhook endpoint ID. Stable for the life of the config — survives pause / resume and is preserved across secret rotations.

  • isActive
    Type: boolean

    true when the webhook is firing; false when paused. Paused webhooks don't count against the per-namespace cap of 4 active webhooks.

  • retryConfig
    Type: object

    Retry policy applied to failed deliveries (network errors, non-2xx responses).

    • backoffStrategy
      Type: stringenum
      required

      How retry backoff grows. exponential (default) doubles the delay each attempt up to maxBackoff (capped further by maxDoublings); linear adds minBackoff each attempt; constant waits minBackoff between every retry.

      values
      • exponential
      • linear
      • constant
    • jitter
      Type: stringenum
      required

      Randomization applied to the computed backoff. full multiplies the delay by a random factor between 1 and 2 (prevents the thundering-herd problem when many retries align); none (default) uses the exact computed delay.

      values
      • full
      • none
    • maxAttempts
      Type: integer
      required

      Maximum number of delivery attempts before the delivery is marked failed. Default: 20.

    • maxBackoff
      Type: integer
      required

      Cap on backoff (in seconds) between retries. Once exponential growth hits this value, every subsequent retry waits this long. Default: 43200 (12 hours).

    • maxDoublings
      Type: integer
      required

      Caps how many times the exponential backoff doubles before flattening at maxBackoff. Only meaningful when backoffStrategy: "exponential". Default: 10.

    • maxRetryDuration
      Type: integer
      required

      Maximum total time (in seconds) the delivery is retried before being marked failed, regardless of maxAttempts. Default: 259200 (3 days).

    • minBackoff
      Type: integer
      required

      Initial backoff (in seconds) before the first retry. Default: 60 (1 minute).

  • updatedAt
    Type: stringFormat: date-time

    Last update to any field (URL, eventTypes, description, isActive, secret rotation).

  • url
    Type: stringFormat: uri

    Endpoint currently receiving deliveries for this config.