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

# Get or create widget thread

> Returns the active widget thread for the current user, creating one if missing.



## OpenAPI

````yaml https://api.superwize.ai/api/openapi.json post /widget/getOrCreateThread
openapi: 3.1.1
info:
  title: SuperWize API
  version: 1.1.2
  description: >-
    SuperWize RPC API. Authenticated endpoints support Better Auth session
    cookies, Authorization: Bearer <session_token>, or x-api-key.
servers:
  - url: http://api.superwize.ai/api
security: []
tags:
  - name: System
    description: Service health and internal diagnostics.
  - name: Authentication
    description: Session, email verification, and API token endpoints.
  - name: Audio
    description: Speech-to-text and related audio features.
  - name: Chat
    description: Conversation streaming, history, branching, and feedback.
  - name: Credits
    description: Credit balances, usage history, and reward grants.
  - name: Subscription
    description: Subscription tier and status polling endpoints.
  - name: Mini Apps
    description: Curated mini app catalog endpoints.
  - name: News
    description: Curated news feed, article source, and article feedback endpoints.
  - name: Release Notes
    description: Current app release metadata and features.
  - name: Support
    description: Contact/support request endpoints.
  - name: Images
    description: Image conversion, upload, and retrieval endpoints.
  - name: Files
    description: Generic file upload and retrieval endpoints.
  - name: Notifications
    description: Push token registration and test notifications.
  - name: Group Chat
    description: Group lifecycle, invites, messaging, and realtime events.
  - name: Preferences
    description: User preferences and account-type controls.
  - name: Widgets
    description: Widget thread and interaction endpoints.
  - name: Bookmarks
    description: Bookmark groups and conversation associations.
paths:
  /widget/getOrCreateThread:
    post:
      tags:
        - Widgets
      summary: Get or create widget thread
      description: >-
        Returns the active widget thread for the current user, creating one if
        missing.
      operationId: widget.getOrCreateThread
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                widgetId:
                  type: string
              required:
                - widgetId
            example:
              widgetId: wid_01JHKYX9T3EF123456789
      responses:
        '200':
          description: Widget thread returned.
          content:
            application/json:
              schema:
                type: object
                properties:
                  thread:
                    type: object
                    properties:
                      id:
                        type: string
                      widgetId:
                        type: string
                      userId:
                        anyOf:
                          - type: string
                          - type: 'null'
                      status:
                        enum:
                          - active
                          - completed
                          - abandoned
                      createdAt:
                        type: string
                        format: date-time
                        x-native-type: date
                      updatedAt:
                        type: string
                        format: date-time
                        x-native-type: date
                      messages:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            threadId:
                              type: string
                            data:
                              type: object
                              propertyNames:
                                type: string
                              additionalProperties: {}
                            createdAt:
                              type: string
                              format: date-time
                              x-native-type: date
                          required:
                            - id
                            - threadId
                            - data
                            - createdAt
                    required:
                      - id
                      - widgetId
                      - userId
                      - status
                      - createdAt
                      - updatedAt
                  created:
                    type: boolean
                required:
                  - thread
                  - created
              example:
                thread:
                  id: obj_01JHKZ0PV2WX123456789
                  widgetId: wid_01JHKYX9T3EF123456789
                  userId: user_01JHKYV8FMS234567890
                  status: active
                  createdAt: '2026-01-01T00:00:00.000Z'
                  updatedAt: '2026-01-01T00:00:00.000Z'
                  messages:
                    - id: obj_01JHKZ0PV2WX123456789
                      threadId: thr_01JHKYY5K4GH123456789
                      data: {}
                      createdAt: '2026-01-01T00:00:00.000Z'
                created: true
        '401':
          description: '401'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: UNAUTHORIZED
                      status:
                        const: 401
                      message:
                        type: string
                        default: Authentication is required to access this endpoint.
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '403':
          description: '403'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: FORBIDDEN
                      status:
                        const: 403
                      message:
                        type: string
                        default: You do not have permission to perform this action.
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
              example:
                defined: true
                code: FORBIDDEN
                status: 403
                message: You do not have permission to perform this action.
                data: {}
        '404':
          description: '404'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: NOT_FOUND
                      status:
                        const: 404
                      message:
                        type: string
                        default: The requested resource was not found.
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
              example:
                defined: true
                code: NOT_FOUND
                status: 404
                message: The requested resource was not found.
                data: {}

````