OpenAssistantAPI

User API

Assistants

AI assistant configuration and management

GET/users/{userId}/assistant

Get assistant for a specific user

Path parameters

userId reqstring

Responses

200User assistant
ok reqenumtrue
assistant reqobject
id reqstring
account reqstring
organization reqstring | null
team reqstring | null
user reqstring | null
member reqstring | null
scope reqenumaccountorganizationteamuser
name reqstring
email reqstring
avatarUrl reqstring | null
signature reqstring | null
signatureEditorModeenumvisualhtml
personalitystring
taglinestring | null
backstorystring | null
rolestring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
signaturePhrasesstring[]
writingStyle reqobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
voice reqobject | null
voiceIdstring | null
providerstring
status reqenumactiveinactive
isSystemTemplate reqboolean
talkToStrangers reqboolean
metadataobject
inboxPlatform reqenumsesgoogleoutlooknull
inboxAuthErrorboolean
channelsobject
imessagestring | null
smsstring | null
smsProviderenumtwiliosendblue
smsConversationsRegisteredAtstring | null
whatsappstring | null
whatsappProviderenumtwiliometa
whatsappPhoneNumberIdstring | null
voiceobject
twilioSiblingSidstring | null
twilioSiblingPhoneNumberstring | null
vapiPhoneNumberIdstring | null
statusenumnoneprovisioningactivefailed
provisionedAtstring | null
recordingDisclosureboolean
appearanceDescriptionstring
tagsobject
deletedAtstring | null
retiredEmailstring | null
emailReleasedAtstring | null
createdAt reqstring
updatedAt reqstring

Request

curl 'https://app.openassistant.us/api/users/<userId>/assistant' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "assistant": {
    "id": "string",
    "account": "string",
    "organization": "string",
    "team": "string",
    "user": "string",
    "member": "string"
  }
}
POST/users/{userId}/assistant

Create a user-scoped assistant

Path parameters

userId reqstring

Request body

name reqstring
emailstring
avatarstring
signaturestring | null
signatureEditorModeenumvisualhtml
personalitystring
backstorystring | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
writingStyleobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
metadataobject

Responses

201Created
ok reqenumtrue
assistant reqobject
id reqstring
account reqstring
organization reqstring | null
team reqstring | null
user reqstring | null
member reqstring | null
scope reqenumaccountorganizationteamuser
name reqstring
email reqstring
avatarUrl reqstring | null
signature reqstring | null
signatureEditorModeenumvisualhtml
personalitystring
taglinestring | null
backstorystring | null
rolestring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
signaturePhrasesstring[]
writingStyle reqobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
voice reqobject | null
voiceIdstring | null
providerstring
status reqenumactiveinactive
isSystemTemplate reqboolean
talkToStrangers reqboolean
metadataobject
inboxPlatform reqenumsesgoogleoutlooknull
inboxAuthErrorboolean
channelsobject
imessagestring | null
smsstring | null
smsProviderenumtwiliosendblue
smsConversationsRegisteredAtstring | null
whatsappstring | null
whatsappProviderenumtwiliometa
whatsappPhoneNumberIdstring | null
voiceobject
twilioSiblingSidstring | null
twilioSiblingPhoneNumberstring | null
vapiPhoneNumberIdstring | null
statusenumnoneprovisioningactivefailed
provisionedAtstring | null
recordingDisclosureboolean
appearanceDescriptionstring
tagsobject
deletedAtstring | null
retiredEmailstring | null
emailReleasedAtstring | null
createdAt reqstring
updatedAt reqstring

Request

curl 'https://app.openassistant.us/api/users/<userId>/assistant' \
  -X POST \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string"
}'

Response

{
  "ok": true,
  "assistant": {
    "id": "string",
    "account": "string",
    "organization": "string",
    "team": "string",
    "user": "string",
    "member": "string"
  }
}
PUT/users/{userId}/assistant

Update a user's assistant

Path parameters

userId reqstring

Request body

namestring
emailstring
personalitystring
signaturestring | null
signatureEditorModeenumvisualhtml
writingStyleobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
avatarstring | null
appearanceDescriptionstring
taglinestring | null
backstorystring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
statusenumactiveinactive
metadataobject
talkToStrangersboolean
scopeenumaccountorganizationteamuser
organizationstring | null
teamstring | null
inboxPlatformenumsesgoogleoutlooknull
voiceobject | null
voiceIdstring | null
providerstring
channelsobject
imessagestring | null
smsstring | null
smsProviderenumtwiliosendblue
whatsappstring | null
whatsappProviderenumtwiliometa
whatsappPhoneNumberIdstring | null
metaCredentialsobject
accessTokenstring | null

Responses

200Updated
ok reqenumtrue
assistant reqobject
id reqstring
account reqstring
organization reqstring | null
team reqstring | null
user reqstring | null
member reqstring | null
scope reqenumaccountorganizationteamuser
name reqstring
email reqstring
avatarUrl reqstring | null
signature reqstring | null
signatureEditorModeenumvisualhtml
personalitystring
taglinestring | null
backstorystring | null
rolestring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
signaturePhrasesstring[]
writingStyle reqobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
voice reqobject | null
voiceIdstring | null
providerstring
status reqenumactiveinactive
isSystemTemplate reqboolean
talkToStrangers reqboolean
metadataobject
inboxPlatform reqenumsesgoogleoutlooknull
inboxAuthErrorboolean
channelsobject
imessagestring | null
smsstring | null
smsProviderenumtwiliosendblue
smsConversationsRegisteredAtstring | null
whatsappstring | null
whatsappProviderenumtwiliometa
whatsappPhoneNumberIdstring | null
voiceobject
twilioSiblingSidstring | null
twilioSiblingPhoneNumberstring | null
vapiPhoneNumberIdstring | null
statusenumnoneprovisioningactivefailed
provisionedAtstring | null
recordingDisclosureboolean
appearanceDescriptionstring
tagsobject
deletedAtstring | null
retiredEmailstring | null
emailReleasedAtstring | null
createdAt reqstring
updatedAt reqstring

Request

curl 'https://app.openassistant.us/api/users/<userId>/assistant' \
  -X PUT \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "email": "[email protected]",
  "personality": "string",
  "signature": "string"
}'

Response

{
  "ok": true,
  "assistant": {
    "id": "string",
    "account": "string",
    "organization": "string",
    "team": "string",
    "user": "string",
    "member": "string"
  }
}
DELETE/users/{userId}/assistant

Delete a user's assistant

Path parameters

userId reqstring

Responses

200Deleted
ok reqenumtrue
assistant reqobject
id reqstring
deletedboolean
messagestring

Request

curl 'https://app.openassistant.us/api/users/<userId>/assistant' \
  -X DELETE \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "assistant": {
    "id": "string"
  }
}
GET/assistants

List assistants visible to current user

Query parameters

emailstring

Responses

200Assistants list
ok reqenumtrue
assistants reqobject[]
id reqstring
account reqstring
organization reqstring | null
team reqstring | null
user reqstring | null
member reqstring | null
scope reqenumaccountorganizationteamuser
name reqstring
email reqstring
avatarUrl reqstring | null
signature reqstring | null
signatureEditorModeenumvisualhtml
personalitystring
taglinestring | null
backstorystring | null
rolestring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
signaturePhrasesstring[]
writingStyle reqobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
voice reqobject | null
voiceIdstring | null
providerstring
status reqenumactiveinactive
isSystemTemplate reqboolean
talkToStrangers reqboolean
metadataobject
inboxPlatform reqenumsesgoogleoutlooknull
inboxAuthErrorboolean
channelsobject
imessagestring | null
smsstring | null
smsProviderenumtwiliosendblue
smsConversationsRegisteredAtstring | null
whatsappstring | null
whatsappProviderenumtwiliometa
whatsappPhoneNumberIdstring | null
voiceobject
twilioSiblingSidstring | null
twilioSiblingPhoneNumberstring | null
vapiPhoneNumberIdstring | null
statusenumnoneprovisioningactivefailed
provisionedAtstring | null
recordingDisclosureboolean
appearanceDescriptionstring
tagsobject
deletedAtstring | null
retiredEmailstring | null
emailReleasedAtstring | null
createdAt reqstring
updatedAt reqstring
pageinteger
perPageinteger
totalinteger

Request

curl 'https://app.openassistant.us/api/assistants' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "assistants": [
    {
      "id": "string",
      "account": "string",
      "organization": "string",
      "team": "string",
      "user": "string",
      "member": "string"
    }
  ]
}
POST/assistants

Create an assistant

Request body

name reqstring
email reqstring
scopeenumaccountorganizationteamuser
organizationstring | null
teamstring | null
personalitystring
signaturestring | null
signatureEditorModeenumvisualhtml
writingStyleobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
avatarstring | null
appearanceDescriptionstring
taglinestring | null
backstorystring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
metadataobject
talkToStrangersboolean

Responses

201Created assistant
ok reqenumtrue
assistant reqobject
id reqstring
account reqstring
organization reqstring | null
team reqstring | null
user reqstring | null
member reqstring | null
scope reqenumaccountorganizationteamuser
name reqstring
email reqstring
avatarUrl reqstring | null
signature reqstring | null
signatureEditorModeenumvisualhtml
personalitystring
taglinestring | null
backstorystring | null
rolestring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
signaturePhrasesstring[]
writingStyle reqobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
voice reqobject | null
voiceIdstring | null
providerstring
status reqenumactiveinactive
isSystemTemplate reqboolean
talkToStrangers reqboolean
metadataobject
inboxPlatform reqenumsesgoogleoutlooknull
inboxAuthErrorboolean
channelsobject
imessagestring | null
smsstring | null
smsProviderenumtwiliosendblue
smsConversationsRegisteredAtstring | null
whatsappstring | null
whatsappProviderenumtwiliometa
whatsappPhoneNumberIdstring | null
voiceobject
twilioSiblingSidstring | null
twilioSiblingPhoneNumberstring | null
vapiPhoneNumberIdstring | null
statusenumnoneprovisioningactivefailed
provisionedAtstring | null
recordingDisclosureboolean
appearanceDescriptionstring
tagsobject
deletedAtstring | null
retiredEmailstring | null
emailReleasedAtstring | null
createdAt reqstring
updatedAt reqstring
400Bad request
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/assistants' \
  -X POST \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "email": "[email protected]"
}'

Response

{
  "ok": true,
  "assistant": {
    "id": "string",
    "account": "string",
    "organization": "string",
    "team": "string",
    "user": "string",
    "member": "string"
  }
}
GET/assistants/{assistantId}

Get a specific assistant

Path parameters

assistantId reqstring

Responses

200Assistant
ok reqenumtrue
assistant reqobject
id reqstring
account reqstring
organization reqstring | null
team reqstring | null
user reqstring | null
member reqstring | null
scope reqenumaccountorganizationteamuser
name reqstring
email reqstring
avatarUrl reqstring | null
signature reqstring | null
signatureEditorModeenumvisualhtml
personalitystring
taglinestring | null
backstorystring | null
rolestring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
signaturePhrasesstring[]
writingStyle reqobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
voice reqobject | null
voiceIdstring | null
providerstring
status reqenumactiveinactive
isSystemTemplate reqboolean
talkToStrangers reqboolean
metadataobject
inboxPlatform reqenumsesgoogleoutlooknull
inboxAuthErrorboolean
channelsobject
imessagestring | null
smsstring | null
smsProviderenumtwiliosendblue
smsConversationsRegisteredAtstring | null
whatsappstring | null
whatsappProviderenumtwiliometa
whatsappPhoneNumberIdstring | null
voiceobject
twilioSiblingSidstring | null
twilioSiblingPhoneNumberstring | null
vapiPhoneNumberIdstring | null
statusenumnoneprovisioningactivefailed
provisionedAtstring | null
recordingDisclosureboolean
appearanceDescriptionstring
tagsobject
deletedAtstring | null
retiredEmailstring | null
emailReleasedAtstring | null
createdAt reqstring
updatedAt reqstring
404Not found
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/assistants/<assistantId>' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "assistant": {
    "id": "string",
    "account": "string",
    "organization": "string",
    "team": "string",
    "user": "string",
    "member": "string"
  }
}
PUT/assistants/{assistantId}

Update an assistant

Path parameters

assistantId reqstring

Request body

namestring
emailstring
personalitystring
signaturestring | null
signatureEditorModeenumvisualhtml
writingStyleobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
avatarstring | null
appearanceDescriptionstring
taglinestring | null
backstorystring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
statusenumactiveinactive
metadataobject
talkToStrangersboolean
scopeenumaccountorganizationteamuser
organizationstring | null
teamstring | null
inboxPlatformenumsesgoogleoutlooknull
voiceobject | null
voiceIdstring | null
providerstring
channelsobject
imessagestring | null
smsstring | null
smsProviderenumtwiliosendblue
whatsappstring | null
whatsappProviderenumtwiliometa
whatsappPhoneNumberIdstring | null
metaCredentialsobject
accessTokenstring | null

Responses

200Updated assistant
ok reqenumtrue
assistant reqobject
id reqstring
account reqstring
organization reqstring | null
team reqstring | null
user reqstring | null
member reqstring | null
scope reqenumaccountorganizationteamuser
name reqstring
email reqstring
avatarUrl reqstring | null
signature reqstring | null
signatureEditorModeenumvisualhtml
personalitystring
taglinestring | null
backstorystring | null
rolestring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
signaturePhrasesstring[]
writingStyle reqobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
voice reqobject | null
voiceIdstring | null
providerstring
status reqenumactiveinactive
isSystemTemplate reqboolean
talkToStrangers reqboolean
metadataobject
inboxPlatform reqenumsesgoogleoutlooknull
inboxAuthErrorboolean
channelsobject
imessagestring | null
smsstring | null
smsProviderenumtwiliosendblue
smsConversationsRegisteredAtstring | null
whatsappstring | null
whatsappProviderenumtwiliometa
whatsappPhoneNumberIdstring | null
voiceobject
twilioSiblingSidstring | null
twilioSiblingPhoneNumberstring | null
vapiPhoneNumberIdstring | null
statusenumnoneprovisioningactivefailed
provisionedAtstring | null
recordingDisclosureboolean
appearanceDescriptionstring
tagsobject
deletedAtstring | null
retiredEmailstring | null
emailReleasedAtstring | null
createdAt reqstring
updatedAt reqstring

Request

curl 'https://app.openassistant.us/api/assistants/<assistantId>' \
  -X PUT \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "email": "[email protected]",
  "personality": "string",
  "signature": "string"
}'

Response

{
  "ok": true,
  "assistant": {
    "id": "string",
    "account": "string",
    "organization": "string",
    "team": "string",
    "user": "string",
    "member": "string"
  }
}
DELETE/assistants/{assistantId}

Delete an assistant

Path parameters

assistantId reqstring

Responses

200Deleted
ok reqenumtrue
assistant reqobject
id reqstring
deletedboolean
messagestring

Request

curl 'https://app.openassistant.us/api/assistants/<assistantId>' \
  -X DELETE \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "assistant": {
    "id": "string"
  }
}
GET/assistants/all

List all assistants visible to authenticated user

Responses

200All visible assistants
ok reqenumtrue
assistants reqobject[]
id reqstring
account reqstring
organization reqstring | null
team reqstring | null
user reqstring | null
member reqstring | null
scope reqenumaccountorganizationteamuser
name reqstring
email reqstring
avatarUrl reqstring | null
signature reqstring | null
signatureEditorModeenumvisualhtml
personalitystring
taglinestring | null
backstorystring | null
rolestring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
signaturePhrasesstring[]
writingStyle reqobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
voice reqobject | null
voiceIdstring | null
providerstring
status reqenumactiveinactive
isSystemTemplate reqboolean
talkToStrangers reqboolean
metadataobject
inboxPlatform reqenumsesgoogleoutlooknull
inboxAuthErrorboolean
channelsobject
imessagestring | null
smsstring | null
smsProviderenumtwiliosendblue
smsConversationsRegisteredAtstring | null
whatsappstring | null
whatsappProviderenumtwiliometa
whatsappPhoneNumberIdstring | null
voiceobject
twilioSiblingSidstring | null
twilioSiblingPhoneNumberstring | null
vapiPhoneNumberIdstring | null
statusenumnoneprovisioningactivefailed
provisionedAtstring | null
recordingDisclosureboolean
appearanceDescriptionstring
tagsobject
deletedAtstring | null
retiredEmailstring | null
emailReleasedAtstring | null
createdAt reqstring
updatedAt reqstring
pageinteger
perPageinteger
totalinteger

Request

curl 'https://app.openassistant.us/api/assistants/all' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "assistants": [
    {
      "id": "string",
      "account": "string",
      "organization": "string",
      "team": "string",
      "user": "string",
      "member": "string"
    }
  ]
}
GET/assistants/generate

Generate name and email suggestions

Query parameters

namestring

Responses

200Generated suggestions
name reqstring
emails reqstring[]

Request

curl 'https://app.openassistant.us/api/assistants/generate' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "name": "string",
  "emails": [
    "[email protected]"
  ]
}
POST/users/{userId}/hire

Hire (assign) an assistant to a user

Path parameters

userId reqstring

Request body

assistantId reqstring | null

Responses

200Updated user
ok reqenumtrue
userany

Request

curl 'https://app.openassistant.us/api/users/<userId>/hire' \
  -X POST \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "assistantId": "string"
}'

Response

{
  "ok": true
}
GET/users/{userId}/assistants

List a user's assistant roster

Path parameters

userId reqstring

Responses

200Roster
ok reqenumtrue
assistants reqany[]
primaryAssistantId reqstring | null

Request

curl 'https://app.openassistant.us/api/users/<userId>/assistants' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "assistants": [
    {
      "id": "string",
      "account": "string",
      "organization": "string",
      "team": "string",
      "user": "string",
      "member": "string",
      "isPrimary": true
    }
  ],
  "primaryAssistantId": "string"
}
POST/users/{userId}/assistants

Create a user-scoped assistant and hire it onto the roster (idempotent on name)

Path parameters

userId reqstring

Request body

name reqstring
emailstring
avatarstring
signaturestring | null
signatureEditorModeenumvisualhtml
personalitystring
backstorystring | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
writingStyleobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
metadataobject

Responses

200Already existed (idempotent) — returned unchanged
ok reqenumtrue
assistant reqobject
id reqstring
account reqstring
organization reqstring | null
team reqstring | null
user reqstring | null
member reqstring | null
scope reqenumaccountorganizationteamuser
name reqstring
email reqstring
avatarUrl reqstring | null
signature reqstring | null
signatureEditorModeenumvisualhtml
personalitystring
taglinestring | null
backstorystring | null
rolestring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
signaturePhrasesstring[]
writingStyle reqobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
voice reqobject | null
voiceIdstring | null
providerstring
status reqenumactiveinactive
isSystemTemplate reqboolean
talkToStrangers reqboolean
metadataobject
inboxPlatform reqenumsesgoogleoutlooknull
inboxAuthErrorboolean
channelsobject
imessagestring | null
smsstring | null
smsProviderenumtwiliosendblue
smsConversationsRegisteredAtstring | null
whatsappstring | null
whatsappProviderenumtwiliometa
whatsappPhoneNumberIdstring | null
voiceobject
twilioSiblingSidstring | null
twilioSiblingPhoneNumberstring | null
vapiPhoneNumberIdstring | null
statusenumnoneprovisioningactivefailed
provisionedAtstring | null
recordingDisclosureboolean
appearanceDescriptionstring
tagsobject
deletedAtstring | null
retiredEmailstring | null
emailReleasedAtstring | null
createdAt reqstring
updatedAt reqstring
201Created and hired
ok reqenumtrue
assistant reqobject
id reqstring
account reqstring
organization reqstring | null
team reqstring | null
user reqstring | null
member reqstring | null
scope reqenumaccountorganizationteamuser
name reqstring
email reqstring
avatarUrl reqstring | null
signature reqstring | null
signatureEditorModeenumvisualhtml
personalitystring
taglinestring | null
backstorystring | null
rolestring | null
displayPersonalitystring | null
tag1string | null
tag2string | null
genderenummalefemaleothernull
pronounsstring | null
countrystring | null
signaturePhrasesstring[]
writingStyle reqobject
professionalismnumber
humornumber
emojiUsenumber
characterInspirationstring
externalCommunicationstring
oneOnOneCommunicationstring
voice reqobject | null
voiceIdstring | null
providerstring
status reqenumactiveinactive
isSystemTemplate reqboolean
talkToStrangers reqboolean
metadataobject
inboxPlatform reqenumsesgoogleoutlooknull
inboxAuthErrorboolean
channelsobject
imessagestring | null
smsstring | null
smsProviderenumtwiliosendblue
smsConversationsRegisteredAtstring | null
whatsappstring | null
whatsappProviderenumtwiliometa
whatsappPhoneNumberIdstring | null
voiceobject
twilioSiblingSidstring | null
twilioSiblingPhoneNumberstring | null
vapiPhoneNumberIdstring | null
statusenumnoneprovisioningactivefailed
provisionedAtstring | null
recordingDisclosureboolean
appearanceDescriptionstring
tagsobject
deletedAtstring | null
retiredEmailstring | null
emailReleasedAtstring | null
createdAt reqstring
updatedAt reqstring

Request

curl 'https://app.openassistant.us/api/users/<userId>/assistants' \
  -X POST \
  -H "Authorization: Bearer ak_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string"
}'

Response

{
  "ok": true,
  "assistant": {
    "id": "string",
    "account": "string",
    "organization": "string",
    "team": "string",
    "user": "string",
    "member": "string"
  }
}
POST/users/{userId}/assistants/{assistantId}/hire

Hire an existing visible assistant onto the roster

Path parameters

userId reqstring
assistantId reqstring

Responses

200Updated user
ok reqenumtrue
userany
403Assistant not visible to this user
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/users/<userId>/assistants/<assistantId>/hire' \
  -X POST \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true
}
POST/users/{userId}/assistants/{assistantId}/primary

Set the user's primary assistant (must be a roster member)

Path parameters

userId reqstring
assistantId reqstring

Responses

200Updated user
ok reqenumtrue
userany
400Assistant not on roster
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/users/<userId>/assistants/<assistantId>/primary' \
  -X POST \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true
}
DELETE/users/{userId}/assistants/{assistantId}

Release an assistant from the roster

Blocked (409) while primary. If the assistant owns non-terminal tasks, blocked (409) unless ?transfer=primary is passed to move that work to the primary. Releasing a user-scoped assistant tombstones its email and retires it.

Path parameters

userId reqstring
assistantId reqstring

Query parameters

transferstring

Responses

200Released — updated user
ok reqenumtrue
userany
409Blocked — is primary, or has pending work
status reqinteger
error_codestring
error reqstring

Request

curl 'https://app.openassistant.us/api/users/<userId>/assistants/<assistantId>' \
  -X DELETE \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true
}