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

# Create an authenticated browser Realtime voice session

> Proxy the browser's SDP offer to OpenAI without exposing our API key.

The browser sends only the SDP offer and lightweight conversation context.
Audio then flows directly over WebRTC between the browser and OpenAI.



## OpenAPI

````yaml https://api.truestate.io/openapi.json post /inference/realtime-session
openapi: 3.1.0
info:
  title: TrueState Backend API
  summary: >-
    TrueState is an AI platform for business users to create high-impact AI
    solutions.
  description: >

    This **[TrueState](https://www.truestate.io/)** backend API allows our
    clients to automate and more powerfully retrieve and modify data from the
    TrueState platform.


    Example use cases include:


    - Accessing embeddings for a dataset.

    - Automating the process of dataset creation and model retraining as your
    data changes.

    - Much more.


    Our backend is built using the [FastAPI](https://fastapi.tiangolo.com/)
    framework in python

    using [Auth0](https://auth0.com/) and [Client API
    Keys](https://www.truestate.io/dawn/docs) for internal an external
    authentication, respectively.

    Our backend is designed to be secure, scalable, easy to use and well
    documented _(each router with its own linked docs page)_.

    Clients can only access data from their own organisation, as setup in Auth0
    our the Client API Keys. See how
    **[here](https://www.truestate.io/dawn/docs)**.


    **PS**: You can view this API documentation in either
    **[Swagger](swagger/docs)** or **[Redoc](redoc/)**, but only the swagger
    lets you test calls.
  contact:
    name: True State Support
    url: https://www.truestate.io/dawn/docs
    email: support@truestate.io
  license:
    name: Private
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 0.13.95
servers: []
security: []
paths:
  /inference/realtime-session:
    post:
      tags:
        - inference
      summary: Create an authenticated browser Realtime voice session
      description: >-
        Proxy the browser's SDP offer to OpenAI without exposing our API key.


        The browser sends only the SDP offer and lightweight conversation
        context.

        Audio then flows directly over WebRTC between the browser and OpenAI.
      operationId: create_realtime_session_inference_realtime_session_post
      parameters:
        - name: Api-key
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Api-Key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RealtimeSessionRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RealtimeSessionResponse'
        '400':
          description: Bad Request - Invalid SDP
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: Bad Gateway - Realtime session creation failed
      security:
        - HTTPBearer: []
components:
  schemas:
    RealtimeSessionRequest:
      properties:
        sdp:
          type: string
          title: Sdp
        assistant_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Assistant Name
        conversation_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Conversation Id
        context_entities:
          anyOf:
            - items:
                additionalProperties:
                  type: string
                type: object
              type: array
            - type: 'null'
          title: Context Entities
        audible:
          type: boolean
          title: Audible
          default: true
      type: object
      required:
        - sdp
      title: RealtimeSessionRequest
    RealtimeSessionResponse:
      properties:
        sdp:
          type: string
          title: Sdp
      type: object
      required:
        - sdp
      title: RealtimeSessionResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````