User API
Chats
Conversation threads and messages
GET
/chatsList chats
Query parameters
pageinteger
perPageinteger
limitinteger
statusstring
assistantIdstring
contextIdstring
qstring
Responses
200Chats
ok reqenum
truechats reqobject[]
id reqstring
account reqstring
userstring
ownerobject
id reqstring
type reqenum
useremail reqstring
firstNamestring | null
lastNamestring | null
avatarstring | null
assistantstring
assistantInfoobject
id reqstring
name reqstring
email reqstring
platform reqenum
chatemailslackteamssmswhatsappimessagephonediscordtelegramtask_activitytitlestring | null
status reqstring
messageCount reqnumber
lastMessageAtstring | null
taskIdsstring[]
fileIdsstring[]
pendingHandoffobject | null
from reqstring
at reqstring | null
tagsstring[]
metadataobject
participantsobject[]
type reqenum
phoneemailvalue reqstring
modelTierenum
lowmediumhigheffortenum
lowmediumhighusageobject
inputTokensnumber
outputTokensnumber
cacheReadTokensnumber
cacheCreationTokensnumber
costUsdnumber
runsnumber
turnsnumber
creditUsageobject | null
consumednumber
blockedAtstring | null
lastPauseNotifiedAtstring | null
createdAt reqstring
updatedAt reqstring
messagesobject[]
id reqstring
referenceIdstring
role reqstring
fromstring
tostring[]
ccstring[]
subjectstring
platformstring
content reqstring
filesany[]
timestamp reqstring
metadataobject
releasedRRobject[]
id reqstring
notestring
atstring
pageinteger
perPageinteger
totalinteger
Request
curl 'https://app.openassistant.us/api/chats' \
-H "Authorization: Bearer ak_live_..."Response
{
"ok": true,
"chats": [
{
"id": "string",
"account": "string",
"platform": "chat",
"status": "string",
"messageCount": 0,
"createdAt": "2025-01-15T10:30:00.000Z"
}
]
}POST
/chatsCreate a chat
Request body
assistantId reqstring
userIdstring
titlestring
metadataobject
contextIdstring
Responses
201Created
ok reqenum
truechat reqobject
id reqstring
account reqstring
userstring
ownerobject
id reqstring
type reqenum
useremail reqstring
firstNamestring | null
lastNamestring | null
avatarstring | null
assistantstring
assistantInfoobject
id reqstring
name reqstring
email reqstring
platform reqenum
chatemailslackteamssmswhatsappimessagephonediscordtelegramtask_activitytitlestring | null
status reqstring
messageCount reqnumber
lastMessageAtstring | null
taskIdsstring[]
fileIdsstring[]
pendingHandoffobject | null
from reqstring
at reqstring | null
tagsstring[]
metadataobject
participantsobject[]
type reqenum
phoneemailvalue reqstring
modelTierenum
lowmediumhigheffortenum
lowmediumhighusageobject
inputTokensnumber
outputTokensnumber
cacheReadTokensnumber
cacheCreationTokensnumber
costUsdnumber
runsnumber
turnsnumber
creditUsageobject | null
consumednumber
blockedAtstring | null
lastPauseNotifiedAtstring | null
createdAt reqstring
updatedAt reqstring
messagesobject[]
id reqstring
referenceIdstring
role reqstring
fromstring
tostring[]
ccstring[]
subjectstring
platformstring
content reqstring
filesany[]
timestamp reqstring
metadataobject
releasedRRobject[]
id reqstring
notestring
atstring
Request
curl 'https://app.openassistant.us/api/chats' \
-X POST \
-H "Authorization: Bearer ak_live_..." \
-H "Content-Type: application/json" \
-d '{
"assistantId": "string"
}'Response
{
"ok": true,
"chat": {
"id": "string",
"account": "string",
"platform": "chat",
"status": "string",
"messageCount": 0,
"createdAt": "2025-01-15T10:30:00.000Z"
}
}GET
/chats/{chatId}Get a chat
Path parameters
chatId reqstring
Responses
200Chat
ok reqenum
truechat reqobject
id reqstring
account reqstring
userstring
ownerobject
id reqstring
type reqenum
useremail reqstring
firstNamestring | null
lastNamestring | null
avatarstring | null
assistantstring
assistantInfoobject
id reqstring
name reqstring
email reqstring
platform reqenum
chatemailslackteamssmswhatsappimessagephonediscordtelegramtask_activitytitlestring | null
status reqstring
messageCount reqnumber
lastMessageAtstring | null
taskIdsstring[]
fileIdsstring[]
pendingHandoffobject | null
from reqstring
at reqstring | null
tagsstring[]
metadataobject
participantsobject[]
type reqenum
phoneemailvalue reqstring
modelTierenum
lowmediumhigheffortenum
lowmediumhighusageobject
inputTokensnumber
outputTokensnumber
cacheReadTokensnumber
cacheCreationTokensnumber
costUsdnumber
runsnumber
turnsnumber
creditUsageobject | null
consumednumber
blockedAtstring | null
lastPauseNotifiedAtstring | null
createdAt reqstring
updatedAt reqstring
messagesobject[]
id reqstring
referenceIdstring
role reqstring
fromstring
tostring[]
ccstring[]
subjectstring
platformstring
content reqstring
filesany[]
timestamp reqstring
metadataobject
releasedRRobject[]
id reqstring
notestring
atstring
Request
curl 'https://app.openassistant.us/api/chats/<chatId>' \
-H "Authorization: Bearer ak_live_..."Response
{
"ok": true,
"chat": {
"id": "string",
"account": "string",
"platform": "chat",
"status": "string",
"messageCount": 0,
"createdAt": "2025-01-15T10:30:00.000Z"
}
}POST
/chats/{chatId}Add message to chat
Path parameters
chatId reqstring
Request body
referenceIdstring
rolestring
fromstring
tostring | array
ccstring | array
subjectstring
platformstring
content reqstring
filesany[]
metadataobject
Responses
200Message
ok reqenum
truemessage reqobject
id reqstring
referenceIdstring
role reqstring
fromstring
tostring[]
ccstring[]
subjectstring
platformstring
content reqstring
filesany[]
timestamp reqstring
metadataobject
Request
curl 'https://app.openassistant.us/api/chats/<chatId>' \
-X POST \
-H "Authorization: Bearer ak_live_..." \
-H "Content-Type: application/json" \
-d '{
"content": "string"
}'Response
{
"ok": true,
"message": {
"id": "string",
"role": "string",
"content": "string",
"timestamp": "2025-01-15T10:30:00.000Z"
}
}DELETE
/chats/{chatId}Delete a chat
Path parameters
chatId reqstring
Responses
200Deleted
ok reqenum
truechat reqobject
id reqstring
deletedboolean
messagestring
Request
curl 'https://app.openassistant.us/api/chats/<chatId>' \
-X DELETE \
-H "Authorization: Bearer ak_live_..."Response
{
"ok": true,
"chat": {
"id": "string"
}
}GET
/chats/{chatId}/usagePer-run usage breakdown for a chat (Trace rollup grouped by run + model)
Path parameters
chatId reqstring
Responses
200Usage rollup
total reqobject
inputTokens reqnumber
outputTokens reqnumber
cacheReadTokens reqnumber
cacheCreationTokens reqnumber
totalTokens reqnumber
costUsd reqnumber
runs reqinteger
turns reqinteger
rows reqobject[]
runId reqstring | null
runType reqstring | null
runLabel reqstring | null
seq reqinteger
model reqstring | null
provider reqstring | null
inputTokens reqnumber
outputTokens reqnumber
cacheReadTokens reqnumber
cacheCreationTokens reqnumber
totalTokens reqnumber
costUsd reqnumber
turns reqinteger
startedAt reqstring | null
modelTierstring | null
northStarProductnumber
creditsobject
total reqnumber
costsByType reqobject
runs reqobject[]
runKind reqstring | null
multiplier reqnumber
chargedCredits reqnumber
hardCogsUsd reqnumber
isBillable reqboolean
createdAt reqstring
costsByType reqany...
runShapeobject
runs reqnumber
turnsPerRun reqnumber
toolCallsPerTurn reqnumber
toolCallSum reqnumber
toolTurnCount reqnumber
subtaskSpawnsByProfile reqobject
research reqnumber
worker reqnumber
custom reqnumber
tierMix reqobject
low reqnumber
medium reqnumber
high reqnumber
continueCount reqnumber
subtaskDepth reqnumber
researchNoteCount reqnumber
researchNoteChars reqnumber
releasedBigResults reqnumber
unreleasedBigResults reqnumber
autoManagedBigResultsnumber
releaseRationumber | null
status reqstring | null
wallClockMs reqnumber | null
costUsd reqnumber
northStarProductnumber
Request
curl 'https://app.openassistant.us/api/chats/<chatId>/usage' \
-H "Authorization: Bearer ak_live_..."Response
{
"total": {
"inputTokens": 0,
"outputTokens": 0,
"cacheReadTokens": 0,
"cacheCreationTokens": 0,
"totalTokens": 0,
"costUsd": 0
},
"rows": [
{
"runId": "string",
"runType": "string",
"runLabel": "string",
"seq": 0,
"model": "string",
"provider": "string"
}
]
}GET
/chats/{chatId}/messagesList chat messages
Path parameters
chatId reqstring
Query parameters
pageinteger
perPageinteger
limitinteger
Responses
200Messages
ok reqenum
truemessages reqobject[]
id reqstring
referenceIdstring
role reqstring
fromstring
tostring[]
ccstring[]
subjectstring
platformstring
content reqstring
filesany[]
timestamp reqstring
metadataobject
pageinteger
perPageinteger
totalinteger
Request
curl 'https://app.openassistant.us/api/chats/<chatId>/messages' \
-H "Authorization: Bearer ak_live_..."Response
{
"ok": true,
"messages": [
{
"id": "string",
"role": "string",
"content": "string",
"timestamp": "2025-01-15T10:30:00.000Z"
}
]
}DELETE
/chats/{chatId}/messagesClear all messages
Path parameters
chatId reqstring
Responses
200Cleared
ok reqenum
trueclearMessages reqobject
success reqboolean
cleared reqboolean
chatId reqstring
Request
curl 'https://app.openassistant.us/api/chats/<chatId>/messages' \
-X DELETE \
-H "Authorization: Bearer ak_live_..."Response
{
"ok": true,
"clearMessages": {
"success": true,
"cleared": true,
"chatId": "string"
}
}GET
/chats/{chatId}/messages/{messageId}Get a message
Path parameters
chatId reqstring
messageId reqstring
Responses
200Message
ok reqenum
truemessage reqobject
id reqstring
referenceIdstring
role reqstring
fromstring
tostring[]
ccstring[]
subjectstring
platformstring
content reqstring
filesany[]
timestamp reqstring
metadataobject
Request
curl 'https://app.openassistant.us/api/chats/<chatId>/messages/<messageId>' \
-H "Authorization: Bearer ak_live_..."Response
{
"ok": true,
"message": {
"id": "string",
"role": "string",
"content": "string",
"timestamp": "2025-01-15T10:30:00.000Z"
}
}PUT
/chats/{chatId}/messages/{messageId}Update a message
Path parameters
chatId reqstring
messageId reqstring
Request body
contentstring
filesany[]
metadataobject
Responses
200Updated
ok reqenum
truemessage reqobject
id reqstring
referenceIdstring
role reqstring
fromstring
tostring[]
ccstring[]
subjectstring
platformstring
content reqstring
filesany[]
timestamp reqstring
metadataobject
Request
curl 'https://app.openassistant.us/api/chats/<chatId>/messages/<messageId>' \
-X PUT \
-H "Authorization: Bearer ak_live_..." \
-H "Content-Type: application/json" \
-d '{
"content": "string",
"files": [
null
],
"metadata": {}
}'Response
{
"ok": true,
"message": {
"id": "string",
"role": "string",
"content": "string",
"timestamp": "2025-01-15T10:30:00.000Z"
}
}DELETE
/chats/{chatId}/messages/{messageId}Delete a message
Path parameters
chatId reqstring
messageId reqstring
Responses
200Deleted
ok reqenum
truemessage reqobject
id reqstring
deletedboolean
messagestring
Request
curl 'https://app.openassistant.us/api/chats/<chatId>/messages/<messageId>' \
-X DELETE \
-H "Authorization: Bearer ak_live_..."Response
{
"ok": true,
"message": {
"id": "string"
}
}POST
/chats/{chatId}/processProcess chat (trigger AI)
Path parameters
chatId reqstring
Responses
200Result
ok reqenum
truemessageobject
id reqstring
referenceIdstring
role reqstring
fromstring
tostring[]
ccstring[]
subjectstring
platformstring
content reqstring
filesany[]
timestamp reqstring
metadataobject
taskIdsstring[]
processingany
Request
curl 'https://app.openassistant.us/api/chats/<chatId>/process' \
-X POST \
-H "Authorization: Bearer ak_live_..."Response
{
"ok": true
}