Slack Oauth API

The Oauth API from Slack — 3 operation(s) for oauth.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

slack-oauth-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: '1.0'
  title: Slack Admin Access Oauth API
  description: "The Slack Admin API is a set of privileged endpoints\x14primarily under admin.* with related SCIM and Audit Logs APIs\x14that lets Enterprise Grid owners and admins automate organization\x11 wide management and governance. It covers user lifecycle (provision, suspend, assign roles), workspace and channel administration across workspaces (create, move, archive channels; manage membership and settings), app governance (approve/deny or allowlist/ban apps and install them to workspaces), invite request handling, and security/compliance controls such as information barriers, session and authentication policies, and org\x11level analytics exports. These APIs require elevated admin scopes and are commonly used to power automated onboarding/offboarding, centralized channel and app controls, and integrations with identity, ITSM, and compliance systems."
tags:
- name: Oauth
paths:
  /oauth.access:
    get:
      tags:
      - Oauth
      description: Exchanges a temporary OAuth verifier code for an access token.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/oauth.access
      operationId: getOauthAccess
      parameters:
      - name: client_id
        in: query
        description: Issued when you created your application.
        schema:
          type: string
      - name: client_secret
        in: query
        description: Issued when you created your application.
        schema:
          type: string
      - name: code
        in: query
        description: The `code` param returned via the OAuth callback.
        schema:
          type: string
      - name: redirect_uri
        in: query
        description: This must match the originally submitted URI (if one was sent).
        schema:
          type: string
      - name: single_channel
        in: query
        description: Request the user to add your app only to a single channel. Only valid with a [legacy workspace app](https://api.slack.com/legacy-workspace-apps).
        schema:
          type: boolean
      responses:
        '200':
          description: Successful user token negotiation for a single scope
          content:
            application/json:
              schema:
                title: Default success template
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: true
                description: This method either only returns a brief _OK_ response or a verbose schema is not available for this method.
              example:
                access_token:
                - TOKEN
                enterprise_id: null
                scope: groups:write
                team_id: TXXXXXXXXX
                team_name: Wyld Stallyns LLC
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: Default error template
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: true
                description: This method either only returns a brief _not OK_ response or a verbose schema is not available for this method.
              example:
                error: invalid_client_id
                ok: false
      security:
      - slackAuth:
        - none
      summary: Slack Get Oauth Access
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /oauth.token:
    get:
      tags:
      - Oauth
      description: Exchanges a temporary OAuth verifier code for a workspace token.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/oauth.token
      operationId: getOauthToken
      parameters:
      - name: client_id
        in: query
        description: Issued when you created your application.
        schema:
          type: string
      - name: client_secret
        in: query
        description: Issued when you created your application.
        schema:
          type: string
      - name: code
        in: query
        description: The `code` param returned via the OAuth callback.
        schema:
          type: string
      - name: redirect_uri
        in: query
        description: This must match the originally submitted URI (if one was sent).
        schema:
          type: string
      - name: single_channel
        in: query
        description: Request the user to add your app only to a single channel.
        schema:
          type: boolean
      responses:
        '200':
          description: Success example using a workspace app produces a very different kind of response
          content:
            application/json:
              schema:
                title: Default success template
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: true
                description: This method either only returns a brief _OK_ response or a verbose schema is not available for this method.
              example:
                access_token:
                - TOKEN
                app_id: A012345678
                app_user_id: U0AB12ABC
                authorizing_user_id: U0HTT3Q0G
                installer_user_id: U061F7AUR
                ok: true
                permissions:
                - resource_id: 0
                  resource_type: channel
                  scopes:
                  - channels:read
                  - chat:write:user
                single_channel_id: C061EG9T2
                team_id: T061EG9Z9
                team_name: Subarachnoid Workspace
                token_type: app
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: Default error template
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: true
                description: This method either only returns a brief _not OK_ response or a verbose schema is not available for this method.
              example:
                error: invalid_client_id
                ok: false
      security:
      - slackAuth:
        - none
      summary: Slack Get Oauth Token
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /oauth.v2.access:
    get:
      tags:
      - Oauth
      description: Exchanges a temporary OAuth verifier code for an access token.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/oauth.v2.access
      operationId: getOauthAccess
      parameters:
      - name: client_id
        in: query
        description: Issued when you created your application.
        schema:
          type: string
      - name: client_secret
        in: query
        description: Issued when you created your application.
        schema:
          type: string
      - name: code
        in: query
        description: The `code` param returned via the OAuth callback.
        required: true
        schema:
          type: string
      - name: redirect_uri
        in: query
        description: This must match the originally submitted URI (if one was sent).
        schema:
          type: string
      responses:
        '200':
          description: Successful token request with scopes for both a bot user and a user token
          content:
            application/json:
              schema:
                title: Default success template
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: true
                description: This method either only returns a brief _OK_ response or a verbose schema is not available for this method.
              example:
                access_token:
                - TOKEN
                app_id: A0KRD7HC3
                authed_user:
                  access_token:
                  - TOKEN
                  id: U1234
                  scope: chat:write
                  token_type: user
                bot_user_id: U0KRQLJ9H
                enterprise:
                  id: E12345678
                  name: slack-sports
                ok: true
                scope: commands,incoming-webhook
                team:
                  id: T9TK3CUKW
                  name: Slack Softball Team
                token_type: bot
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: Default error template
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: true
                description: This method either only returns a brief _not OK_ response or a verbose schema is not available for this method.
              example:
                error: invalid_client_id
                ok: false
      security:
      - slackAuth:
        - none
      summary: Slack Get Oauth Access
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK