---
title: "Api Qa"
method: POST
path: "/v1/qa"
tags: ["embed v1"]
---

# Api Qa

`POST /v1/qa`

## Request

- Base URL: `https://api.branchly.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.branchly.io/v1/qa`
- Auth: none declared

## Headers

- `x-api-key` string, nullable

## Request body

- QARequest
  - `session_id` string, required
  - `navigator_id` string, required
  - `embed_type` 'chat' | 'search' | 'chat_widget' | 'search_interface' | 'voice' | 'api' | 'form'
  - `entry` 'navigation' | 'search' | 'qa' | 'sa' | 'form_submission' | 'voice' | 'form' | 'form_routing'
  - `query` string, required
  - `locale` string, required
  - `browser_locale` string, nullable
  - `history` union[], nullable
    - union
      - QAHistoryItem
        - `query` string, required
        - `answer` string, required
        - `type` 'navigation' | 'qa' | 'sa', required
      - NavigationHistoryItemInput
        - `id` string, required
        - `label` 'entry' | 'content' | 'contact' | 'tool' | 'fallback' | 'integration' | 'style' | 'chat_navigator_style' | 'search_style' | 'search_result' | 'navigator' | 'feedback', required
        - `title` object
        - `icon_url` string, nullable
        - `text` object
        - `form` FormAPIInput
          - `tool_id` string, required
          - `form_schema` FormAPISchema, required
            - `properties` union[], required
              - …
          - `arguments` FormToolArguments, required
            - `object` 'form_tool_arguments'
            - `form_title` object, required
            - `submit_message` object, required
            - `submit_button_text` object, required
            - `show_data_privacy_text` boolean
            - `data_privacy_text` object, nullable: Optional data privacy text. If provided, a checkbox should be displayed to the user.
            - `notification_email` union: Used for email forwarding of form submissions. If not provided, no email will be forwarded
              - …
          - `values` object, required
        - `type` 'navigation' | 'qa' | 'sa', required
  - `url` string, uri, nullable
  - `is_suggested_question` boolean, nullable
  - `use_page_as_context` boolean, nullable

## Response `200`

Successful Response

- union
  - TokenSSEEvent
    - `event` 'token'
    - `data` string, required: Raw text token
  - FormSSEEvent
    - `event` 'form'
    - `data` FormAPIOutput, required
      - `tool_id` string, required
      - `form_schema` FormAPISchema, required
        - `properties` union[], required
          - union
            - StringFieldAPI
              - …
            - TextAreaFieldAPI
              - …
            - NumberFieldAPI
              - …
            - SelectFieldAPI
              - …
            - DateFieldAPI
              - …
            - TimeFieldAPI
              - …
            - CheckboxFieldAPI
              - …
      - `arguments` FormToolArguments, required
        - `object` 'form_tool_arguments'
        - `form_title` object, required
        - `submit_message` object, required
        - `submit_button_text` object, required
        - `show_data_privacy_text` boolean
        - `data_privacy_text` object, nullable: Optional data privacy text. If provided, a checkbox should be displayed to the user.
        - `notification_email` union: Used for email forwarding of form submissions. If not provided, no email will be forwarded
          - string, email
          - string[]
      - `values` object, required
  - CompleteSSEEvent
    - `event` 'complete'
    - `data` union, required
      - QAResponse
        - `navigator_id` string, required
        - `session_id` string, required
        - `entry` 'navigation' | 'search' | 'qa' | 'sa' | 'form_submission' | 'voice' | 'form' | 'form_routing'
        - `answer` string, required
        - `locale` string, required
        - `history` union[], nullable
          - union
            - QAHistoryItem
              - …
            - NavigationHistoryItemOutput
              - …
      - SAResponse
        - `navigator_id` string, required
        - `session_id` string, required
        - `answer` string, required
        - `locale` string, required
        - `url` string, uri, nullable
        - `origin` string, nullable
  - CarouselSSEEvent
    - `event` 'carousel_v1'
    - `data` CarouselV1[], required
      - `type` 'carousel_v1'
      - `id` string, required
      - `title` string, required: Title of the carousel in bold
      - `image_url` union, required: URL of the image to be displayed in the carousel.
        - string, uri
        - string
      - `resource_url` union: URL to the resource by clicking the Button.
        - string, uri
        - string
      - `detail` string, required: Description of the carousel, formatted as HTML.
      - `tags` string[]: List of tags to be shown.
  - RAGSourcesSSEEvent
    - `event` 'rag_sources'
    - `data` RAGSourcesEventAPI, required
      - `sources` RAGSource[], required
        - `index` integer, required
        - `url` string, uri, required
        - `title` string, required
        - `data_source_type` 'website_crawler' | 'file_upload' | 'node_editor' | 'default_node' | 'openAPI' | 'helpspace' | 'custom_website_crawler' | 'webhook' | 'wordpress'
  - ButtonsSSEEvent
    - `event` 'buttons'
    - `data` ButtonsEventAPI, required: Buttons API model for frontend display.
      - `tool_id` string, uuid, required
      - `buttons` Button[], required
        - `type` 'link_button' | 'button', required: Types of buttons available in the buttons tool.
        - `text` string, required: Button text to display. Should be short and descriptive.
        - `url` string, uri, nullable: URL for link_button type. Required for link_button, not used for button type. Allow mailto: and tel: links as well.
  - HTMLContentSSEEvent
    - `event` 'html'
    - `data` HTMLContentEventAPI, required
      - `type` 'html'
      - `html` string, required
  - IframeSSEEvent
    - `event` 'iframe'
    - `data` IframeEventAPI, required: Iframe API model for embedding content (e.g. Google Maps) directly in the chat.
      - `type` 'iframe'
      - `url` string, required
  - CalendlySSEEvent
    - `event` 'calendly'
    - `data` CalendlyEventAPI, required: Calendly API model for rendering a native Calendly scheduling widget.
      - `type` 'calendly'
      - `scheduling_url` string, required
      - `prefill` object, nullable
  - ToolCallSSEEvent
    - `event` 'tool_call'
    - `data` ToolCallEventAPI, required: Event model to signal tool call execution state to the frontend.
      - `tool_name` string, required
      - `tool_call_id` string, nullable
      - `status` 'started' | 'completed'
      - `arguments` union
        - object
        - string
      - `message` string, nullable
  - FollowUpActionsSSEEvent
    - `event` 'follow_up_actions'
    - `data` FollowUpActions, required
      - `actions` union[], required: List of follow-up actions, either questions or navigate_page actions.
        - union
          - FollowUpQuestion
            - `type` 'question': Type of follow-up action: question.
            - `question` string, required: The suggested follow-up question, max 50 characters.
          - NavigatePageAction
            - `type` 'navigate_page': Type of follow-up action: navigate_page.
            - `url` string, required: The URL of the page to navigate to.
            - `title` string, required: The title of the page to navigate to.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/branchly/apis/branchly-io-api.md) · [All operations](https://skmtc.dev/branchly/apis/branchly-io-api/llms.txt) · [OpenAPI document](https://skmtc.dev/branchly/apis/branchly-io-api/revisions/9ffb024f8ec8?raw)
