---
title: "Sdk Widget Bootstrap"
method: POST
path: "/api/sdk/widget/bootstrap"
tags: ["SDK"]
---

# Sdk Widget Bootstrap

`POST /api/sdk/widget/bootstrap`

## Request

- Base URL: `https://mcp.usertold.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://mcp.usertold.ai/api/sdk/widget/bootstrap`
- Auth: none declared

Execute the UserTold sdk widget bootstrap operation.

## Request body

- object
  - `study_ref` string, required

## Response `200`

Success

- union
  - object
    - `study` object, required
      - `handle` string, required
      - `title` string, required
      - `goals` object[], required
        - `id` string, required
        - `description` string, required
      - `script` unknown
      - `settings` object, required
      - `invitation` object, nullable, required
        - `launcher` object, required
          - `label` string, required
          - `icon` 'feedback' | 'mic' | 'diagram' | 'bug' | 'research', required
          - `style` 'calm' | 'lattice' | 'beam' | 'ticket'
          - `shape` 'capsule' | 'rounded' | 'square'
        - `panel` object
          - `eyebrow` string
          - `headline` string, required
          - `body` string
          - `duration_minutes` integer
          - `reward` object
            - `kind` 'gift' | 'product' | 'community' | 'access', required
            - `label` string, required
            - `eligibility` string
            - `delivery` string
          - `cta` string, required
          - `image` object
            - `asset_id` string, required
            - `url` string, uri, required
            - `alt` string, required
        - `presentation_mode` 'passive' | 'contextual' | 'direct_link', required
        - `brand_color` object, required
          - `light` string, required
          - `dark` string
        - `foreground_color` string
        - `placement` object, required
          - `desktop` 'bottom-left' | 'bottom-right', required
          - `mobile` 'bottom-left' | 'bottom-right', required
      - `allowed_selectors` string[], required
      - `allowed_origins` string[], required
    - `intake` object, nullable, required
      - `details` object, required
        - `handle` string, required
        - `title` string, required
        - `description` string, nullable, required
        - `brand_color` string, required
        - `welcome_message` string, nullable, required
        - `consent_text` string, required
      - `questions` object[], required
        - `id` string, required
        - `question_text` string, required
        - `question_type` string, required
        - `required` number, required
        - `options` string[], nullable, required
        - `min_value` number, nullable, required
        - `max_value` number, nullable, required
    - `widget_capabilities` object, required
      - `realtime_analysis` boolean, required
      - `realtime_page_context` boolean, required
      - `realtime_site_search` boolean, required
      - `realtime_knowledge_query` boolean, required
      - `realtime_visual_snapshots` boolean, required
      - `realtime_visual_guidance` boolean, required
      - `realtime_same_origin_navigation` boolean, required
    - `available` true, required
  - object
    - `available` false, required
    - `reason` 'inactive' | 'capacity_reached' | 'configuration_invalid' | 'runtime_unavailable', required

## Other responses

- `400`: Bad request
- `401`: Not authenticated
- `404`: Not found
- `422`: Domain error (non-retryable)
- `500`: Internal server error
- `503`: Domain error (retryable)

---

[API](https://skmtc.dev/usertold/apis/usertold-ai-api.md) · [All operations](https://skmtc.dev/usertold/apis/usertold-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usertold/apis/usertold-ai-api/revisions/37d5b4f88d38?raw)
