MagicBell Slack API

The slack API from MagicBell — 12 operation(s) for slack.

Operations 20

GET /channels/slack/magicbell_slackbot/tokens List all MagicBell SlackBot tokens #
PUT /channels/slack/magicbell_slackbot/tokens Save a MagicBell SlackBot token #
GET /channels/slack/magicbell_slackbot/tokens/{token_id} Fetch a MagicBell SlackBot token #
DELETE /channels/slack/magicbell_slackbot/tokens/{token_id} Delete a MagicBell SlackBot token #
GET /channels/slack/tokens List all Slack tokens #
PUT /channels/slack/tokens Save a Slack token #
GET /channels/slack/tokens/{token_id} Fetch a Slack token #
DELETE /channels/slack/tokens/{token_id} Delete a Slack token #
GET /integrations/slack List all Slack integrations #
PUT /integrations/slack Save a Slack integration #
DELETE /integrations/slack Delete a Slack integration #
PUT /integrations/slack/installations Save a Slack installation #
POST /integrations/slack/installations/finish Finish a Slack installation #
POST /integrations/slack/installations/start Start a Slack installation #
GET /users/{user_id}/channels/slack/magicbell_slackbot/tokens List an user's MagicBell SlackBot tokens #
GET /users/{user_id}/channels/slack/magicbell_slackbot/tokens/{token_id} Fetch a user's MagicBell SlackBot token #
DELETE /users/{user_id}/channels/slack/magicbell_slackbot/tokens/{token_id} Delete an user's MagicBell SlackBot token #
GET /users/{user_id}/channels/slack/tokens List an user's Slack tokens #
GET /users/{user_id}/channels/slack/tokens/{token_id} Fetch a user's Slack token #
DELETE /users/{user_id}/channels/slack/tokens/{token_id} Delete an user's Slack token #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/magicbell:magicbell-slack-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

magicbell-slack-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MagicBell Slack API
  description: OpenAPI 3.1.0 Specification for MagicBell API.
  contact:
    name: MagicBell
    url: https://wwww.magicbell.com
  version: 2.0.0
servers:
- url: https://api.magicbell.com/v2
  description: MagicBell API (v2) Base URL
tags:
- name: Slack
paths:
  /channels/slack/magicbell_slackbot/tokens:
    summary: MagicBell SlackBot token
    description: Scoped APIs for MagicBell SlackBot (`magicbell_slackbot`).
    get:
      tags:
      - Slack
      summary: List all MagicBell SlackBot tokens
      description: Lists all MagicBell SlackBot tokens belonging to the authenticated user. Returns a paginated list of tokens, including their status, creation dates, and associated metadata.
      operationId: list_magicbell_slackbot_tokens
      parameters:
      - name: limit
        in: query
        description: 'defines the maximum number of items to return per page (default: 50)'
        required: false
        schema:
          type: integer
      - name: starting_after
        in: query
        description: a cursor for use in pagination, points to the last ID in previous page
        required: false
        schema:
          type: string
      - name: ending_before
        in: query
        description: a cursor for use in pagination, points to the first ID in next page
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackTokenCollection'
      x-magicbell-auth-jwt-type: user
    put:
      tags:
      - Slack
      summary: Save a MagicBell SlackBot token
      description: Saves the MagicBell SlackBot token for the authenticated user. This token serves as a credential for accessing channel-specific functionality. Each token is unique to the user and channel combination, allowing for direct communication with the user via the channel.
      operationId: save_magicbell_slackbot_token
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackTokenPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackTokenPayload'
      x-forbid-unknown-cookie: true
      x-forbid-unknown-header: true
      x-forbid-unknown-path: true
      x-forbid-unknown-query: true
      x-magicbell-auth-jwt-type: user
  /channels/slack/magicbell_slackbot/tokens/{token_id}:
    summary: MagicBell SlackBot token
    description: Scoped APIs for MagicBell SlackBot (`magicbell_slackbot`).
    get:
      tags:
      - Slack
      summary: Fetch a MagicBell SlackBot token
      description: Fetches details of a specific MagicBell SlackBot token belonging to the authenticated user. Returns information about the token's status, creation date, and any associated metadata. Users can only access their own tokens.
      operationId: fetch_magicbell_slackbot_token
      parameters:
      - name: token_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackToken'
      x-magicbell-auth-jwt-type: user
    delete:
      tags:
      - Slack
      summary: Delete a MagicBell SlackBot token
      description: Deletes one of the authenticated user's MagicBell SlackBot tokens. This permanently invalidates the specified token, preventing it from being used for future channel access. This action cannot be undone. Users can only revoke their own tokens.
      operationId: delete_magicbell_slackbot_token
      parameters:
      - name: token_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiscardResult'
      x-magicbell-auth-jwt-type: user
  /channels/slack/tokens:
    summary: Slack tokens
    description: Tokens tie a user to their Slack destination—devices, inboxes, or workspaces. Register them at login, list them for debugging, and revoke stale entries to keep delivery healthy.
    get:
      tags:
      - Slack
      summary: List all Slack tokens
      description: Lists all Slack tokens belonging to the authenticated user. Returns a paginated list of tokens, including their status, creation dates, and associated metadata.
      operationId: list_slack_tokens
      parameters:
      - name: limit
        in: query
        description: 'defines the maximum number of items to return per page (default: 50)'
        required: false
        schema:
          type: integer
      - name: starting_after
        in: query
        description: a cursor for use in pagination, points to the last ID in previous page
        required: false
        schema:
          type: string
      - name: ending_before
        in: query
        description: a cursor for use in pagination, points to the first ID in next page
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackTokenCollection'
      x-magicbell-auth-jwt-type: user
    put:
      tags:
      - Slack
      summary: Save a Slack token
      description: Saves the Slack token for the authenticated user. This token serves as a credential for accessing channel-specific functionality. Each token is unique to the user and channel combination, allowing for direct communication with the user via the channel.
      operationId: save_slack_token
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackTokenPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackTokenPayload'
      x-forbid-unknown-cookie: true
      x-forbid-unknown-header: true
      x-forbid-unknown-path: true
      x-forbid-unknown-query: true
      x-magicbell-auth-jwt-type: user
  /channels/slack/tokens/{token_id}:
    summary: Slack tokens
    description: Tokens tie a user to their Slack destination—devices, inboxes, or workspaces. Register them at login, list them for debugging, and revoke stale entries to keep delivery healthy.
    get:
      tags:
      - Slack
      summary: Fetch a Slack token
      description: Fetches details of a specific Slack token belonging to the authenticated user. Returns information about the token's status, creation date, and any associated metadata. Users can only access their own tokens.
      operationId: fetch_slack_token
      parameters:
      - name: token_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackToken'
      x-magicbell-auth-jwt-type: user
    delete:
      tags:
      - Slack
      summary: Delete a Slack token
      description: Deletes one of the authenticated user's Slack tokens. This permanently invalidates the specified token, preventing it from being used for future channel access. This action cannot be undone. Users can only revoke their own tokens.
      operationId: delete_slack_token
      parameters:
      - name: token_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiscardResult'
      x-magicbell-auth-jwt-type: user
  /integrations/slack:
    summary: Slack workspace integration
    description: Configure Slack so broadcasts can post rich updates into channels or DMs. The flow covers OAuth installation, workspace selection, and webhook delivery setup.
    get:
      tags:
      - Slack
      summary: List all Slack integrations
      description: Retrieves the current Slack integration configurations for a specific integration type in the project. Returns configuration details and status information.
      operationId: list_slack_integrations
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackConfigCollection'
      x-magicbell-auth-jwt-type: project
      x-meta:
        channel: slack
        displayName: Slack
        name: slack
    put:
      tags:
      - Slack
      summary: Save a Slack integration
      description: Updates or creates the Slack integration for the project.
      operationId: save_slack_integration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackConfigPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackConfigPayload'
      x-magicbell-auth-jwt-type: project
      x-meta:
        channel: slack
        displayName: Slack
        name: slack
    delete:
      tags:
      - Slack
      summary: Delete a Slack integration
      description: Deletes the Slack integration configuration from the project. This will disable the integration's functionality within the project.
      operationId: delete_slack_integration
      parameters:
      - name: id
        in: query
        description: the unique identifier of the integration to be deleted
        required: false
        schema:
          type: string
      responses:
        '204':
          description: No Content
      x-magicbell-auth-jwt-type: project
      x-meta:
        channel: slack
        displayName: Slack
        name: slack
  /integrations/slack/installations:
    summary: Installation flow
    description: High-level entry point for integrations that require multi-step authorization.
    put:
      tags:
      - Slack
      summary: Save a Slack installation
      description: Creates a new installation of a Slack integration for a user. This endpoint is used when an integration needs to be set up with user-specific credentials or configuration.
      operationId: save_slack_installation
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackInstallation'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackInstallation'
      x-magicbell-auth-jwt-type: user
  /integrations/slack/installations/finish:
    summary: Finish installation
    description: Completes the installation handshake after the user authorizes access, persisting tokens and validating the external connection.
    post:
      tags:
      - Slack
      summary: Finish a Slack installation
      description: Completes the installation flow for the Slack integration. This endpoint is typically called after the user has completed any required authorization steps with Slack.
      operationId: finish_slack_installation
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackFinishInstallResponse'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackInstallation'
      x-magicbell-auth-jwt-type: user
  /integrations/slack/installations/start:
    summary: Start installation
    description: Begins the OAuth or credentials handshake for an integration, returning URLs or payloads needed to obtain user consent.
    post:
      tags:
      - Slack
      summary: Start a Slack installation
      description: Initiates the installation flow for a Slack integration. This is the first step in a multi-step installation process where user authorization or external service configuration may be required.
      operationId: start_slack_installation
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackStartInstall'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackStartInstallResponseContent'
      x-forbid-unknown-cookie: true
      x-forbid-unknown-header: true
      x-forbid-unknown-path: true
      x-forbid-unknown-query: true
      x-magicbell-auth-jwt-type: user
  /users/{user_id}/channels/slack/magicbell_slackbot/tokens:
    summary: MagicBell SlackBot token
    description: Scoped APIs for MagicBell SlackBot (`magicbell_slackbot`).
    get:
      tags:
      - Slack
      summary: List an user's MagicBell SlackBot tokens
      description: Lists all MagicBell SlackBot tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
      operationId: list_user_magicbell_slackbot_tokens
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: 'defines the maximum number of items to return per page (default: 50)'
        required: false
        schema:
          type: integer
      - name: starting_after
        in: query
        description: a cursor for use in pagination, points to the last ID in previous page
        required: false
        schema:
          type: string
      - name: ending_before
        in: query
        description: a cursor for use in pagination, points to the first ID in next page
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackTokenCollection'
      x-magicbell-auth-jwt-type: project
  /users/{user_id}/channels/slack/magicbell_slackbot/tokens/{token_id}:
    summary: MagicBell SlackBot token
    description: Scoped APIs for MagicBell SlackBot (`magicbell_slackbot`).
    get:
      tags:
      - Slack
      summary: Fetch a user's MagicBell SlackBot token
      description: Fetches a specific MagicBell SlackBot token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
      operationId: fetch_user_magicbell_slackbot_token
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackToken'
      x-magicbell-auth-jwt-type: project
    delete:
      tags:
      - Slack
      summary: Delete an user's MagicBell SlackBot token
      description: Deletes a specific user's MagicBell SlackBot token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
      operationId: delete_user_magicbell_slackbot_token
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiscardResult'
      x-magicbell-auth-jwt-type: project
  /users/{user_id}/channels/slack/tokens:
    summary: Slack tokens
    description: Tokens tie a user to their Slack destination—devices, inboxes, or workspaces. Register them at login, list them for debugging, and revoke stale entries to keep delivery healthy.
    get:
      tags:
      - Slack
      summary: List an user's Slack tokens
      description: Lists all Slack tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
      operationId: list_user_slack_tokens
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: 'defines the maximum number of items to return per page (default: 50)'
        required: false
        schema:
          type: integer
      - name: starting_after
        in: query
        description: a cursor for use in pagination, points to the last ID in previous page
        required: false
        schema:
          type: string
      - name: ending_before
        in: query
        description: a cursor for use in pagination, points to the first ID in next page
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackTokenCollection'
      x-magicbell-auth-jwt-type: project
  /users/{user_id}/channels/slack/tokens/{token_id}:
    summary: Slack tokens
    description: Tokens tie a user to their Slack destination—devices, inboxes, or workspaces. Register them at login, list them for debugging, and revoke stale entries to keep delivery healthy.
    get:
      tags:
      - Slack
      summary: Fetch a user's Slack token
      description: Fetches a specific Slack token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
      operationId: fetch_user_slack_token
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackToken'
      x-magicbell-auth-jwt-type: project
    delete:
      tags:
      - Slack
      summary: Delete an user's Slack token
      description: Deletes a specific user's Slack token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
      operationId: delete_user_slack_token
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiscardResult'
      x-magicbell-auth-jwt-type: project
components:
  schemas:
    SlackConfigCollection:
      examples:
      - data:
        - config:
            app_id: '12345678901'
            client_id: '1.0'
            client_secret: '12345678901234567890123456789012'
            signing_secret: '12345678901234567890123456789012'
          id: '123'
          name: <provider-name>
        links:
          first: https://api.magicbell.com/v1/example
          next: https://api.magicbell.com/v1/example?page_next=abc
          prev: null
      properties:
        data:
          items:
            $ref: '#/components/schemas/SlackConfig'
          type: array
        links:
          $ref: '#/components/schemas/Links'
      type: object
    SlackTokenPayload:
      $id: slackToken
      $schema: http://json-schema.org/draft-07/schema#
      additionalProperties: false
      examples:
      - webhook:
          url: https://example.com/webhook
      minProperties: 1
      properties:
        oauth:
          properties:
            channel_id:
              description: The ID of the Slack channel this installation is associated with
              type: string
            installation_id:
              description: A unique identifier for this Slack workspace installation
              type: string
            scope:
              description: The OAuth scope granted during installation
              type: string
          required:
          - channel_id
          - installation_id
          type: object
        webhook:
          description: Obtained directly from the incoming_webhook object in the installation response from the Slack API.
          properties:
            url:
              description: The URL for the incoming webhook from Slack
              format: uri
              minLength: 1
              type: string
          required:
          - url
          type: object
      type: object
    SlackStartInstallResponseContent:
      examples:
      - app_id: app-id
        auth_url: https://slack.com/oauth/v2/authorize?client_id=app-id&scope=channels:read,chat:write
        scopes:
        - channels:read
        - chat:write
      properties:
        app_id:
          type: string
        auth_url:
          type: string
        scopes:
          items:
            type: string
          type: array
      type: object
    SlackInstallation:
      $schema: http://json-schema.org/draft-07/schema#
      examples:
      - access_token: REDACTED_SLACK_TOKEN
        app_id: A12345678
        authed_user:
          id: U12345678
          scope: identify,commands
        bot_user_id: U12345678
        enterprise_id: E12345678
        enterprise_name: Enterprise Grid, Inc.
        id: A12345678-T123
        incoming_webhook:
          channel: C12345678
          channel_id: C12345678
          configuration_url: https://teamname.slack.com/services/B12345678
          url: https://hooks.slack.com/services/REDACTED
        scope: identify,commands,bot
        team:
          id: T123
          name: Team Installing Your App
        team_id: T12345678
        team_name: Team Installing Your App
      properties:
        access_token:
          description: Bot token returned from the Slack OAuth exchange.
          type: string
        app_id:
          description: Slack app identifier for the installed app.
          type: string
        authed_user:
          properties:
            access_token:
              description: User token returned from the OAuth exchange.
              type: string
            expires_in:
              description: Seconds until the user token expires.
              type: integer
            id:
              description: Slack user ID for the installer.
              type: string
            refresh_token:
              description: Refresh token for the authed user.
              type: string
            scope:
              description: Space-delimited OAuth scopes granted to the user token.
              type: string
            token_type:
              description: Token type value provided by Slack.
              type: string
          required:
          - id
          type: object
        bot_user_id:
          description: Slack user ID of the installed bot.
          type: string
        enterprise:
          properties:
            id:
              description: Enterprise grid identifier.
              type: string
            name:
              description: Enterprise grid name.
              type: string
          required:
          - name
          - id
          type: object
        expires_in:
          description: Seconds until the bot access token expires.
          type: integer
        id:
          description: Unique identifier MagicBell assigns to the Slack installation.
          pattern: ^[A-Z0-9]+-.*$
          type: string
        incoming_webhook:
          properties:
            channel:
              description: Human readable name for the webhook channel.
              type: string
            configuration_url:
              description: URL users can visit to manage the webhook.
              type: string
            url:
              description: Webhook URL that Slack posts events to.
              type: string
          required:
          - channel
          - configuration_url
          - url
          type: object
        is_enterprise_install:
          description: Indicates whether the installation occurred on an enterprise grid.
          type: boolean
        refresh_token:
          description: Refresh token for regenerating the bot access token.
          type: string
        scope:
          description: Space-delimited OAuth scopes granted to the bot token.
          type: string
        team:
          properties:
            id:
              description: Workspace ID where the app was installed.
              type: string
            name:
              description: Workspace name where the app was installed.
              type: string
          required:
          - id
          type: object
        token_type:
          description: Type of bot token returned by Slack.
          type: string
      required:
      - access_token
      - authed_user
      - team
      - app_id
      type: object
    SlackFinishInstallResponse:
      $schema: http://json-schema.org/draft-07/schema#
      examples:
      - app_id: '12345678901'
        code: string
        redirect_url: string
      properties:
        app_id:
          description: The app ID of the Slack app that was originally configured at the project-level.
          type: string
        code:
          description: The code that was returned from the OAuth flow, and found in the query string of the redirect URL.
          type: string
        redirect_url:
          type: string
      required:
      - app_id
      - code
      type: object
    Links:
      properties:
        first:
          type: string
        next:
          type:
          - string
          - 'null'
        prev:
          type:
          - string
          - 'null'
      type: object
    DiscardResult:
      examples:
      - discarded_at: '2021-01-01T00:00:00Z'
        id: '123'
      properties:
        discarded_at:
          description: The timestamp when the token was discarded.
          type: string
        id:
          description: The unique identifier for the discarded token.
          type: string
      type: object
    SlackConfig:
      properties:
        config:
          $ref: '#/components/schemas/SlackConfigPayload'
        id:
          type: string
        name:
          type: string
      required:
      - name
      - id
      - config
      type: object
    SlackStartInstall:
      $schema: http://json-schema.org/draft-07/schema#
      additionalProperties: false
      examples:
      - app_id: '12345678901'
        auth_url: https://example.com/auth
        extra_scopes:
        - scope1
        - scope2
        redirect_url: https://example.com/redirect
      properties:
        app_id:
          description: Slack app ID that the installation flow should use.
          type: string
        auth_url:
          description: Optional override for the authorization URL returned to the client.
          type: string
        extra_scopes:
          description: Additional OAuth scopes to request during installation.
          items:
            type: string
          type: array
        redirect_url:
          description: Custom redirect URL to use after OAuth completes.
          type: string
      required:
      - app_id
      type: object
    SlackConfigPayload:
      $schema: http://json-schema.org/draft-07/schema#
      examples:
      - app_id: '12345678901'
        client_id: '1.0'
        client_secret: '12345678901234567890123456789012'
        signing_secret: '12345678901234567890123456789012'
      properties:
        app_id:
          description: The Slack app ID that can be found in the app's settings page of the Slack API dashboard.
          pattern: ^[0-9A-Z]+$
          type: string
        client_id:
          description: The Slack client ID that can be found in the app's settings page of the Slack API dashboard.
          pattern: ^[0-9]+\.[0-9]+$
          type: string
        client_secret:
          description: The Slack client secret that can be found in the app's settings page of the Slack API dashboard.
          maxLength: 32
          minLength: 32
          type: string
        signing_secret:
          description: The Slack signing secret that can be found in the app's settings page of the Slack API dashboard.
          maxLength: 32
          minLength: 32
          type: string
      required:
      - app_id
      - client_id
      - client_secret
      - signing_secret
      type: object
    SlackTokenCollection:
      examples:
      - data:
        - created_at: '2021-01-01T00:00:00Z'
          discarded_at: '2021-01-01T00:00:00Z'
          id: '123'
          updated_at: '2021-01-01T00:00:00Z'
          webhook:
            url: https://example.com/webhook
        links:
          first: https://api.magicbell.com/v1/example
          next: https://api.magicbell.com/v1/example?page_next=abc
          prev: null
      properties:
        data:
          items:
            $ref: '#/components/schemas/SlackToken'
          type: array
        links:
          $ref: '#/components/schemas/Links'
      type: object
    SlackToken:
      examples:
      - created_at: '2021-01-01T00:00:00Z'
        discarded_at: '2021-01-01T00:00:00Z'
        id: '123'
        updated_at: '2021-01-01T00:00:00Z'
        webhook:
          url: https://example.com/webhook
      properties:
        created_at:
          description: The timestamp when the token was created.
          format: date-time
          type: string
        discarded_at:
          description: The timestamp when the token was discarded, if applicable.
          format: date-time
          type:
          - string
          - 'null'
        id:
          description: The unique identifier for the token.
          type: string
        oauth:
          properties:
            channel_id:
              description: The ID of the Slack channel this installation is associated with
              type: string
            installation_id:
              description: A unique identifier for this Slack workspace installation
              type: string
            scope:
              description: The OAuth scope granted during installation
              type: string
          required:
          - channel_id
          - installation_id
          type: object
        updated_at:
          description: The timestamp when the token metadata last changed.
          format: date-time
          type:
          - string
          - 'null'
        webhook:
          description: Obtained directly from the incoming_webhook object in the installation response from the Slack API.
          properties:
            url:
              description: The URL for the incoming webhook from Slack
              format: uri
              minLength: 1
              type: string
          required:
          - url
          type: object
      required:
      - created_at
      - id
      type: object
x-provenance:
  method: harvested
  publisher: MagicBell
  source: https://www.magicbell.com/docs/api/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)