ExoVoIPDeveloper guide

Assistant messages

Messages collected by the auto answer (auto_answer destination): the phone system asks callers why they are calling, records the answer, produces a transcript and summary, then notifies the extensions listed in notifyExtensionIds. Scope recordings:read (list, playback, transcript) and recordings:write (deletion).

Requires the AI Assistant plugin (ai): without it every endpoint on this page returns 403 PLUGIN_REQUIRED. The Recordings plugin is not needed: call recordings stay in the Recordings section.

List, playback and transcript

curl -s "https://centralino.exovoip.it/api/v1/assistant/messages?from=2026-11-01&limit=50" -H "X-API-Key: $EXOPBX_API_KEY"
curl -s https://centralino.exovoip.it/api/v1/assistant/messages/91/transcript -H "X-API-Key: $EXOPBX_API_KEY"
curl -s "https://centralino.exovoip.it/api/v1/assistant/messages/91/audio?download=1" -H "X-API-Key: $EXOPBX_API_KEY" -o messaggio.wav
curl -s -X DELETE https://centralino.exovoip.it/api/v1/assistant/messages/91 -H "X-API-Key: $EXOPBX_API_KEY"
  • GET /v1/assistant/messages accepts the same filters and returns the same format as GET /v1/recordings (cursor pagination), limited to messages with kind: "auto_answer". The summary field already contains the message summary.
  • GET /v1/assistant/messages/:id/audio: playback with Range support; download=1 to download the file.
  • GET /v1/assistant/messages/:id/transcript: full text, segments and summary.
  • DELETE /v1/assistant/messages/:id: deletes the message (optional reason, written to the activity log).

Who can listen to and read messages follows the same settings as recordings (supervisorsCanListen, supervisorsCanDownload, usersCanListenOwn); playback, downloads and deletions are written to the access log.

Messages and recordings

Every recording has a kind field:

kindContent
callRecorded call
auto_answerMessage left with the auto answer

With the Recordings plugin, GET /v1/recordings returns both kinds: the kind=call or kind=auto_answer filter separates them.

Endpoints

RequestScopeSDK method
GET /v1/assistant/messagesrecordings:readassistant.listMessages() · py: assistant.list_messages()
GET /v1/assistant/messages/:idrecordings:readassistant.getMessage() · py: assistant.get_message()
DELETE /v1/assistant/messages/:idrecordings:writeassistant.deleteMessage() · py: assistant.delete_message()
GET /v1/assistant/messages/:id/audiorecordings:readassistant.messageAudio() · py: assistant.message_audio()
GET /v1/assistant/messages/:id/transcriptrecordings:readassistant.messageTranscript() · py: assistant.message_transcript()