List assistants
curl --request GET \
--url https://api.upliftai.org/v1/realtime-assistants \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.upliftai.org/v1/realtime-assistants"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.upliftai.org/v1/realtime-assistants', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.upliftai.org/v1/realtime-assistants",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.upliftai.org/v1/realtime-assistants"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.upliftai.org/v1/realtime-assistants")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.upliftai.org/v1/realtime-assistants")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"realtimeAssistantId": "0f4a91d3-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"organizationId": "a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"projectId": "c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Edversity admissions follow-up",
"description": "Calls warm leads about the cybersecurity programme",
"config": {
"agent": {
"instructions": "آپ زارا ہیں، ایڈورسٹی کی ایڈمیشن کونسلر۔ سائبر سیکیورٹی پروگرام میں دلچسپی لینے والے لیڈز کو کال کریں، فیس اور کلاس شیڈول بتائیں، اور ڈیمو سیشن کے لیے وقت طے کریں۔",
"initialGreeting": true,
"greetingInstructions": "اپنا اور ایڈورسٹی کا تعارف کروائیں، پھر پوچھیں کہ کیا وہ ابھی بات کر سکتے ہیں۔",
"tools": []
},
"session": {
"ttl": 1800
},
"stt": {
"default": {
"provider": "soniox",
"model": "stt-rt-v4",
"language": "ur"
}
},
"tts": {
"default": {
"provider": "upliftai",
"voiceId": "v_8eelc901",
"outputFormat": "MP3_22050_32"
}
},
"llm": {
"default": {
"provider": "openai",
"model": "gpt-5.4-mini",
"reasoningEffort": "none"
}
},
"noiseCancellation": {
"enabled": false
}
},
"public": false,
"createdAt": "2026-08-18T09:41:10.517Z",
"updatedAt": "2026-08-18T10:02:47.883Z",
"createdBy": "d9164fbd-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"updatedBy": "d9164fbd-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"version": 14,
"aliases": {
"draft": {
"version": 14,
"updatedAt": "2026-08-18T10:02:47.883Z",
"updatedBy": "d9164fbd-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"prod": {
"version": 11,
"updatedAt": "2026-08-18T09:58:03.120Z",
"updatedBy": "d9164fbd-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
},
{
"realtimeAssistantId": "26932cc0-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"organizationId": "a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"projectId": "c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Shifa Clinic appointment confirmation",
"description": "Confirms next-day appointments for Shifa Clinic patients",
"config": {
"agent": {
"instructions": "آپ شفا کلینک کی جانب سے کال کر رہے ہیں۔ مریض سے کل کی اپائنٹمنٹ کی تصدیق کریں، وقت بتائیں، اور اگر وہ تاریخ بدلنا چاہیں تو نیا وقت پوچھیں۔ صرف نستعلیق اردو میں جواب دیں۔",
"initialGreeting": true,
"greetingInstructions": "السلام علیکم کہیں، اپنا اور کلینک کا تعارف کروائیں، پھر پوچھیں کہ کیا وہ بات کر سکتے ہیں۔"
},
"session": {
"ttl": 1800,
"roomPrefix": "shifa-clinic"
},
"stt": {
"default": {
"provider": "soniox",
"model": "stt-rt-preview",
"language": "ur"
}
},
"tts": {
"default": {
"provider": "upliftai",
"voiceId": "v_meklc281",
"outputFormat": "MP3_22050_32"
}
},
"llm": {
"default": {
"provider": "google",
"model": "gemini-2.5-flash"
}
}
},
"public": false,
"createdAt": "2026-08-18T02:05:22.029Z",
"updatedAt": "2026-08-18T02:05:22.029Z",
"createdBy": "ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"updatedBy": "ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"version": 1,
"aliases": {
"draft": {
"version": 1,
"updatedAt": "2026-08-18T02:05:22.029Z",
"updatedBy": "ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
}
]{
"message": "invalid authorization",
"error": "Unauthorized",
"statusCode": 401
}{
"message": "Forbidden resource",
"error": "Forbidden",
"statusCode": 403
}Assistants
List assistants
Every assistant in the API key’s project, as its draft. aliases on each row says whether it has been published and whether the draft is ahead of what calls run.
GET
/
realtime-assistants
List assistants
curl --request GET \
--url https://api.upliftai.org/v1/realtime-assistants \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.upliftai.org/v1/realtime-assistants"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.upliftai.org/v1/realtime-assistants', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.upliftai.org/v1/realtime-assistants",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.upliftai.org/v1/realtime-assistants"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.upliftai.org/v1/realtime-assistants")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.upliftai.org/v1/realtime-assistants")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"realtimeAssistantId": "0f4a91d3-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"organizationId": "a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"projectId": "c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Edversity admissions follow-up",
"description": "Calls warm leads about the cybersecurity programme",
"config": {
"agent": {
"instructions": "آپ زارا ہیں، ایڈورسٹی کی ایڈمیشن کونسلر۔ سائبر سیکیورٹی پروگرام میں دلچسپی لینے والے لیڈز کو کال کریں، فیس اور کلاس شیڈول بتائیں، اور ڈیمو سیشن کے لیے وقت طے کریں۔",
"initialGreeting": true,
"greetingInstructions": "اپنا اور ایڈورسٹی کا تعارف کروائیں، پھر پوچھیں کہ کیا وہ ابھی بات کر سکتے ہیں۔",
"tools": []
},
"session": {
"ttl": 1800
},
"stt": {
"default": {
"provider": "soniox",
"model": "stt-rt-v4",
"language": "ur"
}
},
"tts": {
"default": {
"provider": "upliftai",
"voiceId": "v_8eelc901",
"outputFormat": "MP3_22050_32"
}
},
"llm": {
"default": {
"provider": "openai",
"model": "gpt-5.4-mini",
"reasoningEffort": "none"
}
},
"noiseCancellation": {
"enabled": false
}
},
"public": false,
"createdAt": "2026-08-18T09:41:10.517Z",
"updatedAt": "2026-08-18T10:02:47.883Z",
"createdBy": "d9164fbd-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"updatedBy": "d9164fbd-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"version": 14,
"aliases": {
"draft": {
"version": 14,
"updatedAt": "2026-08-18T10:02:47.883Z",
"updatedBy": "d9164fbd-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"prod": {
"version": 11,
"updatedAt": "2026-08-18T09:58:03.120Z",
"updatedBy": "d9164fbd-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
},
{
"realtimeAssistantId": "26932cc0-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"organizationId": "a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"projectId": "c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Shifa Clinic appointment confirmation",
"description": "Confirms next-day appointments for Shifa Clinic patients",
"config": {
"agent": {
"instructions": "آپ شفا کلینک کی جانب سے کال کر رہے ہیں۔ مریض سے کل کی اپائنٹمنٹ کی تصدیق کریں، وقت بتائیں، اور اگر وہ تاریخ بدلنا چاہیں تو نیا وقت پوچھیں۔ صرف نستعلیق اردو میں جواب دیں۔",
"initialGreeting": true,
"greetingInstructions": "السلام علیکم کہیں، اپنا اور کلینک کا تعارف کروائیں، پھر پوچھیں کہ کیا وہ بات کر سکتے ہیں۔"
},
"session": {
"ttl": 1800,
"roomPrefix": "shifa-clinic"
},
"stt": {
"default": {
"provider": "soniox",
"model": "stt-rt-preview",
"language": "ur"
}
},
"tts": {
"default": {
"provider": "upliftai",
"voiceId": "v_meklc281",
"outputFormat": "MP3_22050_32"
}
},
"llm": {
"default": {
"provider": "google",
"model": "gemini-2.5-flash"
}
}
},
"public": false,
"createdAt": "2026-08-18T02:05:22.029Z",
"updatedAt": "2026-08-18T02:05:22.029Z",
"createdBy": "ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"updatedBy": "ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"version": 1,
"aliases": {
"draft": {
"version": 1,
"updatedAt": "2026-08-18T02:05:22.029Z",
"updatedBy": "ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
}
]{
"message": "invalid authorization",
"error": "Unauthorized",
"statusCode": 401
}{
"message": "Forbidden resource",
"error": "Forbidden",
"statusCode": 403
}Authorizations
Project API key (sk_api_…).
Response
Every assistant in the project.
Keys beyond those listed are stored and returned unchanged.
Show child attributes
Show child attributes
Who created the assistant — an API key or a portal user.
The version this response shows. Every save bumps it, so published numbers skip the saves in between.
Required range:
x >= 1Show child attributes
Show child attributes
