Knock · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Knock Providers API

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

$.info
$.paths['/v1/providers/slack/{channel_id}/channels'].get
$.paths['/v1/providers/ms-teams/{channel_id}/auth_check'].get
$.paths['/v1/providers/slack/{channel_id}/auth_check'].get
$.paths['/v1/providers/ms-teams/{channel_id}/channels'].get
$.paths['/v1/providers/slack/{channel_id}/revoke_access'].put
$.paths['/v1/providers/ms-teams/{channel_id}/teams'].get
$.paths['/v1/providers/ms-teams/{channel_id}/revoke_access'].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 Providers API
  version: 1.0.0
extends: openapi/knock-app-providers-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: 7
- target: $.paths['/v1/providers/slack/{channel_id}/channels'].get
  update:
    x-apievangelist-phrasing:
      intent: List Slack channels in a workspace
      effect: read
      questions:
      - How do I let a customer pick which Slack channel to send notifications to?
      - Can I exclude archived Slack channels from the list?
      instructions:
      - text: List Slack channels for channel {channel_id} using token object {access_token_object}.
        slots:
          channel_id: path.channel_id
          access_token_object: query.access_token_object
      - text: List Slack channels for {channel_id} and {access_token_object}, limited to {limit}.
        slots:
          channel_id: path.channel_id
          access_token_object: query.access_token_object
          limit: query.query_options.limit
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/providers/ms-teams/{channel_id}/auth_check'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a Microsoft Teams connection
      effect: read
      questions:
      - How do I verify that a customer has authorized Microsoft Teams?
      - Is my Teams tenant object connected?
      instructions:
      - text: Check Microsoft Teams auth for channel {channel_id} and tenant object {ms_teams_tenant_object}.
        slots:
          channel_id: path.channel_id
          ms_teams_tenant_object: query.ms_teams_tenant_object
      - text: Verify the Teams connection on {ms_teams_tenant_object} for channel {channel_id}.
        slots:
          channel_id: path.channel_id
          ms_teams_tenant_object: query.ms_teams_tenant_object
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/providers/slack/{channel_id}/auth_check'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a Slack connection
      effect: read
      questions:
      - How do I confirm a Slack workspace connection is still authenticated?
      - Is the Slack token on my object valid?
      instructions:
      - text: Check Slack auth for channel {channel_id} with token object {access_token_object}.
        slots:
          channel_id: path.channel_id
          access_token_object: query.access_token_object
      - text: Verify the Slack connection on {access_token_object} for channel {channel_id}.
        slots:
          channel_id: path.channel_id
          access_token_object: query.access_token_object
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/providers/ms-teams/{channel_id}/channels'].get
  update:
    x-apievangelist-phrasing:
      intent: List channels in a Microsoft Teams team
      effect: read
      questions:
      - How do I list the channels inside a customer's Microsoft Teams team?
      - Are private Teams channels included by default?
      instructions:
      - text: List Teams channels in team {team_id} for channel {channel_id} and tenant object {ms_teams_tenant_object}.
        slots:
          channel_id: path.channel_id
          ms_teams_tenant_object: query.ms_teams_tenant_object
          team_id: query.team_id
      - text: Show the channels of Microsoft Teams team {team_id} via {ms_teams_tenant_object} on {channel_id}.
        slots:
          channel_id: path.channel_id
          ms_teams_tenant_object: query.ms_teams_tenant_object
          team_id: query.team_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/providers/slack/{channel_id}/revoke_access'].put
  update:
    x-apievangelist-phrasing:
      intent: Revoke Slack access
      effect: destructive
      questions:
      - How do I disconnect a customer's Slack workspace?
      - Can I revoke the Slack token stored on an object?
      instructions:
      - text: Revoke Slack access for channel {channel_id} on token object {access_token_object}.
        slots:
          channel_id: path.channel_id
          access_token_object: query.access_token_object
      - text: Disconnect Slack from {access_token_object} for channel {channel_id}.
        slots:
          channel_id: path.channel_id
          access_token_object: query.access_token_object
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/providers/ms-teams/{channel_id}/teams'].get
  update:
    x-apievangelist-phrasing:
      intent: List Microsoft Teams teams in a tenant
      effect: read
      questions:
      - How do I list the teams in a customer's Microsoft Entra tenant?
      - Can I page through Teams teams with a skip token?
      instructions:
      - text: List Microsoft Teams teams for channel {channel_id} and tenant object {ms_teams_tenant_object}.
        slots:
          channel_id: path.channel_id
          ms_teams_tenant_object: query.ms_teams_tenant_object
      - text: Show the first {top} teams in the Entra tenant on {ms_teams_tenant_object} for channel {channel_id}.
        slots:
          channel_id: path.channel_id
          ms_teams_tenant_object: query.ms_teams_tenant_object
          top: query.query_options.$top
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/providers/ms-teams/{channel_id}/revoke_access'].put
  update:
    x-apievangelist-phrasing:
      intent: Revoke Microsoft Teams access
      effect: destructive
      questions:
      - How do I disconnect a customer's Microsoft Teams tenant?
      - Can I remove the Entra tenant ID from a Teams tenant object?
      instructions:
      - text: Revoke Microsoft Teams access for channel {channel_id} on {ms_teams_tenant_object}.
        slots:
          channel_id: path.channel_id
          ms_teams_tenant_object: query.ms_teams_tenant_object
      - text: Disconnect the Entra tenant from {ms_teams_tenant_object} for channel {channel_id}.
        slots:
          channel_id: path.channel_id
          ms_teams_tenant_object: query.ms_teams_tenant_object
      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-providers-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.