Knock · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Knock Management API (mAPI) Broadcasts API

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

What the actions change

x-apievangelist-phrasing

Targets 7

$.info
$.paths['/v1/broadcasts/{broadcast_key}/send'].put
$.paths['/v1/broadcasts/{broadcast_key}/validate'].put
$.paths['/v1/broadcasts'].get
$.paths['/v1/broadcasts/{broadcast_key}'].get
$.paths['/v1/broadcasts/{broadcast_key}'].put
$.paths['/v1/broadcasts/{broadcast_key}/cancel'].put

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 Knock Management API (mAPI) Broadcasts API
  version: 1.0.0
extends: openapi/knock-app-broadcasts-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: 6
- target: $.paths['/v1/broadcasts/{broadcast_key}/send'].put
  update:
    x-apievangelist-phrasing:
      intent: Send or schedule a broadcast
      effect: write
      questions:
      - How do I send a broadcast right away?
      - Can I schedule a broadcast to go out at a later time?
      instructions:
      - text: Send broadcast {broadcast_key} now in {environment}.
        slots:
          broadcast_key: path.broadcast_key
          environment: query.environment
      - text: Schedule broadcast {broadcast_key} to send at {send_at} in {environment}.
        slots:
          broadcast_key: path.broadcast_key
          send_at: requestBody.send_at
          environment: query.environment
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/broadcasts/{broadcast_key}/validate'].put
  update:
    x-apievangelist-phrasing:
      intent: Validate a broadcast without saving
      effect: read
      questions:
      - Can I check a broadcast payload for errors before saving it?
      - Is there a way to dry-run a broadcast definition?
      instructions:
      - text: Validate broadcast payload {broadcast} for key {broadcast_key} in {environment}.
        slots:
          broadcast: requestBody.broadcast
          broadcast_key: path.broadcast_key
          environment: query.environment
      - text: Check broadcast {broadcast_key} definition {broadcast} without persisting it in {environment}.
        slots:
          broadcast_key: path.broadcast_key
          broadcast: requestBody.broadcast
          environment: query.environment
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/broadcasts'].get
  update:
    x-apievangelist-phrasing:
      intent: List broadcasts in an environment
      effect: read
      questions:
      - Which broadcasts have been created in this environment, newest first?
      - Can I page through broadcasts on a specific branch?
      instructions:
      - text: List broadcasts in {environment}.
        slots:
          environment: query.environment
      - text: Show the latest {limit} broadcasts on branch {branch} in {environment}.
        slots:
          limit: query.limit
          branch: query.branch
          environment: query.environment
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/broadcasts/{broadcast_key}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a broadcast by key
      effect: read
      questions:
      - How do I see the details and status of one broadcast?
      - Can I fetch a broadcast without its uncommitted edits?
      instructions:
      - text: Get broadcast {broadcast_key} in {environment}.
        slots:
          broadcast_key: path.broadcast_key
          environment: query.environment
      - text: Show me the {broadcast_key} broadcast.
        slots:
          broadcast_key: path.broadcast_key
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/broadcasts/{broadcast_key}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or update a broadcast
      effect: write
      questions:
      - How do I create a broadcast or edit an existing draft?
      - Can I update a broadcast's content by its key?
      instructions:
      - text: Upsert broadcast {broadcast_key} in {environment} with {broadcast}.
        slots:
          broadcast_key: path.broadcast_key
          environment: query.environment
          broadcast: requestBody.broadcast
      - text: Save a new broadcast {broadcast_key} using definition {broadcast} in {environment}.
        slots:
          broadcast_key: path.broadcast_key
          broadcast: requestBody.broadcast
          environment: query.environment
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/broadcasts/{broadcast_key}/cancel'].put
  update:
    x-apievangelist-phrasing:
      intent: Cancel a scheduled broadcast
      effect: destructive
      questions:
      - How do I stop a broadcast that's scheduled but hasn't gone out yet?
      - Does cancelling a scheduled broadcast put it back into draft?
      instructions:
      - text: Cancel scheduled broadcast {broadcast_key} in {environment}.
        slots:
          broadcast_key: path.broadcast_key
          environment: query.environment
      - text: Unschedule the {broadcast_key} broadcast and return it to draft.
        slots:
          broadcast_key: path.broadcast_key
      method: generated
      generated: '2026-10-01'