Slack Unfurl API

The Unfurl API from Slack — 1 operation(s) for unfurl.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

slack-unfurl-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: '1.0'
  title: Slack Admin Access Unfurl 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: Unfurl
paths:
  /chat.unfurl:
    post:
      tags:
      - Unfurl
      description: Provide custom unfurl behavior for user-posted URLs
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/chat.unfurl
      operationId: postChatUnfurl
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `links:write`'
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - channel
              - ts
              type: object
              properties:
                channel:
                  type: string
                  description: Channel ID of the message
                ts:
                  type: string
                  description: Timestamp of the message to add unfurl behavior to.
                unfurls:
                  type: string
                  description: URL-encoded JSON map with keys set to URLs featured in the the message, pointing to their unfurl blocks or message attachments.
                user_auth_message:
                  type: string
                  description: Provide a simply-formatted string to send as an ephemeral message to the user as invitation to authenticate further and enable full unfurling behavior
                user_auth_required:
                  type: boolean
                  description: Set to `true` or `1` to indicate the user must install your Slack app to trigger unfurls for this domain
                user_auth_url:
                  type: string
                  description: Send users to this custom URL where they will complete authentication in your app to fully trigger unfurling. Value should be properly URL-encoded.
          application/json:
            schema:
              required:
              - channel
              - ts
              type: object
              properties:
                channel:
                  type: string
                  description: Channel ID of the message
                ts:
                  type: string
                  description: Timestamp of the message to add unfurl behavior to.
                unfurls:
                  type: string
                  description: URL-encoded JSON map with keys set to URLs featured in the the message, pointing to their unfurl blocks or message attachments.
                user_auth_message:
                  type: string
                  description: Provide a simply-formatted string to send as an ephemeral message to the user as invitation to authenticate further and enable full unfurling behavior
                user_auth_required:
                  type: boolean
                  description: Set to `true` or `1` to indicate the user must install your Slack app to trigger unfurls for this domain
                user_auth_url:
                  type: string
                  description: Send users to this custom URL where they will complete authentication in your app to fully trigger unfurling. Value should be properly URL-encoded.
        required: true
      responses:
        '200':
          description: Typical, minimal success response
          content:
            application/json:
              schema:
                title: chat.unfurl success schema
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: false
                description: Schema for successful response from chat.unfurl method
              example:
                ok: true
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: chat.unfurl error schema
                required:
                - error
                - ok
                type: object
                properties:
                  callstack:
                    type: string
                    description: 'Note: PHP callstack is only visible in dev/qa'
                  error:
                    type: string
                    enum:
                    - cannot_unfurl_url
                    - cannot_find_service
                    - missing_unfurls
                    - cannot_prompt
                    - not_authed
                    - invalid_auth
                    - account_inactive
                    - token_revoked
                    - no_permission
                    - org_login_required
                    - user_is_bot
                    - invalid_arg_name
                    - invalid_array_arg
                    - invalid_charset
                    - invalid_form_data
                    - invalid_post_type
                    - missing_post_type
                    - team_added_to_org
                    - invalid_json
                    - json_not_object
                    - request_timeout
                    - upgrade_required
                    - fatal_error
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: false
                description: Schema for error response from chat.unfurl method
              example:
                error: cannot_unfurl_url
                ok: false
      security:
      - slackAuth:
        - links:write
      summary: Slack Post Chat Unfurl
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK