Slack · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Slack Files API

12 actions 12 updates phrasing extends openapi/slack-files-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 12

$.info
$.paths['/files.info'].get
$.paths['/files.list'].get
$.paths['/files.remote.info'].get
$.paths['/files.remote.list'].get
$.paths['/files.remote.remove'].post
$.paths['/files.remote.share'].get
$.paths['/files.remote.update'].post
$.paths['/files.revokePublicURL'].post
$.paths['/files.sharedPublicURL'].post
$.paths['/files.upload'].post
$.paths['/files.delete'].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 Files API
  version: 1.0.0
extends: openapi/slack-files-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: 11
- target: $.paths['/files.info'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details about a file
      effect: read
      questions:
      - What are the details of a file that was uploaded, like its name, size and who shared it?
      - Can I page through the comments on a file when I look it up?
      instructions:
      - text: Get details for file {file}.
        slots:
          file: query.file
      - text: Show file {file} with the next {limit} comments after cursor {cursor}.
        slots:
          file: query.file
          limit: query.limit
          cursor: query.cursor
      method: generated
      generated: '2026-09-26'
- target: $.paths['/files.list'].get
  update:
    x-apievangelist-phrasing:
      intent: List files shared in the workspace
      effect: read
      questions:
      - Which files has a given user uploaded?
      - Can I list only images or PDFs shared in one channel within a date range?
      instructions:
      - text: List files uploaded by user {user}.
        slots:
          user: query.user
      - text: List files of type {types} in {channel} shared between {ts_from} and {ts_to}.
        slots:
          types: query.types
          channel: query.channel
          ts_from: query.ts_from
          ts_to: query.ts_to
      method: generated
      generated: '2026-09-26'
- target: $.paths['/files.remote.info'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details about one remote file
      effect: read
      questions:
      - How do I look up a remote file I added from my own service?
      - Can I find a remote file by my own external ID instead of its file ID?
      instructions:
      - text: Get details of remote file {file}.
        slots:
          file: query.file
      - text: Look up the remote file with external ID {external_id}.
        slots:
          external_id: query.external_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/files.remote.list'].get
  update:
    x-apievangelist-phrasing:
      intent: List remote files added to the workspace
      effect: read
      questions:
      - Which remote files from external services have been added to Slack?
      - Can I list remote files shared in one channel during a time window?
      instructions:
      - text: List all remote files added to the workspace.
      - text: List remote files in {channel} added between {ts_from} and {ts_to}.
        slots:
          channel: query.channel
          ts_from: query.ts_from
          ts_to: query.ts_to
      method: generated
      generated: '2026-09-26'
- target: $.paths['/files.remote.remove'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove a remote file
      effect: destructive
      questions:
      - Can I remove a remote file my app added once it is deleted on our side?
      - Is removing a remote file possible using only my external ID?
      instructions:
      - text: Remove remote file {file}.
        slots:
          file: requestBody.file
      - text: Remove the remote file with external ID {external_id}.
        slots:
          external_id: requestBody.external_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/files.remote.share'].get
  update:
    x-apievangelist-phrasing:
      intent: Share a remote file into channels
      effect: write
      questions:
      - How do I post a remote file into a channel so people can see it?
      - Can one remote file be shared into several channels at once?
      instructions:
      - text: Share remote file {file} into channels {channels}.
        slots:
          file: query.file
          channels: query.channels
      - text: Post the remote file with external ID {external_id} to {channels}.
        slots:
          external_id: query.external_id
          channels: query.channels
      method: generated
      generated: '2026-09-26'
- target: $.paths['/files.remote.update'].post
  update:
    x-apievangelist-phrasing:
      intent: Update an existing remote file
      effect: write
      questions:
      - Can I change the title or URL of a remote file after adding it?
      - What remote file details, like the preview image or searchable contents, can I update?
      instructions:
      - text: Rename remote file {file} to {title}.
        slots:
          file: requestBody.file
          title: requestBody.title
      - text: Point the remote file with external ID {external_id} to the new URL {external_url}.
        slots:
          external_id: requestBody.external_id
          external_url: requestBody.external_url
      method: generated
      generated: '2026-09-26'
- target: $.paths['/files.revokePublicURL'].post
  update:
    x-apievangelist-phrasing:
      intent: Revoke a file's public sharing link
      effect: destructive
      questions:
      - How do I stop a file from being publicly accessible outside the workspace?
      - Can I turn off an external link I created for a file earlier?
      instructions:
      - text: Revoke public sharing for file {file}.
        slots:
          file: requestBody.file
      - text: Disable the external public link on {file}.
        slots:
          file: requestBody.file
      method: generated
      generated: '2026-09-26'
- target: $.paths['/files.sharedPublicURL'].post
  update:
    x-apievangelist-phrasing:
      intent: Enable public sharing for a file
      effect: write
      questions:
      - Can I create a public link to a file for people outside Slack?
      - What is needed to make an uploaded file externally shareable?
      instructions:
      - text: Enable a public sharing URL for file {file}.
        slots:
          file: requestBody.file
      - text: Make {file} shareable with people outside the workspace.
        slots:
          file: requestBody.file
      method: generated
      generated: '2026-09-26'
- target: $.paths['/files.upload'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload a file to channels
      effect: write
      questions:
      - How do I upload a file and share it in a channel?
      - Can I create a text snippet from content instead of uploading a file?
      - Is it possible to upload a file straight into a thread with a comment?
      instructions:
      - text: Upload {filename} to channels {channels} titled {title}.
        slots:
          filename: requestBody.filename
          channels: requestBody.channels
          title: requestBody.title
      - text: Create a snippet from {content} and post it in {channels}.
        slots:
          content: requestBody.content
          channels: requestBody.channels
      - text: Upload a file into thread {thread_ts} with the comment {initial_comment}.
        slots:
          thread_ts: requestBody.thread_ts
          initial_comment: requestBody.initial_comment
      method: generated
      generated: '2026-09-26'
- target: $.paths['/files.delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete a file
      effect: destructive
      questions:
      - How do I permanently delete a file from the workspace?
      - Can my app delete a file someone uploaded by mistake?
      instructions:
      - text: Delete file {file}.
        slots:
          file: requestBody.file
      - text: Permanently remove uploaded file {file} from the workspace.
        slots:
          file: requestBody.file
      method: generated
      generated: '2026-09-26'