Knock · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Knock App Workflows API

10 actions 10 updates phrasing extends openapi/knock-app-workflows-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 10

$.info
$.paths['/v1/workflows/{workflow_key}/validate'].put
$.paths['/v1/workflows/{workflow_key}/run'].put
$.paths['/v1/workflows/{workflow_key}/steps/{step_ref}/preview_template'].post
$.paths['/v1/workflows'].get
$.paths['/v1/workflows/{workflow_key}/activate'].put
$.paths['/v1/workflows/{workflow_key}'].get
$.paths['/v1/workflows/{workflow_key}'].put
$.paths['/v1/workflows/{key}/trigger'].post
$.paths['/v1/workflows/{key}/cancel'].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 Knock App Workflows API
  version: 1.0.0
extends: openapi/knock-app-workflows-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: 9
- target: $.paths['/v1/workflows/{workflow_key}/validate'].put
  update:
    x-apievangelist-phrasing:
      intent: Validate a workflow without saving
      effect: read
      questions:
      - Can I check a workflow definition for errors before saving it?
      - Is there a dry run for workflow payloads?
      instructions:
      - text: Validate workflow payload {workflow} for {workflow_key} in {environment}.
        slots:
          workflow: requestBody.workflow
          workflow_key: path.workflow_key
          environment: query.environment
      - text: Check workflow {workflow_key} definition {workflow} without persisting it in {environment}.
        slots:
          workflow_key: path.workflow_key
          workflow: requestBody.workflow
          environment: query.environment
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/workflows/{workflow_key}/run'].put
  update:
    x-apievangelist-phrasing:
      intent: Run a committed workflow in an environment
      effect: write
      questions:
      - How do I run the latest committed version of a workflow in a chosen environment?
      - Can I run a workflow on a specific branch for testing?
      instructions:
      - text: Run workflow {workflow_key} in {environment} for {recipients}.
        slots:
          workflow_key: path.workflow_key
          environment: query.environment
          recipients: requestBody.recipients
      - text: Run committed workflow {workflow_key} on branch {branch} in {environment} for {recipients}.
        slots:
          workflow_key: path.workflow_key
          branch: query.branch
          environment: query.environment
          recipients: requestBody.recipients
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/workflows/{workflow_key}/steps/{step_ref}/preview_template'].post
  update:
    x-apievangelist-phrasing:
      intent: Preview a workflow step's template
      effect: read
      questions:
      - How do I see what a workflow step's message will look like for a recipient?
      - Can I render a channel step's template with sample data?
      instructions:
      - text: Preview step {step_ref} of workflow {workflow_key} for {recipient} in {environment}.
        slots:
          step_ref: path.step_ref
          workflow_key: path.workflow_key
          recipient: requestBody.recipient
          environment: query.environment
      - text: Render workflow {workflow_key} step {step_ref} for {recipient} with data {data} in {environment}.
        slots:
          workflow_key: path.workflow_key
          step_ref: path.step_ref
          recipient: requestBody.recipient
          data: requestBody.data
          environment: query.environment
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/workflows'].get
  update:
    x-apievangelist-phrasing:
      intent: List workflows
      effect: read
      questions:
      - Which workflows are defined in this environment?
      - In what order are workflows listed?
      instructions:
      - text: List workflows in {environment}.
        slots:
          environment: query.environment
      - text: Show {limit} workflows on branch {branch} in {environment}.
        slots:
          limit: query.limit
          branch: query.branch
          environment: query.environment
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/workflows/{workflow_key}/activate'].put
  update:
    x-apievangelist-phrasing:
      intent: Activate or deactivate a workflow
      effect: write
      questions:
      - How do I turn a workflow off in production?
      - Does activating a workflow take effect immediately?
      instructions:
      - text: Set workflow {workflow_key} status to {status} in {environment}.
        slots:
          workflow_key: path.workflow_key
          status: requestBody.status
          environment: query.environment
      - text: Activate the {workflow_key} workflow in {environment} with status {status}.
        slots:
          workflow_key: path.workflow_key
          environment: query.environment
          status: requestBody.status
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/workflows/{workflow_key}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a workflow by key
      effect: read
      questions:
      - How do I see a workflow's steps and settings?
      - Can I fetch a workflow without its uncommitted changes?
      instructions:
      - text: Get workflow {workflow_key} in {environment}.
        slots:
          workflow_key: path.workflow_key
          environment: query.environment
      - text: Show the {workflow_key} workflow definition.
        slots:
          workflow_key: path.workflow_key
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/workflows/{workflow_key}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or update a workflow
      effect: write
      questions:
      - How do I create a new notification workflow in development?
      - Can I commit a workflow change as I save it?
      instructions:
      - text: Upsert workflow {workflow_key} in {environment} with {workflow}.
        slots:
          workflow_key: path.workflow_key
          environment: query.environment
          workflow: requestBody.workflow
      - text: Save workflow {workflow_key} and commit with message {commit_message} in {environment}.
        slots:
          workflow_key: path.workflow_key
          commit_message: query.commit_message
          environment: query.environment
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/workflows/{key}/trigger'].post
  update:
    x-apievangelist-phrasing:
      intent: Trigger a workflow by key
      effect: write
      questions:
      - How do I send a notification by triggering a workflow for some users?
      - Can I pass a cancellation key when triggering so I can cancel later?
      - Do Knock workflow triggers run synchronously?
      instructions:
      - text: Trigger workflow {key} for {recipients}.
        slots:
          key: path.key
          recipients: requestBody.recipients
      - text: Trigger workflow {key} for {recipients} with data {data} and cancellation key {cancellation_key}.
        slots:
          key: path.key
          recipients: requestBody.recipients
          data: requestBody.data
          cancellation_key: requestBody.cancellation_key
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/workflows/{key}/cancel'].post
  update:
    x-apievangelist-phrasing:
      intent: Cancel queued runs of a workflow
      effect: destructive
      questions:
      - How do I cancel a delayed notification before it sends?
      - Can I cancel a workflow run for only certain recipients?
      instructions:
      - text: Cancel workflow {key} runs with cancellation key {cancellation_key}.
        slots:
          key: path.key
          cancellation_key: requestBody.cancellation_key
      - text: Cancel workflow {key} for {recipients} using cancellation key {cancellation_key}.
        slots:
          key: path.key
          recipients: requestBody.recipients
          cancellation_key: requestBody.cancellation_key
      method: generated
      generated: '2026-10-01'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/knock-app-workflows-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.