API Management
These endpoints let administrators manage the credentials and delivery mechanisms used by integrations: API users, OAuth client applications, and webhooks. They require an administrator role or the corresponding workspace-manage-config permission.
Creating an API user
API users are non-human accounts for server-to-server integrations. Assign a least-privileged role with roleId; omitting it creates an administrator, which is rarely appropriate for production:
The response contains the API user’s id and the role it was assigned:
Use GET /apiusers to audit existing API users. API users also appear in GET /users?showArchived=true; store the returned id with your integration configuration.
Registering an OAuth client
For an interactive integration, register a client application and provide the exact redirect URI used by your OAuth callback. Set isConfidential to true only when the client secret can be kept on a server:
The response contains the registered clientId and, for confidential clients, a clientSecret. Treat the secret like a password. See Authentication for the authorization-code flow.
Receiving changes with a webhook
First list valid event names with GET /webhooks/eventtypes. Then create a webhook. The receiver type is inferred from the URI; any non-Slack URI is treated as a custom webhook:
Use GET /webhooks/{webhookId}/logs to troubleshoot deliveries. Webhook payloads are sent to the configured URI and include the event metadata and the entity that changed; see the Webhooks guide for payload details.

