Slack Web API

Slack Web API

Demo
DEMO PURPOSES ONLY

This is not official version of Slack API Documentation.
Link to Official documentation

Operations
Chat Operations
POST /chat.postMessage
POST /chat.meMessage
GET /chat.getPermalink
POST /chat.delete
POST /chat.unfurl
POST /chat.postEphemeral
POST /chat.update
chat_postMessage
POST /chat.postMessage

Authentication

slackAuth
chat:write:user
chat:write:bot

Sends a message to a channel.

Request headers

token
string optional

Authentication token. Requires scope: chat:write

Request body

application/x-www-form-urlencoded
application/json
Object
username
string

Set your bot’s user name. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.

thread_ts
number

Provide another message’s ts value to make this message a reply. Avoid using a reply’s ts value; use its parent instead.

attachments
string

A JSON-based array of structured attachments, presented as a URL-encoded string.

unfurl_links
boolean

Pass true to enable unfurling of primarily text-based content.

text
string

Text of the message to send. See below for an explanation of formatting. This field is usually required, unless you’re providing only attachments instead.

unfurl_media
boolean

Pass false to disable unfurling of media content.

parse
string

Change how messages are treated. Defaults to none. See below.

as_user
boolean

Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See authorship below.

icon_emoji
string

Emoji to use as the icon for this message. Overrides icon_url. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.

link_names
boolean

Find and link channel names and usernames.

icon_url
string

URL to an image to use as the icon for this message. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.

channel
string

Channel, private group, or IM channel to send message to. Can be an encoded ID, or a name. See below for more details.

reply_broadcast
boolean

Used in conjunction with thread_ts and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults to false.

Responses

500 default

Typical error response if too many attachments are included

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
channel_not_found
not_in_channel
is_archived
msg_too_long
no_text
too_many_attachments
rate_limited
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
Examples
{
  "ok" : false,
  "error" : "too_many_attachments"
}
200 200

Typical success response

Body
application/json
Object
message
objs_message required
ok
defs_ok_true required
ts
defs_ts required
channel
defs_channel required
Examples
{
  "message" : {
    "username" : "ecto1",
    "attachments" : [
      {
        "text" : "This is an attachment",
        "fallback" : "This is an attachment's fallback",
        "id" : 1
      }
    ],
    "text" : "Here's a message for you",
    "ts" : "1503435956.000247",
    "subtype" : "bot_message",
    "type" : "message",
    "bot_id" : "B19LU7CSY"
  },
  "ok" : true,
  "ts" : "1503435956.000247",
  "channel" : "C1H9RESGL"
}
chat_meMessage
POST /chat.meMessage

Authentication

slackAuth
chat:write:user

Share a me message into a channel.

Request headers

token
string optional

Authentication token. Requires scope: chat:write:user

Request body

application/x-www-form-urlencoded
application/json
Object
text
string

Text of the message to send.

channel
string

Channel to send message to. Can be a public channel, private group or IM channel. Can be an encoded ID, or a name.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true,
  "ts" : "1417671948.000006",
  "channel" : "C024BE7LR"
}
GET /chat.getPermalink

Authentication

slackAuth
tokens.basic

Retrieve a permalink URL for a specific extant message

Request parameters

token
string optional

Authentication token. Requires scope: tokens.basic

message_ts
number optional

A message’s ts value, uniquely identifying it within a channel

channel
string optional

The ID of the conversation or channel containing the message

Responses

500 default

Error response when channel cannot be found

Body
application/json
unknown
Examples
{ "ok" : false, "error" : "channel_not_found" }
200 200

Standard success response

Body
application/json
Object
permalink
string required
ok
defs_ok_true required
channel
defs_channel required
Examples
{
  "permalink" : "https://ghostbusters.slack.com/archives/C1H9RESGA/p135854651500008",
  "ok" : true,
  "channel" : "C1H9RESGA"
}
chat_delete
POST /chat.delete

Authentication

slackAuth
chat:write:user
chat:write:bot

Deletes a message.

Request headers

token
string optional

Authentication token. Requires scope: chat:write

Request body

application/x-www-form-urlencoded
application/json
Object
as_user
boolean

Pass true to delete the message as the authed user with chat:write:user scope. Bot users in this context are considered authed users. If unused or false, the message will be deleted with chat:write:bot scope.

ts
number

Timestamp of the message to be deleted.

channel
string

Channel containing the message to be deleted.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "message_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true,
  "ts" : "1401383885.000061",
  "channel" : "C024BE91L"
}
chat_unfurl
POST /chat.unfurl

Authentication

slackAuth
links:write

Provide custom unfurl behavior for user-posted URLs

Request headers

token
string optional

Authentication token. Requires scope: links:write

Request body

application/x-www-form-urlencoded
application/json
Object
user_auth_message
string

Provide a simply-formatted string to send as an ephemeral message to the user as invitation to authenticate further and enable full unfurling behavior

user_auth_required
boolean

Set to true or 1 to indicate the user must install your Slack app to trigger unfurls for this domain

unfurls
string

URL-encoded JSON map with keys set to URLs featured in the the message, pointing to their unfurl message attachments.

ts
string

Timestamp of the message to add unfurl behavior to.

user_auth_url
string

Send users to this custom URL where they will complete authentication in your app to fully trigger unfurling. Value should be properly URL-encoded.

channel
string

Channel ID of the message

Responses

500 default

Typical error response

Body
application/json
unknown
Examples
{ "ok" : false, "error" : "cannot_unfurl_url" }
200 200

Typical, minimal success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
chat_postEphemeral
POST /chat.postEphemeral

Authentication

slackAuth
chat:write:user
chat:write:bot

Sends an ephemeral message to a user in a channel.

Request headers

token
string optional

Authentication token. Requires scope: chat:write

Request body

application/x-www-form-urlencoded
application/json
Object
attachments
string

A JSON-based array of structured attachments, presented as a URL-encoded string.

text
string

Text of the message to send. See below for an explanation of formatting. This field is usually required, unless you’re providing only attachments instead.

link_names
boolean

Find and link channel names and usernames.

parse
string

Change how messages are treated. Defaults to none. See below.

user
string

id of the user who will receive the ephemeral message. The user should be in the channel specified by the channel argument.

as_user
boolean

Pass true to post the message as the authed bot. Defaults to false.

channel
string

Channel, private group, or IM channel to send message to. Can be an encoded ID, or a name.

Responses

500 default

Typical error response

Body
application/json
unknown
Examples
{ "ok" : false, "error" : "user_not_in_channel" }
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
message_ts
defs_ts required
Examples
{
  "ok" : true,
  "message_ts" : "1502210682.580145"
}
chat_update
POST /chat.update

Authentication

slackAuth
chat:write:user
chat:write:bot

Updates a message.

Request headers

token
string optional

Authentication token. Requires scope: chat:write

Request body

application/x-www-form-urlencoded
application/json
Object
attachments
string

A JSON-based array of structured attachments, presented as a URL-encoded string. This field is required when not presenting text.

text
string

New text for the message, using the default formatting rules. It’s not required when presenting attachments.

ts
number

Timestamp of the message to be updated.

parse
string

Change how messages are treated. Defaults to client, unlike chat.postMessage. See below.

as_user
boolean

Pass true to update the message as the authed user. Bot users in this context are considered authed users.

link_names
boolean

Find and link channel names and usernames. Defaults to none. This parameter should be used in conjunction with parse. To set link_names to 1, specify a parse mode of full.

channel
string

Channel containing the message to be updated.

Responses

500 default

Typical error response

Body
application/json
unknown
Examples
{ "ok" : false, "error" : "cant_update_message" }
200 200

Typical success response

Body
application/json
Object
text
string required
ok
defs_ok_true required
ts
defs_ts required
channel
defs_channel required
Examples
{
  "text" : "Updated text you carefully authored",
  "ok" : true,
  "ts" : "1401383885.000061",
  "channel" : "C024BE91L"
}
files.comments
POST /files.comments.edit
POST /files.comments.delete
POST /files.comments.add
files_comments_edit
POST /files.comments.edit

Authentication

slackAuth
files:write:user

Edit an existing file comment.

Request headers

token
string optional

Authentication token. Requires scope: files:write:user

Request body

application/x-www-form-urlencoded
application/json
Object
comment
string

Text of the comment to edit.

id
string

The comment to edit.

file
string

File containing the comment to edit.

Responses

500 default

Standard failure response when used with an invalid token

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
cant_edit
comment_not_found
not_authed
invalid_auth
account_inactive
no_permission
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Standard success response when used with a user token

Body
application/json
Object
comment
objs_comment required
ok
defs_ok_true required
Examples
{
  "user_id" : "W12345678",
  "url" : "https://subarachnoid.slack.com/",
  "team_id" : "T12345678",
  "user" : "grace",
  "team" : "Subarachnoid Workspace",
  "ok" : true
}
files_comments_delete
POST /files.comments.delete

Authentication

slackAuth
files:write:user

Deletes an existing comment on a file.

Request headers

token
string optional

Authentication token. Requires scope: files:write:user

Request body

application/x-www-form-urlencoded
application/json
Object
id
string

The comment to delete.

file
string

File to delete a comment from.

Responses

500 default

Standard failure response when used with an invalid token

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
cant_delete
comment_not_found
not_authed
invalid_auth
account_inactive
no_permission
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "file_not_found"
}
200 200

Standard success response is very simple

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
files_comments_add
POST /files.comments.add

Authentication

slackAuth
files:write:user

Add a comment to an existing file.

Request headers

token
string optional

Authentication token. Requires scope: files:write:user

Request body

application/x-www-form-urlencoded
application/json
Object
comment
string

Text of the comment to add.

file
string

File to add a comment to.

Responses

500 default

Artificial error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
file_not_found
file_deleted
no_comment
cant_add
not_authed
invalid_auth
account_inactive
no_permission
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "file_not_found"
}
200 200

Standard success response

Body
application/json
Object
comment
objs_comment required
ok
defs_ok_true required
Examples
{
  "comment" : {
    "comment" : "Everyone should take a moment to read this file.",
    "created" : 1356032811,
    "timestamp" : 1356032811,
    "user" : "U1234567890",
    "id" : "Fc1234567890",
    "channel" : "C1234467890"
  },
  "ok" : true
}
im
POST /im.close
POST /im.open
POST /im.mark
GET /im.history
GET /im.replies
GET /im.list
im_close
POST /im.close

Authentication

slackAuth
im:write

Close a direct message channel.

Request headers

token
string optional

Authentication token. Requires scope: im:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

Direct message channel to close.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
im_open
POST /im.open

Authentication

slackAuth
im:write

Opens a direct message channel.

Request headers

token
string optional

Authentication token. Requires scope: im:write

Request body

application/x-www-form-urlencoded
application/json
Object
return_im
boolean

Boolean, indicates you want the full IM channel definition in the response.

user
string

User to open a direct message channel with.

include_locale
boolean

Set this to true to receive the locale for this im. Defaults to false

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
user_not_found
user_not_visible
user_disabled
not_authed
invalid_auth
account_inactive
no_permission
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
no_op
boolean
already_open
boolean
ok
defs_ok_true required
channel
Object required
last_read
created
string
unread_count
number
is_open
boolean
user
unread_count_display
number
is_im
boolean
id
defs_dm_id required
latest
Examples
{
  "ok" : true
}
im_mark
POST /im.mark

Authentication

slackAuth
im:write

Sets the read cursor in a direct message channel.

Request headers

token
string optional

Authentication token. Requires scope: im:write

Request body

application/x-www-form-urlencoded
application/json
Object
ts
number

Timestamp of the most recently seen message.

channel
string

Direct message channel to set reading cursor in.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
channel_not_found
invalid_timestamp
not_in_channel
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
im_history
GET /im.history

Authentication

slackAuth
im:history

Fetches history of messages and events from direct message channel.

Request parameters

count
integer optional

Number of messages to return, between 1 and 1000.

unreads
boolean optional

Include unread_count_display in the output?

inclusive
boolean optional

Include messages with latest or oldest timestamp in results.

token
string optional

Authentication token. Requires scope: im:history

oldest
number optional

Start of time range of messages to include in results.

channel
string optional

Direct message channel to fetch history for.

latest
number optional

End of time range of messages to include in results.

Responses

500 default

Typical error response

Body
application/json
Object
needed
string
error
string required
Enumeration:
channel_not_found
invalid_ts_latest
invalid_ts_oldest
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
has_more
boolean required
ok
defs_ok_true required
messages
Array of objs_message required
Min items: 1
Unique items: YES
Examples
{
  "has_more" : false,
  "messages" : [
    {
      "text" : "Hello",
      "type" : "message",
      "ts" : "1358546515.000008",
      "user" : "U2147483896"
    },
    {
      "text" : "World",
      "is_starred" : true,
      "type" : "message",
      "ts" : "1358546515.000007",
      "user" : "U2147483896"
    },
    {
      "type" : "something_else",
      "ts" : "1358546515.000007"
    }
  ],
  "ok" : true,
  "latest" : "1358547726.000003"
}
im_replies
GET /im.replies

Authentication

slackAuth
im:history

Retrieve a thread of messages posted to a direct message conversation

Request parameters

thread_ts
number optional

Unique identifier of a thread’s parent message

token
string optional

Authentication token. Requires scope: im:history

channel
string optional

Direct message channel to fetch thread from

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "messages" : [
    {
      "text" : "Hello",
      "type" : "message",
      "ts" : "1358546515.000008",
      "user" : "U2147483896"
    },
    {
      "text" : "World",
      "is_starred" : true,
      "type" : "message",
      "ts" : "1358546515.000007",
      "user" : "U2147483896"
    },
    {
      "type" : "something_else",
      "ts" : "1358546515.000007"
    }
  ],
  "ok" : true
}
im_list
GET /im.list

Authentication

slackAuth
im:read

Lists direct message channels for the calling user.

Request parameters

cursor
string optional

Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request’s response_metadata. Default value fetches the first “page” of the collection. See pagination for more detail.

token
string optional

Authentication token. Requires scope: im:read

limit
integer optional

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 been reached.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
invalid_cursor
not_authed
invalid_auth
account_inactive
no_permission
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ims
Array of objs_im required
Unique items: YES
ok
defs_ok_true required
Examples
{
  "ims" : [
    {
      "created" : 1449709280,
      "is_user_deleted" : false,
      "is_org_shared" : false,
      "user" : "USLACKBOT",
      "is_im" : true,
      "id" : "D0G9QPY56"
    },
    {
      "created" : 1466692204,
      "is_user_deleted" : false,
      "is_org_shared" : false,
      "user" : "U0G9QF9C6",
      "is_im" : true,
      "id" : "D1KL59A72"
    },
    {
      "created" : 1449722883,
      "is_user_deleted" : false,
      "is_org_shared" : false,
      "user" : "U0G9WFXNZ",
      "is_im" : true,
      "id" : "D0G9XPFH9"
    },
    {
      "created" : 1452098023,
      "is_user_deleted" : false,
      "is_org_shared" : false,
      "user" : "W0HRJL7CK",
      "is_im" : true,
      "id" : "D0HRHJSF7"
    },
    {
      "created" : 1465834222,
      "is_user_deleted" : true,
      "is_org_shared" : false,
      "user" : "U1GDBDGR3",
      "is_im" : true,
      "id" : "D1GD7CHC0"
    },
    {
      "created" : 1468274703,
      "is_user_deleted" : false,
      "is_org_shared" : false,
      "user" : "U1QNSQB9U",
      "is_im" : true,
      "id" : "D1QMF76M9"
    },
    {
      "created" : 1502210225,
      "is_user_deleted" : false,
      "is_org_shared" : false,
      "user" : "U6KR7BVFW",
      "is_im" : true,
      "id" : "D6K48KKRN"
    }
  ],
  "ok" : true,
  "response_metadata" : {
    "next_cursor" : "aW1faWQ6RDBCSDk1RExI="
  }
}
groups
GET /groups.replies
POST /groups.rename
GET /groups.list
POST /groups.kick
POST /groups.mark
GET /groups.info
POST /groups.leave
POST /groups.createChild
POST /groups.invite
POST /groups.create
POST /groups.open
GET /groups.history
POST /groups.setTopic
POST /groups.setPurpose
POST /groups.unarchive
POST /groups.archive
groups_replies
GET /groups.replies

Authentication

slackAuth
groups:history

Retrieve a thread of messages posted to a private channel

Request parameters

thread_ts
number optional

Unique identifier of a thread’s parent message

token
string optional

Authentication token. Requires scope: groups:history

channel
string optional

Private channel to fetch thread from

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "messages" : [
    {
      "text" : "Hello",
      "type" : "message",
      "ts" : "1358546515.000008",
      "user" : "U2147483896"
    },
    {
      "text" : "World",
      "is_starred" : true,
      "type" : "message",
      "ts" : "1358546515.000007",
      "user" : "U2147483896"
    },
    {
      "type" : "something_else",
      "ts" : "1358546515.000007"
    }
  ],
  "ok" : true
}
groups_rename
POST /groups.rename

Authentication

slackAuth
groups:write

Renames a private channel.

Request headers

token
string optional

Authentication token. Requires scope: groups:write

Request body

application/x-www-form-urlencoded
application/json
Object
validate
boolean

Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.

name
string

New name for private channel.

channel
string

Private channel to rename

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
groups_list
GET /groups.list

Authentication

slackAuth
groups:read

Lists private channels that the calling user has access to.

Request parameters

exclude_members
boolean optional

Exclude the members from each group

token
string optional

Authentication token. Requires scope: groups:read

exclude_archived
boolean optional

Don’t return archived private channels.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
groups
Array of objs_group required
Min items: 1
Unique items: YES
Examples
{
  "ok" : true
}
groups_kick
POST /groups.kick

Authentication

slackAuth
groups:write

Removes a user from a private channel.

Request headers

token
string optional

Authentication token. Requires scope: groups:write

Request body

application/x-www-form-urlencoded
application/json
Object
user
string

User to remove from private channel.

channel
string

Private channel to remove user from.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
groups_mark
POST /groups.mark

Authentication

slackAuth
groups:write

Sets the read cursor in a private channel.

Request headers

token
string optional

Authentication token. Requires scope: groups:write

Request body

application/x-www-form-urlencoded
application/json
Object
ts
number

Timestamp of the most recently seen message.

channel
string

Private channel to set reading cursor in.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
channel_not_found
invalid_timestamp
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
groups_info
GET /groups.info

Authentication

slackAuth
groups:read

Gets information about a private channel.

Request parameters

token
string optional

Authentication token. Requires scope: groups:read

include_locale
boolean optional

Set this to true to receive the locale for this group. Defaults to false

channel
string optional

Private channel to get info on

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
channel_not_found
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
group
objs_group required
Examples
{
  "ok" : true
}
groups_leave
POST /groups.leave

Authentication

slackAuth
groups:write

Leaves a private channel.

Request headers

token
string optional

Authentication token. Requires scope: groups:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

Private channel to leave

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
groups_createChild
POST /groups.createChild

Authentication

slackAuth
groups:write

Clones and archives a private channel.

Request body

application/x-www-form-urlencoded
Object
token
string

Authentication token. Requires scope: groups:write

channel
string

Private channel to clone and archive.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
groups_invite
POST /groups.invite

Authentication

slackAuth
groups:write

Invites a user to a private channel.

Request headers

token
string optional

Authentication token. Requires scope: groups:write

Request body

application/x-www-form-urlencoded
application/json
Object
user
string

User to invite.

channel
string

Private channel to invite user to.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
channel_not_found
user_not_found
cant_invite_self
is_archived
cant_invite
ura_max_channels
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_ultra_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
group
objs_group required
Examples
{
  "ok" : true
}
groups_create
POST /groups.create

Authentication

slackAuth
groups:write

Creates a private channel.

Request headers

token
string optional

Authentication token. Requires scope: groups:write

Request body

application/x-www-form-urlencoded
application/json
Object
validate
boolean

Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.

name
string

Name of private channel to create

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
no_channel
restricted_action
name_taken
invalid_name_required
invalid_name_punctuation
invalid_name_maxlength
invalid_name_specials
invalid_name
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_ultra_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
group
objs_group required
Examples
{
  "ok" : true
}
groups_open
POST /groups.open

Authentication

slackAuth
groups:write

Opens a private channel.

Request headers

token
string optional

Authentication token. Requires scope: groups:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

Private channel to open.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
groups_history
GET /groups.history

Authentication

slackAuth
groups:history

Fetches history of messages and events from a private channel.

Request parameters

count
integer optional

Number of messages to return, between 1 and 1000.

unreads
boolean optional

Include unread_count_display in the output?

inclusive
boolean optional

Include messages with latest or oldest timestamp in results.

token
string optional

Authentication token. Requires scope: groups:history

oldest
number optional

Start of time range of messages to include in results.

channel
string optional

Private channel to fetch history for.

latest
number optional

End of time range of messages to include in results.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
channel_not_found
invalid_ts_latest
invalid_ts_oldest
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
has_more
boolean required
ok
defs_ok_true required
messages
Array of objs_message required
Min items: 1
Unique items: YES
Examples
{
  "has_more" : false,
  "messages" : [
    {
      "text" : "Hello",
      "type" : "message",
      "ts" : "1358546515.000008",
      "user" : "U2147483896"
    },
    {
      "text" : "World",
      "is_starred" : true,
      "type" : "message",
      "ts" : "1358546515.000007",
      "user" : "U2147483896"
    },
    {
      "type" : "something_else",
      "ts" : "1358546515.000007"
    }
  ],
  "ok" : true,
  "latest" : "1358547726.000003"
}
groups_setTopic
POST /groups.setTopic

Authentication

slackAuth
groups:write

Sets the topic for a private channel.

Request headers

token
string optional

Authentication token. Requires scope: groups:write

Request body

application/x-www-form-urlencoded
application/json
Object
topic
string

The new topic

channel
string

Private channel to set the topic of

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
groups_setPurpose
POST /groups.setPurpose

Authentication

slackAuth
groups:write

Sets the purpose for a private channel.

Request headers

token
string optional

Authentication token. Requires scope: groups:write

Request body

application/x-www-form-urlencoded
application/json
Object
purpose
string

The new purpose

channel
string

Private channel to set the purpose of

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
groups_unarchive
POST /groups.unarchive

Authentication

slackAuth
groups:write

Unarchives a private channel.

Request headers

token
string optional

Authentication token. Requires scope: groups:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

Private channel to unarchive

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
groups_archive
POST /groups.archive

Authentication

slackAuth
groups:write

Archives a private channel.

Request headers

token
string optional

Authentication token. Requires scope: groups:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

Private channel to archive

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
bots
GET /bots.info
bots_info
GET /bots.info

Authentication

slackAuth
users:read

Gets information about a bot user.

Request parameters

token
string optional

Authentication token. Requires scope: users:read

bot
string optional

Bot user to get info on

Responses

500 default

When no bot can be found, it returns an error.

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "bot_not_found"
}
200 200

When successful, returns bot info by bot ID.

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "bot" : {
    "updated" : 1449272004,
    "name" : "commandeer",
    "icons" : {
      "image_36" : "https://...",
      "image_48" : "https://...",
      "image_72" : "https://..."
    },
    "deleted" : false,
    "app_id" : "A061BLERW",
    "id" : "B061F7JQ1"
  },
  "ok" : true
}
users.profile
POST /users.profile.set
GET /users.profile.get
users_profile_set
POST /users.profile.set

Authentication

slackAuth
users.profile:write

Set the profile information for a user.

Request headers

token
string optional

Authentication token. Requires scope: users.profile:write

Request body

application/x-www-form-urlencoded
application/json
Object
profile
string

Collection of key:value pairs presented as a URL-encoded JSON hash.

user
string

ID of user to change. This argument may only be specified by team admins on paid teams.

value
string

Value to set a single key to. Usable only if profile is not passed.

name
string

Name of a single key to set. Usable only if profile is not passed.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_profile"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "profile" : {
    "display_name" : "spengler",
    "status_emoji" : ":books:",
    "team" : "T012AB3C4",
    "real_name" : "Egon Spengler",
    "image_24" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
    "real_name_normalized" : "Egon Spengler",
    "image_512" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
    "display_name_normalized" : "spengler",
    "image_32" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
    "image_48" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
    "image_72" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
    "avatar_hash" : "ge3b51ca72de",
    "status_text" : "Print is dead",
    "email" : "spengler@ghostbusters.example.com",
    "image_192" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg"
  },
  "ok" : true
}
users_profile_get
GET /users.profile.get

Authentication

slackAuth
users.profile:read

Retrieves a user’s profile information.

Request parameters

token
string optional

Authentication token. Requires scope: users.profile:read

include_labels
boolean optional

Include labels for each ID in custom profile fields

user
string optional

User to retrieve profile info for

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "user_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "profile" : {
    "display_name" : "spengler",
    "status_emoji" : ":books:",
    "team" : "T012AB3C4",
    "real_name" : "Egon Spengler",
    "image_24" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
    "real_name_normalized" : "Egon Spengler",
    "image_512" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
    "display_name_normalized" : "spengler",
    "image_32" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
    "image_48" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
    "image_72" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
    "avatar_hash" : "ge3b51ca72de",
    "status_text" : "Print is dead",
    "email" : "spengler@ghostbusters.example.com",
    "image_192" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg"
  },
  "ok" : true
}
users
POST /users.setPresence
GET /users.info
GET /users.lookupByEmail
GET /users.getPresence
POST /users.deletePhoto
POST /users.setPhoto
GET /users.identity
GET /users.list
POST /users.setActive
users_setPresence
POST /users.setPresence

Authentication

slackAuth
users:write

Manually sets user presence.

Request headers

token
string optional

Authentication token. Requires scope: users:write

Request body

application/x-www-form-urlencoded
application/json
Object
presence
string

Either auto or away

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
users_info
GET /users.info

Authentication

slackAuth
users:read

Gets information about a user.

Request parameters

include_locale
boolean optional

Set this to true to receive the locale for this user. Defaults to false

token
string optional

Authentication token. Requires scope: users:read

user
string optional

User to get info on

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
user_not_found
user_not_visible
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "user_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
user
Object required
profile
updated
number required
tz
unknown required
name
string required
deleted
boolean required
is_app_user
boolean required
is_bot
boolean required
tz_label
string required
real_name
string required
locale
string
team_id
defs_team required
is_admin
boolean required
is_ultra_restricted
boolean required
is_owner
boolean required
is_restricted
boolean required
tz_offset
number required
has_2fa
boolean required
id
defs_user required
color
string required
Pattern: ^[a-fA-F0-9]{6}$
is_primary_owner
boolean required
Examples
{
  "ok" : true,
  "user" : {
    "profile" : {
      "display_name" : "spengler",
      "status_emoji" : ":books:",
      "team" : "T012AB3C4",
      "real_name" : "Egon Spengler",
      "image_24" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
      "real_name_normalized" : "Egon Spengler",
      "image_512" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
      "display_name_normalized" : "spengler",
      "image_32" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
      "image_48" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
      "image_72" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
      "avatar_hash" : "ge3b51ca72de",
      "status_text" : "Print is dead",
      "email" : "spengler@ghostbusters.example.com",
      "image_192" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg"
    },
    "updated" : 1502138686,
    "tz" : "America/Los_Angeles",
    "name" : "spengler",
    "deleted" : false,
    "is_app_user" : false,
    "is_bot" : false,
    "tz_label" : "Pacific Daylight Time",
    "real_name" : "episod",
    "color" : "9f69e7",
    "team_id" : "T012AB3C4",
    "is_admin" : true,
    "is_ultra_restricted" : false,
    "is_restricted" : false,
    "is_owner" : false,
    "tz_offset" : -25200,
    "has_2fa" : false,
    "id" : "W012A3CDE",
    "is_primary_owner" : false
  }
}
users_lookupByEmail
GET /users.lookupByEmail

Authentication

slackAuth
users:read.email

Find a user with an email address.

Request parameters

token
string optional

Authentication token. Requires scope: users:read.email

email
string optional

An email address belonging to a user in the workspace

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
user_not_found
Examples
{
  "ok" : false,
  "error" : "user_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
user
defs_user required
Examples
{
  "ok" : true,
  "user" : {
    "profile" : {
      "display_name" : "spengler",
      "status_emoji" : ":books:",
      "team" : "T012AB3C4",
      "real_name" : "Egon Spengler",
      "image_24" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
      "real_name_normalized" : "Egon Spengler",
      "image_512" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
      "display_name_normalized" : "spengler",
      "image_32" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
      "image_48" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
      "image_72" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
      "avatar_hash" : "ge3b51ca72de",
      "status_text" : "Print is dead",
      "email" : "spengler@ghostbusters.example.com",
      "image_192" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg"
    },
    "updated" : 1502138686,
    "tz" : "America/Los_Angeles",
    "name" : "spengler",
    "deleted" : false,
    "is_app_user" : false,
    "is_bot" : false,
    "tz_label" : "Pacific Daylight Time",
    "real_name" : "episod",
    "color" : "9f69e7",
    "team_id" : "T012AB3C4",
    "is_admin" : true,
    "is_ultra_restricted" : false,
    "is_restricted" : false,
    "is_owner" : false,
    "tz_offset" : -25200,
    "has_2fa" : false,
    "id" : "W012A3CDE",
    "is_primary_owner" : false
  }
}
users_getPresence
GET /users.getPresence

Authentication

slackAuth
users:read

Gets user presence information.

Request parameters

token
string optional

Authentication token. Requires scope: users:read

user
string optional

User to get presence info on. Defaults to the authed user.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

When requesting information for a different user, this method just returns the current presence (either active or away).

Body
application/json
Object
manual_away
boolean
presence
string required
last_activity
integer
online
boolean
ok
defs_ok_true required
connection_count
integer
auto_away
boolean
Examples
{
  "ok" : true,
  "presence" : "active"
}
users_deletePhoto
POST /users.deletePhoto

Authentication

slackAuth
users.profile:write

Delete the user profile photo

Request body

application/x-www-form-urlencoded
Object
token
string

Authentication token. Requires scope: users.profile:write

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
users_setPhoto
POST /users.setPhoto

Authentication

slackAuth
users.profile:write

Set the user profile photo

Request body

application/x-www-form-urlencoded
Object
image
string

File contents via multipart/form-data.

crop_w
integer

Width/height of crop box (always square)

token
string

Authentication token. Requires scope: users.profile:write

crop_y
integer

Y coordinate of top-left corner of crop box

crop_x
integer

X coordinate of top-left corner of crop box

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
users_identity
GET /users.identity

Authentication

slackAuth
identity.basic

Get a user’s identity.

Request parameters

token
string optional

Authentication token. Requires scope: identity.basic

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "account_inactive"
}
200 200

You will receive at a minimum the following information:

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true,
  "user" : {
    "name" : "Sonny Whether",
    "id" : "U0G9QF9C6"
  },
  "team" : {
    "id" : "T0G9PQBBK"
  }
}
users_list
GET /users.list

Authentication

slackAuth
users:read

Lists all users in a Slack team.

Request parameters

presence
boolean optional

Whether to include presence data in the output. Setting this to false improves performance, especially with large teams.

cursor
string optional

Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request’s response_metadata. Default value fetches the first “page” of the collection. See pagination for more detail.

token
string optional

Authentication token. Requires scope: users:read

limit
integer optional

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 been reached.

include_locale
boolean optional

Set this to true to receive the locale for users. Defaults to false

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_cursor"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "cache_ts" : 1498777272,
  "ok" : true,
  "response_metadata" : {
    "next_cursor" : "dXNlcjpVMEc5V0ZYTlo="
  },
  "members" : [
    {
      "profile" : {
        "display_name" : "spengler",
        "status_emoji" : ":books:",
        "team" : "T012AB3C4",
        "real_name" : "Egon Spengler",
        "image_24" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
        "real_name_normalized" : "Egon Spengler",
        "image_512" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
        "display_name_normalized" : "spengler",
        "image_32" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
        "image_48" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
        "image_72" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
        "avatar_hash" : "ge3b51ca72de",
        "status_text" : "Print is dead",
        "email" : "spengler@ghostbusters.example.com",
        "image_192" : "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg"
      },
      "updated" : 1502138686,
      "tz" : "America/Los_Angeles",
      "name" : "spengler",
      "deleted" : false,
      "is_app_user" : false,
      "is_bot" : false,
      "tz_label" : "Pacific Daylight Time",
      "real_name" : "spengler",
      "color" : "9f69e7",
      "team_id" : "T012AB3C4",
      "is_admin" : true,
      "is_ultra_restricted" : false,
      "is_restricted" : false,
      "is_owner" : false,
      "tz_offset" : -25200,
      "has_2fa" : false,
      "id" : "W012A3CDE",
      "is_primary_owner" : false
    },
    {
      "profile" : {
        "first_name" : "Glinda",
        "last_name" : "Southgood",
        "display_name" : "Glinda the Fairly Good",
        "title" : "Glinda the Good",
        "image_1024" : "https://a.slack-edge.com...png",
        "skype" : "",
        "phone" : "",
        "real_name" : "Glinda Southgood",
        "image_24" : "https://a.slack-edge.com...png",
        "image_original" : "https://a.slack-edge.com...png",
        "real_name_normalized" : "Glinda Southgood",
        "image_512" : "https://a.slack-edge.com...png",
        "image_32" : "https://a.slack-edge.com...png",
        "image_48" : "https://a.slack-edge.com...png",
        "image_72" : "https://a.slack-edge.com...png",
        "avatar_hash" : "8fbdd10b41c6",
        "display_name_normalized" : "Glinda the Fairly Good",
        "email" : "glenda@south.oz.coven",
        "image_192" : "https://a.slack-edge.com...png"
      },
      "updated" : 1480527098,
      "tz" : "America/Los_Angeles",
      "name" : "glinda",
      "deleted" : false,
      "is_bot" : false,
      "tz_label" : "Pacific Daylight Time",
      "real_name" : "Glinda Southgood",
      "color" : "9f69e7",
      "team_id" : "T0G9PQBBK",
      "is_admin" : true,
      "is_ultra_restricted" : false,
      "is_restricted" : false,
      "is_owner" : false,
      "tz_offset" : -25200,
      "has_2fa" : false,
      "id" : "W07QCRPA4",
      "is_primary_owner" : false
    }
  ]
}
users_setActive
POST /users.setActive

Authentication

slackAuth
users:write

Marks a user as active.

Request headers

token
string optional

Authentication token. Requires scope: users:write

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
conversations
POST /conversations.close
POST /conversations.join
POST /conversations.create
POST /conversations.unarchive
GET /conversations.list
POST /conversations.setTopic
GET /conversations.members
POST /conversations.open
POST /conversations.leave
POST /conversations.kick
POST /conversations.rename
GET /conversations.history
POST /conversations.setPurpose
GET /conversations.info
POST /conversations.invite
POST /conversations.archive
GET /conversations.replies
conversations_close
POST /conversations.close

Authentication

slackAuth
channels:write
groups:write
im:write
mpim:write

Closes a direct message or multi-person direct message.

Request headers

token
string optional

Authentication token. Requires scope: conversations:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

Conversation to close.

Responses

500 default

Typical error response

Body
application/json
Object
needed
string
error
string required
Enumeration:
method_not_supported_for_channel_type
channel_not_found
user_does_not_own_channel
missing_scope
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
no_op
boolean
ok
defs_ok_true required
already_closed
boolean
Examples
{
  "ok" : true
}
conversations_join
POST /conversations.join

Authentication

slackAuth
channels:write

Joins an existing conversation.

Request headers

token
string optional

Authentication token. Requires scope: channels:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

ID of conversation to join

Responses

500 default

Typical error response if the conversation is archived and cannot be joined

Body
application/json
Object
needed
string
error
string required
Enumeration:
method_not_supported_for_channel_type
missing_scope
channel_not_found
is_archived
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_restricted
user_is_ultra_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
team_added_to_org
missing_charset
superfluous_charset
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "is_archived"
}
200 200

Typical success response

Body
application/json
Object
warning
string
ok
defs_ok_true required
channel
response_metadata
Object
warnings
Array of string
Min items: 1
Unique items: YES
Examples
{
  "warning" : "already_in_channel",
  "ok" : true,
  "response_metadata" : {
    "warnings" : [
      "already_in_channel"
    ]
  },
  "channel" : {
    "is_general" : true,
    "name_normalized" : "general",
    "is_channel" : true,
    "creator" : "U061F7AUR",
    "is_member" : true,
    "is_archived" : false,
    "topic" : {
      "last_set" : 0,
      "value" : "Which widget do you worry about?",
      "creator" : ""
    },
    "is_im" : false,
    "is_ext_shared" : false,
    "previous_names" : [ ],
    "id" : "C061EG9SL",
    "is_org_shared" : false,
    "is_pending_ext_shared" : false,
    "is_mpim" : false,
    "is_group" : false,
    "purpose" : {
      "last_set" : 0,
      "value" : "For widget discussion",
      "creator" : ""
    },
    "is_private" : false,
    "is_shared" : false,
    "name" : "general",
    "created" : 1449252889,
    "pending_shared" : [ ],
    "unlinked" : 0
  }
}
conversations_create
POST /conversations.create

Authentication

slackAuth
channels:write
groups:write
im:write
mpim:write

Initiates a public or private channel-based conversation

Request headers

token
string optional

Authentication token. Requires scope: conversations:write

Request body

application/x-www-form-urlencoded
application/json
Object
name
string

Name of the public or private channel to create

is_private
boolean

Create a private channel instead of a public one

Responses

500 default

Typical error response when name already in use

Body
application/json
Object
provided
string
error
string required
Enumeration:
method_not_supported_for_channel_type
missing_scope
name_taken
restricted_action
no_channel
invalid_name_required
invalid_name_punctuation
invalid_name_maxlength
invalid_name_specials
invalid_name
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
ok
defs_ok_false required
detail
string
needed
string
Examples
{
  "ok" : false,
  "error" : "name_taken"
}
200 200

If successful, the command returns a rather stark conversation object

Body
application/json
Object
ok
defs_ok_true required
channel
Examples
{
  "ok" : true,
  "channel" : {
    "is_general" : false,
    "name_normalized" : "endeavor",
    "is_channel" : true,
    "creator" : "U0123456",
    "is_member" : true,
    "is_archived" : false,
    "topic" : {
      "last_set" : 0,
      "value" : "",
      "creator" : ""
    },
    "unread_count_display" : 0,
    "priority" : 0,
    "is_im" : false,
    "is_ext_shared" : false,
    "previous_names" : [ ],
    "last_read" : "0000000000.000000",
    "id" : "C0EAQDV4Z",
    "is_org_shared" : false,
    "is_pending_ext_shared" : false,
    "is_mpim" : false,
    "is_group" : false,
    "purpose" : {
      "last_set" : 0,
      "value" : "",
      "creator" : ""
    },
    "is_private" : false,
    "is_shared" : false,
    "name" : "endeavor",
    "created" : 1504554479,
    "pending_shared" : [ ],
    "unread_count" : 0,
    "unlinked" : 0,
    "latest" : null
  }
}
conversations_unarchive
POST /conversations.unarchive

Authentication

slackAuth
channels:write
groups:write
im:write
mpim:write

Reverses conversation archival.

Request headers

token
string optional

Authentication token. Requires scope: conversations:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

ID of conversation to unarchive

Responses

500 default

Typical error response

Body
application/json
Object
needed
string
error
string required
Enumeration:
method_not_supported_for_channel_type
missing_scope
channel_not_found
not_archived
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_restricted
user_is_ultra_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
team_added_to_org
missing_charset
superfluous_charset
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
conversations_list
GET /conversations.list

Authentication

slackAuth
channels:read
groups:read
im:read
mpim:read

Lists all channels in a Slack team.

Request parameters

cursor
string optional

Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request’s response_metadata. Default value fetches the first “page” of the collection. See pagination for more detail.

token
string optional

Authentication token. Requires scope: conversations:read

limit
integer optional

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. Must be an integer no larger than 1000.

exclude_archived
boolean optional

Set to true to exclude archived channels from the list

types
string optional

Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im

Responses

500 default

Typical error response

Body
application/json
Object
needed
string
error
string required
Enumeration:
missing_scope
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response with only public channels

Body
application/json
Object
channels
Array of objs_conversation required
Unique items: YES
ok
defs_ok_true required
response_metadata
Object
next_cursor
string required
Examples
{
  "channels" : [
    {
      "is_general" : true,
      "name_normalized" : "general",
      "is_channel" : true,
      "creator" : "U012A3CDE",
      "is_member" : true,
      "is_archived" : false,
      "topic" : {
        "last_set" : 0,
        "value" : "Company-wide announcements and work-based matters",
        "creator" : ""
      },
      "is_im" : false,
      "is_ext_shared" : false,
      "previous_names" : [ ],
      "id" : "C012AB3CD",
      "is_org_shared" : false,
      "is_pending_ext_shared" : false,
      "is_mpim" : false,
      "is_group" : false,
      "purpose" : {
        "last_set" : 0,
        "value" : "This channel is for team-wide communication and announcements. All team members are in this channel.",
        "creator" : ""
      },
      "is_private" : false,
      "is_shared" : false,
      "num_members" : 4,
      "name" : "general",
      "created" : 1449252889,
      "pending_shared" : [ ],
      "unlinked" : 0
    },
    {
      "is_general" : false,
      "name_normalized" : "random",
      "is_channel" : true,
      "creator" : "U061F7AUR",
      "is_member" : true,
      "is_archived" : false,
      "topic" : {
        "last_set" : 0,
        "value" : "Non-work banter and water cooler conversation",
        "creator" : ""
      },
      "is_im" : false,
      "is_ext_shared" : false,
      "previous_names" : [ ],
      "id" : "C061EG9T2",
      "is_org_shared" : false,
      "is_pending_ext_shared" : false,
      "is_mpim" : false,
      "is_group" : false,
      "purpose" : {
        "last_set" : 0,
        "value" : "A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels.",
        "creator" : ""
      },
      "is_private" : false,
      "is_shared" : false,
      "num_members" : 4,
      "name" : "random",
      "created" : 1449252889,
      "pending_shared" : [ ],
      "unlinked" : 0
    }
  ],
  "ok" : true,
  "response_metadata" : {
    "next_cursor" : "dGVhbTpDMDYxRkE1UEI="
  }
}
conversations_setTopic
POST /conversations.setTopic

Authentication

slackAuth
channels:write
groups:write
im:write
mpim:write

Sets the topic for a conversation.

Request headers

token
string optional

Authentication token. Requires scope: conversations:write

Request body

application/x-www-form-urlencoded
application/json
Object
topic
string

The new topic string. Does not support formatting or linkification.

channel
string

Conversation to set the topic of

Responses

500 default

Typical error response

Body
application/json
Object
needed
string
error
string required
Enumeration:
method_not_supported_for_channel_type
missing_scope
channel_not_found
not_in_channel
is_archived
too_long
user_is_restricted
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
channel
Examples
{
  "ok" : true
}
conversations_members
GET /conversations.members

Authentication

slackAuth
channels:read
groups:read
im:read
mpim:read

Retrieve members of a conversation.

Request parameters

cursor
string optional

Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request’s response_metadata. Default value fetches the first “page” of the collection. See pagination for more detail.

token
string optional

Authentication token. Requires scope: conversations:read

limit
integer optional

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 been reached.

channel
string optional

ID of the conversation to retrieve members for

Responses

500 default

Typical error response when an invalid cursor is provided

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
channel_not_found
invalid_limit
invalid_cursor
fetch_members_failed
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_cursor"
}
200 200

Typical paginated success response

Body
application/json
Object
ok
defs_ok_true required
members
Array of defs_user required
Min items: 1
Unique items: YES
response_metadata
Object required
next_cursor
string required
Examples
{
  "ok" : true,
  "response_metadata" : {
    "next_cursor" : "e3VzZXJfaWQ6IFcxMjM0NTY3fQ=="
  },
  "members" : [
    "U023BECGF",
    "U061F7AUR",
    "W012A3CDE"
  ]
}
conversations_open
POST /conversations.open

Authentication

slackAuth
channels:write
groups:write
im:write
mpim:write

Opens or resumes a direct message or multi-person direct message.

Request headers

token
string optional

Authentication token. Requires scope: conversations:write

Request body

application/x-www-form-urlencoded
application/json
Object
return_im
boolean

Boolean, indicates you want the full IM channel definition in the response.

users
string

Comma separated lists of users. If only one user is included, this creates a 1:1 DM. The ordering of the users is preserved whenever a multi-person direct message is returned. Supply a channel when not supplying users.

channel
string

Resume a conversation by supplying an im or mpim's ID. Or provide the users field instead.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
method_not_supported_for_channel_type
user_not_found
user_not_visible
user_disabled
users_list_not_supplied
not_enough_users
too_many_users
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
channel_not_found
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
no_op
boolean
already_open
boolean
ok
defs_ok_true required
channel
Examples
{
  "ok" : true,
  "channel" : {
    "id" : "D069C7QFK"
  }
}
conversations_leave
POST /conversations.leave

Authentication

slackAuth
channels:write
groups:write
im:write
mpim:write

Leaves a conversation.

Request headers

token
string optional

Authentication token. Requires scope: conversations:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

Conversation to leave

Responses

500 default

Typical error response when attempting to leave a workspace’s “general” channel

Body
application/json
Object
needed
string
error
string required
Enumeration:
method_not_supported_for_channel_type
last_member
missing_scope
channel_not_found
is_archived
cant_leave_general
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_restricted
user_is_ultra_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
team_added_to_org
missing_charset
superfluous_charset
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "cant_leave_general"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
not_in_channel
boolean
Enumeration:
true
Examples
{
  "ok" : true
}
conversations_kick
POST /conversations.kick

Authentication

slackAuth
channels:write
groups:write
im:write
mpim:write

Removes a user from a conversation.

Request headers

token
string optional

Authentication token. Requires scope: conversations:write

Request body

application/x-www-form-urlencoded
application/json
Object
user
string

User ID to be removed.

channel
string

ID of conversation to remove user from.

Responses

500 default

Typical error response when you attempt to kick yourself from a channel

Body
application/json
Object
needed
string
error
string required
Enumeration:
method_not_supported_for_channel_type
missing_scope
channel_not_found
user_not_found
cant_kick_self
not_in_channel
cant_kick_from_general
restricted_action
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "cant_kick_self"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
conversations_rename
POST /conversations.rename

Authentication

slackAuth
channels:write
groups:write
im:write
mpim:write

Renames a conversation.

Request headers

token
string optional

Authentication token. Requires scope: conversations:write

Request body

application/x-www-form-urlencoded
application/json
Object
name
string

New name for conversation.

channel
string

ID of conversation to rename

Responses

500 default

Typical error response when the calling user is not a member of the conversation

Body
application/json
Object
needed
string
error
string required
Enumeration:
user_is_restricted
method_not_supported_for_channel_type
missing_scope
channel_not_found
not_in_channel
not_authorized
invalid_name
name_taken
invalid_name_required
invalid_name_punctuation
invalid_name_maxlength
invalid_name_specials
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "not_in_channel"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
channel
Examples
{
  "ok" : true,
  "channel" : {
    "is_general" : true,
    "name_normalized" : "general",
    "is_channel" : true,
    "creator" : "W012A3BCD",
    "is_member" : true,
    "is_archived" : false,
    "topic" : {
      "last_set" : 1449709364,
      "value" : "For public discussion of generalities",
      "creator" : "W012A3BCD"
    },
    "is_im" : false,
    "is_ext_shared" : false,
    "previous_names" : [
      "specifics",
      "abstractions",
      "etc"
    ],
    "last_read" : "1502126650.228446",
    "id" : "C012AB3CD",
    "is_org_shared" : false,
    "locale" : "en-US",
    "is_pending_ext_shared" : false,
    "is_mpim" : false,
    "is_group" : false,
    "is_read_only" : false,
    "purpose" : {
      "last_set" : 1449709364,
      "value" : "This part of the workspace is for fun. Make fun here.",
      "creator" : "W012A3BCD"
    },
    "is_private" : false,
    "is_shared" : false,
    "num_members" : 23,
    "name" : "general",
    "created" : 1449252889,
    "pending_shared" : [ ],
    "unlinked" : 0
  }
}
conversations_history
GET /conversations.history

Authentication

slackAuth
channels:history
groups:history
im:history
mpim:history

Fetches a conversation’s history of messages and events.

Request parameters

inclusive
boolean optional

Include messages with latest or oldest timestamp in results only when either timestamp is specified.

cursor
string optional

Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request’s response_metadata. Default value fetches the first “page” of the collection. See pagination for more detail.

token
string optional

Authentication token. Requires scope: conversations:history

limit
integer optional

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 been reached.

oldest
number optional

Start of time range of messages to include in results.

channel
string optional

Conversation ID to fetch history for.

latest
number optional

End of time range of messages to include in results.

Responses

500 default

Typical error response

Body
application/json
Object
needed
string
error
string required
Enumeration:
missing_scope
channel_not_found
invalid_ts_latest
invalid_ts_oldest
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response containing a channel’s messages

Body
application/json
Object
has_more
boolean required
ok
defs_ok_true required
messages
Array of objs_message required
Min items: 1
Unique items: YES
pin_count
integer required
Examples
{
  "has_more" : true,
  "messages" : [
    {
      "text" : "I find you punny and would like to smell your nose letter",
      "type" : "message",
      "user" : "U012AB3CDE",
      "ts" : "1512085950.000216"
    },
    {
      "text" : "What, you want to smell my shoes better?",
      "type" : "message",
      "user" : "U061F7AUR",
      "ts" : "1512104434.000490"
    }
  ],
  "ok" : true,
  "response_metadata" : {
    "next_cursor" : "bmV4dF90czoxNTEyMDg1ODYxMDAwNTQz"
  },
  "pin_count" : 0
}
conversations_setPurpose
POST /conversations.setPurpose

Authentication

slackAuth
channels:write
groups:write
im:write
mpim:write

Sets the purpose for a conversation.

Request headers

token
string optional

Authentication token. Requires scope: conversations:write

Request body

application/x-www-form-urlencoded
application/json
Object
purpose
string

A new, specialer purpose

channel
string

Conversation to set the purpose of

Responses

500 default

Typical error response

Body
application/json
Object
needed
string
error
string required
Enumeration:
method_not_supported_for_channel_type
missing_scope
channel_not_found
not_in_channel
is_archived
too_long
user_is_restricted
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
channel
Examples
{
  "ok" : true
}
conversations_info
GET /conversations.info

Authentication

slackAuth
channels:read
groups:read
im:read
mpim:read

Retrieve information about a conversation.

Request parameters

token
string optional

Authentication token. Requires scope: conversations:read

channel
string optional

Conversation ID to learn more about

include_locale
boolean optional

Set this to true to receive the locale for this conversation. Defaults to false

Responses

500 default

Typical error response when a channel cannot be found

Body
application/json
Object
needed
string
error
string required
Enumeration:
missing_scope
channel_not_found
team_added_to_org
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response for a public channel

Body
application/json
Object
ok
defs_ok_true required
channel
Examples
{
  "ok" : true,
  "channel" : {
    "is_general" : true,
    "name_normalized" : "general",
    "is_channel" : true,
    "creator" : "W012A3BCD",
    "is_member" : true,
    "is_archived" : false,
    "topic" : {
      "last_set" : 1449709364,
      "value" : "For public discussion of generalities",
      "creator" : "W012A3BCD"
    },
    "is_im" : false,
    "is_ext_shared" : false,
    "previous_names" : [
      "specifics",
      "abstractions",
      "etc"
    ],
    "last_read" : "1502126650.228446",
    "id" : "C012AB3CD",
    "is_org_shared" : false,
    "locale" : "en-US",
    "is_pending_ext_shared" : false,
    "is_mpim" : false,
    "is_group" : false,
    "is_read_only" : false,
    "purpose" : {
      "last_set" : 1449709364,
      "value" : "This part of the workspace is for fun. Make fun here.",
      "creator" : "W012A3BCD"
    },
    "is_private" : false,
    "is_shared" : false,
    "num_members" : 23,
    "name" : "general",
    "created" : 1449252889,
    "pending_shared" : [ ],
    "unlinked" : 0
  }
}
conversations_invite
POST /conversations.invite

Authentication

slackAuth
channels:write
groups:write
im:write
mpim:write

Invites users to a channel.

Request headers

token
string optional

Authentication token. Requires scope: conversations:write

Request body

application/x-www-form-urlencoded
application/json
Object
users
string

A comma separated list of user IDs. Up to 30 users may be listed.

channel
string

The ID of the public or private channel to invite user(s) to.

Responses

500 default

Typical error response when an invite is attempted on a conversation type that does not support it

Body
application/json
Object
provided
string
errors
Array
Min items: 1
Unique items: YES
Object
ok
defs_ok_false required
user
error
string required
Enumeration:
method_not_supported_for_channel_type
missing_scope
channel_not_found
user_not_found
cant_invite_self
not_in_channel
already_in_channel
is_archived
cant_invite
too_many_users
ura_max_channels
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_restricted
user_is_ultra_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
team_added_to_org
missing_charset
superfluous_charset
ok
defs_ok_false required
error
string
Enumeration:
method_not_supported_for_channel_type
missing_scope
channel_not_found
user_not_found
cant_invite_self
not_in_channel
already_in_channel
is_archived
cant_invite
too_many_users
ura_max_channels
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_restricted
user_is_ultra_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
team_added_to_org
missing_charset
superfluous_charset
needed
string
Examples
{
  "ok" : false,
  "error" : "method_not_supported_for_channel_type"
}
200 200

Typical success response when an invitation is extended

Body
application/json
Object
ok
defs_ok_true required
channel
Examples
{
  "ok" : true,
  "channel" : {
    "is_general" : true,
    "name_normalized" : "general",
    "is_channel" : true,
    "creator" : "W012A3BCD",
    "is_member" : true,
    "is_archived" : false,
    "topic" : {
      "last_set" : 1449709364,
      "value" : "For public discussion of generalities",
      "creator" : "W012A3BCD"
    },
    "is_im" : false,
    "is_ext_shared" : false,
    "previous_names" : [
      "specifics",
      "abstractions",
      "etc"
    ],
    "last_read" : "1502126650.228446",
    "id" : "C012AB3CD",
    "is_org_shared" : false,
    "locale" : "en-US",
    "is_pending_ext_shared" : false,
    "is_mpim" : false,
    "is_group" : false,
    "is_read_only" : false,
    "purpose" : {
      "last_set" : 1449709364,
      "value" : "This part of the workspace is for fun. Make fun here.",
      "creator" : "W012A3BCD"
    },
    "is_private" : false,
    "is_shared" : false,
    "num_members" : 23,
    "name" : "general",
    "created" : 1449252889,
    "pending_shared" : [ ],
    "unlinked" : 0
  }
}
conversations_archive
POST /conversations.archive

Authentication

slackAuth
channels:write
groups:write
im:write
mpim:write

Archives a conversation.

Request headers

token
string optional

Authentication token. Requires scope: conversations:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

ID of conversation to archive

Responses

500 default

Typical error response

Body
application/json
Object
needed
string
error
string required
Enumeration:
method_not_supported_for_channel_type
missing_scope
not_supported
channel_not_found
already_archived
cant_archive_general
restricted_action
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_restricted
user_is_ultra_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
team_added_to_org
missing_charset
superfluous_charset
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
conversations_replies
GET /conversations.replies

Authentication

slackAuth
channels:history
groups:history
im:history
mpim:history

Retrieve a thread of messages posted to a conversation

Request parameters

inclusive
boolean optional

Include messages with latest or oldest timestamp in results only when either timestamp is specified.

ts
number optional

Unique identifier of a thread’s parent message.

cursor
string optional

Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request’s response_metadata. Default value fetches the first “page” of the collection. See pagination for more detail.

token
string optional

Authentication token. Requires scope: conversations:history

limit
integer optional

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 been reached.

oldest
number optional

Start of time range of messages to include in results.

channel
string optional

Conversation ID to fetch thread from.

latest
number optional

End of time range of messages to include in results.

Responses

500 default

Typical error response

Body
application/json
Object
needed
string
error
string required
Enumeration:
missing_scope
channel_not_found
thread_not_found
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "thread_not_found"
}
200 200

Typical success response

Body
application/json
Object
has_more
boolean
ok
defs_ok_true required
messages
Array required
Array
Object
thread_ts
defs_ts required
subscribed
boolean required
source_team
last_read
defs_ts required
text
string required
team
ts
defs_ts required
unread_count
integer required
reply_count
integer required
user
defs_user required
replies
Array required
Object
ts
defs_ts required
user
defs_user required
type
string required
user_team
Object
thread_ts
defs_ts required
source_team
text
string required
ts
defs_ts required
user
defs_user required
team
parent_user_id
defs_user required
is_starred
boolean
type
string required
user_team
Examples
{
  "has_more" : true,
  "ok" : true,
  "messages" : [
    {
      "thread_ts" : "1482960137.003543",
      "last_read" : "1484678597.521003",
      "subscribed" : true,
      "text" : "island",
      "ts" : "1482960137.003543",
      "unread_count" : 0,
      "reply_count" : 3,
      "user" : "U061F7AUR",
      "replies" : [
        {
          "user" : "U061F7AUR",
          "ts" : "1483037603.017503"
        },
        {
          "user" : "U061F7AUR",
          "ts" : "1483051909.018632"
        },
        {
          "user" : "U061F7AUR",
          "ts" : "1483125339.020269"
        }
      ],
      "type" : "message"
    },
    {
      "thread_ts" : "1482960137.003543",
      "text" : "one island",
      "ts" : "1483037603.017503",
      "user" : "U061F7AUR",
      "parent_user_id" : "U061F7AUR",
      "type" : "message"
    },
    {
      "thread_ts" : "1482960137.003543",
      "text" : "two island",
      "ts" : "1483051909.018632",
      "user" : "U061F7AUR",
      "parent_user_id" : "U061F7AUR",
      "type" : "message"
    },
    {
      "thread_ts" : "1482960137.003543",
      "text" : "three for the land",
      "ts" : "1483125339.020269",
      "user" : "U061F7AUR",
      "parent_user_id" : "U061F7AUR",
      "type" : "message"
    }
  ],
  "response_metadata" : {
    "next_cursor" : "bmV4dF90czoxNDg0Njc4MjkwNTE3MDkx"
  }
}
team
GET /team.integrationLogs
GET /team.billableInfo
GET /team.accessLogs
GET /team.info
team_integrationLogs
GET /team.integrationLogs

Authentication

slackAuth
admin

Gets the integration logs for the current team.

Request parameters

count
string optional
change_type
string optional

Filter logs with this change type. Defaults to all logs.

app_id
integer optional

Filter logs to this Slack app. Defaults to all logs.

token
string optional

Authentication token. Requires scope: admin

user
string optional

Filter logs generated by this user’s actions. Defaults to all logs.

service_id
integer optional

Filter logs to this service. Defaults to all logs.

page
string optional

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
team_billableInfo
GET /team.billableInfo

Authentication

slackAuth
admin

Gets billable users information for the current team.

Request parameters

token
string optional

Authentication token. Requires scope: admin

user
string optional

A user to retrieve the billable information for. Defaults to all users.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
team_accessLogs
GET /team.accessLogs

Authentication

slackAuth
admin

Gets the access logs for the current team.

Request parameters

count
string optional
token
string optional

Authentication token. Requires scope: admin

page
string optional
before
integer optional

End of time range of logs to include in results (inclusive).

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
team_info
GET /team.info

Authentication

slackAuth
team:read

Gets information about the current team.

Request parameters

token
string optional

Authentication token. Requires scope: team:read

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
dnd
GET /dnd.info
POST /dnd.endDnd
POST /dnd.setSnooze
POST /dnd.endSnooze
GET /dnd.teamInfo
dnd_info
GET /dnd.info

Authentication

slackAuth
dnd:read

Retrieves a user’s current Do Not Disturb status.

Request parameters

token
string optional

Authentication token. Requires scope: dnd:read

user
string optional

User to fetch status for (defaults to current user)

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
dnd_endDnd
POST /dnd.endDnd

Authentication

slackAuth
dnd:write

Ends the current user’s Do Not Disturb session immediately.

Request headers

token
string optional

Authentication token. Requires scope: dnd:write

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
dnd_setSnooze
POST /dnd.setSnooze

Authentication

slackAuth
dnd:write

Turns on Do Not Disturb mode for the current user, or changes its duration.

Request body

application/x-www-form-urlencoded
Object
num_minutes
integer

Number of minutes, from now, to snooze until.

token
string

Authentication token. Requires scope: dnd:write

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
dnd_endSnooze
POST /dnd.endSnooze

Authentication

slackAuth
dnd:write

Ends the current user’s snooze mode immediately.

Request headers

token
string optional

Authentication token. Requires scope: dnd:write

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
dnd_teamInfo
GET /dnd.teamInfo

Authentication

slackAuth
dnd:read

Retrieves the Do Not Disturb status for users on a team.

Request parameters

token
string optional

Authentication token. Requires scope: dnd:read

users
string optional

Comma-separated list of users to fetch Do Not Disturb status for

Responses

500 default

Typical error response

Body
application/json
Object
needed
string
error
string required
Enumeration:
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
request_timeout
upgrade_required
ok
defs_ok_false required
provided
string
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
cached
boolean
ok
defs_ok_true required
users
Object required
Examples
{
  "ok" : true,
  "users" : {
    "W058CJVAA" : {
      "dnd_enabled" : false,
      "next_dnd_end_ts" : 1,
      "next_dnd_start_ts" : 1
    },
    "U023BECGF" : {
      "dnd_enabled" : true,
      "next_dnd_end_ts" : 1450423800,
      "next_dnd_start_ts" : 1450387800
    }
  }
}
channels
POST /channels.archive
GET /channels.info
POST /channels.kick
GET /channels.history
POST /channels.leave
POST /channels.rename
POST /channels.mark
POST /channels.unarchive
POST /channels.create
POST /channels.join
POST /channels.setTopic
POST /channels.setPurpose
GET /channels.list
POST /channels.invite
GET /channels.replies
channels_archive
POST /channels.archive

Authentication

slackAuth
channels:write

Archives a channel.

Request headers

token
string optional

Authentication token. Requires scope: channels:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

Channel to archive

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
channel_not_found
already_archived
cant_archive_general
restricted_action
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_restricted
user_is_ultra_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
team_added_to_org
missing_charset
superfluous_charset
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
channels_info
GET /channels.info

Authentication

slackAuth
channels:read

Gets information about a channel.

Request parameters

token
string optional

Authentication token. Requires scope: channels:read

include_locale
boolean optional

Set this to true to receive the locale for this channel. Defaults to false

channel
string optional

Channel to get info on

Responses

500 default

Error response when the specified channel cannot be found

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
channel_not_found
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
team_added_to_org
missing_charset
superfluous_charset
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
channel
objs_channel required
Examples
{
  "ok" : true,
  "channel" : {
    "topic" : {
      "last_set" : 1503435128,
      "value" : "Spiritual containment strategies",
      "creator" : "U0G9QF9C6"
    },
    "is_general" : false,
    "name_normalized" : "busting",
    "name" : "busting",
    "is_channel" : true,
    "created" : 1466025154,
    "is_member" : true,
    "is_mpim" : false,
    "is_archived" : false,
    "creator" : "U0G9QF9C6",
    "is_org_shared" : false,
    "unread_count" : 1,
    "previous_names" : [
      "dusting"
    ],
    "purpose" : {
      "last_set" : 1503435128,
      "value" : "Discuss busting ghosts",
      "creator" : "U0G9QF9C6"
    },
    "unread_count_display" : 1,
    "last_read" : "1503435939.000101",
    "latest" : {
      "username" : "ecto1138",
      "attachments" : [
        {
          "text" : "Don't get too attached",
          "fallback" : "This is an attachment fallback",
          "id" : 1
        }
      ],
      "text" : "Containment unit is 98% full",
      "ts" : "1503435956.000247",
      "subtype" : "bot_message",
      "type" : "message",
      "bot_id" : "B19LU7CSY"
    },
    "members" : [
      "U0G9QF9C6",
      "U1QNSQB9U"
    ],
    "id" : "C1H9RESGL",
    "is_private" : false,
    "is_shared" : false
  }
}
channels_kick
POST /channels.kick

Authentication

slackAuth
channels:write

Removes a user from a channel.

Request headers

token
string optional

Authentication token. Requires scope: channels:write

Request body

application/x-www-form-urlencoded
application/json
Object
user
string

User to remove from channel.

channel
string

Channel to remove user from.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "not_in_channel"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
channels_history
GET /channels.history

Authentication

slackAuth
channels:history

Fetches history of messages and events from a channel.

Request parameters

count
integer optional

Number of messages to return, between 1 and 1000.

unreads
boolean optional

Include unread_count_display in the output?

inclusive
boolean optional

Include messages with latest or oldest timestamp in results.

token
string optional

Authentication token. Requires scope: channels:history

oldest
number optional

Start of time range of messages to include in results.

channel
string optional

Channel to fetch history for.

latest
number optional

End of time range of messages to include in results.

Responses

500 default

Error response when the specified channel cannot be found

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
channel_not_found
invalid_ts_latest
invalid_ts_oldest
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response containing the channel’s history

Body
application/json
Object
has_more
boolean required
ok
defs_ok_true required
messages
Array of objs_message required
Min items: 1
Unique items: YES
Examples
{
  "has_more" : false,
  "messages" : [
    {
      "text" : "Hello",
      "type" : "message",
      "ts" : "1358546515.000008",
      "user" : "U2147483896"
    },
    {
      "reactions" : [
        {
          "count" : 3,
          "name" : "space_invader",
          "users" : [
            "U1",
            "U2",
            "U3"
          ]
        },
        {
          "count" : 5,
          "name" : "sweet_potato",
          "users" : [
            "U1",
            "U2",
            "U3",
            "U4",
            "U5"
          ]
        }
      ],
      "text" : "World",
      "ts" : "1358546515.000007",
      "user" : "U2147483896",
      "is_starred" : true,
      "type" : "message"
    },
    {
      "type" : "something_else",
      "ts" : "1358546515.000007"
    },
    {
      "username" : "ecto1138",
      "attachments" : [
        {
          "text" : "Don't get too attached",
          "fallback" : "This is an attachment fallback",
          "id" : 1
        }
      ],
      "text" : "Containment unit is 98% full",
      "ts" : "1503435956.000247",
      "subtype" : "bot_message",
      "type" : "message",
      "bot_id" : "B19LU7CSY"
    }
  ],
  "ok" : true,
  "latest" : "1358547726.000003"
}
channels_leave
POST /channels.leave

Authentication

slackAuth
channels:write

Leaves a channel.

Request headers

token
string optional

Authentication token. Requires scope: channels:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

Channel to leave

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
channels_rename
POST /channels.rename

Authentication

slackAuth
channels:write

Renames a channel.

Request headers

token
string optional

Authentication token. Requires scope: channels:write

Request body

application/x-www-form-urlencoded
application/json
Object
validate
boolean

Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.

name
string

New name for channel.

channel
string

Channel to rename

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true,
  "channel" : {
    "previous_names" : [
      "humans"
    ],
    "is_general" : false,
    "name_normalized" : "humans-and-bots",
    "is_shared" : false,
    "is_channel" : true,
    "creator" : "U2U85N1RZ",
    "is_member" : false,
    "is_mpim" : false,
    "is_archived" : false,
    "created" : 1477445146,
    "is_org_shared" : false,
    "topic" : {
      "last_set" : 1509475775,
      "value" : "here be robots",
      "creator" : "U2U85N1RZ"
    },
    "purpose" : {
      "last_set" : 1509475801,
      "value" : "the purpose of this channel is to bring people and robots together in harmony",
      "creator" : "U2U85N1RZ"
    },
    "members" : [ ],
    "unlinked" : 0,
    "id" : "C2U875RJN",
    "is_private" : false,
    "name" : "humans-and-bots"
  }
}
channels_mark
POST /channels.mark

Authentication

slackAuth
channels:write

Sets the read cursor in a channel.

Request headers

token
string optional

Authentication token. Requires scope: channels:write

Request body

application/x-www-form-urlencoded
application/json
Object
ts
number

Timestamp of the most recently seen message.

channel
string

Channel to set reading cursor in.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
channel_not_found
invalid_timestamp
not_in_channel
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
channels_unarchive
POST /channels.unarchive

Authentication

slackAuth
channels:write

Unarchives a channel.

Request headers

token
string optional

Authentication token. Requires scope: channels:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

Channel to unarchive

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
channels_create
POST /channels.create

Authentication

slackAuth
channels:write

Creates a channel.

Request headers

token
string optional

Authentication token. Requires scope: channels:write

Request body

application/x-www-form-urlencoded
application/json
Object
validate
boolean

Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.

name
string

Name of channel to create

Responses

500 default

Example error response when an invalid name is provided

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
name_taken
restricted_action
no_channel
invalid_name_required
invalid_name_punctuation
invalid_name_maxlength
invalid_name_specials
invalid_name
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_restricted
user_is_ultra_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
team_added_to_org
missing_charset
superfluous_charset
Examples
{
  "ok" : false,
  "detail" : "Value passed for `name` contained unallowed special characters.",
  "error" : "invalid_name_specials"
}
200 200

Typical success response resulting in a new channel

Body
application/json
Object
ok
defs_ok_true required
channel
objs_channel required
Examples
{
  "ok" : true,
  "channel" : {
    "topic" : {
      "last_set" : 0,
      "value" : "",
      "creator" : ""
    },
    "is_general" : false,
    "name_normalized" : "endeavor",
    "name" : "endeavor",
    "is_channel" : true,
    "created" : 1502833204,
    "is_member" : true,
    "is_mpim" : false,
    "is_archived" : false,
    "creator" : "U061F7AUR",
    "is_org_shared" : false,
    "unread_count" : 0,
    "previous_names" : [ ],
    "purpose" : {
      "last_set" : 0,
      "value" : "",
      "creator" : ""
    },
    "unread_count_display" : 0,
    "last_read" : "0000000000.000000",
    "latest" : null,
    "members" : [
      "U061F7AUR"
    ],
    "id" : "C0DEL09A5",
    "is_private" : false,
    "is_shared" : false
  }
}
channels_join
POST /channels.join

Authentication

slackAuth
channels:write

Joins a channel, creating it if needed.

Request headers

token
string optional

Authentication token. Requires scope: channels:write

Request body

application/x-www-form-urlencoded
application/json
Object
validate
boolean

Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.

name
string

Name of channel to join

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "already_in_channel" : true,
  "ok" : true,
  "channel" : {
    "topic" : {
      "last_set" : 1503435128,
      "value" : "My Topic",
      "creator" : "U0G9QF9C6"
    },
    "is_general" : false,
    "name_normalized" : "busting",
    "name" : "busting",
    "is_channel" : true,
    "created" : 1466025154,
    "is_member" : true,
    "is_mpim" : false,
    "is_archived" : false,
    "creator" : "U0G9QF9C6",
    "is_org_shared" : false,
    "previous_names" : [ ],
    "purpose" : {
      "last_set" : 1503435128,
      "value" : "My Purpose",
      "creator" : "U0G9QF9C6"
    },
    "members" : [
      "U0G9QF9C6",
      "U1QNSQB9U"
    ],
    "id" : "C1H9RESGL",
    "is_private" : false,
    "is_shared" : false
  }
}
channels_setTopic
POST /channels.setTopic

Authentication

slackAuth
channels:write

Sets the topic for a channel.

Request headers

token
string optional

Authentication token. Requires scope: channels:write

Request body

application/x-www-form-urlencoded
application/json
Object
topic
string

The new topic

channel
string

Channel to set the topic of

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "topic" : "To picture topicality",
  "ok" : true
}
channels_setPurpose
POST /channels.setPurpose

Authentication

slackAuth
channels:write

Sets the purpose for a channel.

Request headers

token
string optional

Authentication token. Requires scope: channels:write

Request body

application/x-www-form-urlencoded
application/json
Object
purpose
string

The new purpose

channel
string

Channel to set the purpose of

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true,
  "purpose" : "My special purpose"
}
channels_list
GET /channels.list

Authentication

slackAuth
channels:read

Lists all channels in a Slack team.

Request parameters

exclude_members
boolean optional

Exclude the members collection from each channel

cursor
string optional

Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request’s response_metadata. Default value fetches the first “page” of the collection. See pagination for more detail.

token
string optional

Authentication token. Requires scope: channels:read

limit
integer optional

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 been reached.

exclude_archived
boolean optional

Exclude archived channels from the list

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical cursored success response

Body
application/json
Object
channels
Array of objs_channel required
Min items: 1
Unique items: YES
ok
defs_ok_true required
Examples
{
  "channels" : [
    {
      "topic" : {
        "last_set" : 1449709352,
        "value" : "Other stuff",
        "creator" : "U0G9QF9C6"
      },
      "is_general" : false,
      "name_normalized" : "random",
      "name" : "random",
      "is_channel" : true,
      "created" : 1449709280,
      "is_member" : true,
      "is_mpim" : false,
      "is_archived" : false,
      "creator" : "U0G9QF9C6",
      "is_org_shared" : false,
      "previous_names" : [ ],
      "num_members" : 2,
      "purpose" : {
        "last_set" : 0,
        "value" : "A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels.",
        "creator" : ""
      },
      "members" : [
        "U0G9QF9C6",
        "U0G9WFXNZ"
      ],
      "id" : "C0G9QF9GW",
      "is_private" : false,
      "is_shared" : false
    },
    {
      "topic" : {
        "last_set" : 1449709364,
        "value" : "Talk about anything!",
        "creator" : "U0G9QF9C6"
      },
      "is_general" : true,
      "name_normalized" : "general",
      "name" : "general",
      "is_channel" : true,
      "created" : 1449709280,
      "is_member" : true,
      "is_mpim" : false,
      "is_archived" : false,
      "creator" : "U0G9QF9C6",
      "is_org_shared" : false,
      "previous_names" : [ ],
      "num_members" : 2,
      "purpose" : {
        "last_set" : 1449709334,
        "value" : "To talk about anything!",
        "creator" : "U0G9QF9C6"
      },
      "members" : [
        "U0G9QF9C6",
        "U0G9WFXNZ"
      ],
      "id" : "C0G9QKBBL",
      "is_private" : false,
      "is_shared" : false
    }
  ],
  "ok" : true,
  "response_metadata" : {
    "next_cursor" : "dGVhbTpDMUg5UkVTR0w="
  }
}
channels_invite
POST /channels.invite

Authentication

slackAuth
channels:write

Invites a user to a channel.

Request headers

token
string optional

Authentication token. Requires scope: channels:write

Request body

application/x-www-form-urlencoded
application/json
Object
user
string

User to invite to channel.

channel
string

Channel to invite user to.

Responses

500 default

A somewhat typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
channel_not_found
user_not_found
cant_invite_self
not_in_channel
already_in_channel
is_archived
cant_invite
too_many_users
ura_max_channels
not_authed
invalid_auth
account_inactive
user_is_bot
user_is_restricted
user_is_ultra_restricted
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
team_added_to_org
missing_charset
superfluous_charset
Examples
{
  "ok" : false,
  "error" : "cant_invite"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
channel
objs_channel required
Examples
{
  "ok" : true,
  "channel" : {
    "topic" : {
      "last_set" : 1503435128,
      "value" : "My Topic",
      "creator" : "U0G9QF9C6"
    },
    "is_general" : false,
    "name_normalized" : "busting",
    "name" : "busting",
    "is_channel" : true,
    "created" : 1466025154,
    "is_member" : true,
    "is_mpim" : false,
    "is_archived" : false,
    "creator" : "U0G9QF9C6",
    "is_org_shared" : false,
    "unread_count" : 0,
    "previous_names" : [ ],
    "purpose" : {
      "last_set" : 1503435128,
      "value" : "My Purpose",
      "creator" : "U0G9QF9C6"
    },
    "unread_count_display" : 0,
    "last_read" : "1503435963.000307",
    "latest" : {
      "text" : "<@U1QNSQB9U|protobot> has left the channel",
      "type" : "message",
      "user" : "U1QNSQB9U",
      "ts" : "1503435963.000307",
      "subtype" : "channel_leave"
    },
    "members" : [
      "U0G9QF9C6",
      "U1QNSQB9U"
    ],
    "id" : "C1H9RESGL",
    "is_private" : false,
    "is_shared" : false
  }
}
channels_replies
GET /channels.replies

Authentication

slackAuth
channels:history

Retrieve a thread of messages posted to a channel

Request parameters

thread_ts
number optional

Unique identifier of a thread’s parent message

token
string optional

Authentication token. Requires scope: channels:history

channel
string optional

Channel to fetch thread from

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "thread_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "has_more" : false,
  "ok" : true,
  "messages" : [
    {
      "thread_ts" : "1485913694.000025",
      "last_read" : "1509484885.000082",
      "subscribed" : true,
      "text" : "This is a channel message",
      "ts" : "1485913694.000025",
      "unread_count" : 0,
      "reply_count" : 2,
      "user" : "U2X9P5FEL",
      "replies" : [
        {
          "ts" : "1509484424.000601",
          "user" : "U2U85N1RZ"
        },
        {
          "ts" : "1509484885.000082",
          "user" : "U2U85N1RZ"
        }
      ],
      "type" : "message"
    },
    {
      "thread_ts" : "1485913694.000025",
      "text" : "This is a thread reply",
      "ts" : "1509484424.000601",
      "user" : "U2U85N1RZ",
      "parent_user_id" : "U2X9P5FEL",
      "type" : "message"
    },
    {
      "thread_ts" : "1485913694.000025",
      "text" : "This is another thread reply",
      "ts" : "1509484885.000082",
      "user" : "U2U85N1RZ",
      "parent_user_id" : "U2X9P5FEL",
      "type" : "message"
    }
  ]
}
reminders
GET /reminders.info
POST /reminders.complete
GET /reminders.list
POST /reminders.add
POST /reminders.delete
reminders_info
GET /reminders.info

Authentication

slackAuth
reminders:read

Gets information about a reminder.

Request parameters

token
string optional

Authentication token. Requires scope: reminders:read

reminder
string optional

The ID of the reminder

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
reminders_complete
POST /reminders.complete

Authentication

slackAuth
reminders:write

Marks a reminder as complete.

Request headers

token
string optional

Authentication token. Requires scope: reminders:write

Request body

application/x-www-form-urlencoded
application/json
Object
reminder
string

The ID of the reminder to be marked as complete

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
reminders_list
GET /reminders.list

Authentication

slackAuth
reminders:read

Lists all reminders created by or for a given user.

Request parameters

token
string optional

Authentication token. Requires scope: reminders:read

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
reminders_add
POST /reminders.add

Authentication

slackAuth
reminders:write

Creates a reminder.

Request headers

token
string optional

Authentication token. Requires scope: reminders:write

Request body

application/x-www-form-urlencoded
application/json
Object
text
string

The content of the reminder

user
string

The user who will receive the reminder. If no user is specified, the reminder will go to user who created it.

time
string

When this reminder should happen: the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. “in 15 minutes,” or “every Thursday”)

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
reminders_delete
POST /reminders.delete

Authentication

slackAuth
reminders:write

Deletes a reminder.

Request headers

token
string optional

Authentication token. Requires scope: reminders:write

Request body

application/x-www-form-urlencoded
application/json
Object
reminder
string

The ID of the reminder

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
mpim
POST /mpim.close
POST /mpim.mark
GET /mpim.history
POST /mpim.open
GET /mpim.replies
GET /mpim.list
mpim_close
POST /mpim.close

Authentication

slackAuth
mpim:write

Closes a multiparty direct message channel.

Request headers

token
string optional

Authentication token. Requires scope: mpim:write

Request body

application/x-www-form-urlencoded
application/json
Object
channel
string

MPIM to close.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
mpim_mark
POST /mpim.mark

Authentication

slackAuth
mpim:write

Sets the read cursor in a multiparty direct message channel.

Request headers

token
string optional

Authentication token. Requires scope: mpim:write

Request body

application/x-www-form-urlencoded
application/json
Object
ts
number

Timestamp of the most recently seen message.

channel
string

multiparty direct message channel to set reading cursor in.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
mpim_history
GET /mpim.history

Authentication

slackAuth
mpim:history

Fetches history of messages and events from a multiparty direct message.

Request parameters

count
integer optional

Number of messages to return, between 1 and 1000.

unreads
boolean optional

Include unread_count_display in the output?

inclusive
boolean optional

Include messages with latest or oldest timestamp in results.

token
string optional

Authentication token. Requires scope: mpim:history

oldest
number optional

Start of time range of messages to include in results.

channel
string optional

Multiparty direct message to fetch history for.

latest
number optional

End of time range of messages to include in results.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "has_more" : false,
  "messages" : [
    {
      "text" : "Hello",
      "type" : "message",
      "ts" : "1358546515.000008",
      "user" : "U2147483896"
    },
    {
      "text" : "World",
      "is_starred" : true,
      "type" : "message",
      "ts" : "1358546515.000007",
      "user" : "U2147483896"
    },
    {
      "type" : "something_else",
      "ts" : "1358546515.000007"
    }
  ],
  "ok" : true,
  "latest" : "1358547726.000003"
}
mpim_open
POST /mpim.open

Authentication

slackAuth
mpim:write

This method opens a multiparty direct message.

Request headers

token
string optional

Authentication token. Requires scope: mpim:write

Request body

application/x-www-form-urlencoded
application/json
Object
users
string

Comma separated lists of users. The ordering of the users is preserved whenever a MPIM group is returned.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
users_list_not_supplied
not_enough_users
too_many_users
not_authed
invalid_auth
account_inactive
no_permission
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
group
objs_group required
Examples
{
  "ok" : true,
  "channel" : {
    "id" : "D024BFF1M"
  }
}
mpim_replies
GET /mpim.replies

Authentication

slackAuth
mpim:history

Retrieve a thread of messages posted to a direct message conversation from a multiparty direct message.

Request parameters

thread_ts
number optional

Unique identifier of a thread’s parent message.

token
string optional

Authentication token. Requires scope: mpim:history

channel
string optional

Multiparty direct message channel to fetch thread from.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "messages" : [
    {
      "text" : "Hello",
      "type" : "message",
      "ts" : "1358546515.000008",
      "user" : "U2147483896"
    },
    {
      "text" : "World",
      "is_starred" : true,
      "type" : "message",
      "ts" : "1358546515.000007",
      "user" : "U2147483896"
    },
    {
      "type" : "something_else",
      "ts" : "1358546515.000007"
    }
  ],
  "ok" : true
}
mpim_list
GET /mpim.list

Authentication

slackAuth
mpim:read

Lists multiparty direct message channels for the calling user.

Request parameters

token
string optional

Authentication token. Requires scope: mpim:read

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
oauth
GET /oauth.token
GET /oauth.access
oauth_token
GET /oauth.token

Authentication

slackAuth
none

Exchanges a temporary OAuth verifier code for a workspace token.

Request parameters

client_secret
string optional

Issued when you created your application.

code
string optional

The code param returned via the OAuth callback.

single_channel
boolean optional

Request the user to add your app only to a single channel.

client_id
string optional

Issued when you created your application.

redirect_uri
string optional

This must match the originally submitted URI (if one was sent).

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
oauth_access
GET /oauth.access

Authentication

slackAuth
none

Exchanges a temporary OAuth code for an API token.

Request parameters

client_secret
string optional

Issued when you created your application.

code
string optional

The code param returned via the OAuth callback.

client_id
string optional

Issued when you created your application.

redirect_uri
string optional

This must match the originally submitted URI (if one was sent).

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
files
POST /files.upload
POST /files.revokePublicURL
GET /files.list
POST /files.delete
GET /files.info
POST /files.sharedPublicURL
files_upload
POST /files.upload

Authentication

slackAuth
files:write:user

Uploads or creates a file.

Request body

application/x-www-form-urlencoded
Object
channels
string

Comma-separated list of channel names or IDs where the file will be shared.

title
string

Title of file.

initial_comment
string

Initial comment to add to file.

filetype
string

A file type identifier.

filename
string

Filename of file.

content
string

File contents via a POST variable. If omitting this parameter, you must provide a file.

token
string

Authentication token. Requires scope: files:write:user

file
string

File contents via multipart/form-data. If omitting this parameter, you must submit content.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
posting_to_general_channel_denied
invalid_channel
file_uploads_disabled
file_uploads_except_images_disabled
storage_limit_reached
not_authed
invalid_auth
account_inactive
no_permission
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
file
objs_file required
Examples
{
  "ok" : true
}
files_revokePublicURL
POST /files.revokePublicURL

Authentication

slackAuth
files:write:user

Revokes public/external sharing access for a file

Request headers

token
string optional

Authentication token. Requires scope: files:write:user

Request body

application/x-www-form-urlencoded
application/json
Object
file
string

File to revoke

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
files_list
GET /files.list

Authentication

slackAuth
files:read

Lists & filters team files.

Request parameters

count
string optional
channel
string optional

Filter files appearing in a specific channel, indicated by its ID.

ts_to
number optional

Filter files created before this timestamp (inclusive).

ts_from
number optional

Filter files created after this timestamp (inclusive).

token
string optional

Authentication token. Requires scope: files:read

user
string optional

Filter files created by a single user.

page
string optional
types
string optional

Filter files by type:

  • all - All files
  • spaces - Posts
  • snippets - Snippets
  • images - Image files
  • gdocs - Google docs
  • zips - Zip files
  • pdfs - PDF files

You can pass multiple values in the types argument, like types=spaces,snippets.The default value is all, which does not filter the list.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
files_delete
POST /files.delete

Authentication

slackAuth
files:write:user

Deletes a file.

Request headers

token
string optional

Authentication token. Requires scope: files:write:user

Request body

application/x-www-form-urlencoded
application/json
Object
file
string

ID of file to delete.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
file_not_found
file_deleted
cant_delete_file
not_authed
invalid_auth
account_inactive
no_permission
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
files_info
GET /files.info

Authentication

slackAuth
files:read

Gets information about a team file.

Request parameters

count
string optional
token
string optional

Authentication token. Requires scope: files:read

file
string optional

Specify a file by providing its ID.

page
string optional

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
file_not_found
file_deleted
timezone_count_failed
not_authed
invalid_auth
account_inactive
no_permission
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
paging
objs_paging required
ok
defs_ok_true required
file
objs_file required
comments
objs_comments required
Examples
{
  "ok" : true
}
files_sharedPublicURL
POST /files.sharedPublicURL

Authentication

slackAuth
files:write:user

Enables a file for public/external sharing.

Request headers

token
string optional

Authentication token. Requires scope: files:write:user

Request body

application/x-www-form-urlencoded
application/json
Object
file
string

File to share

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
usergroups.users
GET /usergroups.users.list
POST /usergroups.users.update
usergroups_users_list
GET /usergroups.users.list

Authentication

slackAuth
usergroups:read

List all users in a User Group

Request parameters

token
string optional

Authentication token. Requires scope: usergroups:read

include_disabled
boolean optional

Allow results that involve disabled User Groups.

usergroup
string optional

The encoded ID of the User Group to update.

Responses

500 default

Standard failure response when used with an invalid token

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Standard success response when used with a user token

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true,
  "users" : [
    "U060R4BJ4",
    "W123A4BC5"
  ]
}
usergroups_users_update
POST /usergroups.users.update

Authentication

slackAuth
usergroups:write

Update the list of users for a User Group

Request headers

token
string optional

Authentication token. Requires scope: usergroups:write

Request body

application/x-www-form-urlencoded
application/json
Object
include_count
boolean

Include the number of users in the User Group.

users
string

A comma separated string of encoded user IDs that represent the entire list of users for the User Group.

usergroup
string

The encoded ID of the User Group to update.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true,
  "usergroup" : {
    "is_external" : false,
    "handle" : "marketing-team",
    "description" : "Marketing gurus, PR experts and product advocates.",
    "date_delete" : 0,
    "date_update" : 1447102109,
    "created_by" : "U060R4BJ4",
    "deleted_by" : null,
    "date_create" : 1447096577,
    "team_id" : "T060R4BHN",
    "updated_by" : "U060R4BJ4",
    "user_count" : 1,
    "auto_type" : null,
    "prefs" : {
      "channels" : [ ],
      "groups" : [ ]
    },
    "users" : [
      "U060R4BJ4",
      "U060RNRCZ"
    ],
    "is_usergroup" : true,
    "id" : "S0616NG6M",
    "name" : "Marketing Team"
  }
}
reactions
GET /reactions.list
POST /reactions.add
GET /reactions.get
POST /reactions.remove
reactions_list
GET /reactions.list

Authentication

slackAuth
reactions:read

Lists reactions made by a user.

Request parameters

count
string optional
token
string optional

Authentication token. Requires scope: reactions:read

full
boolean optional

If true always return the complete reaction list.

user
string optional

Show reactions made by this user. Defaults to the authed user.

page
string optional

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "items" : [
    {
      "message" : {
        "username" : "Shipit Notifications",
        "reactions" : [
          {
            "count" : 1,
            "name" : "robot_face",
            "users" : [
              "U2U85N1RV"
            ]
          }
        ],
        "text" : "Hello from Python! :tada:",
        "ts" : "1507849573.000090",
        "subtype" : "bot_message",
        "bot_id" : "B4VLRLMKJ"
      },
      "type" : "message",
      "channel" : "C3UKJTQAC"
    },
    {
      "comment" : {
        "comment" : "This is a file comment",
        "reactions" : [
          {
            "count" : 1,
            "name" : "white_check_mark",
            "users" : [
              "U2U85N1RV"
            ]
          }
        ],
        "created" : 1508286096,
        "timestamp" : 1508286096,
        "user" : "U2U85N1RV",
        "type" : "file_comment",
        "id" : "Fc7LP08P1U"
      },
      "file" : {
        "username" : "",
        "reactions" : [
          {
            "count" : 1,
            "name" : "stuck_out_tongue_winking_eye",
            "users" : [
              "U2U85N1RV"
            ]
          }
        ],
        "title" : "computer.gif",
        "created" : 1507850315,
        "channels" : [
          "C2U7V2YA2"
        ],
        "comments_count" : 1,
        "user" : "U2U85N1RV"
      }
    },
    {
      "type" : "file",
      "file" : {
        "username" : "",
        "reactions" : [
          {
            "count" : 1,
            "name" : "stuck_out_tongue_winking_eye",
            "users" : [
              "U2U85N1RV"
            ]
          }
        ],
        "name" : "computer.gif",
        "created" : 1507850315,
        "title" : "computer.gif",
        "channels" : [
          "C2U7V2YA2"
        ],
        "comments_count" : 1,
        "user" : "U2U85N1RV",
        "id" : "F7H0D7ZA4",
        "size" : 1639034
      }
    }
  ],
  "paging" : {
    "count" : 100,
    "total" : 3,
    "page" : 1,
    "pages" : 1
  },
  "ok" : true
}
reactions_add
POST /reactions.add

Authentication

slackAuth
reactions:write

Adds a reaction to an item.

Request headers

token
string optional

Authentication token. Requires scope: reactions:write

Request body

application/x-www-form-urlencoded
application/json
Object
name
string

Reaction (emoji) name.

file_comment
string

File comment to add reaction to.

timestamp
number

Timestamp of the message to add reaction to.

file
string

File to add reaction to.

channel
string

Channel where the message to add reaction to was posted.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "already_reacted"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
reactions_get
GET /reactions.get

Authentication

slackAuth
reactions:read

Gets reactions for an item.

Request parameters

full
boolean optional

If true always return the complete reaction list.

file_comment
string optional

File comment to get reactions for.

timestamp
number optional

Timestamp of the message to get reactions for.

token
string optional

Authentication token. Requires scope: reactions:read

file
string optional

File to get reactions for.

channel
string optional

Channel where the message to get reactions for was posted.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "type" : "file",
  "ok" : true,
  "file" : {
    "reactions" : [
      {
        "count" : 1,
        "name" : "stuck_out_tongue_winking_eye",
        "users" : [
          "U2U85N1RV"
        ]
      }
    ],
    "name" : "computer.gif",
    "created" : 1507850315,
    "timestamp" : 1507850315,
    "title" : "computer.gif",
    "channels" : [
      "C2U7V2YA2"
    ],
    "ims" : [ ],
    "comments_count" : 1,
    "user" : "U2U85N1RV",
    "groups" : [ ],
    "id" : "F7H0D7ZA4"
  }
}
reactions_remove
POST /reactions.remove

Authentication

slackAuth
reactions:write

Removes a reaction from an item.

Request headers

token
string optional

Authentication token. Requires scope: reactions:write

Request body

application/x-www-form-urlencoded
application/json
Object
name
string

Reaction (emoji) name.

file_comment
string

File comment to remove reaction from.

timestamp
number

Timestamp of the message to remove reaction from.

file
string

File to remove reaction from.

channel
string

Channel where the message to remove reaction from was posted.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "no_reaction"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
search
GET /search.all
GET /search.files
GET /search.messages
search_all
GET /search.all

Authentication

slackAuth
search:read

Searches for messages and files matching a query.

Request parameters

sort_dir
string optional

Change sort direction to ascending (asc) or descending (desc).

query
string optional

Search query. May contains booleans, etc.

sort
string optional

Return matches sorted by either score or timestamp.

count
string optional
token
string optional

Authentication token. Requires scope: search:read

highlight
boolean optional

Pass a value of true to enable query highlight markers (see below).

page
string optional

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "needed" : "search:read",
  "provided" : "identify,bot:basic",
  "ok" : false,
  "error" : "missing_scope"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "files" : {
    "matches" : [
      {
        "groups" : [ ],
        "initial_comment" : {
          "comment" : "Sure! Here's the workflow diagram!",
          "created" : 1508804330,
          "timestamp" : 1508804330,
          "is_intro" : true,
          "user" : "U2U85N1RZ",
          "id" : "Fc7NLL52E7"
        },
        "filetype" : "png",
        "channels" : [ ],
        "display_as_bot" : false,
        "id" : "F7PKF1NR7",
        "size" : 35705,
        "original_h" : 117,
        "thumb_360_w" : 128,
        "title" : "slack workflow diagram",
        "url_private" : "https://files.slack.com/files-pri/T2U81E2FZ-F7PKF1NR7/slack_workflow_diagram.png",
        "thumb_360" : "https://files.slack.com/files-tmb/T2U81E2FZ-F7PKF1NR7-19f33fc256/slack_workflow_diagram_360.png",
        "thumb_64" : "https://files.slack.com/files-tmb/T2U81E2FZ-F7PKF1NR7-19f33fc256/slack_workflow_diagram_64.png",
        "ims" : [ ],
        "score" : "0.99982661240974",
        "top_file" : false,
        "thumb_80" : "https://files.slack.com/files-tmb/T2U81E2FZ-F7PKF1NR7-19f33fc256/slack_workflow_diagram_80.png",
        "thumb_360_h" : 117,
        "preview" : null,
        "original_w" : 128,
        "username" : "amy",
        "timestamp" : 1508804330,
        "public_url_shared" : false,
        "editable" : false,
        "thumb_160" : "https://files.slack.com/files-tmb/T2U81E2FZ-F7PKF1NR7-19f33fc256/slack_workflow_diagram_160.png",
        "url_private_download" : "https://files.slack.com/files-pri/T2U81E2FZ-F7PKF1NR7/download/slack_workflow_diagram.png",
        "user" : "U2U85N1RZ",
        "image_exif_rotation" : 1,
        "is_public" : true,
        "pretty_type" : "PNG",
        "is_external" : false,
        "mimetype" : "image/png",
        "permalink_public" : "https://slack-files.com/T2U81E2FZ-F7PKF1NR7-bea9143f18",
        "permalink" : "https://example.slack.com/files/U2U85N1RZ/F7PKF1NR7/slack_workflow_diagram.png",
        "name" : "slack workflow diagram.png",
        "created" : 1508804330,
        "external_type" : "",
        "comments_count" : 1,
        "mode" : "hosted"
      }
    ],
    "pagination" : {
      "last" : 1,
      "total_count" : 1,
      "page_count" : 1,
      "per_page" : 20,
      "page" : 1,
      "first" : 1
    },
    "total" : 1,
    "paging" : {
      "count" : 20,
      "total" : 1,
      "page" : 1,
      "pages" : 1
    }
  },
  "ok" : true,
  "messages" : {
    "matches" : [
      {
        "username" : "amy",
        "permalink" : "https://example.slack.com/archives/C2U86NC6M/p1508804330000296",
        "text" : "uploaded a file: <https://example.slack.com/files/U2U85N1RZ/F7PKF1NR7/slack_workflow_diagram.png|slack workflow diagram> and commented: Sure! Here's the workflow diagram!",
        "ts" : "1508804330.000296",
        "next" : {
          "username" : "john",
          "text" : "Thanks!",
          "ts" : "1508804378.000219",
          "iid" : "6f510ea1-e1d3-4f3f-bdb9-f9c6f6e9d609",
          "user" : "U2U85HJ7R",
          "type" : "message"
        },
        "iid" : "35692677-e60e-43d9-ac45-1987cea88975",
        "user" : "U2U85N1RZ",
        "team" : "T2U81E2FZ",
        "type" : "message",
        "channel" : {
          "is_pending_ext_shared" : false,
          "is_shared" : false,
          "is_mpim" : false,
          "pending_shared" : [ ],
          "is_ext_shared" : false,
          "is_org_shared" : false,
          "id" : "C2U86NC6M",
          "is_private" : false,
          "name" : "general"
        },
        "previous" : {
          "username" : "john",
          "text" : "Can you send me the Slack workflow diagram?",
          "ts" : "1508804301.000026",
          "iid" : "aba8603c-0543-4fb2-9118-a5ac85f3d138",
          "user" : "U2U85HJ7R",
          "type" : "message"
        }
      }
    ],
    "pagination" : {
      "last" : 1,
      "total_count" : 1,
      "page_count" : 1,
      "per_page" : 20,
      "page" : 1,
      "first" : 1
    },
    "total" : 1,
    "paging" : {
      "count" : 20,
      "total" : 1,
      "page" : 1,
      "pages" : 1
    }
  },
  "posts" : {
    "matches" : [ ],
    "total" : 0
  },
  "query" : "diagram"
}
search_files
GET /search.files

Authentication

slackAuth
search:read

Searches for files matching a query.

Request parameters

sort_dir
string optional

Change sort direction to ascending (asc) or descending (desc).

query
string optional

Search query. May contain booleans, etc.

sort
string optional

Return matches sorted by either score or timestamp.

highlight
boolean optional

Pass a value of true to enable query highlight markers (see below).

count
string optional
token
string optional

Authentication token. Requires scope: search:read

page
string optional

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "No query passed"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "files" : {
    "matches" : [
      {
        "thumb_480_w" : 480,
        "reactions" : [
          {
            "count" : 1,
            "name" : "stuck_out_tongue_winking_eye",
            "users" : [
              "U2U85N1RZ"
            ]
          }
        ],
        "thumb_480_gif" : "https://files.slack.com/files-tmb/T2U81E2BB-F7H0D7ZBB-21624821e6/computer_480.gif",
        "groups" : [ ],
        "filetype" : "gif",
        "channels" : [ ],
        "display_as_bot" : false,
        "id" : "F7H0D7ZBB",
        "size" : 1639034,
        "original_h" : 313,
        "thumb_360_w" : 360,
        "title" : "computer.gif",
        "url_private" : "https://files.slack.com/files-pri/T2U81E2BB-F7H0D7ZBB/computer.gif",
        "thumb_360" : "https://files.slack.com/files-tmb/T2U81E2BB-F7H0D7ZBB-21624821e6/computer_360.png",
        "thumb_480" : "https://files.slack.com/files-tmb/T2U81E2BB-F7H0D7ZBB-21624821e6/computer_480.png",
        "thumb_64" : "https://files.slack.com/files-tmb/T2U81E2BB-F7H0D7ZBB-21624821e6/computer_64.png",
        "ims" : [ ],
        "score" : "0.38899223746309",
        "top_file" : false,
        "thumb_80" : "https://files.slack.com/files-tmb/T2U81E2BB-F7H0D7ZBB-21624821e6/computer_80.png",
        "thumb_360_h" : 225,
        "preview" : null,
        "original_w" : 500,
        "username" : "",
        "timestamp" : 1507850315,
        "public_url_shared" : false,
        "editable" : false,
        "thumb_160" : "https://files.slack.com/files-tmb/T2U81E2BB-F7H0D7ZBB-21624821e6/computer_160.png",
        "thumb_480_h" : 300,
        "thumb_360_gif" : "https://files.slack.com/files-tmb/T2U81E2BB-F7H0D7ZBB-21624821e6/computer_360.gif",
        "user" : "U2U85N1RZ",
        "image_exif_rotation" : 1,
        "is_public" : true,
        "pretty_type" : "GIF",
        "is_external" : false,
        "mimetype" : "image/gif",
        "permalink_public" : "https://slack-files.com/T2U81E2BB-F7H0D7ZBB-85b7f5557e",
        "permalink" : "https://eventsdemo.slack.com/files/U2U85N1RZ/F7H0D7ZBB/computer.gif",
        "name" : "computer.gif",
        "created" : 1507850315,
        "url_private_download" : "https://files.slack.com/files-pri/T2U81E2BB-F7H0D7ZBB/download/computer.gif",
        "external_type" : "",
        "comments_count" : 1,
        "mode" : "hosted",
        "deanimate_gif" : "https://files.slack.com/files-tmb/T2U81E2BB-F7H0D7ZBB-21624821e6/computer_deanimate_gif.png"
      }
    ],
    "pagination" : {
      "last" : 3,
      "total_count" : 3,
      "page_count" : 1,
      "per_page" : 20,
      "page" : 1,
      "first" : 1
    },
    "total" : 3,
    "paging" : {
      "count" : 20,
      "total" : 3,
      "page" : 1,
      "pages" : 1
    }
  },
  "query" : "computer.gif",
  "ok" : true
}
search_messages
GET /search.messages

Authentication

slackAuth
search:read

Searches for messages matching a query.

Request parameters

sort_dir
string optional

Change sort direction to ascending (asc) or descending (desc).

query
string optional

Search query. May contains booleans, etc.

sort
string optional

Return matches sorted by either score or timestamp.

count
string optional

Pass the number of results you want per “page”. Maximum of 100.

token
string optional

Authentication token. Requires scope: search:read

highlight
boolean optional

Pass a value of true to enable query highlight markers (see below).

page
string optional

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "No query passed"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true,
  "messages" : {
    "matches" : [
      {
        "username" : "roach",
        "permalink" : "https://hitchhikers.slack.com/archives/C12345678/p1508284197000015",
        "text" : "The meaning of life the universe and everything is 42.",
        "ts" : "1508284197.000015",
        "iid" : "cb64bdaa-c1e8-4631-8a91-0f78080113e9",
        "user" : "U2U85N1RV",
        "team" : "T12345678",
        "type" : "message",
        "channel" : {
          "is_pending_ext_shared" : false,
          "is_shared" : false,
          "is_mpim" : false,
          "pending_shared" : [ ],
          "is_ext_shared" : false,
          "is_org_shared" : false,
          "id" : "C12345678",
          "is_private" : false,
          "name" : "general"
        }
      },
      {
        "username" : "robot overlord",
        "permalink" : "https://hitchhikers.slack.com/archives/C12345678/p1508795665000236",
        "text" : "The meaning of life the universe and everything is 101010",
        "ts" : "1508795665.000236",
        "iid" : "9a00d3c9-bd2d-45b0-988b-6cff99ae2a90",
        "user" : "",
        "team" : "T12345678",
        "type" : "message",
        "channel" : {
          "is_pending_ext_shared" : false,
          "is_shared" : false,
          "is_mpim" : false,
          "pending_shared" : [ ],
          "is_ext_shared" : false,
          "is_org_shared" : false,
          "id" : "C12345678",
          "is_private" : false,
          "name" : "random"
        }
      }
    ],
    "pagination" : {
      "last" : 2,
      "total_count" : 2,
      "page_count" : 1,
      "per_page" : 20,
      "page" : 1,
      "first" : 1
    },
    "total" : 2,
    "paging" : {
      "count" : 20,
      "total" : 2,
      "page" : 1,
      "pages" : 1
    }
  },
  "query" : "The meaning of life the universe and everything"
}
auth
GET /auth.revoke
GET /auth.test
auth_revoke
GET /auth.revoke

Authentication

slackAuth
none

Revokes a token.

Request parameters

test
boolean optional

Setting this parameter to 1 triggers a testing mode where the specified token will not actually be revoked.

token
string optional

Authentication token. Requires scope: none

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true,
  "revoked" : true
}
auth_test
GET /auth.test

Authentication

slackAuth
none

Checks authentication & identity.

Request headers

token
string optional

Authentication token. Requires scope: none

Responses

500 default

Standard failure response when used with an invalid token

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
not_authed
invalid_auth
account_inactive
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Standard success response when used with a user token

Body
application/json
Object
ok
defs_ok_true required
url
string required
team_id
defs_team required
user
string required
team
string required
user_id
defs_user required
Examples
{
  "user_id" : "W12345678",
  "url" : "https://subarachnoid.slack.com/",
  "team_id" : "T12345678",
  "user" : "grace",
  "team" : "Subarachnoid Workspace",
  "ok" : true
}
stars
POST /stars.add
GET /stars.list
POST /stars.remove
stars_add
POST /stars.add

Authentication

slackAuth
stars:write

Adds a star to an item.

Request headers

token
string optional

Authentication token. Requires scope: stars:write

Request body

application/x-www-form-urlencoded
application/json
Object
file_comment
string

File comment to add star to.

timestamp
number

Timestamp of the message to add star to.

channel
string

Channel to add star to, or channel where the message to add star to was posted (used with timestamp).

file
string

File to add star to.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
stars_list
GET /stars.list

Authentication

slackAuth
stars:read

Lists stars for a user.

Request parameters

count
string optional
token
string optional

Authentication token. Requires scope: stars:read

page
string optional

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
stars_remove
POST /stars.remove

Authentication

slackAuth
stars:write

Removes a star from an item.

Request headers

token
string optional

Authentication token. Requires scope: stars:write

Request body

application/x-www-form-urlencoded
application/json
Object
file_comment
string

File comment to remove star from.

timestamp
number

Timestamp of the message to remove star from.

channel
string

Channel to remove star from, or channel where the message to remove star from was posted (used with timestamp).

file
string

File to remove star from.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
pins
POST /pins.add
POST /pins.remove
GET /pins.list
pins_add
POST /pins.add

Authentication

slackAuth
pins:write

Pins an item to a channel.

Request headers

token
string optional

Authentication token. Requires scope: pins:write

Request body

application/x-www-form-urlencoded
application/json
Object
file_comment
string

File comment to pin.

timestamp
number

Timestamp of the message to pin.

file
string

File to pin.

channel
string

Channel to pin the item in.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
bad_timestamp
file_not_found
file_comment_not_found
message_not_found
channel_not_found
no_item_specified
already_pinned
permission_denied
file_not_shared
not_pinnable
not_authed
invalid_auth
account_inactive
no_permission
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_type
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeout
upgrade_required
Examples
{
  "ok" : false,
  "error" : "channel_not_found"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
pins_remove
POST /pins.remove

Authentication

slackAuth
pins:write

Un-pins an item from a channel.

Request headers

token
string optional

Authentication token. Requires scope: pins:write

Request body

application/x-www-form-urlencoded
application/json
Object
file_comment
string

File comment to un-pin.

timestamp
number

Timestamp of the message to un-pin.

file
string

File to un-pin.

channel
string

Channel where the item is pinned to.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
bad_timestamp
file_not_found
file_comment_not_found
message_not_found
no_item_specified
not_pinned
permission_denied
not_authed
invalid_auth
account_inactive
no_permission
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_typ
missing_post_typ
team_added_to_org
invalid_json
json_not_object
request_timeou
upgrade_required
Examples
{
  "ok" : false,
  "error" : "no_pin"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
pins_list
GET /pins.list

Authentication

slackAuth
pins:read

Lists items pinned to a channel.

Request parameters

token
string optional

Authentication token. Requires scope: pins:read

channel
string optional

Channel to get pinned items for.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "items" : [
    {
      "message" : {
        "permalink" : "https://hitchhikers.slack.com/archives/C2U86NC6H/p1508197641000151",
        "text" : "What is the meaning of life?",
        "ts" : "1508197641.000151",
        "pinned_to" : [
          "C2U86NC6H"
        ],
        "user" : "U2U85N1RZ",
        "type" : "message"
      },
      "type" : "message",
      "created_by" : "U2U85N1RZ",
      "channel" : "C2U86NC6H",
      "created" : 1508881078
    },
    {
      "message" : {
        "permalink" : "https://hitchhikers.slack.com/archives/C2U86NC6H/p1508284197000015",
        "text" : "The meaning of life, the universe, and everything is 42.",
        "ts" : "1503289197.000015",
        "pinned_to" : [
          "C2U86NC6H"
        ],
        "user" : "U2U85N1RZ",
        "type" : "message"
      },
      "type" : "message",
      "created_by" : "U2U85N1RZ",
      "channel" : "C2U86NC6H",
      "created" : 1508880991
    }
  ],
  "ok" : true
}
api
GET /api.test
api_test
GET /api.test

Authentication

slackAuth
none

Checks API calling code.

Request parameters

foo
string optional

example property to return

error
string optional

Error response to return

Responses

500 default

Artificial error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Examples
{
  "args" : {
    "error" : "my_error"
  },
  "ok" : false,
  "error" : "my_error"
}
200 200

Standard success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
usergroups
POST /usergroups.update
POST /usergroups.create
POST /usergroups.enable
GET /usergroups.list
POST /usergroups.disable
usergroups_update
POST /usergroups.update

Authentication

slackAuth
usergroups:write

Update an existing User Group

Request headers

token
string optional

Authentication token. Requires scope: usergroups:write

Request body

application/x-www-form-urlencoded
application/json
Object
handle
string

A mention handle. Must be unique among channels, users and User Groups.

description
string

A short description of the User Group.

channels
string

A comma separated string of encoded channel IDs for which the User Group uses as a default.

include_count
boolean

Include the number of users in the User Group.

usergroup
string

The encoded ID of the User Group to update.

name
string

A name for the User Group. Must be unique among User Groups.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true,
  "usergroup" : {
    "is_external" : false,
    "handle" : "marketing-team",
    "description" : "Marketing gurus, PR experts and product advocates.",
    "date_delete" : 0,
    "date_update" : 1447102109,
    "created_by" : "U060R4BJ4",
    "deleted_by" : null,
    "date_create" : 1447096577,
    "team_id" : "T060R4BHN",
    "updated_by" : "U060R4BJ4",
    "user_count" : 1,
    "auto_type" : null,
    "prefs" : {
      "channels" : [ ],
      "groups" : [ ]
    },
    "users" : [
      "U060R4BJ4",
      "U060RNRCZ"
    ],
    "is_usergroup" : true,
    "id" : "S0616NG6M",
    "name" : "Marketing Team"
  }
}
usergroups_create
POST /usergroups.create

Authentication

slackAuth
usergroups:write

Create a User Group

Request headers

token
string optional

Authentication token. Requires scope: usergroups:write

Request body

application/x-www-form-urlencoded
application/json
Object
handle
string

A mention handle. Must be unique among channels, users and User Groups.

name
string

A name for the User Group. Must be unique among User Groups.

channels
string

A comma separated string of encoded channel IDs for which the User Group uses as a default.

include_count
boolean

Include the number of users in each User Group.

description
string

A short description of the User Group.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
usergroups_enable
POST /usergroups.enable

Authentication

slackAuth
usergroups:write

Enable a User Group

Request headers

token
string optional

Authentication token. Requires scope: usergroups:write

Request body

application/x-www-form-urlencoded
application/json
Object
include_count
boolean

Include the number of users in the User Group.

usergroup
string

The encoded ID of the User Group to enable.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
usergroups_list
GET /usergroups.list

Authentication

slackAuth
usergroups:read

List all User Groups for a team

Request parameters

include_users
boolean optional

Include the list of users for each User Group.

token
string optional

Authentication token. Requires scope: usergroups:read

include_count
boolean optional

Include the number of users in each User Group.

include_disabled
boolean optional

Include disabled User Groups.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "usergroups" : [
    {
      "is_external" : false,
      "handle" : "admins",
      "description" : "A group of all Administrators on your team.",
      "date_delete" : 0,
      "date_update" : 1446670362,
      "created_by" : "USLACKBOT",
      "deleted_by" : null,
      "date_create" : 1446598059,
      "team_id" : "T060RNRCH",
      "updated_by" : "U060RNRCZ",
      "user_count" : "2",
      "auto_type" : "admin",
      "prefs" : {
        "channels" : [ ],
        "groups" : [ ]
      },
      "is_usergroup" : true,
      "id" : "S0614TZR7",
      "name" : "Team Admins"
    },
    {
      "is_external" : false,
      "handle" : "owners",
      "description" : "A group of all Owners on your team.",
      "date_delete" : 0,
      "date_update" : 1446678371,
      "created_by" : "USLACKBOT",
      "deleted_by" : null,
      "date_create" : 1446678371,
      "team_id" : "T060RNRCH",
      "updated_by" : "USLACKBOT",
      "user_count" : "1",
      "auto_type" : "owner",
      "prefs" : {
        "channels" : [ ],
        "groups" : [ ]
      },
      "is_usergroup" : true,
      "id" : "S06158AV7",
      "name" : "Team Owners"
    },
    {
      "is_external" : false,
      "handle" : "marketing-team",
      "description" : "Marketing gurus, PR experts and product advocates.",
      "date_delete" : 1446748865,
      "date_update" : 1446747767,
      "created_by" : "U060RNRCZ",
      "deleted_by" : null,
      "date_create" : 1446746793,
      "team_id" : "T060RNRCH",
      "updated_by" : "U060RNRCZ",
      "user_count" : "0",
      "auto_type" : null,
      "prefs" : {
        "channels" : [ ],
        "groups" : [ ]
      },
      "is_usergroup" : true,
      "id" : "S0615G0KT",
      "name" : "Marketing Team"
    }
  ],
  "ok" : true
}
usergroups_disable
POST /usergroups.disable

Authentication

slackAuth
usergroups:write

Disable an existing User Group

Request headers

token
string optional

Authentication token. Requires scope: usergroups:write

Request body

application/x-www-form-urlencoded
application/json
Object
include_count
boolean

Include the number of users in the User Group.

usergroup
string

The encoded ID of the User Group to disable.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
apps.permissions
GET /apps.permissions.info
GET /apps.permissions.request
apps_permissions_info
GET /apps.permissions.info

Authentication

slackAuth
none

Returns list of permissions this app has on a team.

Request parameters

token
string optional

Authentication token. Requires scope: none

Responses

500 default

Standard failure response when used with an invalid token

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Standard success response when used with a user token

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "info" : {
    "app_home" : {
      "scopes" : [
        "chat:write:user",
        "im:history",
        "im:read"
      ],
      "resources" : {
        "ids" : [
          "D0C0NU1Q8",
          "D0BH95DLH"
        ]
      }
    },
    "group" : {
      "scopes" : [ ],
      "resources" : {
        "ids" : [ ]
      }
    },
    "mpim" : {
      "scopes" : [ ],
      "resources" : {
        "ids" : [ ]
      }
    },
    "im" : {
      "scopes" : [ ],
      "resources" : {
        "ids" : [ ]
      }
    },
    "team" : {
      "scopes" : [ ],
      "resources" : {
        "ids" : [ ]
      }
    },
    "channel" : {
      "scopes" : [
        "channels:read"
      ],
      "resources" : {
        "ids" : [
          "C061FA5PB"
        ],
        "wildcard" : false,
        "excluded_ids" : [ ]
      }
    }
  },
  "ok" : true
}
apps_permissions_request
GET /apps.permissions.request

Authentication

slackAuth
none

Allows an app to request additional scopes

Request parameters

scopes
string optional

A comma separated list of scopes to request for

token
string optional

Authentication token. Requires scope: none

trigger_id
string optional

Token used to trigger the permissions API

Responses

500 default

Standard failure response when trigger_id is invalid

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_trigger_id"
}
200 200

Standard success response when used with a user token

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
migration
GET /migration.exchange
migration_exchange
GET /migration.exchange

Authentication

slackAuth
tokens.basic

For Enterprise Grid workspaces, map local user IDs to global user IDs

Request parameters

token
string optional

Authentication token. Requires scope: tokens.basic

to_old
boolean optional

Specify true to convert W global user IDs to workspace-specific U IDs. Defaults to false.

users
string optional

A comma-separated list of user ids, up to 400 per request

Responses

500 default

Typical error response when there are no mappings to provide

Body
application/json
unknown
Examples
{ "ok" : false, "error" : "not_enterprise_team" }
200 200

Typical success response when mappings exist for the specified user IDs

Body
application/json
Object
team_id
string required
ok
defs_ok_true required
enterprise_id
string required
invalid_user_ids
Array of string
user_id_map
Object
Examples
{
  "team_id" : "T1KR7PE1W",
  "ok" : true,
  "enterprise_id" : "E1KQTNXE1",
  "invalid_user_ids" : [
    "U21ABZZXX"
  ],
  "user_id_map" : {
    "U06UBSUN5" : "W06M56XJM",
    "U06UBSVDX" : "W06PUUDMW",
    "U06UEB62U" : "W06PTT6GH",
    "W06UAZ65Q" : "W06UAZ65Q",
    "U06UBSVB3" : "W06PUUDLY"
  }
}
rtm
GET /rtm.connect
GET /rtm.start
rtm_connect
GET /rtm.connect

Authentication

slackAuth
rtm:stream

Starts a Real Time Messaging session.

Request parameters

token
string optional

Authentication token. Requires scope: rtm:stream

batch_presence_aware
boolean optional

Only deliver presence events when requested by subscription. See presence subscriptions.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "url" : "wss://...",
  "self" : {
    "id" : "U4X318ZMZ",
    "name" : "robotoverlord"
  },
  "ok" : true,
  "team" : {
    "domain" : "slackdemo",
    "id" : "T2U81E2FP",
    "name" : "SlackDemo"
  }
}
rtm_start
GET /rtm.start

Authentication

slackAuth
rtm:stream

Starts a Real Time Messaging session.

Request parameters

no_latest
boolean optional

Exclude latest timestamps for channels, groups, mpims, and ims. Automatically sets no_unreads to 1

simple_latest
boolean optional

Return timestamp only for latest message object of each channel (improves performance).

include_locale
boolean optional

Set this to true to receive the locale for users and channels. Defaults to false

no_unreads
boolean optional

Skip unread counts for each channel (improves performance).

batch_presence_aware
boolean optional

Only deliver presence events when requested by subscription. See presence subscriptions.

mpim_aware
boolean optional

Returns MPIMs to the client in the API response.

token
string optional

Authentication token. Requires scope: rtm:stream

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
emoji
GET /emoji.list
emoji_list
GET /emoji.list

Authentication

slackAuth
emoji:read

Lists custom emoji for a team.

Request parameters

token
string optional

Authentication token. Requires scope: emoji:read

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
dialog
GET /dialog.open
dialog_open
GET /dialog.open

Authentication

slackAuth
none

Open a dialog with a user

Request parameters

dialog
string optional

The dialog definition. This must be a JSON-encoded string.

trigger_id
string optional

Exchange a trigger to post to the user.

Request headers

token
string optional

Authentication token. Requires scope: none

Responses

500 default

Typical error response, before getting to any possible validation errors.

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : false,
  "error" : "missing_trigger"
}
200 200

Typical success response is quite minimal.

Body
application/json
Object
ok
defs_ok_true required
Examples
{
  "ok" : true
}
team.profile
GET /team.profile.get
team_profile_get
GET /team.profile.get

Authentication

slackAuth
users.profile:read

Retrieve a team’s profile.

Request parameters

token
string optional

Authentication token. Requires scope: users.profile:read

visibility
string optional

Filter by visibility.

Responses

500 default

Typical error response

Body
application/json
Object
ok
defs_ok_false required
error
string required
Enumeration:
not_authed
invalid_auth
account_inactive
no_permission
user_is_bot
invalid_arg_name
invalid_array_arg
invalid_charset
invalid_form_data
invalid_post_typ
missing_post_type
team_added_to_org
invalid_json
json_not_object
request_timeou
upgrade_required
Examples
{
  "ok" : false,
  "error" : "invalid_auth"
}
200 200

Typical success response

Body
application/json
Object
profile
Object required
fields
Array of objs_team_profile_field required
Min items: 1
Unique items: YES
ok
defs_ok_true required
Examples
{
  "profile" : {
    "fields" : [
      {
        "hint" : "Enter the extension to reach your desk",
        "ordering" : 0,
        "possible_values" : null,
        "label" : "Phone extension",
        "options" : null,
        "is_hidden" : 1,
        "type" : "text",
        "id" : "Xf06054AAA"
      },
      {
        "hint" : "When you were born",
        "ordering" : 1,
        "possible_values" : null,
        "label" : "Date of birth",
        "options" : null,
        "type" : "date",
        "id" : "Xf06054BBB"
      },
      {
        "hint" : "Enter a link to your Facebook profile",
        "ordering" : 2,
        "possible_values" : null,
        "label" : "Facebook",
        "options" : null,
        "type" : "link",
        "id" : "Xf06054CCC"
      },
      {
        "hint" : "Hogwarts, obviously",
        "ordering" : 3,
        "possible_values" : [
          "Gryffindor",
          "Hufflepuff",
          "Ravenclaw",
          "Slytherin"
        ],
        "label" : "House",
        "options" : null,
        "type" : "options_list",
        "id" : "Xf06054DDD"
      },
      {
        "hint" : "Office location (LDAP)",
        "ordering" : 4,
        "possible_values" : null,
        "label" : "Location",
        "options" : {
          "is_protected" : 1
        },
        "type" : "text",
        "id" : "Xf06054EEE"
      },
      {
        "hint" : "The boss",
        "ordering" : 5,
        "possible_values" : null,
        "label" : "Manager",
        "options" : null,
        "type" : "user",
        "id" : "Xf06054FFF"
      }
    ]
  },
  "ok" : true
}
Type Definitions
objs_im

IM Object

Object
is_org_shared
boolean required
created
integer required
is_user_deleted
boolean required
priority
integer
user
defs_user required
is_im
boolean required
id
defs_dm_id required
defs_bot_id

Bot User ID

string
Pattern: ^B[A-Z0-9]{8}$
objs_paging

paging object for files

Object
count
integer required
total
integer required
page
integer required
pages
integer
defs_team

Team ID

string
Pattern: ^[T][A-Z0-9]{8}$
objs_file_object_with_id_only

file object with ID only

defs_ts

Timestamp in format 0123456789.012345

string
Pattern: ^\d{10}\.\d{6}$
objs_file

file object

Object
image_exif_rotation
integer
filetype
string
channels
Array of defs_channel_id
display_as_bot
boolean
thumb_64
string
size
integer
original_h
integer
thumb_360_w
integer
title
string
url_private
string
thumb_360
string
ims
Array of unknown
thumb_80
string
thumb_360_h
integer
original_w
integer
username
string
timestamp
integer
public_url_shared
boolean
editable
boolean
thumb_160
string
url_private_download
string
user
string
groups
Array of unknown
is_public
boolean
pretty_type
string
name
string
mimetype
string
permalink_public
string
permalink
string
is_external
boolean
created
integer
external_type
string
comments_count
integer
mode
string
defs_user

User ID

string
Pattern: ^[UW][A-Z0-9]{8}$
objs_user_profile

User profile object

Object
last_name
string
status_emoji
string
display_name_normalized
string required
image_32
string uri required
skype
string
image_72
string uri required
image_192
string uri required
first_name
string
display_name
string required
title
string
real_name_normalized
string required
email
string email required
image_24
string uri required
image_original
string uri
image_48
string uri required
guest_channels
string
phone
string
fields
Object
real_name
string required
image_512
string uri
team
avatar_hash
string required
status_text
string
defs_room_id

Room ID for a slack call

string
Pattern: ^[R][A-Z0-9]{8}$
defs_channel_id

Channel ID

string
Pattern: ^[C][A-Z0-9]{8}$
defs_channel_name

Name of a channel

string
objs_team_profile_field
Object
hint
string required
ordering
number required
type
string required
Enumeration:
text
date
link
mailto
options_list
user
possible_values
unknown
label
string required
id
string required
Pattern: ^X[a-zA-Z0-9]{9}$
is_hidden
boolean
field_name
string
options
unknown required
defs_dm_id

Direct Message Channel ID

string
Pattern: ^[D][A-Z0-9]{8}$
defs_channel

Channel-like conversation ID

string
Pattern: ^[CGD][A-Z0-9]{8}$
objs_comment

File Comment Object

Object
comment
string
created
integer
timestamp
integer
is_intro
boolean
user
string
id
string
objs_channel

Channel Object

Object
is_general
boolean
name_normalized
string required
last_read
creator
defs_user required
is_member
boolean
is_archived
boolean
topic
Object required
last_set
integer required
value
string required
creator
unread_count_display
integer
id
defs_channel_id required
is_org_shared
boolean required
is_channel
boolean required
name
string required
priority
integer
is_moved
integer
accepted_user
is_pending_ext_shared
boolean
is_mpim
boolean required
is_read_only
boolean
purpose
Object required
last_set
integer required
value
string required
creator
members
Array of defs_user required
Min items: 0
Unique items: YES
is_private
boolean required
previous_names
Min items: 0
Unique items: YES
num_members
integer
is_shared
boolean required
created
integer required
pending_shared
Array of defs_team
Min items: 0
Unique items: YES
unread_count
integer
unlinked
integer
latest
Array
unknown
defs_topic_purpose_creator

User ID or empty string, used for topic and purpose creation

string
Pattern: ^[UW][A-Z0-9]{8}$|^$
defs_invite_id

Invite ID for an external shared channel

integer
defs_file_id

File ID

string
Pattern: ^[F][A-Z0-9]{8}$
defs_group_id

Private Channel ID

string
Pattern: ^[G][A-Z0-9]{8}$
defs_user_id

User ID

string
Pattern: ^[UW][A-Z0-9]{8}$
objs_group

Group object

Object
is_pending_ext_shared
boolean
name_normalized
string required
name
string required
last_read
creator
defs_user required
is_moved
integer
is_mpim
boolean
is_archived
boolean
created
integer required
is_group
boolean required
topic
Object required
last_set
integer required
value
string required
creator
unread_count
integer
is_open
boolean
purpose
Object required
last_set
integer required
value
string required
creator
members
Array of defs_user required
Min items: 1
Unique items: YES
priority
integer
latest
Array
unknown
id
defs_group_id required
unread_count_display
integer
defs_ok_false

default failure response

boolean
Enumeration:
false
objs_user_profile_short
Object
first_name
string required
display_name
string required
name
string required
team
defs_team required
real_name
string required
avatar_hash
string required
is_ultra_restricted
boolean required
is_restricted
boolean required
image_72
string uri required
objs_comments

file comments object

Array of unknown
defs_ok_true

default success response

boolean
Enumeration:
true
objs_conversation
Array
Object
is_general
boolean required
name_normalized
string required
last_read
creator
defs_user required
is_member
boolean required
is_archived
boolean required
topic
Object required
last_set
integer required
value
string required
creator
is_open
boolean
unread_count_display
integer
is_im
boolean required
id
defs_channel required
is_org_shared
boolean required
is_channel
boolean required
user
shares
Array
Min items: 0
Unique items: YES
Object
accepted_user
defs_user required
is_active
boolean required
user
defs_user required
team
objs_team required
is_ext_shared
boolean
priority
integer
is_moved
integer
accepted_user
is_pending_ext_shared
boolean
name
string required
is_mpim
boolean required
Enumeration:
false
is_group
boolean required
is_read_only
boolean
purpose
Object required
last_set
integer required
value
string required
creator
pin_count
integer
is_private
boolean required
previous_names
Min items: 0
Unique items: YES
num_members
integer
is_shared
boolean required
created
integer required
timezone_count
integer
pending_shared
Array of defs_team
Min items: 0
Unique items: YES
unread_count
integer
unlinked
integer
latest
Array
unknown
display_counts
Object
guest_counts
integer required
display_counts
integer required
Object
is_general
boolean required
name_normalized
string required
last_read
creator
defs_user required
is_member
boolean required
is_archived
boolean required
topic
Object required
last_set
integer required
value
string required
creator
is_open
boolean
unread_count_display
integer
is_im
boolean required
id
defs_channel required
is_org_shared
boolean required
is_channel
boolean required
user
shares
Array
Min items: 0
Unique items: YES
Object
accepted_user
defs_user required
is_active
boolean required
user
defs_user required
team
objs_team required
is_ext_shared
boolean
priority
integer
is_moved
integer
accepted_user
is_pending_ext_shared
boolean
name
string required
is_mpim
boolean required
Enumeration:
true
is_group
boolean required
is_read_only
boolean
purpose
Object required
last_set
integer required
value
string required
creator
members
Array of defs_user
Min items: 0
Unique items: YES
pin_count
string
is_private
boolean required
previous_names
Min items: 0
Unique items: YES
num_members
integer
is_shared
boolean required
created
integer required
timezone_count
integer
pending_shared
Array of defs_team
Min items: 0
Unique items: YES
unread_count
integer
unlinked
integer
latest
Array
unknown
display_counts
Object
guest_counts
integer required
display_counts
integer required
Object
is_org_shared
boolean required
is_shared
boolean
created
integer required
is_user_deleted
boolean required
priority
integer required
user
defs_user required
id
defs_dm_id required
is_im
boolean required
is_ext_shared
boolean
objs_team

Team Object

Object
domain
string required
name
string required
email_domain
string required
has_compliance_export
boolean required
id
defs_team required
icon
Object required
image_230
string
image_132
string
image_68
string
image_34
string
image_102
string
image_default
boolean
image_44
string
image_88
string
objs_message

Message object

Object
attachments
Array
Min items: 1
Unique items: YES
Object
image_bytes
integer
image_width
integer
image_height
integer
image_url
string
fallback
string
id
integer required
last_read
text
string required
topic
string
reply_count
integer
replies
Array
Object
ts
defs_ts required
user
defs_user required
user_team
subscribed
boolean
icons
Object
emoji
string
purpose
string
ts
defs_ts required
subtype
string
type
string required
username
string
source_team
user
old_name
string
thread_ts
name
string
unread_count
integer
team
inviter
bot_id