Slack · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Slack Canvases API

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

What the actions change

x-apievangelist-phrasing

Targets 7

$.info
$.paths['/canvases.create'].post
$.paths['/canvases.delete'].post
$.paths['/canvases.edit'].post
$.paths['/canvases.access.delete'].post
$.paths['/canvases.access.set'].post
$.paths['/canvases.sections.lookup'].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 Slack Canvases API
  version: 1.0.0
extends: openapi/slack-canvases-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 6
- target: $.paths['/canvases.create'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a canvas
      effect: write
      questions:
      - How do I create a new standalone canvas in Slack?
      - Can a canvas be created with starting content already in it?
      instructions:
      - text: Create a canvas titled {title}.
        slots:
          title: requestBody.title
      - text: Create canvas {title} with the content {document_content}.
        slots:
          title: requestBody.title
          document_content: requestBody.document_content
      method: generated
      generated: '2026-09-26'
- target: $.paths['/canvases.delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete a canvas
      effect: destructive
      questions:
      - Can I permanently delete a canvas I no longer need?
      - What ID do I pass to remove a canvas?
      instructions:
      - text: Delete canvas {canvas_id}.
        slots:
          canvas_id: requestBody.canvas_id
      - text: Remove the canvas {canvas_id} for good.
        slots:
          canvas_id: requestBody.canvas_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/canvases.edit'].post
  update:
    x-apievangelist-phrasing:
      intent: Edit a canvas's content
      effect: write
      questions:
      - How can I insert, replace or delete sections in an existing canvas?
      - Is it possible to apply several edits to a canvas in one call?
      instructions:
      - text: Apply changes {changes} to canvas {canvas_id}.
        slots:
          changes: requestBody.changes
          canvas_id: requestBody.canvas_id
      - text: Edit canvas {canvas_id} by replacing sections with {changes}.
        slots:
          canvas_id: requestBody.canvas_id
          changes: requestBody.changes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/canvases.access.delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove people's access to a canvas
      effect: write
      questions:
      - How do I take away someone's access to a canvas?
      - Can I revoke canvas access for several users at once?
      instructions:
      - text: Remove access to canvas {canvas_id} for users {user_ids}.
        slots:
          canvas_id: requestBody.canvas_id
          user_ids: requestBody.user_ids
      - text: Revoke canvas {canvas_id} access from {user_ids}.
        slots:
          canvas_id: requestBody.canvas_id
          user_ids: requestBody.user_ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/canvases.access.set'].post
  update:
    x-apievangelist-phrasing:
      intent: Grant view or edit access to a canvas
      effect: write
      questions:
      - Can I give a channel read-only access to a canvas?
      - Which access levels can be granted on a canvas?
      instructions:
      - text: Give users {user_ids} {access_level} access to canvas {canvas_id}.
        slots:
          user_ids: requestBody.user_ids
          access_level: requestBody.access_level
          canvas_id: requestBody.canvas_id
      - text: Set channels {channel_ids} to {access_level} on canvas {canvas_id}.
        slots:
          channel_ids: requestBody.channel_ids
          access_level: requestBody.access_level
          canvas_id: requestBody.canvas_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/canvases.sections.lookup'].post
  update:
    x-apievangelist-phrasing:
      intent: Find sections in a canvas
      effect: read
      questions:
      - How do I locate a specific section of a canvas before editing it?
      - Can I look up canvas sections by type, like headers?
      instructions:
      - text: Look up sections in canvas {canvas_id} matching {criteria}.
        slots:
          canvas_id: requestBody.canvas_id
          criteria: requestBody.criteria
      - text: Find the header sections of canvas {canvas_id} using criteria {criteria}.
        slots:
          canvas_id: requestBody.canvas_id
          criteria: requestBody.criteria
      method: generated
      generated: '2026-09-26'