IntegrationOS · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for One Webhook Subscriptions API

14 actions 14 updates phrasing extends openapi/integration-os-webhook-subscriptions-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for IntegrationOS's API. It is a proposal applied on top of the contract, not a document IntegrationOS publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 14

$.info
$.paths['/v1/webhooks/subscriptions/by-key/{key}'].put
$.paths['/v1/webhooks/subscriptions/organizations/{org_id}'].get
$.paths['/v1/webhooks/subscriptions/organizations/{org_id}'].post
$.paths['/v1/webhooks/subscriptions/organizations/{org_id}/projects/{project_id}'].get
$.paths['/v1/webhooks/subscriptions/organizations/{org_id}/projects/{project_id}'].post
$.paths['/v1/webhooks/subscriptions/organizations/{org_id}/projects/{project_id}/{id}'].get
$.paths['/v1/webhooks/subscriptions/organizations/{org_id}/projects/{project_id}/{id}'].delete
$.paths['/v1/webhooks/subscriptions/organizations/{org_id}/projects/{project_id}/{id}'].patch
$.paths['/v1/webhooks/subscriptions/organizations/{org_id}/projects/{project_id}/{id}/test'].post
$.paths['/v1/webhooks/subscriptions/organizations/{org_id}/{id}'].get
$.paths['/v1/webhooks/subscriptions/organizations/{org_id}/{id}'].delete
$.paths['/v1/webhooks/subscriptions/organizations/{org_id}/{id}'].patch
$.paths['/v1/webhooks/subscriptions/organizations/{org_id}/{id}/test'].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 One Webhook Subscriptions API
  version: 1.0.0
extends: openapi/integration-os-webhook-subscriptions-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 13
- target: $.paths['/v1/webhooks/subscriptions/by-key/{key}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or reconcile a named webhook listener
      effect: write
      questions:
      - How can I register a webhook listener on every app boot without creating duplicates?
      - Is a signing secret required when I register a listener under a stable name?
      instructions:
      - text: Register listener {key} sending {events} to {url} signed with {secret}.
        slots:
          key: path.key
          events: requestBody.events
          url: requestBody.url
          secret: requestBody.secret
      - text: Reconcile my named listener {key} so it points at {url} for events {events}, secret {secret}.
        slots:
          key: path.key
          url: requestBody.url
          events: requestBody.events
          secret: requestBody.secret
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/webhooks/subscriptions/organizations/{org_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: List organization webhook subscriptions
      effect: read
      questions:
      - Which webhook URLs are subscribed at the organization level?
      - Can I page through my org's webhook subscriptions?
      instructions:
      - text: List webhook subscriptions for organization {org_id}.
        slots:
          org_id: path.org_id
      - text: Show page {page} of org {org_id}'s webhook subscriptions.
        slots:
          page: query.page
          org_id: path.org_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/webhooks/subscriptions/organizations/{org_id}'].post
  update:
    x-apievangelist-phrasing:
      intent: Subscribe a URL to organization events
      effect: write
      questions:
      - How do I get webhooks for events across my whole organization?
      - Can I choose which event types an org webhook receives?
      instructions:
      - text: Subscribe {url} to org {org_id} events {events}.
        slots:
          url: requestBody.url
          org_id: path.org_id
          events: requestBody.events
      - text: Create an organization webhook in {org_id} for {events} at {url} with signing secret {secret}.
        slots:
          org_id: path.org_id
          events: requestBody.events
          url: requestBody.url
          secret: requestBody.secret
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/webhooks/subscriptions/organizations/{org_id}/projects/{project_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: List project webhook subscriptions
      effect: read
      questions:
      - Which webhooks are registered inside a specific project?
      - Can I list only one project's webhook subscriptions?
      instructions:
      - text: List webhook subscriptions in project {project_id} of org {org_id}.
        slots:
          project_id: path.project_id
          org_id: path.org_id
      - text: Show {limit} project webhooks per page for project {project_id}, organization {org_id}.
        slots:
          limit: query.limit
          project_id: path.project_id
          org_id: path.org_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/webhooks/subscriptions/organizations/{org_id}/projects/{project_id}'].post
  update:
    x-apievangelist-phrasing:
      intent: Subscribe a URL to project events
      effect: write
      questions:
      - How do I receive webhooks only for events inside one project?
      - Do project webhooks fire on organization-level activity?
      instructions:
      - text: Subscribe {url} to project {project_id} events {events} in org {org_id}.
        slots:
          url: requestBody.url
          project_id: path.project_id
          events: requestBody.events
          org_id: path.org_id
      - text: Create a project webhook for {project_id} (org {org_id}) sending {events} to {url}, signed with {secret}.
        slots:
          project_id: path.project_id
          org_id: path.org_id
          events: requestBody.events
          url: requestBody.url
          secret: requestBody.secret
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/webhooks/subscriptions/organizations/{org_id}/projects/{project_id}/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a project webhook subscription
      effect: read
      questions:
      - How is a particular project webhook configured?
      - Can I check which events one project subscription listens for?
      instructions:
      - text: Get project webhook subscription {id} in project {project_id}, org {org_id}.
        slots:
          id: path.id
          project_id: path.project_id
          org_id: path.org_id
      - text: Show the config of webhook {id} under project {project_id} in organization {org_id}.
        slots:
          id: path.id
          project_id: path.project_id
          org_id: path.org_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/webhooks/subscriptions/organizations/{org_id}/projects/{project_id}/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a project webhook subscription
      effect: destructive
      questions:
      - How do I permanently remove a webhook from a project?
      - Is deleting a project webhook permanent, or can it be recovered?
      instructions:
      - text: Delete project webhook subscription {id} in project {project_id}, org {org_id}.
        slots:
          id: path.id
          project_id: path.project_id
          org_id: path.org_id
      - text: Remove webhook {id} from project {project_id} of organization {org_id}.
        slots:
          id: path.id
          project_id: path.project_id
          org_id: path.org_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/webhooks/subscriptions/organizations/{org_id}/projects/{project_id}/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a project webhook subscription
      effect: write
      questions:
      - Can I change the delivery URL of an existing project webhook?
      - How do I add event types to a project subscription I already have?
      instructions:
      - text: Point project webhook {id} in project {project_id}, org {org_id}, at {url}.
        slots:
          id: path.id
          project_id: path.project_id
          org_id: path.org_id
          url: requestBody.url
      - text: Set events on project {project_id}'s subscription {id} (org {org_id}) to {events}.
        slots:
          project_id: path.project_id
          id: path.id
          org_id: path.org_id
          events: requestBody.events
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/webhooks/subscriptions/organizations/{org_id}/projects/{project_id}/{id}/test'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a test event to a project webhook
      effect: write
      questions:
      - How can I check that my receiver handles a project webhook before real events arrive?
      - Can I verify signature validation on a project subscription end-to-end?
      instructions:
      - text: Send a test event to project webhook {id} in project {project_id}, org {org_id}.
        slots:
          id: path.id
          project_id: path.project_id
          org_id: path.org_id
      - text: Fire a synthetic delivery at subscription {id} under project {project_id}, organization {org_id}.
        slots:
          id: path.id
          project_id: path.project_id
          org_id: path.org_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/webhooks/subscriptions/organizations/{org_id}/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an organization webhook subscription
      effect: read
      questions:
      - What URL and event types does an org webhook subscription have?
      - Is a given organization subscription active?
      instructions:
      - text: Get organization webhook subscription {id} in org {org_id}.
        slots:
          id: path.id
          org_id: path.org_id
      - text: Show org {org_id}'s webhook {id} settings.
        slots:
          id: path.id
          org_id: path.org_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/webhooks/subscriptions/organizations/{org_id}/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an organization webhook subscription
      effect: destructive
      questions:
      - How do I stop all deliveries to an org webhook by removing it?
      - Is deleting an organization subscription permanent?
      instructions:
      - text: Delete organization webhook subscription {id} in org {org_id}.
        slots:
          id: path.id
          org_id: path.org_id
      - text: Remove org {org_id}'s webhook {id} for good.
        slots:
          id: path.id
          org_id: path.org_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/webhooks/subscriptions/organizations/{org_id}/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update an organization webhook subscription
      effect: write
      questions:
      - Can I pause an org webhook by setting it inactive?
      - How do I rotate the signing secret on an organization subscription?
      instructions:
      - text: Set organization webhook {id} in org {org_id} to active {active}.
        slots:
          id: path.id
          org_id: path.org_id
          active: requestBody.active
      - text: Change the signing secret on org {org_id}'s subscription {id} to {secret}.
        slots:
          org_id: path.org_id
          id: path.id
          secret: requestBody.secret
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/webhooks/subscriptions/organizations/{org_id}/{id}/test'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a test event to an org webhook
      effect: write
      questions:
      - Can I test an organization webhook without waiting for a real event?
      - Is my org-level receiver reachable and verifying signatures?
      instructions:
      - text: Send a test event to organization webhook {id} in org {org_id}.
        slots:
          id: path.id
          org_id: path.org_id
      - text: Fire a synthetic delivery at org {org_id}'s subscription {id}.
        slots:
          id: path.id
          org_id: path.org_id
      method: generated
      generated: '2026-10-01'