Slack · Capability
Slack Files API — Files
Slack Files API — Files. 13 operations. Lead operation: Slack Post Files Comments Delete. Self-contained Naftiko capability covering one Slack business surface.
What You Can Do
POST
Postfilescommentsdelete
— Slack Post Files Comments Delete
/v1/files-comments-delete
POST
Postfilesdelete
— Slack Post Files Delete
/v1/files-delete
GET
Getfilesinfo
— Slack Get Files Info
/v1/files-info
GET
Getfileslist
— Slack Get Files List
/v1/files-list
POST
Postfilesremoteadd
— Slack Post Files Remote Add
/v1/files-remote-add
GET
Getfilesremoteinfo
— Slack Get Files Remote Info
/v1/files-remote-info
GET
Getfilesremotelist
— Slack Get Files Remote List
/v1/files-remote-list
POST
Postfilesremoteremove
— Slack Post Files Remote Remove
/v1/files-remote-remove
GET
Getfilesremoteshare
— Slack Get Files Remote Share
/v1/files-remote-share
POST
Postfilesremoteupdate
— Slack Post Files Remote Update
/v1/files-remote-update
POST
Postfilesrevokepublicurl
— Slack Post Files Revokepublicurl
/v1/files-revokepublicurl
POST
Postfilessharedpublicurl
— Slack Post Files Sharedpublicurl
/v1/files-sharedpublicurl
POST
Postfilesupload
— Slack Post Files Upload
/v1/files-upload
MCP Tools
slack-post-files-comments-delete
Slack Post Files Comments Delete
slack-post-files-delete
Slack Post Files Delete
slack-get-files-info
Slack Get Files Info
read-only
idempotent
slack-get-files-list
Slack Get Files List
read-only
idempotent
slack-post-files-remote-add
Slack Post Files Remote Add
slack-get-files-remote-info
Slack Get Files Remote Info
read-only
idempotent
slack-get-files-remote-list
Slack Get Files Remote List
read-only
idempotent
slack-post-files-remote-remove
Slack Post Files Remote Remove
slack-get-files-remote-share
Slack Get Files Remote Share
read-only
idempotent
slack-post-files-remote-update
Slack Post Files Remote Update
slack-post-files-revokepublicurl
Slack Post Files Revokepublicurl
slack-post-files-sharedpublicurl
Slack Post Files Sharedpublicurl
slack-post-files-upload
Slack Post Files Upload
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Slack Files API — Files
description: 'Slack Files API — Files. 13 operations. Lead operation: Slack Post Files Comments Delete. Self-contained Naftiko
capability covering one Slack business surface.'
tags:
- Slack
- Files
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SLACK_API_KEY: SLACK_API_KEY
capability:
consumes:
- type: http
namespace: files-files
baseUri: ''
description: Slack Files API — Files business capability. Self-contained, no shared references.
resources:
- name: files.comments.delete
path: /files.comments.delete
operations:
- name: postfilescommentsdelete
method: POST
description: Slack Post Files Comments Delete
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: token
in: header
type: string
description: 'Authentication token. Requires scope: `files:write:user`'
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: files.delete
path: /files.delete
operations:
- name: postfilesdelete
method: POST
description: Slack Post Files Delete
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: token
in: header
type: string
description: 'Authentication token. Requires scope: `files:write:user`'
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: files.info
path: /files.info
operations:
- name: getfilesinfo
method: GET
description: Slack Get Files Info
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: token
in: query
type: string
description: 'Authentication token. Requires scope: `files:read`'
- name: file
in: query
type: string
description: Specify a file by providing its ID.
- name: count
in: query
type: string
- name: page
in: query
type: string
- name: limit
in: query
type: integer
description: The maximum number of items to return. Fewer than the requested number of items may be returned, even
if the end of the list hasn't been reached.
- name: cursor
in: query
type: string
description: Parameter for pagination. File comments are paginated for a single file. Set `cursor` equal to the
`next_cursor` attribute returned by the previous request's `r
- name: files.list
path: /files.list
operations:
- name: getfileslist
method: GET
description: Slack Get Files List
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: token
in: query
type: string
description: 'Authentication token. Requires scope: `files:read`'
- name: user
in: query
type: string
description: Filter files created by a single user.
- name: channel
in: query
type: string
description: Filter files appearing in a specific channel, indicated by its ID.
- name: ts_from
in: query
type: number
description: Filter files created after this timestamp (inclusive).
- name: ts_to
in: query
type: number
description: Filter files created before this timestamp (inclusive).
- name: types
in: query
type: string
description: Filter files by type ([see below](#file_types)). You can pass multiple values in the types argument,
like `types=spaces,snippets`.The default value is `all`, wh
- name: count
in: query
type: string
- name: page
in: query
type: string
- name: show_files_hidden_by_limit
in: query
type: boolean
description: Show truncated file info for files hidden due to being too old, and the team who owns the file being
over the file limit.
- name: files.remote.add
path: /files.remote.add
operations:
- name: postfilesremoteadd
method: POST
description: Slack Post Files Remote Add
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: files.remote.info
path: /files.remote.info
operations:
- name: getfilesremoteinfo
method: GET
description: Slack Get Files Remote Info
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: token
in: query
type: string
description: 'Authentication token. Requires scope: `remote_files:read`'
- name: file
in: query
type: string
description: Specify a file by providing its ID.
- name: external_id
in: query
type: string
description: Creator defined GUID for the file.
- name: files.remote.list
path: /files.remote.list
operations:
- name: getfilesremotelist
method: GET
description: Slack Get Files Remote List
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: token
in: query
type: string
description: 'Authentication token. Requires scope: `remote_files:read`'
- name: channel
in: query
type: string
description: Filter files appearing in a specific channel, indicated by its ID.
- name: ts_from
in: query
type: number
description: Filter files created after this timestamp (inclusive).
- name: ts_to
in: query
type: number
description: Filter files created before this timestamp (inclusive).
- name: limit
in: query
type: integer
description: The maximum number of items to return.
- name: cursor
in: query
type: string
description: Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute
returned by a previous request's `response_metadata`. Defaul
- name: files.remote.remove
path: /files.remote.remove
operations:
- name: postfilesremoteremove
method: POST
description: Slack Post Files Remote Remove
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: files.remote.share
path: /files.remote.share
operations:
- name: getfilesremoteshare
method: GET
description: Slack Get Files Remote Share
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: token
in: query
type: string
description: 'Authentication token. Requires scope: `remote_files:share`'
- name: file
in: query
type: string
description: Specify a file registered with Slack by providing its ID. Either this field or `external_id` or both
are required.
- name: external_id
in: query
type: string
description: The globally unique identifier (GUID) for the file, as set by the app registering the file with Slack. Either
this field or `file` or both are required.
- name: channels
in: query
type: string
description: Comma-separated list of channel IDs where the file will be shared.
- name: files.remote.update
path: /files.remote.update
operations:
- name: postfilesremoteupdate
method: POST
description: Slack Post Files Remote Update
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: files.revokePublicURL
path: /files.revokePublicURL
operations:
- name: postfilesrevokepublicurl
method: POST
description: Slack Post Files Revokepublicurl
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: token
in: header
type: string
description: 'Authentication token. Requires scope: `files:write:user`'
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: files.sharedPublicURL
path: /files.sharedPublicURL
operations:
- name: postfilessharedpublicurl
method: POST
description: Slack Post Files Sharedpublicurl
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: token
in: header
type: string
description: 'Authentication token. Requires scope: `files:write:user`'
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: files.upload
path: /files.upload
operations:
- name: postfilesupload
method: POST
description: Slack Post Files Upload
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
exposes:
- type: rest
namespace: files-files-rest
port: 8080
description: REST adapter for Slack Files API — Files. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/files-comments-delete
name: files-comments-delete
description: REST surface for files.comments.delete.
operations:
- method: POST
name: postfilescommentsdelete
description: Slack Post Files Comments Delete
call: files-files.postfilescommentsdelete
with:
token: rest.token
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/files-delete
name: files-delete
description: REST surface for files.delete.
operations:
- method: POST
name: postfilesdelete
description: Slack Post Files Delete
call: files-files.postfilesdelete
with:
token: rest.token
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/files-info
name: files-info
description: REST surface for files.info.
operations:
- method: GET
name: getfilesinfo
description: Slack Get Files Info
call: files-files.getfilesinfo
with:
token: rest.token
file: rest.file
count: rest.count
page: rest.page
limit: rest.limit
cursor: rest.cursor
outputParameters:
- type: object
mapping: $.
- path: /v1/files-list
name: files-list
description: REST surface for files.list.
operations:
- method: GET
name: getfileslist
description: Slack Get Files List
call: files-files.getfileslist
with:
token: rest.token
user: rest.user
channel: rest.channel
ts_from: rest.ts_from
ts_to: rest.ts_to
types: rest.types
count: rest.count
page: rest.page
show_files_hidden_by_limit: rest.show_files_hidden_by_limit
outputParameters:
- type: object
mapping: $.
- path: /v1/files-remote-add
name: files-remote-add
description: REST surface for files.remote.add.
operations:
- method: POST
name: postfilesremoteadd
description: Slack Post Files Remote Add
call: files-files.postfilesremoteadd
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/files-remote-info
name: files-remote-info
description: REST surface for files.remote.info.
operations:
- method: GET
name: getfilesremoteinfo
description: Slack Get Files Remote Info
call: files-files.getfilesremoteinfo
with:
token: rest.token
file: rest.file
external_id: rest.external_id
outputParameters:
- type: object
mapping: $.
- path: /v1/files-remote-list
name: files-remote-list
description: REST surface for files.remote.list.
operations:
- method: GET
name: getfilesremotelist
description: Slack Get Files Remote List
call: files-files.getfilesremotelist
with:
token: rest.token
channel: rest.channel
ts_from: rest.ts_from
ts_to: rest.ts_to
limit: rest.limit
cursor: rest.cursor
outputParameters:
- type: object
mapping: $.
- path: /v1/files-remote-remove
name: files-remote-remove
description: REST surface for files.remote.remove.
operations:
- method: POST
name: postfilesremoteremove
description: Slack Post Files Remote Remove
call: files-files.postfilesremoteremove
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/files-remote-share
name: files-remote-share
description: REST surface for files.remote.share.
operations:
- method: GET
name: getfilesremoteshare
description: Slack Get Files Remote Share
call: files-files.getfilesremoteshare
with:
token: rest.token
file: rest.file
external_id: rest.external_id
channels: rest.channels
outputParameters:
- type: object
mapping: $.
- path: /v1/files-remote-update
name: files-remote-update
description: REST surface for files.remote.update.
operations:
- method: POST
name: postfilesremoteupdate
description: Slack Post Files Remote Update
call: files-files.postfilesremoteupdate
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/files-revokepublicurl
name: files-revokepublicurl
description: REST surface for files.revokePublicURL.
operations:
- method: POST
name: postfilesrevokepublicurl
description: Slack Post Files Revokepublicurl
call: files-files.postfilesrevokepublicurl
with:
token: rest.token
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/files-sharedpublicurl
name: files-sharedpublicurl
description: REST surface for files.sharedPublicURL.
operations:
- method: POST
name: postfilessharedpublicurl
description: Slack Post Files Sharedpublicurl
call: files-files.postfilessharedpublicurl
with:
token: rest.token
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/files-upload
name: files-upload
description: REST surface for files.upload.
operations:
- method: POST
name: postfilesupload
description: Slack Post Files Upload
call: files-files.postfilesupload
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: files-files-mcp
port: 9090
transport: http
description: MCP adapter for Slack Files API — Files. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: slack-post-files-comments-delete
description: Slack Post Files Comments Delete
hints:
readOnly: false
destructive: false
idempotent: false
call: files-files.postfilescommentsdelete
with:
token: tools.token
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-post-files-delete
description: Slack Post Files Delete
hints:
readOnly: false
destructive: false
idempotent: false
call: files-files.postfilesdelete
with:
token: tools.token
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-get-files-info
description: Slack Get Files Info
hints:
readOnly: true
destructive: false
idempotent: true
call: files-files.getfilesinfo
with:
token: tools.token
file: tools.file
count: tools.count
page: tools.page
limit: tools.limit
cursor: tools.cursor
outputParameters:
- type: object
mapping: $.
- name: slack-get-files-list
description: Slack Get Files List
hints:
readOnly: true
destructive: false
idempotent: true
call: files-files.getfileslist
with:
token: tools.token
user: tools.user
channel: tools.channel
ts_from: tools.ts_from
ts_to: tools.ts_to
types: tools.types
count: tools.count
page: tools.page
show_files_hidden_by_limit: tools.show_files_hidden_by_limit
outputParameters:
- type: object
mapping: $.
- name: slack-post-files-remote-add
description: Slack Post Files Remote Add
hints:
readOnly: false
destructive: false
idempotent: false
call: files-files.postfilesremoteadd
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-get-files-remote-info
description: Slack Get Files Remote Info
hints:
readOnly: true
destructive: false
idempotent: true
call: files-files.getfilesremoteinfo
with:
token: tools.token
file: tools.file
external_id: tools.external_id
outputParameters:
- type: object
mapping: $.
- name: slack-get-files-remote-list
description: Slack Get Files Remote List
hints:
readOnly: true
destructive: false
idempotent: true
call: files-files.getfilesremotelist
with:
token: tools.token
channel: tools.channel
ts_from: tools.ts_from
ts_to: tools.ts_to
limit: tools.limit
cursor: tools.cursor
outputParameters:
- type: object
mapping: $.
- name: slack-post-files-remote-remove
description: Slack Post Files Remote Remove
hints:
readOnly: false
destructive: false
idempotent: false
call: files-files.postfilesremoteremove
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-get-files-remote-share
description: Slack Get Files Remote Share
hints:
readOnly: true
destructive: false
idempotent: true
call: files-files.getfilesremoteshare
with:
token: tools.token
file: tools.file
external_id: tools.external_id
channels: tools.channels
outputParameters:
- type: object
mapping: $.
- name: slack-post-files-remote-update
description: Slack Post Files Remote Update
hints:
readOnly: false
destructive: false
idempotent: false
call: files-files.postfilesremoteupdate
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-post-files-revokepublicurl
description: Slack Post Files Revokepublicurl
hints:
readOnly: false
destructive: false
idempotent: false
call: files-files.postfilesrevokepublicurl
with:
token: tools.token
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-post-files-sharedpublicurl
description: Slack Post Files Sharedpublicurl
hints:
readOnly: false
destructive: false
idempotent: false
call: files-files.postfilessharedpublicurl
with:
token: tools.token
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-post-files-upload
description: Slack Post Files Upload
hints:
readOnly: false
destructive: false
idempotent: false
call: files-files.postfilesupload
with:
body: tools.body
outputParameters:
- type: object
mapping: $.