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'