Slack Conversations API

The Conversations API from Slack — 36 operation(s) for conversations.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

slack-conversations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: '1.0'
  title: Slack Admin Access Conversations 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: Conversations
paths:
  /admin.conversations.archive:
    post:
      tags:
      - Conversations
      description: Archive a public or private channel.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.conversations.archive
      operationId: postAdminConversationsArchive
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `admin.conversations:write`'
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - channel_id
              type: object
              properties:
                channel_id:
                  type: string
                  description: The channel to archive.
          application/json:
            schema:
              required:
              - channel_id
              type: object
              properties:
                channel_id:
                  type: string
                  description: The channel to archive.
        required: true
      responses:
        '200':
          description: Typical success response
          content:
            application/json:
              schema:
                title: admin.conversations.archive schema
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: false
                description: Schema for successful response of admin.conversations.archive
              example:
                ok: true
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: admin.conversations.archive error schema
                required:
                - error
                - ok
                type: object
                properties:
                  error:
                    type: string
                    enum:
                    - feature_not_enabled
                    - channel_not_found
                    - channel_type_not_supported
                    - default_org_wide_channel
                    - already_archived
                    - cant_archive_general
                    - restricted_action
                    - could_not_archive_channel
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: false
                description: Schema for error response from admin.conversations.archive
              example:
                error: invalid_auth
                ok: false
      security:
      - slackAuth:
        - admin.conversations:write
      summary: Slack Post Admin Conversations Archive
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin.conversations.convertToPrivate:
    post:
      tags:
      - Conversations
      description: Convert a public channel to a private channel.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.conversations.convertToPrivate
      operationId: postAdminConversationsConverttoprivate
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `admin.conversations:write`'
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - channel_id
              type: object
              properties:
                channel_id:
                  type: string
                  description: The channel to convert to private.
          application/json:
            schema:
              required:
              - channel_id
              type: object
              properties:
                channel_id:
                  type: string
                  description: The channel to convert to private.
        required: true
      responses:
        '200':
          description: Typical success response
          content:
            application/json:
              schema:
                title: admin.conversations.convertToPrivate schema
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: false
                description: Schema for successful response of admin.conversations.convertToPrivate
              example:
                ok: true
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: admin.conversations.convertToPrivate error schema
                required:
                - error
                - ok
                type: object
                properties:
                  error:
                    type: string
                    enum:
                    - feature_not_enabled
                    - restricted_action
                    - name_taken
                    - channel_not_found
                    - channel_type_not_supported
                    - default_org_wide_channel
                    - method_not_supported_for_channel_type
                    - could_not_convert_channel
                    - external_channel_migrating
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: false
                description: Schema for error response from admin.conversations.convertToPrivate
              example:
                error: invalid_auth
                ok: false
      security:
      - slackAuth:
        - admin.conversations:write
      summary: Slack Post Admin Conversations Converttoprivate
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin.conversations.create:
    post:
      tags:
      - Conversations
      description: Create a public or private channel-based conversation.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.conversations.create
      operationId: postAdminConversationsCreate
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `admin.conversations:write`'
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - is_private
              - name
              type: object
              properties:
                name:
                  type: string
                  description: Name of the public or private channel to create.
                description:
                  type: string
                  description: Description of the public or private channel to create.
                is_private:
                  type: boolean
                  description: When `true`, creates a private channel instead of a public channel
                org_wide:
                  type: boolean
                  description: 'When `true`, the channel will be available org-wide. Note: if the channel is not `org_wide=true`, you must specify a `team_id` for this channel'
                team_id:
                  type: string
                  description: 'The workspace to create the channel in. Note: this argument is required unless you set `org_wide=true`.'
          application/json:
            schema:
              required:
              - is_private
              - name
              type: object
              properties:
                name:
                  type: string
                  description: Name of the public or private channel to create.
                description:
                  type: string
                  description: Description of the public or private channel to create.
                is_private:
                  type: boolean
                  description: When `true`, creates a private channel instead of a public channel
                org_wide:
                  type: boolean
                  description: 'When `true`, the channel will be available org-wide. Note: if the channel is not `org_wide=true`, you must specify a `team_id` for this channel'
                team_id:
                  type: string
                  description: 'The workspace to create the channel in. Note: this argument is required unless you set `org_wide=true`.'
        required: true
      responses:
        '200':
          description: Typical success response
          content:
            application/json:
              schema:
                title: admin.conversations.create schema
                required:
                - ok
                type: object
                properties:
                  channel_id:
                    $ref: '#/components/schemas/defs_channel_id'
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: false
                description: Schema for successful response of admin.conversations.create
              example:
                channel_id: C12345
                ok: true
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: admin.conversations.create error schema
                required:
                - error
                - ok
                type: object
                properties:
                  error:
                    type: string
                    enum:
                    - feature_not_enabled
                    - name_taken
                    - restricted_action
                    - team_not_found
                    - invalid_team
                    - invalid_name
                    - could_not_create_channel
                    - team_id_or_org_required
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: false
                description: Schema for error response from admin.conversations.create
              example:
                error: invalid_auth
                ok: false
      security:
      - slackAuth:
        - admin.conversations:write
      summary: Slack Post Admin Conversations Create
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin.conversations.delete:
    post:
      tags:
      - Conversations
      description: Delete a public or private channel.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.conversations.delete
      operationId: postAdminConversationsDelete
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `admin.conversations:write`'
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - channel_id
              type: object
              properties:
                channel_id:
                  type: string
                  description: The channel to delete.
          application/json:
            schema:
              required:
              - channel_id
              type: object
              properties:
                channel_id:
                  type: string
                  description: The channel to delete.
        required: true
      responses:
        '200':
          description: Typical success response
          content:
            application/json:
              schema:
                title: admin.conversations.delete schema
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: false
                description: Schema for successful response of admin.conversations.delete
              example:
                ok: true
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: admin.conversations.delete error schema
                required:
                - error
                - ok
                type: object
                properties:
                  error:
                    type: string
                    enum:
                    - feature_not_enabled
                    - not_an_admin
                    - channel_not_found
                    - channel_type_not_supported
                    - default_org_wide_channel
                    - restricted_action
                    - could_not_delete_channel
                    - missing_scope
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: false
                description: Schema for error response from admin.conversations.delete
              example:
                error: invalid_auth
                ok: false
      security:
      - slackAuth:
        - admin.conversations:write
      summary: Slack Post Admin Conversations Delete
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin.conversations.disconnectShared:
    post:
      tags:
      - Conversations
      description: Disconnect a connected channel from one or more workspaces.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.conversations.disconnectShared
      operationId: postAdminConversationsDisconnectshared
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `admin.conversations:write`'
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - channel_id
              type: object
              properties:
                channel_id:
                  type: string
                  description: The channel to be disconnected from some workspaces.
                leaving_team_ids:
                  type: string
                  description: The team to be removed from the channel. Currently only a single team id can be specified.
          application/json:
            schema:
              required:
              - channel_id
              type: object
              properties:
                channel_id:
                  type: string
                  description: The channel to be disconnected from some workspaces.
                leaving_team_ids:
                  type: string
                  description: The team to be removed from the channel. Currently only a single team id can be specified.
        required: true
      responses:
        '200':
          description: Typical success response
          content:
            application/json:
              schema:
                title: admin.conversations.rename schema
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: false
                description: Schema for successful response of admin.conversations.disconnectShared
              example:
                ok: true
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: admin.conversations.disconnectShared error schema
                required:
                - error
                - ok
                type: object
                properties:
                  error:
                    type: string
                    enum:
                    - feature_not_enabled
                    - not_an_admin
                    - not_an_enterprise
                    - channel_not_found
                    - not_supported
                    - team_not_found
                    - restricted_action
                    - missing_scope
                    - leaving_team_not_in_channel
                    - no_teams_to_disconnect
                    - leaving_team_required
                    - cannot_kick_team
                    - cannot_kick_home_team
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: false
                description: Schema for error response from admin.conversations.disconnectShared
              example:
                error: invalid_auth
                ok: false
      security:
      - slackAuth:
        - admin.conversations:write
      summary: Slack Post Admin Conversations Disconnectshared
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin.conversations.ekm.listOriginalConnectedChannelInfo:
    get:
      tags:
      - Conversations
      description: List all disconnected channels i.e., channels that were once connected to other workspaces and then disconnected and the corresponding original channel IDs for key revocation with EKM.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.conversations.ekm.listOriginalConnectedChannelInfo
      operationId: getAdminConversationsEkmListoriginalconnectedchannelinfo
      parameters:
      - name: token
        in: query
        description: 'Authentication token. Requires scope: `admin.conversations:read`'
        required: true
        schema:
          type: string
      - name: channel_ids
        in: query
        description: A comma-separated list of channels to filter to.
        schema:
          type: string
      - name: team_ids
        in: query
        description: A comma-separated list of the workspaces to which the channels you would like returned belong.
        schema:
          type: string
      - name: limit
        in: query
        description: The maximum number of items to return. Must be between 1 - 1000 both inclusive.
        schema:
          type: integer
      - name: cursor
        in: query
        description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page.
        schema:
          type: string
      responses:
        '200':
          description: Typical success 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:
                channels:
                - id: string
                  internal_team_ids: array
                  original_connected_channel_id: string
                  original_connected_host_id: string
                ok: true
        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_auth
                ok: false
      security:
      - slackAuth:
        - admin.conversations:read
      summary: Slack Get Admin Conversations Ekm Listoriginalconnectedchannelinfo
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin.conversations.getConversationPrefs:
    get:
      tags:
      - Conversations
      description: Get conversation preferences for a public or private channel.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.conversations.getConversationPrefs
      operationId: getAdminConversationsGetconversationprefs
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `admin.conversations:read`'
        required: true
        schema:
          type: string
      - name: channel_id
        in: query
        description: The channel to get preferences for.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Typical success response
          content:
            application/json:
              schema:
                title: admin.conversations.getConversationPrefs schema
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                  prefs:
                    type: object
                    properties:
                      can_thread:
                        type: object
                        properties:
                          type:
                            type: array
                            items:
                              type: string
                          user:
                            type: array
                            items:
                              type: string
                      who_can_post:
                        type: object
                        properties:
                          type:
                            type: array
                            items:
                              type: string
                          user:
                            type: array
                            items:
                              type: string
                additionalProperties: false
                description: Schema for successful response of admin.conversations.getConversationPrefs
              example:
                ok: true
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: admin.conversations.unarchive error schema
                required:
                - error
                - ok
                type: object
                properties:
                  error:
                    type: string
                    enum:
                    - feature_not_enabled
                    - not_an_admin
                    - not_an_enterprise
                    - restricted_action
                    - missing_scope
                    - channel_not_found
                    - channel_type_not_supported
                    - could_not_get_conversation_prefs
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: false
                description: Schema for error response from admin.conversations.getConversationPrefs
              example:
                error: invalid_auth
                ok: false
      security:
      - slackAuth:
        - admin.conversations:read
      summary: Slack Get Admin Conversations Getconversationprefs
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin.conversations.getTeams:
    get:
      tags:
      - Conversations
      description: Get all the workspaces a given public or private channel is connected to within this Enterprise org.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.conversations.getTeams
      operationId: getAdminConversationsGetteams
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `admin.conversations:read`'
        required: true
        schema:
          type: string
      - name: channel_id
        in: query
        description: The channel to determine connected workspaces within the organization for.
        required: true
        schema:
          type: string
      - name: cursor
        in: query
        description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page
        schema:
          type: string
      - name: limit
        in: query
        description: The maximum number of items to return. Must be between 1 - 1000 both inclusive.
        schema:
          type: integer
      responses:
        '200':
          description: Typical success response
          content:
            application/json:
              schema:
                title: admin.conversations.getTeams schema
                required:
                - ok
                - team_ids
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                  response_metadata:
                    type: object
                    additionalProperties: false
                  team_ids:
                    type: array
                    items:
                      $ref: '#/components/schemas/defs_team'
                additionalProperties: false
                description: Schema for successful response of admin.conversations.getTeams
              example:
                ok: true
                teams:
                - T1234
                - T5678
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: admin.conversations.getTeams error schema
                required:
                - error
                - ok
                type: object
                properties:
                  error:
                    type: string
                    enum:
                    - feature_not_enabled
                    - channel_not_found
                    - channel_type_not_supported
                    - unsupported_team_type
                    - restricted_action
                    - could_not_get_teams
                    - invalid_cursor
                    - invalid_limit
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: false
                description: Schema for error response from admin.conversations.getTeams
              example:
                error: invalid_auth
                ok: false
      security:
      - slackAuth:
        - admin.conversations:read
      summary: Slack Get Admin Conversations Getteams
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin.conversations.invite:
    post:
      tags:
      - Conversations
      description: Invite a user to a public or private channel.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.conversations.invite
      operationId: postAdminConversationsInvite
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `admin.conversations:write`'
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - channel_id
              - user_ids
              type: object
              properties:
                user_ids:
                  type: string
                  description: The users to invite.
                channel_id:
                  type: string
                  description: The channel that the users will be invited to.
          application/json:
            schema:
              required:
              - channel_id
              - user_ids
              type: object
              properties:
                user_ids:
                  type: string
                  description: The users to invite.
                channel_id:
                  type: string
                  description: The channel that the users will be invited to.
        required: true
      responses:
        '200':
          description: Typical success response
          content:
            application/json:
              schema:
                title: admin.conversations.invite schema
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: false
                description: Schema for successful response of admin.conversations.invite
              example:
                ok: true
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: admin.conversations.invite error schema
                required:
                - error
                - ok
                type: object
                properties:
                  error:
                    type: string
                    enum:
                    - feature_not_enabled
                    - channel_not_found
                    - channel_type_not_supported
                    - default_org_wide_channel
                    - restricted_action
                    - user_must_be_admin
                    - failed_for_some_users
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: true


# --- truncated at 32 KB (154 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/slack/refs/heads/main/openapi/slack-conversations-api-openapi.yml