Slack
Twin of the Slack Web API.
Twin of the Slack Web API.
| Covers | slack.com |
| Auth | Bot tokens, user tokens, OAuth |
| Webhooks | No |
| Operations | 126 |
Coverage
Conversations and messages, threads, reactions, users and bots, files with real
byte upload, bookmarks, reminders and stars. The Web API under /api and the
bot and user OAuth installation flows under /oauth/v2 both sit on the one base.
The Web API is the whole surface. There is no Events API, Socket Mode or
interactivity, so nothing arrives outbound and a client waiting on events polls
conversations.history and conversations.replies instead.
Credentials
Slack is the one twin where the token must be one the world holds. A well-formed
xoxb-… or xoxp-… that no grant issued is invalid_auth in either
auth.mode. Use the published bot and user tokens, or run the authorization
code flow here and use what it mints. See Credentials.
Scopes are enforced per method, and a token missing one gets missing_scope
with needed and provided naming which.
Vendor specific details
- Almost everything is HTTP 200. A refused call is
{"ok": false, "error": …}with a 200 status, so code branching on the status sees success every time. - A trailing slash is a 301 to the unslashed path with an empty
text/htmlbody, and it fires before authentication. A client that does not follow redirects gets nothing back rather than an error. - The
tokenform field beats theAuthorizationheader,?token=in the query string is always refused even when valid, and the scheme is case sensitive: lowercasebearerreads as no credential at all. Content-Type: application/jsonwithoutcharset=injects"warning": "missing_charset"into every body, successes included.- Slack has no idempotency mechanism, and neither does the twin. Two identical
chat.postMessagecalls post twice.
Its own notes
Once a sandbox is running, this twin serves its own operating notes at
{control_url}/veris/manual: the credentials it accepts, the API versions it
serves, and the fault statuses you can arm against it. They are generated from
the same source as its behaviour, so they cannot drift.