Slack Post API

The Post API from Slack — 94 operation(s) for post.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

slack-post-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: '1.0'
  title: Slack Admin Access Post 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: Post
paths:
  /admin.apps.approve:
    post:
      tags:
      - Post
      description: Approve an app for installation on a workspace.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.apps.approve
      operationId: postAdminAppsApprove
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `admin.apps:write`'
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                app_id:
                  type: string
                  description: The id of the app to approve.
                request_id:
                  type: string
                  description: The id of the request to approve.
                team_id:
                  type: string
          application/json:
            schema:
              type: object
              properties:
                app_id:
                  type: string
                  description: The id of the app to approve.
                request_id:
                  type: string
                  description: The id of the request to approve.
                team_id:
                  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:
                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.apps:write
      summary: Slack Post Admin Apps Approve
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin.apps.restrict:
    post:
      tags:
      - Post
      description: Restrict an app for installation on a workspace.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.apps.restrict
      operationId: postAdminAppsRestrict
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `admin.apps:write`'
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                app_id:
                  type: string
                  description: The id of the app to restrict.
                request_id:
                  type: string
                  description: The id of the request to restrict.
                team_id:
                  type: string
          application/json:
            schema:
              type: object
              properties:
                app_id:
                  type: string
                  description: The id of the app to restrict.
                request_id:
                  type: string
                  description: The id of the request to restrict.
                team_id:
                  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:
                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.apps:write
      summary: Slack Post Admin Apps Restrict
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin.conversations.archive:
    post:
      tags:
      - Post
      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:
      - Post
      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:
      - Post
      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:
      - Post
      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:
      - Post
      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.invite:
    post:
      tags:
      - Post
      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
                description: Schema for error response from admin.conversations.invite
              example:
                error: invalid_auth
                ok: false
      security:
      - slackAuth:
        - admin.conversations:write
      summary: Slack Post Admin Conversations Invite
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin.conversations.rename:
    post:
      tags:
      - Post
      description: Rename a public or private channel.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.conversations.rename
      operationId: postAdminConversationsRename
      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
              - name
              type: object
              properties:
                channel_id:
                  type: string
                  description: The channel to rename.
                name:
                  type: string
          application/json:
            schema:
              required:
              - channel_id
              - name
              type: object
              properties:
                channel_id:
                  type: string
                  description: The channel to rename.
                name:
                  type: string
        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.rename
              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
                    - channel_not_found
                    - channel_type_not_supported
                    - restricted_action
                    - could_not_rename_channel
                    - default_org_wide_channel
                    - name_taken
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: false
                description: Schema for error response from admin.conversations.rename
              example:
                error: invalid_auth
                ok: false
      security:
      - slackAuth:
        - admin.conversations:write
      summary: Slack Post Admin Conversations Rename
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin.conversations.restrictAccess.addGroup:
    post:
      tags:
      - Post
      description: Add an allowlist of IDP groups for accessing a channel
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/admin.conversations.restrictAccess.addGroup
      operationId: postAdminConversationsRestrictaccessAddgroup
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - channel_id
              - group_id
              - token
              type: object
              properties:
                token:
                  type: string
                  description: 'Authentication token. Requires scope: `admin.conversations:write`'
                team_id:
                  type: string
                  description: The workspace where the channel exists. This argument is required for channels only

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