Lusha · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Lusha Webhooks API

12 actions 12 updates phrasing extends openapi/lusha-webhooks-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Lusha's API. It is a proposal applied on top of the contract, not a document Lusha publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 12

$.info
$.paths['/api/subscriptions'].get
$.paths['/api/subscriptions'].post
$.paths['/api/subscriptions/{id}'].get
$.paths['/api/subscriptions/{id}'].patch
$.paths['/api/subscriptions/{id}/test'].post
$.paths['/api/subscriptions/delete'].post
$.paths['/api/audit-logs'].get
$.paths['/api/audit-logs/stats'].get
$.paths['/api/account/secret'].get
$.paths['/api/account/secret/regenerate'].post
$.paths['/api/subscriptions/opt-out'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Lusha Webhooks API
  version: 1.0.0
extends: openapi/lusha-webhooks-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 11
- target: $.paths['/api/subscriptions'].get
  update:
    x-apievangelist-phrasing:
      intent: List webhook subscriptions
      effect: read
      questions:
      - Which webhook subscriptions do I have set up?
      - How do I page through more than ten webhook subscriptions?
      instructions:
      - text: List my webhook subscriptions.
      - text: Show {limit} webhook subscriptions starting at offset {offset}.
        slots:
          limit: query.limit
          offset: query.offset
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/subscriptions'].post
  update:
    x-apievangelist-phrasing:
      intent: Subscribe a webhook to signal events
      effect: write
      questions:
      - How do I get real-time signal notifications sent to my server?
      - How many webhook subscriptions can I create in one request?
      - What happens if my webhook endpoint keeps failing?
      instructions:
      - text: Create webhook subscriptions {subscriptions} with defaults {defaults}.
        slots:
          subscriptions: requestBody.subscriptions
          defaults: requestBody.defaults
      - text: 'Set up signal webhooks named {name}: {subscriptions}, using defaults {defaults}.'
        slots:
          name: requestBody.name
          subscriptions: requestBody.subscriptions
          defaults: requestBody.defaults
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/subscriptions/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one webhook subscription
      effect: read
      questions:
      - How do I see the settings of one webhook subscription?
      - Is a particular webhook subscription still active?
      instructions:
      - text: Show webhook subscription {id}.
        slots:
          id: path.id
      - text: Check whether webhook subscription {id} is active.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/subscriptions/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change or reactivate a webhook subscription
      effect: write
      questions:
      - How do I change the URL a webhook subscription posts to?
      - Can I re-enable a webhook subscription that was auto-disabled?
      - Can I rotate the secret for a single subscription?
      instructions:
      - text: Point webhook subscription {id} at {url}.
        slots:
          id: path.id
          url: requestBody.url
      - text: Reactivate webhook subscription {id}.
        slots:
          id: path.id
      - text: Change subscription {id} to listen for {signalTypes}.
        slots:
          id: path.id
          signalTypes: requestBody.signalTypes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/subscriptions/{id}/test'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a test event to a webhook
      effect: write
      questions:
      - How do I check my webhook endpoint works before going live?
      - Do test webhook deliveries use up credits?
      - Can I run just a quick HTTP check on a subscription?
      instructions:
      - text: Send a test signal to webhook subscription {id}.
        slots:
          id: path.id
      - text: Test subscription {id} in {mode} mode.
        slots:
          id: path.id
          mode: query.mode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/subscriptions/delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete webhook subscriptions
      effect: destructive
      questions:
      - How do I delete several webhook subscriptions at once?
      - What happens if only some webhook deletions succeed?
      instructions:
      - text: Delete webhook subscriptions {ids}.
        slots:
          ids: requestBody.ids
      - text: Remove the subscriptions {ids} and report which ones failed.
        slots:
          ids: requestBody.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/audit-logs'].get
  update:
    x-apievangelist-phrasing:
      intent: View webhook delivery logs
      effect: read
      questions:
      - Why did my webhook deliveries fail?
      - Can I see only failed deliveries for one subscription?
      - How long are webhook delivery logs kept?
      instructions:
      - text: Show webhook delivery logs for subscription {subscriptionId}.
        slots:
          subscriptionId: query.subscriptionId
      - text: List webhook deliveries with status {status}.
        slots:
          status: query.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/audit-logs/stats'].get
  update:
    x-apievangelist-phrasing:
      intent: Get webhook delivery statistics
      effect: read
      questions:
      - What's my webhook delivery success rate?
      - How many deliveries failed for a given subscription overall?
      instructions:
      - text: Show delivery statistics for my webhooks.
      - text: Summarize delivery stats for subscription {subscriptionId}.
        slots:
          subscriptionId: query.subscriptionId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/account/secret'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the account webhook secret
      effect: read
      questions:
      - Where do I find the secret to verify webhook signatures?
      - What is my current account-wide webhook secret?
      instructions:
      - text: Show my account webhook secret.
      - text: Get the secret I use to verify incoming webhooks.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/account/secret/regenerate'].post
  update:
    x-apievangelist-phrasing:
      intent: Rotate the account webhook secret
      effect: destructive
      questions:
      - How do I rotate my webhook signing secret?
      - Does regenerating the account secret affect all my subscriptions?
      instructions:
      - text: Regenerate my account webhook secret.
      - text: Rotate the webhook secret for every subscription on my account.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/subscriptions/opt-out'].post
  update:
    x-apievangelist-phrasing:
      intent: Get notified when contacts opt out
      effect: write
      questions:
      - How do I learn when a contact asks to be removed so I can update my CRM?
      - Can I receive a webhook for data processing opt-outs?
      instructions:
      - text: Send opt-out notifications for {entityType} to {url}.
        slots:
          entityType: requestBody.entityType
          url: requestBody.url
      - text: Create an opt-out webhook named {name} posting {entityType} removals to {url}.
        slots:
          name: requestBody.name
          entityType: requestBody.entityType
          url: requestBody.url
      method: generated
      generated: '2026-09-26'