> ## Documentation Index
> Fetch the complete documentation index at: https://blackbox.dasha.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Validate integration token

> Validates an access token and retrieves the associated integration configuration.
This is a public endpoint used by external systems to discover integration settings.
Validates both token validity and origin restrictions.

## Public Endpoint

This endpoint does not require API key authentication. It is designed for external systems
to validate their integration tokens and discover configuration.

## Validation Checks

* Token validity and expiration
* Origin restrictions (CORS)
* Integration status


## OpenAPI

````yaml https://blackbox.dasha.ai/swagger/v1/swagger.json get /api/v1/web-integrations/discover
openapi: 3.0.4
info:
  title: Dasha BlackBox Agent API
  description: API for managing AI agents and calls
  contact:
    name: DashaAI Team
    email: support@dasha.ai
  version: v1
servers:
  - url: https://blackbox.dasha.ai
    description: Dasha BlackBox Agent API
security:
  - ApiKey: []
  - OAuth: []
tags:
  - name: ActivityLogs
  - name: Agents
  - name: AgentTestCases
  - name: CallResults
  - name: Calls
  - name: Chats
  - name: Copilot
  - name: CustomerData
  - name: Mcp
  - name: Media
  - name: Misc
  - name: PronunciationDictionaries
  - name: Providers
  - name: SipAliases
  - name: SipCredentials
  - name: SipPhoneNumbers
  - name: TextChat
  - name: TwilioProvider
  - name: Voice
  - name: WebhookTest
  - name: WebIntegrations
  - name: WebSocket
    description: WebSocket endpoints for real-time communication
paths:
  /api/v1/web-integrations/discover:
    get:
      tags:
        - WebIntegrations
      summary: Validate integration token
      description: >-
        Validates an access token and retrieves the associated integration
        configuration.

        This is a public endpoint used by external systems to discover
        integration settings.

        Validates both token validity and origin restrictions.
      parameters:
        - name: token
          in: query
          description: Access token to validate
          schema:
            type: string
      responses:
        '200':
          description: Returns integration configuration successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebIntegrationPublicResponseDto'
        '400':
          description: Invalid token parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Token is invalid, expired, or revoked
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Request origin not allowed for this integration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Server error occurred during token validation
components:
  schemas:
    WebIntegrationPublicResponseDto:
      required:
        - agentId
        - enabled
        - features
        - integrationId
        - name
        - widgetAppearance
      type: object
      properties:
        integrationId:
          minLength: 1
          type: string
          description: Integration identifier
        agentId:
          minLength: 1
          type: string
          description: Associated agent identifier
        name:
          minLength: 1
          type: string
          description: Integration name
        description:
          type: string
          description: Integration description
          nullable: true
        enabled:
          type: boolean
          description: Whether the integration is active
        tools:
          type: array
          items:
            type: string
          description: Tool names executed via websocket
          nullable: true
        features:
          type: array
          items:
            $ref: '#/components/schemas/WebIntegrationFeature'
          description: Enabled features
        widgetAppearance:
          allOf:
            - $ref: '#/components/schemas/WidgetAppearance'
          description: Widget appearance configuration
      additionalProperties: false
      description: >-
        Public web integration information for discovery endpoint. Contains only
        safe, non-sensitive data that can be exposed publicly.
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    WebIntegrationFeature:
      required:
        - enabled
        - name
      type: object
      properties:
        name:
          allOf:
            - $ref: '#/components/schemas/WebIntegrationFeatureName'
          description: >-
            Feature name identifying the specific capability. Possible values
            include AllowWebCall (WebRTC voice in browser), AllowWebChat (text
            chat), AllowPhoneCall (phone number entry for callback), and
            SendCallResult (deliver conversation outcome to client).
        enabled:
          type: boolean
          description: >-
            Whether this feature is enabled for the integration. When disabled,
            the feature cannot be used even if requested by the client.
      additionalProperties: false
      description: >-
        Individual feature toggle for web integrations. Controls which
        capabilities are enabled for browser-based conversations including web
        calls, web chat, phone calls, and call result delivery.
    WidgetAppearance:
      type: object
      properties:
        theme:
          type: string
          description: >-
            Widget color theme. Supported values are "light" for light
            backgrounds and "dark" for dark backgrounds, allowing the widget to
            match the host website's design.
          nullable: true
        position:
          type: string
          description: >-
            Widget position on the page. Supported values include
            "bottom-right", "bottom-left", "top-right", "top-left",
            "top-center", and "bottom-center" to control where the widget
            appears in the browser viewport.
          nullable: true
        colors:
          type: object
          additionalProperties:
            type: string
          description: >-
            Custom color overrides for widget elements. Keys represent CSS color
            properties and values are color codes in hex, RGB, or other
            CSS-supported formats, allowing brand-specific color customization.
          nullable: true
        customStyles:
          type: object
          additionalProperties: {}
          description: >-
            Custom CSS styles for advanced widget customization. Keys represent
            CSS properties and values can be any valid CSS value, enabling
            complete control over widget appearance beyond the standard theme
            and color options.
          nullable: true
      additionalProperties: false
      description: >-
        Visual customization settings for the embedded web integration widget.
        Controls how the chat widget appears and is positioned in the browser,
        including theme, placement, colors, and custom styling options.
    WebIntegrationFeatureName:
      enum:
        - AllowWebCall
        - AllowWebChat
        - AllowPhoneCall
        - SendCallResult
        - SendToolCallLogs
        - SendTranscriptForAudioCall
      type: string
      description: Available features for web integrations
  securitySchemes:
    ApiKey:
      type: http
      description: API Key Authentication (Bearer {key})
      scheme: Bearer
    OAuth:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://auth.dasha.ai/connect/authorize
          scopes:
            platform_api: Platform API

````