Create Realtime Assistant - Uplift AI API Docs

Example Request

JavaScript

curl -X POST https://api.upliftai.org/v1/realtime-assistants \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Customer Support Assistant",
    "description": "24/7 voice support for customers",
    "public": false,
    "config": {
      "session": {
        "ttl": 3600,
        "roomPrefix": "support"
      },
      "agent": {
        "instructions": "You are a helpful customer support agent. Be friendly and professional.",
        "initialGreeting": true,
        "greetingInstructions": "Greet the customer and ask how you can help them today.",
        "tools": []
      },
      "stt": {
        "default": {
          "provider": "groq",
          "model": "whisper-large-v3",
          "language": "en"
        }
      },
      "tts": {
        "default": {
          "provider": "upliftai",
          "voiceId": "v_meklc281",
          "outputFormat": "MP3_22050_32"
        }
      },
      "llm": {
        "default": {
          "provider": "groq",
          "model": "openai/gpt-oss-120b"
        }
      }
    }
  }'
const response = await fetch('https://api.upliftai.org/v1/realtime-assistants', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Customer Support Assistant',
    description: '24/7 voice support for customers',
    public: false,
    config: {
      agent: {
        instructions: 'You are a helpful customer support agent.',
        initialGreeting: true,
      },
      stt: {
        default: {
          provider: 'groq',
          model: 'whisper-large-v3',
        }
      },
      tts: {
        default: {
          provider: 'upliftai',
          voiceId: 'v_meklc281',
          outputFormat: 'MP3_22050_32',
        }
      },
      llm: {
        default: {
          provider: 'groq',
          model: 'openai/gpt-oss-120b',
        }
      }
    }
  })
});

const assistant = await response.json();

Response

{
  "realtimeAssistantId": "550e8400-e29b-41d4-a716-446655440000",
  "organizationId": "org_123",
  "projectId": "proj_456",
  "name": "Customer Support Assistant",
  "description": "24/7 voice support for customers",
  "config": {
    "session": {
      "ttl": 3600,
      "roomPrefix": "support"
    },
    "agent": {
      "instructions": "You are a helpful customer support agent. Be friendly and professional.",
      "initialGreeting": true,
      "greetingInstructions": "Greet the customer and ask how you can help them today.",
      "tools": []
    },
    "stt": {
      "default": {
        "provider": "groq",
        "model": "whisper-large-v3",
        "language": "en"
      }
    },
    "tts": {
      "default": {
        "provider": "upliftai",
        "voiceId": "v_meklc281",
        "outputFormat": "MP3_22050_32"
      }
    },
    "llm": {
      "default": {
        "provider": "groq",
        "model": "openai/gpt-oss-120b"
      }
    }
  },
  "public": false,
  "createdAt": "2024-01-15T10:30:00Z",
  "updatedAt": "2024-01-15T10:30:00Z",
  "createdBy": "user_789",
  "updatedBy": "user_789"
}

Parameters

name
string
required
A descriptive name for your assistant

description
string
Optional description of the assistant’s purpose

public
boolean
default:"false"
Whether this assistant can be accessed without authentication

config
object
required
Assistant configuration object

Show config properties

session
object
Session configuration

ttl
number
default:"3600"
Session time-to-live in seconds

roomPrefix
string
Custom room name prefix (max 32 characters)

agent
object
Agent behavior configuration

instructions
string
required
System instructions for the AI agent

initialGreeting
boolean
default:"false"
Whether the agent should greet users when they join

greetingInstructions
string
Custom greeting instructions

tools
array
Array of tool configurations

stt
object
Speech-to-text configuration

default
object
Default STT provider settings

provider
string
required
Provider name: deepgram, openai, groq, or upliftai

model
string
required
Model identifier

language
string
Language code (e.g., “ur”, “en”)

tts
object
Text-to-speech configuration

default
object
Default TTS provider settings

provider
string
required
Provider name: upliftai or openai

voiceId
string
required
Voice identifier

outputFormat
string
required
Audio format (e.g., “MP3_22050_32”)

llm
object
Language model configuration

default
object
Default LLM provider settings

provider
string
required
Provider name: groq or openai

model
string
required
Model identifier