Social — entry 028 of 39
Slack
Slack's Web API lets registered apps read and post messages, manage channels, and react to workspace events, authenticated with OAuth 2.0 bot or user tokens scoped to a single Slack workspace. Methods are rate-limited across four tiers and most write actions cap out around one request per second per workspace, so high-throughput integrations typically move to the Events API or Socket Mode instead of polling.
GreatAPIs Score
Auth quickstart
- Register an app / run the OAuth flow to obtain a bearer token.
- Send it as an Authorization header
Authorization: Bearer <token>
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Endpoints
chat1
POST/chat.postMessage
| Name | In | Required | Type |
|---|---|---|---|
token | header | yes | string |
application/x-www-form-urlencoded
| Status | Description | Schema |
|---|---|---|
200 | Typical success response | — |
default | Typical error response if too many attachments are included | — |
conversations4
POST/conversations.create
| Name | In | Required | Type |
|---|---|---|---|
token | header | no | string |
application/x-www-form-urlencoded
| Status | Description | Schema |
|---|---|---|
200 | If successful, the command returns a rather stark [conversation object](/types/conversation) | — |
default | Typical error response when name already in use | — |
GET/conversations.history
| Name | In | Required | Type |
|---|---|---|---|
token | query | no | string |
channel | query | no | string |
latest | query | no | number |
oldest | query | no | number |
inclusive | query | no | boolean |
limit | query | no | integer |
cursor | query | no | string |
| Status | Description | Schema |
|---|---|---|
200 | Typical success response containing a channel's messages | — |
default | Typical error response | — |
GET/conversations.info
| Name | In | Required | Type |
|---|---|---|---|
token | query | no | string |
channel | query | no | string |
include_locale | query | no | boolean |
include_num_members | query | no | boolean |
| Status | Description | Schema |
|---|---|---|
200 | Typical success response for a public channel. (Also, a response from a private channel and a multi-party IM is very similar to this example.) | — |
default | Typical error response when a channel cannot be found | — |
GET/conversations.list
| Name | In | Required | Type |
|---|---|---|---|
token | query | no | string |
exclude_archived | query | no | boolean |
types | query | no | string |
limit | query | no | integer |
cursor | query | no | string |
| Status | Description | Schema |
|---|---|---|
200 | Typical success response with only public channels | — |
default | Typical error response | — |
files1
POST/files.upload
application/x-www-form-urlencoded
| Status | Description | Schema |
|---|---|---|
200 | Success response after uploading a file to a channel with an initial message | — |
default | Typical error response | — |
reactions1
POST/reactions.add
| Name | In | Required | Type |
|---|---|---|---|
token | header | yes | string |
application/x-www-form-urlencoded (required)
| Status | Description | Schema |
|---|---|---|
200 | Typical success response | — |
default | Typical error response | — |
search1
GET/search.messages
| Name | In | Required | Type |
|---|---|---|---|
token | query | yes | string |
count | query | no | integer |
highlight | query | no | boolean |
page | query | no | integer |
query | query | yes | string |
sort | query | no | string |
sort_dir | query | no | string |
| Status | Description | Schema |
|---|---|---|
200 | Typical success response | — |
default | Typical error response | — |
users2
GET/users.info
| Name | In | Required | Type |
|---|---|---|---|
token | query | yes | string |
include_locale | query | no | boolean |
user | query | no | string |
| Status | Description | Schema |
|---|---|---|
200 | Typical success response | — |
default | Typical error response | — |
GET/users.list
| Name | In | Required | Type |
|---|---|---|---|
token | query | no | string |
limit | query | no | integer |
cursor | query | no | string |
include_locale | query | no | boolean |
| Status | Description | Schema |
|---|---|---|
200 | Typical success response | — |
default | Typical error response | — |
Try it
Developer reference
https://slack.com/apiTiered per method (Tier 1-4); most methods are capped around 1 request/second per workspace
- POST/chat.postMessage
- GET/conversations.list
- GET/conversations.history
- GET/users.info