# Slack Web API API

> Slack Web API API on Apizie: 174 endpoints (Approve an app for installation on a workspace., List approved apps for an org or workspace., List app requests for a team/workspace., Restrict an app for installation on a workspace., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://www.apizie.tech/v1/business:slack/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `business:slack`
- Category: Business
- Status: byok
- Source: https://api.slack.com/support
- Page: https://www.apizie.tech/api/business/slack
- OpenAPI: https://www.apizie.tech/api/business/slack/openapi.json

One way to interact with the Slack platform is its HTTP RPC-based Web API, a collection of methods requiring OAuth 2.0-based user, bot, or workspace tokens blessed with related OAuth scopes.

## Endpoints

### Approve an app for installation on a workspace.
`POST https://www.apizie.tech/v1/business:slack/admin-apps-approve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.apps:write` |
| body | object | no | Form fields as a JSON object |

### List approved apps for an org or workspace.
`GET https://www.apizie.tech/v1/business:slack/admin-apps-approved-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.apps:read` |
| limit | integer | no | The maximum number of items to return. Must be between 1 - 1000 both inclusive. |
| cursor | string | no | Set `cursor` to `next_cursor` returned by the previous call to list items in the next page |
| team_id | string | no |  |
| enterprise_id | string | no |  |

### List app requests for a team/workspace.
`GET https://www.apizie.tech/v1/business:slack/admin-apps-requests-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.apps:read` |
| limit | integer | no | The maximum number of items to return. Must be between 1 - 1000 both inclusive. |
| cursor | string | no | Set `cursor` to `next_cursor` returned by the previous call to list items in the next page |
| team_id | string | no |  |

### Restrict an app for installation on a workspace.
`POST https://www.apizie.tech/v1/business:slack/admin-apps-restrict` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.apps:write` |
| body | object | no | Form fields as a JSON object |

### List restricted apps for an org or workspace.
`GET https://www.apizie.tech/v1/business:slack/admin-apps-restricted-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.apps:read` |
| limit | integer | no | The maximum number of items to return. Must be between 1 - 1000 both inclusive. |
| cursor | string | no | Set `cursor` to `next_cursor` returned by the previous call to list items in the next page |
| team_id | string | no |  |
| enterprise_id | string | no |  |

### Archive a public or private channel.
`POST https://www.apizie.tech/v1/business:slack/admin-conversations-archive` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:write` |
| body | object | yes | Form fields as a JSON object |

### Convert a public channel to a private channel.
`POST https://www.apizie.tech/v1/business:slack/admin-conversations-convert-to-private` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:write` |
| body | object | yes | Form fields as a JSON object |

### Create a public or private channel-based conversation.
`POST https://www.apizie.tech/v1/business:slack/admin-conversations-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:write` |
| body | object | yes | Form fields as a JSON object |

### Delete a public or private channel.
`POST https://www.apizie.tech/v1/business:slack/admin-conversations-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:write` |
| body | object | yes | Form fields as a JSON object |

### Disconnect a connected channel from one or more workspaces.
`POST https://www.apizie.tech/v1/business:slack/admin-conversations-disconnect-shared` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:write` |
| body | object | yes | Form fields as a JSON object |

### List all disconnected channels—i.e., channels that were once connected to other workspaces and then…
`GET https://www.apizie.tech/v1/business:slack/admin-conversations-ekm-list-original-connected-channel-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:read` |
| channel_ids | string | no | A comma-separated list of channels to filter to. |
| team_ids | string | no | A comma-separated list of the workspaces to which the channels you would like returned belong. |
| limit | integer | no | The maximum number of items to return. Must be between 1 - 1000 both inclusive. |
| cursor | string | no | Set `cursor` to `next_cursor` returned by the previous call to list items in the next page. |

### Get conversation preferences for a public or private channel.
`GET https://www.apizie.tech/v1/business:slack/admin-conversations-get-conversation-prefs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:read` |
| channel_id | string | yes | The channel to get preferences for. |

### Get all the workspaces a given public or private channel is connected to within this Enterprise org.
`GET https://www.apizie.tech/v1/business:slack/admin-conversations-get-teams` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:read` |
| channel_id | string | yes | The channel to determine connected workspaces within the organization for. |
| cursor | string | no | Set `cursor` to `next_cursor` returned by the previous call to list items in the next page |
| limit | integer | no | The maximum number of items to return. Must be between 1 - 1000 both inclusive. |

### Invite a user to a public or private channel.
`POST https://www.apizie.tech/v1/business:slack/admin-conversations-invite` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:write` |
| body | object | yes | Form fields as a JSON object |

### Rename a public or private channel.
`POST https://www.apizie.tech/v1/business:slack/admin-conversations-rename` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:write` |
| body | object | yes | Form fields as a JSON object |

### Add an allowlist of IDP groups for accessing a channel
`POST https://www.apizie.tech/v1/business:slack/admin-conversations-restrict-access-add-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### List all IDP Groups linked to a channel
`GET https://www.apizie.tech/v1/business:slack/admin-conversations-restrict-access-list-groups` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:read` |
| channel_id | string | yes |  |
| team_id | string | no | The workspace where the channel exists. This argument is required for channels only tied to one workspace, and optional for channels that… |

### Remove a linked IDP group linked from a private channel
`POST https://www.apizie.tech/v1/business:slack/admin-conversations-restrict-access-remove-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Search for public or private channels in an Enterprise organization.
`GET https://www.apizie.tech/v1/business:slack/admin-conversations-search` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:read` |
| team_ids | string | no | Comma separated string of team IDs, signifying the workspaces to search through. |
| query | string | no | Name of the the channel to query by. |
| limit | integer | no | Maximum number of items to be returned. Must be between 1 - 20 both inclusive. Default is 10. |
| cursor | string | no | Set `cursor` to `next_cursor` returned by the previous call to list items in the next page. |
| search_channel_types | string | no | The type of channel to include or exclude in the search. For example `private` will search private channels, while `private_exclude` will… |
| sort | string | no | Possible values are `relevant` (search ranking based on what we think is closest), `name` (alphabetical), `member_count` (number of users… |
| sort_dir | string | no | Sort direction. Possible values are `asc` for ascending order like (1, 2, 3) or (a, b, c), and `desc` for descending order like (3, 2, 1)… |

### Set the posting permissions for a public or private channel.
`POST https://www.apizie.tech/v1/business:slack/admin-conversations-set-conversation-prefs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:write` |
| body | object | yes | Form fields as a JSON object |

### Set the workspaces in an Enterprise grid org that connect to a public or private channel.
`POST https://www.apizie.tech/v1/business:slack/admin-conversations-set-teams` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:write` |
| body | object | yes | Form fields as a JSON object |

### Unarchive a public or private channel.
`POST https://www.apizie.tech/v1/business:slack/admin-conversations-unarchive` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.conversations:write` |
| body | object | yes | Form fields as a JSON object |

### Add an emoji.
`POST https://www.apizie.tech/v1/business:slack/admin-emoji-add` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Add an emoji alias.
`POST https://www.apizie.tech/v1/business:slack/admin-emoji-add-alias` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### List emoji for an Enterprise Grid organization.
`GET https://www.apizie.tech/v1/business:slack/admin-emoji-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.teams:read` |
| cursor | string | no | Set `cursor` to `next_cursor` returned by the previous call to list items in the next page |
| limit | integer | no | The maximum number of items to return. Must be between 1 - 1000 both inclusive. |

### Remove an emoji across an Enterprise Grid organization
`POST https://www.apizie.tech/v1/business:slack/admin-emoji-remove` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Rename an emoji.
`POST https://www.apizie.tech/v1/business:slack/admin-emoji-rename` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Approve a workspace invite request.
`POST https://www.apizie.tech/v1/business:slack/admin-invite-requests-approve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.invites:write` |
| body | object | no | Form fields as a JSON object |

### List all approved workspace invite requests.
`GET https://www.apizie.tech/v1/business:slack/admin-invite-requests-approved-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.invites:read` |
| team_id | string | no | ID for the workspace where the invite requests were made. |
| cursor | string | no | Value of the `next_cursor` field sent as part of the previous API response |
| limit | integer | no | The number of results that will be returned by the API on each invocation. Must be between 1 - 1000, both inclusive |

### List all denied workspace invite requests.
`GET https://www.apizie.tech/v1/business:slack/admin-invite-requests-denied-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.invites:read` |
| team_id | string | no | ID for the workspace where the invite requests were made. |
| cursor | string | no | Value of the `next_cursor` field sent as part of the previous api response |
| limit | integer | no | The number of results that will be returned by the API on each invocation. Must be between 1 - 1000 both inclusive |

### Deny a workspace invite request.
`POST https://www.apizie.tech/v1/business:slack/admin-invite-requests-deny` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.invites:write` |
| body | object | no | Form fields as a JSON object |

### List all pending workspace invite requests.
`GET https://www.apizie.tech/v1/business:slack/admin-invite-requests-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.invites:read` |
| team_id | string | no | ID for the workspace where the invite requests were made. |
| cursor | string | no | Value of the `next_cursor` field sent as part of the previous API response |
| limit | integer | no | The number of results that will be returned by the API on each invocation. Must be between 1 - 1000, both inclusive |

### List all of the admins on a given workspace.
`GET https://www.apizie.tech/v1/business:slack/admin-teams-admins-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.teams:read` |
| limit | integer | no | The maximum number of items to return. |
| cursor | string | no | Set `cursor` to `next_cursor` returned by the previous call to list items in the next page. |
| team_id | string | yes |  |

### Create an Enterprise team.
`POST https://www.apizie.tech/v1/business:slack/admin-teams-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.teams:write` |
| body | object | yes | Form fields as a JSON object |

### List all teams on an Enterprise organization
`GET https://www.apizie.tech/v1/business:slack/admin-teams-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.teams:read` |
| limit | integer | no | The maximum number of items to return. Must be between 1 - 100 both inclusive. |
| cursor | string | no | Set `cursor` to `next_cursor` returned by the previous call to list items in the next page. |

### List all of the owners on a given workspace.
`GET https://www.apizie.tech/v1/business:slack/admin-teams-owners-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.teams:read` |
| team_id | string | yes |  |
| limit | integer | no | The maximum number of items to return. Must be between 1 - 1000 both inclusive. |
| cursor | string | no | Set `cursor` to `next_cursor` returned by the previous call to list items in the next page. |

### Fetch information about settings in a workspace
`GET https://www.apizie.tech/v1/business:slack/admin-teams-settings-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.teams:read` |
| team_id | string | yes |  |

### Set the default channels of a workspace.
`POST https://www.apizie.tech/v1/business:slack/admin-teams-settings-set-default-channels` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Set the description of a given workspace.
`POST https://www.apizie.tech/v1/business:slack/admin-teams-settings-set-description` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.teams:write` |
| body | object | yes | Form fields as a JSON object |

### An API method that allows admins to set the discoverability of a given workspace
`POST https://www.apizie.tech/v1/business:slack/admin-teams-settings-set-discoverability` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.teams:write` |
| body | object | yes | Form fields as a JSON object |

### Sets the icon of a workspace.
`POST https://www.apizie.tech/v1/business:slack/admin-teams-settings-set-icon` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Set the name of a given workspace.
`POST https://www.apizie.tech/v1/business:slack/admin-teams-settings-set-name` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.teams:write` |
| body | object | yes | Form fields as a JSON object |

### Add one or more default channels to an IDP group.
`POST https://www.apizie.tech/v1/business:slack/admin-usergroups-add-channels` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.usergroups:write` |
| body | object | yes | Form fields as a JSON object |

### Associate one or more default workspaces with an organization-wide IDP group.
`POST https://www.apizie.tech/v1/business:slack/admin-usergroups-add-teams` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.teams:write` |
| body | object | yes | Form fields as a JSON object |

### List the channels linked to an org-level IDP group (user group).
`GET https://www.apizie.tech/v1/business:slack/admin-usergroups-list-channels` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.usergroups:read` |
| usergroup_id | string | yes | ID of the IDP group to list default channels for. |
| team_id | string | no | ID of the the workspace. |
| include_num_members | boolean | no | Flag to include or exclude the count of members per channel. |

### Remove one or more default channels from an org-level IDP group (user group).
`POST https://www.apizie.tech/v1/business:slack/admin-usergroups-remove-channels` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.usergroups:write` |
| body | object | yes | Form fields as a JSON object |

### Add an Enterprise user to a workspace.
`POST https://www.apizie.tech/v1/business:slack/admin-users-assign` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.users:write` |
| body | object | yes | Form fields as a JSON object |

### Invite a user to a workspace.
`POST https://www.apizie.tech/v1/business:slack/admin-users-invite` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.users:write` |
| body | object | yes | Form fields as a JSON object |

### List users on a workspace
`GET https://www.apizie.tech/v1/business:slack/admin-users-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.users:read` |
| team_id | string | yes | The ID (`T1234`) of the workspace. |
| cursor | string | no | Set `cursor` to `next_cursor` returned by the previous call to list items in the next page. |
| limit | integer | no | Limit for how many users to be retrieved per page |

### Remove a user from a workspace.
`POST https://www.apizie.tech/v1/business:slack/admin-users-remove` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.users:write` |
| body | object | yes | Form fields as a JSON object |

### Invalidate a single session for a user by session_id
`POST https://www.apizie.tech/v1/business:slack/admin-users-session-invalidate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.users:write` |
| body | object | yes | Form fields as a JSON object |

### Wipes all valid sessions on all devices for a given user
`POST https://www.apizie.tech/v1/business:slack/admin-users-session-reset` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.users:write` |
| body | object | yes | Form fields as a JSON object |

### Set an existing guest, regular user, or owner to be an admin user.
`POST https://www.apizie.tech/v1/business:slack/admin-users-set-admin` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.users:write` |
| body | object | yes | Form fields as a JSON object |

### Set an expiration for a guest user
`POST https://www.apizie.tech/v1/business:slack/admin-users-set-expiration` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.users:write` |
| body | object | yes | Form fields as a JSON object |

### Set an existing guest, regular user, or admin user to be a workspace owner.
`POST https://www.apizie.tech/v1/business:slack/admin-users-set-owner` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.users:write` |
| body | object | yes | Form fields as a JSON object |

### Set an existing guest user, admin user, or owner to be a regular user.
`POST https://www.apizie.tech/v1/business:slack/admin-users-set-regular` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `admin.users:write` |
| body | object | yes | Form fields as a JSON object |

### Checks API calling code.
`GET https://www.apizie.tech/v1/business:slack/api-test` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| error | string | no | Error response to return |
| foo | string | no | example property to return |

### Get a list of authorizations for the given event context. Each authorization represents an app installation…
`GET https://www.apizie.tech/v1/business:slack/apps-event-authorizations-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `authorizations:read` |
| event_context | string | yes |  |
| cursor | string | no |  |
| limit | integer | no |  |

### Returns list of permissions this app has on a team.
`GET https://www.apizie.tech/v1/business:slack/apps-permissions-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `none` |

### Allows an app to request additional scopes
`GET https://www.apizie.tech/v1/business:slack/apps-permissions-request` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `none` |
| scopes | string | yes | A comma separated list of scopes to request for |
| trigger_id | string | yes | Token used to trigger the permissions API |

### Returns list of resource grants this app has on a team.
`GET https://www.apizie.tech/v1/business:slack/apps-permissions-resources-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `none` |
| cursor | string | no | Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute returned by a previous request's… |
| limit | integer | no | The maximum number of items to return. |

### Returns list of scopes this app has on a team.
`GET https://www.apizie.tech/v1/business:slack/apps-permissions-scopes-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `none` |

### Returns list of user grants and corresponding scopes this app has on a team.
`GET https://www.apizie.tech/v1/business:slack/apps-permissions-users-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `none` |
| cursor | string | no | Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute returned by a previous request's… |
| limit | integer | no | The maximum number of items to return. |

### Enables an app to trigger a permissions modal to grant an app access to a user access scope.
`GET https://www.apizie.tech/v1/business:slack/apps-permissions-users-request` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `none` |
| scopes | string | yes | A comma separated list of user scopes to request for |
| trigger_id | string | yes | Token used to trigger the request |
| user | string | yes | The user this scope is being requested for |

### Uninstalls your app from a workspace.
`GET https://www.apizie.tech/v1/business:slack/apps-uninstall` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `none` |
| client_id | string | no | Issued when you created your application. |
| client_secret | string | no | Issued when you created your application. |

### Revokes a token.
`GET https://www.apizie.tech/v1/business:slack/auth-revoke` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `none` |
| test | boolean | no | Setting this parameter to `1` triggers a _testing mode_ where the specified token will not actually be revoked. |

### Checks authentication & identity.
`GET https://www.apizie.tech/v1/business:slack/auth-test` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `none` |

### Gets information about a bot user.
`GET https://www.apizie.tech/v1/business:slack/bots-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `users:read` |
| bot | string | no | Bot user to get info on |

### Registers a new Call.
`POST https://www.apizie.tech/v1/business:slack/calls-add` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `calls:write` |
| body | object | yes | Form fields as a JSON object |

### Ends a Call.
`POST https://www.apizie.tech/v1/business:slack/calls-end` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `calls:write` |
| body | object | yes | Form fields as a JSON object |

### Returns information about a Call.
`GET https://www.apizie.tech/v1/business:slack/calls-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `calls:read` |
| id | string | yes | `id` of the Call returned by the [`calls.add`](/methods/calls.add) method. |

### Registers new participants added to a Call.
`POST https://www.apizie.tech/v1/business:slack/calls-participants-add` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `calls:write` |
| body | object | yes | Form fields as a JSON object |

### Registers participants removed from a Call.
`POST https://www.apizie.tech/v1/business:slack/calls-participants-remove` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `calls:write` |
| body | object | yes | Form fields as a JSON object |

### Updates information about a Call.
`POST https://www.apizie.tech/v1/business:slack/calls-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `calls:write` |
| body | object | yes | Form fields as a JSON object |

### Deletes a message.
`POST https://www.apizie.tech/v1/business:slack/chat-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `chat:write` |
| body | object | no | Form fields as a JSON object |

### Deletes a pending scheduled message from the queue.
`POST https://www.apizie.tech/v1/business:slack/chat-delete-scheduled-message` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `chat:write` |
| body | object | no | Form fields as a JSON object |

### Retrieve a permalink URL for a specific extant message
`GET https://www.apizie.tech/v1/business:slack/chat-get-permalink` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `none` |
| channel | string | yes | The ID of the conversation or channel containing the message |
| message_ts | string | yes | A message's `ts` value, uniquely identifying it within a channel |

### Share a me message into a channel.
`POST https://www.apizie.tech/v1/business:slack/chat-me-message` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `chat:write` |
| body | object | no | Form fields as a JSON object |

### Sends an ephemeral message to a user in a channel.
`POST https://www.apizie.tech/v1/business:slack/chat-post-ephemeral` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `chat:write` |
| body | object | no | Form fields as a JSON object |

### Sends a message to a channel.
`POST https://www.apizie.tech/v1/business:slack/chat-post-message` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `chat:write` |
| body | object | no | Form fields as a JSON object |

### Schedules a message to be sent to a channel.
`POST https://www.apizie.tech/v1/business:slack/chat-schedule-message` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `chat:write` |
| body | object | no | Form fields as a JSON object |

### Returns a list of scheduled messages.
`GET https://www.apizie.tech/v1/business:slack/chat-scheduled-messages-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `none` |
| channel | string | no | The channel of the scheduled messages |
| latest | number | no | A UNIX timestamp of the latest value in the time range |
| oldest | number | no | A UNIX timestamp of the oldest value in the time range |
| limit | integer | no | Maximum number of original entries to return. |
| cursor | string | no | For pagination purposes, this is the `cursor` value returned from a previous call to `chat.scheduledmessages.list` indicating where you… |

### Provide custom unfurl behavior for user-posted URLs
`POST https://www.apizie.tech/v1/business:slack/chat-unfurl` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `links:write` |
| body | object | yes | Form fields as a JSON object |

### Updates a message.
`POST https://www.apizie.tech/v1/business:slack/chat-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `chat:write` |
| body | object | no | Form fields as a JSON object |

### Archives a conversation.
`POST https://www.apizie.tech/v1/business:slack/conversations-archive` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:write` |
| body | object | no | Form fields as a JSON object |

### Closes a direct message or multi-person direct message.
`POST https://www.apizie.tech/v1/business:slack/conversations-close` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:write` |
| body | object | no | Form fields as a JSON object |

### Initiates a public or private channel-based conversation
`POST https://www.apizie.tech/v1/business:slack/conversations-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:write` |
| body | object | no | Form fields as a JSON object |

### Fetches a conversation's history of messages and events.
`GET https://www.apizie.tech/v1/business:slack/conversations-history` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:history` |
| channel | string | no | Conversation ID to fetch history for. |
| latest | number | no | End of time range of messages to include in results. |
| oldest | number | no | Start of time range of messages to include in results. |
| inclusive | boolean | no | Include messages with latest or oldest timestamp in results only when either timestamp is specified. |
| limit | integer | no | The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't… |
| cursor | string | no | Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute returned by a previous request's… |

### Retrieve information about a conversation.
`GET https://www.apizie.tech/v1/business:slack/conversations-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:read` |
| channel | string | no | Conversation ID to learn more about |
| include_locale | boolean | no | Set this to `true` to receive the locale for this conversation. Defaults to `false` |
| include_num_members | boolean | no | Set to `true` to include the member count for the specified conversation. Defaults to `false` |

### Invites users to a channel.
`POST https://www.apizie.tech/v1/business:slack/conversations-invite` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:write` |
| body | object | no | Form fields as a JSON object |

### Joins an existing conversation.
`POST https://www.apizie.tech/v1/business:slack/conversations-join` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `channels:write` |
| body | object | no | Form fields as a JSON object |

### Removes a user from a conversation.
`POST https://www.apizie.tech/v1/business:slack/conversations-kick` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:write` |
| body | object | no | Form fields as a JSON object |

### Leaves a conversation.
`POST https://www.apizie.tech/v1/business:slack/conversations-leave` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:write` |
| body | object | no | Form fields as a JSON object |

### Lists all channels in a Slack team.
`GET https://www.apizie.tech/v1/business:slack/conversations-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:read` |
| exclude_archived | boolean | no | Set to `true` to exclude archived channels from the list |
| types | string | no | Mix and match channel types by providing a comma-separated list of any combination of `public_channel`, `private_channel`, `mpim`, `im` |
| limit | integer | no | 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… |
| cursor | string | no | Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute returned by a previous request's… |

### Sets the read cursor in a channel.
`POST https://www.apizie.tech/v1/business:slack/conversations-mark` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:write` |
| body | object | no | Form fields as a JSON object |

### Retrieve members of a conversation.
`GET https://www.apizie.tech/v1/business:slack/conversations-members` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:read` |
| channel | string | no | ID of the conversation to retrieve members for |
| limit | integer | no | The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't… |
| cursor | string | no | Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute returned by a previous request's… |

### Opens or resumes a direct message or multi-person direct message.
`POST https://www.apizie.tech/v1/business:slack/conversations-open` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:write` |
| body | object | no | Form fields as a JSON object |

### Renames a conversation.
`POST https://www.apizie.tech/v1/business:slack/conversations-rename` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:write` |
| body | object | no | Form fields as a JSON object |

### Retrieve a thread of messages posted to a conversation
`GET https://www.apizie.tech/v1/business:slack/conversations-replies` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:history` |
| channel | string | no | Conversation ID to fetch thread from. |
| ts | number | no | Unique identifier of a thread's parent message. `ts` must be the timestamp of an existing message with 0 or more replies. If there are no… |
| latest | number | no | End of time range of messages to include in results. |
| oldest | number | no | Start of time range of messages to include in results. |
| inclusive | boolean | no | Include messages with latest or oldest timestamp in results only when either timestamp is specified. |
| limit | integer | no | The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't… |
| cursor | string | no | Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute returned by a previous request's… |

### Sets the purpose for a conversation.
`POST https://www.apizie.tech/v1/business:slack/conversations-set-purpose` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:write` |
| body | object | no | Form fields as a JSON object |

### Sets the topic for a conversation.
`POST https://www.apizie.tech/v1/business:slack/conversations-set-topic` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:write` |
| body | object | no | Form fields as a JSON object |

### Reverses conversation archival.
`POST https://www.apizie.tech/v1/business:slack/conversations-unarchive` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `conversations:write` |
| body | object | no | Form fields as a JSON object |

### Open a dialog with a user
`GET https://www.apizie.tech/v1/business:slack/dialog-open` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `none` |
| dialog | string | yes | The dialog definition. This must be a JSON-encoded string. |
| trigger_id | string | yes | Exchange a trigger to post to the user. |

### Ends the current user's Do Not Disturb session immediately.
`POST https://www.apizie.tech/v1/business:slack/dnd-end-dnd` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `dnd:write` |

### Ends the current user's snooze mode immediately.
`POST https://www.apizie.tech/v1/business:slack/dnd-end-snooze` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `dnd:write` |

### Retrieves a user's current Do Not Disturb status.
`GET https://www.apizie.tech/v1/business:slack/dnd-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `dnd:read` |
| user | string | no | User to fetch status for (defaults to current user) |

### Turns on Do Not Disturb mode for the current user, or changes its duration.
`POST https://www.apizie.tech/v1/business:slack/dnd-set-snooze` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Retrieves the Do Not Disturb status for up to 50 users on a team.
`GET https://www.apizie.tech/v1/business:slack/dnd-team-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `dnd:read` |
| users | string | no | Comma-separated list of users to fetch Do Not Disturb status for |

### Lists custom emoji for a team.
`GET https://www.apizie.tech/v1/business:slack/emoji-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Authentication token. Requires scope: `emoji:read` |

### Deletes an existing comment on a file.
`POST https://www.apizie.tech/v1/business:slack/files-comments-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `files:write:user` |
| body | object | no | Form fields as a JSON object |

### Deletes a file.
`POST https://www.apizie.tech/v1/business:slack/files-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `files:write:user` |
| body | object | no | Form fields as a JSON object |

### Gets information about a file.
`GET https://www.apizie.tech/v1/business:slack/files-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `files:read` |
| file | string | no | Specify a file by providing its ID. |
| count | string | no |  |
| page | string | no |  |
| limit | integer | no | 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… |
| cursor | string | no | Parameter for pagination. File comments are paginated for a single file. Set `cursor` equal to the `next_cursor` attribute returned by the… |

### List for a team, in a channel, or from a user with applied filters.
`GET https://www.apizie.tech/v1/business:slack/files-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `files:read` |
| user | string | no | Filter files created by a single user. |
| channel | string | no | Filter files appearing in a specific channel, indicated by its ID. |
| ts_from | number | no | Filter files created after this timestamp (inclusive). |
| ts_to | number | no | Filter files created before this timestamp (inclusive). |
| types | string | no | Filter files by type ([see below](#file_types)). You can pass multiple values in the types argument, like `types=spaces,snippets`.The… |
| count | string | no |  |
| page | string | no |  |
| show_files_hidden_by_limit | boolean | no | Show truncated file info for files hidden due to being too old, and the team who owns the file being over the file limit. |

### Adds a file from a remote service
`POST https://www.apizie.tech/v1/business:slack/files-remote-add` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Retrieve information about a remote file added to Slack
`GET https://www.apizie.tech/v1/business:slack/files-remote-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `remote_files:read` |
| file | string | no | Specify a file by providing its ID. |
| external_id | string | no | Creator defined GUID for the file. |

### Retrieve information about a remote file added to Slack
`GET https://www.apizie.tech/v1/business:slack/files-remote-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `remote_files:read` |
| channel | string | no | Filter files appearing in a specific channel, indicated by its ID. |
| ts_from | number | no | Filter files created after this timestamp (inclusive). |
| ts_to | number | no | Filter files created before this timestamp (inclusive). |
| limit | integer | no | The maximum number of items to return. |
| cursor | string | no | Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute returned by a previous request's… |

### Remove a remote file.
`POST https://www.apizie.tech/v1/business:slack/files-remote-remove` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Share a remote file into a channel.
`GET https://www.apizie.tech/v1/business:slack/files-remote-share` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `remote_files:share` |
| file | string | no | Specify a file registered with Slack by providing its ID. Either this field or `external_id` or both are required. |
| external_id | string | no | 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… |
| channels | string | no | Comma-separated list of channel IDs where the file will be shared. |

### Updates an existing remote file.
`POST https://www.apizie.tech/v1/business:slack/files-remote-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Revokes public/external sharing access for a file
`POST https://www.apizie.tech/v1/business:slack/files-revoke-public-url` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | no | Authentication token. Requires scope: `files:write:user` |
| body | object | no | Form fields as a JSON object |

…and 54 more. See the OpenAPI spec.

## Example
```
curl "https://www.apizie.tech/v1/business:slack/admin-apps-approve" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Slack Web API API?
Create a free Apizie key, then send POST https://www.apizie.tech/v1/business:slack/admin-apps-approve with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Slack Web API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Slack Web API itself also needs your own key from slack.

### Can AI agents use the Slack Web API API?
Yes. Add the Apizie MCP server (https://www.apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key business:slack.

### What is the status of the Slack Web API API?
Needs your own provider key (bring your own key)
