Knock · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Knock App Channel data API

7 actions 7 updates phrasing extends openapi/knock-app-channel-data-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/objects/{collection}/{object_id}/channel_data/{channel_id}'].get
$.paths['/v1/objects/{collection}/{object_id}/channel_data/{channel_id}'].put
$.paths['/v1/objects/{collection}/{object_id}/channel_data/{channel_id}'].delete
$.paths['/v1/users/{user_id}/channel_data/{channel_id}'].get
$.paths['/v1/users/{user_id}/channel_data/{channel_id}'].put
$.paths['/v1/users/{user_id}/channel_data/{channel_id}'].delete

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 Channel data API
  version: 1.0.0
extends: openapi/knock-app-channel-data-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/objects/{collection}/{object_id}/channel_data/{channel_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an object's channel data
      effect: read
      questions:
      - How do I see the channel data stored on an object, like a webhook URL for a project?
      - Which tokens or connections are saved for an object on one channel?
      instructions:
      - text: Get channel data for object {object_id} in {collection} on channel {channel_id}.
        slots:
          object_id: path.object_id
          collection: path.collection
          channel_id: path.channel_id
      - text: Show what's stored for {collection}/{object_id} on channel {channel_id}.
        slots:
          collection: path.collection
          object_id: path.object_id
          channel_id: path.channel_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/objects/{collection}/{object_id}/channel_data/{channel_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Set an object's channel data
      effect: write
      questions:
      - How do I save a chat connection or webhook URL on an object?
      - Will setting channel data create the object if it doesn't exist?
      instructions:
      - text: Set channel data {data} for object {object_id} in {collection} on channel {channel_id}.
        slots:
          data: requestBody.data
          object_id: path.object_id
          collection: path.collection
          channel_id: path.channel_id
      - text: Store {data} as {collection}/{object_id}'s data for channel {channel_id}.
        slots:
          data: requestBody.data
          collection: path.collection
          object_id: path.object_id
          channel_id: path.channel_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/objects/{collection}/{object_id}/channel_data/{channel_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove an object's channel data
      effect: destructive
      questions:
      - How do I clear the channel data on an object?
      - Can I disconnect one channel from an object without deleting the object?
      instructions:
      - text: Unset channel {channel_id} data for object {object_id} in {collection}.
        slots:
          channel_id: path.channel_id
          object_id: path.object_id
          collection: path.collection
      - text: Clear {collection}/{object_id}'s stored data for channel {channel_id}.
        slots:
          collection: path.collection
          object_id: path.object_id
          channel_id: path.channel_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/channel_data/{channel_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's channel data
      effect: read
      questions:
      - How do I see a user's push tokens or chat connection for one channel?
      - What channel data is saved on a particular user?
      instructions:
      - text: Get channel {channel_id} data for user {user_id}.
        slots:
          channel_id: path.channel_id
          user_id: path.user_id
      - text: Show user {user_id}'s stored tokens for channel {channel_id}.
        slots:
          user_id: path.user_id
          channel_id: path.channel_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/channel_data/{channel_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Set a user's channel data
      effect: write
      questions:
      - How do I register a user's device push tokens on a channel?
      - Does setting a user's channel data create the user if they're new?
      instructions:
      - text: Set channel {channel_id} data for user {user_id} to {data}.
        slots:
          channel_id: path.channel_id
          user_id: path.user_id
          data: requestBody.data
      - text: Save push tokens {data} on user {user_id} for channel {channel_id}.
        slots:
          data: requestBody.data
          user_id: path.user_id
          channel_id: path.channel_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/channel_data/{channel_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a user's channel data
      effect: destructive
      questions:
      - How do I delete a user's tokens for a channel when they log out?
      - Can I clear one channel's data from a user and keep the user?
      instructions:
      - text: Unset channel {channel_id} data for user {user_id}.
        slots:
          channel_id: path.channel_id
          user_id: path.user_id
      - text: Remove user {user_id}'s stored data for channel {channel_id}.
        slots:
          user_id: path.user_id
          channel_id: path.channel_id
      method: generated
      generated: '2026-10-01'