hume 0.13.3 → 0.13.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/api/resources/empathicVoice/resources/configs/client/requests/PostedConfig.d.ts +1 -5
  2. package/api/resources/empathicVoice/types/AssistantInput.d.ts +1 -1
  3. package/api/resources/empathicVoice/types/AssistantMessage.d.ts +1 -1
  4. package/api/resources/empathicVoice/types/ChatMetadata.d.ts +2 -2
  5. package/api/resources/empathicVoice/types/PauseAssistantMessage.d.ts +1 -1
  6. package/api/resources/empathicVoice/types/SessionSettings.d.ts +9 -7
  7. package/api/resources/empathicVoice/types/ToolCallMessage.d.ts +1 -1
  8. package/api/resources/empathicVoice/types/ToolErrorMessage.d.ts +2 -2
  9. package/api/resources/empathicVoice/types/ToolResponseMessage.d.ts +3 -3
  10. package/api/resources/empathicVoice/types/UserMessage.d.ts +3 -3
  11. package/api/resources/tts/types/PublishTts.d.ts +23 -0
  12. package/api/resources/tts/types/PublishTts.js +5 -0
  13. package/api/resources/tts/types/SnippetAudioChunk.d.ts +6 -1
  14. package/api/resources/tts/types/index.d.ts +7 -6
  15. package/api/resources/tts/types/index.js +7 -6
  16. package/dist/api/resources/empathicVoice/resources/configs/client/requests/PostedConfig.d.ts +1 -5
  17. package/dist/api/resources/empathicVoice/types/AssistantInput.d.ts +1 -1
  18. package/dist/api/resources/empathicVoice/types/AssistantMessage.d.ts +1 -1
  19. package/dist/api/resources/empathicVoice/types/ChatMetadata.d.ts +2 -2
  20. package/dist/api/resources/empathicVoice/types/PauseAssistantMessage.d.ts +1 -1
  21. package/dist/api/resources/empathicVoice/types/SessionSettings.d.ts +9 -7
  22. package/dist/api/resources/empathicVoice/types/ToolCallMessage.d.ts +1 -1
  23. package/dist/api/resources/empathicVoice/types/ToolErrorMessage.d.ts +2 -2
  24. package/dist/api/resources/empathicVoice/types/ToolResponseMessage.d.ts +3 -3
  25. package/dist/api/resources/empathicVoice/types/UserMessage.d.ts +3 -3
  26. package/dist/api/resources/tts/types/PublishTts.d.ts +23 -0
  27. package/dist/api/resources/tts/types/PublishTts.js +5 -0
  28. package/dist/api/resources/tts/types/SnippetAudioChunk.d.ts +6 -1
  29. package/dist/api/resources/tts/types/index.d.ts +7 -6
  30. package/dist/api/resources/tts/types/index.js +7 -6
  31. package/dist/serialization/resources/empathicVoice/types/SessionSettings.d.ts +1 -0
  32. package/dist/serialization/resources/empathicVoice/types/SessionSettings.js +1 -0
  33. package/dist/serialization/resources/tts/types/PublishTts.d.ts +19 -0
  34. package/dist/serialization/resources/tts/types/PublishTts.js +50 -0
  35. package/dist/serialization/resources/tts/types/SnippetAudioChunk.d.ts +2 -1
  36. package/dist/serialization/resources/tts/types/SnippetAudioChunk.js +2 -1
  37. package/dist/serialization/resources/tts/types/index.d.ts +7 -6
  38. package/dist/serialization/resources/tts/types/index.js +7 -6
  39. package/dist/version.d.ts +1 -1
  40. package/dist/version.js +1 -1
  41. package/dist/wrapper/EVIWebAudioPlayer.d.ts +6 -7
  42. package/dist/wrapper/EVIWebAudioPlayer.js +237 -73
  43. package/dist/wrapper/SilenceFiller.d.ts +85 -0
  44. package/dist/wrapper/SilenceFiller.js +203 -0
  45. package/dist/wrapper/collate.d.ts +36 -0
  46. package/dist/wrapper/collate.js +126 -0
  47. package/dist/wrapper/convertFrequencyScale.d.ts +1 -0
  48. package/dist/wrapper/convertFrequencyScale.js +28 -0
  49. package/dist/wrapper/generateEmptyFft.d.ts +1 -0
  50. package/dist/wrapper/generateEmptyFft.js +6 -0
  51. package/dist/wrapper/index.d.ts +2 -0
  52. package/dist/wrapper/index.js +5 -1
  53. package/package.json +2 -1
  54. package/serialization/resources/empathicVoice/types/SessionSettings.d.ts +1 -0
  55. package/serialization/resources/empathicVoice/types/SessionSettings.js +1 -0
  56. package/serialization/resources/tts/types/PublishTts.d.ts +19 -0
  57. package/serialization/resources/tts/types/PublishTts.js +50 -0
  58. package/serialization/resources/tts/types/SnippetAudioChunk.d.ts +2 -1
  59. package/serialization/resources/tts/types/SnippetAudioChunk.js +2 -1
  60. package/serialization/resources/tts/types/index.d.ts +7 -6
  61. package/serialization/resources/tts/types/index.js +7 -6
  62. package/version.d.ts +1 -1
  63. package/version.js +1 -1
  64. package/wrapper/EVIWebAudioPlayer.d.ts +6 -7
  65. package/wrapper/EVIWebAudioPlayer.js +237 -73
  66. package/wrapper/SilenceFiller.d.ts +85 -0
  67. package/wrapper/SilenceFiller.js +203 -0
  68. package/wrapper/collate.d.ts +36 -0
  69. package/wrapper/collate.js +126 -0
  70. package/wrapper/convertFrequencyScale.d.ts +1 -0
  71. package/wrapper/convertFrequencyScale.js +28 -0
  72. package/wrapper/generateEmptyFft.d.ts +1 -0
  73. package/wrapper/generateEmptyFft.js +6 -0
  74. package/wrapper/index.d.ts +2 -0
  75. package/wrapper/index.js +5 -1
  76. package/.mock/definition/api.yml +0 -12
  77. package/.mock/definition/empathic-voice/__package__.yml +0 -2973
  78. package/.mock/definition/empathic-voice/chat.yml +0 -175
  79. package/.mock/definition/empathic-voice/chatGroups.yml +0 -627
  80. package/.mock/definition/empathic-voice/chatWebhooks.yml +0 -30
  81. package/.mock/definition/empathic-voice/chats.yml +0 -506
  82. package/.mock/definition/empathic-voice/configs.yml +0 -852
  83. package/.mock/definition/empathic-voice/prompts.yml +0 -558
  84. package/.mock/definition/empathic-voice/tools.yml +0 -626
  85. package/.mock/definition/expression-measurement/__package__.yml +0 -1
  86. package/.mock/definition/expression-measurement/batch/__package__.yml +0 -1803
  87. package/.mock/definition/expression-measurement/stream/__package__.yml +0 -113
  88. package/.mock/definition/expression-measurement/stream/stream.yml +0 -438
  89. package/.mock/definition/tts/__package__.yml +0 -660
  90. package/.mock/definition/tts/voices.yml +0 -143
  91. package/.mock/fern.config.json +0 -4
@@ -1,2973 +0,0 @@
1
- errors:
2
- BadRequestError:
3
- status-code: 400
4
- type: ErrorResponse
5
- docs: Bad Request
6
- examples:
7
- - value: {}
8
- types:
9
- AssistantInput:
10
- docs: When provided, the input is spoken by EVI.
11
- properties:
12
- type:
13
- type: literal<"assistant_input">
14
- docs: >-
15
- The type of message sent through the socket; must be `assistant_input`
16
- for our server to correctly identify and process it as an Assistant
17
- Input message.
18
- custom_session_id:
19
- type: optional<string>
20
- docs: >-
21
- Used to manage conversational state, correlate frontend and backend
22
- data, and persist conversations across EVI sessions.
23
- text:
24
- type: string
25
- docs: >-
26
- Assistant text to synthesize into spoken audio and insert into the
27
- conversation.
28
-
29
-
30
- EVI uses this text to generate spoken audio using our proprietary
31
- expressive text-to-speech model. Our model adds appropriate emotional
32
- inflections and tones to the text based on the user's expressions and
33
- the context of the conversation. The synthesized audio is streamed
34
- back to the user as an [Assistant
35
- Message](/reference/empathic-voice-interface-evi/chat/chat#receive.AssistantMessage.type).
36
- source:
37
- openapi: evi-asyncapi.json
38
- AudioConfiguration:
39
- properties:
40
- encoding:
41
- type: Encoding
42
- docs: Encoding format of the audio input, such as `linear16`.
43
- channels:
44
- type: integer
45
- docs: Number of audio channels.
46
- sample_rate:
47
- type: integer
48
- docs: >-
49
- Audio sample rate. Number of samples per second in the audio input,
50
- measured in Hertz.
51
- source:
52
- openapi: evi-asyncapi.json
53
- AudioInput:
54
- docs: When provided, the input is audio.
55
- properties:
56
- type:
57
- type: literal<"audio_input">
58
- docs: >-
59
- The type of message sent through the socket; must be `audio_input` for
60
- our server to correctly identify and process it as an Audio Input
61
- message.
62
-
63
-
64
- This message is used for sending audio input data to EVI for
65
- processing and expression measurement. Audio data should be sent as a
66
- continuous stream, encoded in Base64.
67
- custom_session_id:
68
- type: optional<string>
69
- docs: >-
70
- Used to manage conversational state, correlate frontend and backend
71
- data, and persist conversations across EVI sessions.
72
- data:
73
- type: string
74
- docs: >-
75
- Base64 encoded audio input to insert into the conversation.
76
-
77
-
78
- The content of an Audio Input message is treated as the user's speech
79
- to EVI and must be streamed continuously. Pre-recorded audio files are
80
- not supported.
81
-
82
-
83
- For optimal transcription quality, the audio data should be
84
- transmitted in small chunks.
85
-
86
-
87
- Hume recommends streaming audio with a buffer window of 20
88
- milliseconds (ms), or 100 milliseconds (ms) for web applications.
89
- source:
90
- openapi: evi-asyncapi.json
91
- BuiltInTool:
92
- enum:
93
- - web_search
94
- - hang_up
95
- docs: >-
96
- Name of the built-in tool. Set to `web_search` to equip EVI with the
97
- built-in Web Search tool.
98
- source:
99
- openapi: evi-asyncapi.json
100
- BuiltinToolConfig:
101
- properties:
102
- name:
103
- type: BuiltInTool
104
- fallback_content:
105
- type: optional<string>
106
- docs: >-
107
- Optional text passed to the supplemental LLM if the tool call fails.
108
- The LLM then uses this text to generate a response back to the user,
109
- ensuring continuity in the conversation.
110
- source:
111
- openapi: evi-asyncapi.json
112
- Context:
113
- properties:
114
- type:
115
- type: optional<ContextType>
116
- docs: >-
117
- The persistence level of the injected context. Specifies how long the
118
- injected context will remain active in the session.
119
-
120
-
121
- - **Temporary**: Context that is only applied to the following
122
- assistant response.
123
-
124
-
125
- - **Persistent**: Context that is applied to all subsequent assistant
126
- responses for the remainder of the Chat.
127
- text:
128
- type: string
129
- docs: >-
130
- The context to be injected into the conversation. Helps inform the
131
- LLM's response by providing relevant information about the ongoing
132
- conversation.
133
-
134
-
135
- This text will be appended to the end of
136
- [user_messages](/reference/speech-to-speech-evi/chat#receive.UserMessage.message.content)
137
- based on the chosen persistence level. For example, if you want to
138
- remind EVI of its role as a helpful weather assistant, the context you
139
- insert will be appended to the end of user messages as `{Context: You
140
- are a helpful weather assistant}`.
141
- source:
142
- openapi: evi-asyncapi.json
143
- ContextType:
144
- enum:
145
- - persistent
146
- - temporary
147
- source:
148
- openapi: evi-asyncapi.json
149
- Encoding:
150
- type: literal<"linear16">
151
- ErrorLevel:
152
- type: literal<"warn">
153
- PauseAssistantMessage:
154
- docs: >-
155
- Pause responses from EVI. Chat history is still saved and sent after
156
- resuming.
157
- properties:
158
- type:
159
- type: literal<"pause_assistant_message">
160
- docs: >-
161
- The type of message sent through the socket; must be
162
- `pause_assistant_message` for our server to correctly identify and
163
- process it as a Pause Assistant message.
164
-
165
-
166
- Once this message is sent, EVI will not respond until a [Resume
167
- Assistant
168
- message](/reference/empathic-voice-interface-evi/chat/chat#send.ResumeAssistantMessage.type)
169
- is sent. When paused, EVI won't respond, but transcriptions of your
170
- audio inputs will still be recorded.
171
- custom_session_id:
172
- type: optional<string>
173
- docs: >-
174
- Used to manage conversational state, correlate frontend and backend
175
- data, and persist conversations across EVI sessions.
176
- source:
177
- openapi: evi-asyncapi.json
178
- ResumeAssistantMessage:
179
- docs: >-
180
- Resume responses from EVI. Chat history sent while paused will now be
181
- sent.
182
- properties:
183
- type:
184
- type: literal<"resume_assistant_message">
185
- docs: >-
186
- The type of message sent through the socket; must be
187
- `resume_assistant_message` for our server to correctly identify and
188
- process it as a Resume Assistant message.
189
-
190
-
191
- Upon resuming, if any audio input was sent during the pause, EVI will
192
- retain context from all messages sent but only respond to the last
193
- user message. (e.g., If you ask EVI two questions while paused and
194
- then send a `resume_assistant_message`, EVI will respond to the second
195
- question and have added the first question to its conversation
196
- context.)
197
- custom_session_id:
198
- type: optional<string>
199
- docs: >-
200
- Used to manage conversational state, correlate frontend and backend
201
- data, and persist conversations across EVI sessions.
202
- source:
203
- openapi: evi-asyncapi.json
204
- SessionSettingsVariablesValue:
205
- discriminated: false
206
- union:
207
- - string
208
- - double
209
- - boolean
210
- source:
211
- openapi: evi-asyncapi.json
212
- inline: true
213
- SessionSettings:
214
- docs: Settings for this chat session.
215
- properties:
216
- type:
217
- type: literal<"session_settings">
218
- docs: >-
219
- The type of message sent through the socket; must be
220
- `session_settings` for our server to correctly identify and process it
221
- as a Session Settings message.
222
-
223
-
224
- Session settings are temporary and apply only to the current Chat
225
- session. These settings can be adjusted dynamically based on the
226
- requirements of each session to ensure optimal performance and user
227
- experience.
228
-
229
-
230
- For more information, please refer to the [Session Settings
231
- guide](/docs/empathic-voice-interface-evi/configuration/session-settings).
232
- custom_session_id:
233
- type: optional<string>
234
- docs: >-
235
- Unique identifier for the session. Used to manage conversational
236
- state, correlate frontend and backend data, and persist conversations
237
- across EVI sessions.
238
-
239
-
240
- If included, the response sent from Hume to your backend will include
241
- this ID. This allows you to correlate frontend users with their
242
- incoming messages.
243
-
244
-
245
- It is recommended to pass a `custom_session_id` if you are using a
246
- Custom Language Model. Please see our guide to [using a custom
247
- language
248
- model](/docs/empathic-voice-interface-evi/guides/custom-language-model)
249
- with EVI to learn more.
250
- system_prompt:
251
- type: optional<string>
252
- docs: >-
253
- Instructions used to shape EVI's behavior, responses, and style for
254
- the session.
255
-
256
-
257
- When included in a Session Settings message, the provided Prompt
258
- overrides the existing one specified in the EVI configuration. If no
259
- Prompt was defined in the configuration, this Prompt will be the one
260
- used for the session.
261
-
262
-
263
- You can use the Prompt to define a specific goal or role for EVI,
264
- specifying how it should act or what it should focus on during the
265
- conversation. For example, EVI can be instructed to act as a customer
266
- support representative, a fitness coach, or a travel advisor, each
267
- with its own set of behaviors and response styles.
268
-
269
-
270
- For help writing a system prompt, see our [Prompting
271
- Guide](/docs/empathic-voice-interface-evi/guides/prompting).
272
- context:
273
- type: optional<Context>
274
- docs: >-
275
- Field for injecting additional context into the conversation, which is
276
- appended to the end of user messages for the session.
277
-
278
-
279
- When included in a Session Settings message, the provided context can
280
- be used to remind the LLM of its role in every user message, prevent
281
- it from forgetting important details, or add new relevant information
282
- to the conversation.
283
-
284
-
285
- Set to `null` to clear injected context.
286
- audio:
287
- type: optional<AudioConfiguration>
288
- docs: >-
289
- Configuration details for the audio input used during the session.
290
- Ensures the audio is being correctly set up for processing.
291
-
292
-
293
- This optional field is only required when the audio input is encoded
294
- in PCM Linear 16 (16-bit, little-endian, signed PCM WAV data). For
295
- detailed instructions on how to configure session settings for PCM
296
- Linear 16 audio, please refer to the [Session Settings
297
- guide](/docs/empathic-voice-interface-evi/configuration/session-settings).
298
- language_model_api_key:
299
- type: optional<string>
300
- docs: >-
301
- Third party API key for the supplemental language model.
302
-
303
-
304
- When provided, EVI will use this key instead of Hume's API key for the
305
- supplemental LLM. This allows you to bypass rate limits and utilize
306
- your own API key as needed.
307
- tools:
308
- type: optional<list<Tool>>
309
- docs: >-
310
- List of user-defined tools to enable for the session.
311
-
312
-
313
- Tools are resources used by EVI to perform various tasks, such as
314
- searching the web or calling external APIs. Built-in tools, like web
315
- search, are natively integrated, while user-defined tools are created
316
- and invoked by the user. To learn more, see our [Tool Use
317
- Guide](/docs/empathic-voice-interface-evi/features/tool-use).
318
- builtin_tools:
319
- type: optional<list<BuiltinToolConfig>>
320
- docs: >-
321
- List of built-in tools to enable for the session.
322
-
323
-
324
- Tools are resources used by EVI to perform various tasks, such as
325
- searching the web or calling external APIs. Built-in tools, like web
326
- search, are natively integrated, while user-defined tools are created
327
- and invoked by the user. To learn more, see our [Tool Use
328
- Guide](/docs/empathic-voice-interface-evi/features/tool-use).
329
-
330
-
331
- Currently, the only built-in tool Hume provides is **Web Search**.
332
- When enabled, Web Search equips EVI with the ability to search the web
333
- for up-to-date information.
334
- metadata:
335
- type: optional<map<string, unknown>>
336
- variables:
337
- type: optional<map<string, SessionSettingsVariablesValue>>
338
- docs: >-
339
- This field allows you to assign values to dynamic variables referenced
340
- in your system prompt.
341
-
342
-
343
- Each key represents the variable name, and the corresponding value is
344
- the specific content you wish to assign to that variable within the
345
- session. While the values for variables can be strings, numbers, or
346
- booleans, the value will ultimately be converted to a string when
347
- injected into your system prompt.
348
-
349
-
350
- Using this field, you can personalize responses based on
351
- session-specific details. For more guidance, see our [guide on using
352
- dynamic
353
- variables](/docs/empathic-voice-interface-evi/features/dynamic-variables).
354
- source:
355
- openapi: evi-asyncapi.json
356
- Tool:
357
- properties:
358
- type:
359
- type: ToolType
360
- docs: Type of tool. Set to `function` for user-defined tools.
361
- name:
362
- type: string
363
- docs: Name of the user-defined tool to be enabled.
364
- parameters:
365
- type: string
366
- docs: >-
367
- Parameters of the tool. Is a stringified JSON schema.
368
-
369
-
370
- These parameters define the inputs needed for the tool's execution,
371
- including the expected data type and description for each input field.
372
- Structured as a JSON schema, this format ensures the tool receives
373
- data in the expected format.
374
- description:
375
- type: optional<string>
376
- docs: >-
377
- An optional description of what the tool does, used by the
378
- supplemental LLM to choose when and how to call the function.
379
- fallback_content:
380
- type: optional<string>
381
- docs: >-
382
- Optional text passed to the supplemental LLM if the tool call fails.
383
- The LLM then uses this text to generate a response back to the user,
384
- ensuring continuity in the conversation.
385
- source:
386
- openapi: evi-asyncapi.json
387
- ToolErrorMessage:
388
- docs: When provided, the output is a function call error.
389
- properties:
390
- type:
391
- type: literal<"tool_error">
392
- docs: >-
393
- The type of message sent through the socket; for a Tool Error message,
394
- this must be `tool_error`.
395
-
396
-
397
- Upon receiving a [Tool Call
398
- message](/reference/empathic-voice-interface-evi/chat/chat#receive.ToolCallMessage.type)
399
- and failing to invoke the function, this message is sent to notify EVI
400
- of the tool's failure.
401
- custom_session_id:
402
- type: optional<string>
403
- docs: >-
404
- Used to manage conversational state, correlate frontend and backend
405
- data, and persist conversations across EVI sessions.
406
- tool_type:
407
- type: optional<ToolType>
408
- docs: >-
409
- Type of tool called. Either `builtin` for natively implemented tools,
410
- like web search, or `function` for user-defined tools.
411
- tool_call_id:
412
- type: string
413
- docs: >-
414
- The unique identifier for a specific tool call instance.
415
-
416
-
417
- This ID is used to track the request and response of a particular tool
418
- invocation, ensuring that the Tool Error message is linked to the
419
- appropriate tool call request. The specified `tool_call_id` must match
420
- the one received in the [Tool Call
421
- message](/reference/empathic-voice-interface-evi/chat/chat#receive.ToolCallMessage.type).
422
- content:
423
- type: optional<string>
424
- docs: >-
425
- Optional text passed to the supplemental LLM in place of the tool call
426
- result. The LLM then uses this text to generate a response back to the
427
- user, ensuring continuity in the conversation if the tool errors.
428
- error:
429
- type: string
430
- docs: Error message from the tool call, not exposed to the LLM or user.
431
- code:
432
- type: optional<string>
433
- docs: Error code. Identifies the type of error encountered.
434
- level:
435
- type: optional<ErrorLevel>
436
- docs: >-
437
- Indicates the severity of an error; for a Tool Error message, this
438
- must be `warn` to signal an unexpected event.
439
- source:
440
- openapi: evi-asyncapi.json
441
- ToolResponseMessage:
442
- docs: When provided, the output is a function call response.
443
- properties:
444
- type:
445
- type: literal<"tool_response">
446
- docs: >-
447
- The type of message sent through the socket; for a Tool Response
448
- message, this must be `tool_response`.
449
-
450
-
451
- Upon receiving a [Tool Call
452
- message](/reference/empathic-voice-interface-evi/chat/chat#receive.ToolCallMessage.type)
453
- and successfully invoking the function, this message is sent to convey
454
- the result of the function call back to EVI.
455
- custom_session_id:
456
- type: optional<string>
457
- docs: >-
458
- Used to manage conversational state, correlate frontend and backend
459
- data, and persist conversations across EVI sessions.
460
- tool_call_id:
461
- type: string
462
- docs: >-
463
- The unique identifier for a specific tool call instance.
464
-
465
-
466
- This ID is used to track the request and response of a particular tool
467
- invocation, ensuring that the correct response is linked to the
468
- appropriate request. The specified `tool_call_id` must match the one
469
- received in the [Tool Call
470
- message](/reference/empathic-voice-interface-evi/chat/chat#receive.ToolCallMessage.tool_call_id).
471
- content:
472
- type: string
473
- docs: >-
474
- Return value of the tool call. Contains the output generated by the
475
- tool to pass back to EVI.
476
- tool_name:
477
- type: optional<string>
478
- docs: >-
479
- Name of the tool.
480
-
481
-
482
- Include this optional field to help the supplemental LLM identify
483
- which tool generated the response. The specified `tool_name` must
484
- match the one received in the [Tool Call
485
- message](/reference/empathic-voice-interface-evi/chat/chat#receive.ToolCallMessage.type).
486
- tool_type:
487
- type: optional<ToolType>
488
- docs: >-
489
- Type of tool called. Either `builtin` for natively implemented tools,
490
- like web search, or `function` for user-defined tools.
491
- source:
492
- openapi: evi-asyncapi.json
493
- ToolType:
494
- enum:
495
- - builtin
496
- - function
497
- source:
498
- openapi: evi-asyncapi.json
499
- UserInput:
500
- docs: >-
501
- User text to insert into the conversation. Text sent through a User Input
502
- message is treated as the user's speech to EVI. EVI processes this input
503
- and provides a corresponding response.
504
-
505
-
506
- Expression measurement results are not available for User Input messages,
507
- as the prosody model relies on audio input and cannot process text alone.
508
- properties:
509
- type:
510
- type: literal<"user_input">
511
- docs: >-
512
- The type of message sent through the socket; must be `user_input` for
513
- our server to correctly identify and process it as a User Input
514
- message.
515
- custom_session_id:
516
- type: optional<string>
517
- docs: >-
518
- Used to manage conversational state, correlate frontend and backend
519
- data, and persist conversations across EVI sessions.
520
- text:
521
- type: string
522
- docs: >-
523
- User text to insert into the conversation. Text sent through a User
524
- Input message is treated as the user's speech to EVI. EVI processes
525
- this input and provides a corresponding response.
526
-
527
-
528
- Expression measurement results are not available for User Input
529
- messages, as the prosody model relies on audio input and cannot
530
- process text alone.
531
- source:
532
- openapi: evi-asyncapi.json
533
- AssistantEnd:
534
- docs: When provided, the output is an assistant end message.
535
- properties:
536
- type:
537
- type: literal<"assistant_end">
538
- docs: >-
539
- The type of message sent through the socket; for an Assistant End
540
- message, this must be `assistant_end`.
541
-
542
-
543
- This message indicates the conclusion of the assistant's response,
544
- signaling that the assistant has finished speaking for the current
545
- conversational turn.
546
- custom_session_id:
547
- type: optional<string>
548
- docs: >-
549
- Used to manage conversational state, correlate frontend and backend
550
- data, and persist conversations across EVI sessions.
551
- source:
552
- openapi: evi-asyncapi.json
553
- AssistantMessage:
554
- docs: When provided, the output is an assistant message.
555
- properties:
556
- type:
557
- type: literal<"assistant_message">
558
- docs: >-
559
- The type of message sent through the socket; for an Assistant Message,
560
- this must be `assistant_message`.
561
-
562
-
563
- This message contains both a transcript of the assistant's response
564
- and the expression measurement predictions of the assistant's audio
565
- output.
566
- custom_session_id:
567
- type: optional<string>
568
- docs: >-
569
- Used to manage conversational state, correlate frontend and backend
570
- data, and persist conversations across EVI sessions.
571
- id:
572
- type: optional<string>
573
- docs: >-
574
- ID of the assistant message. Allows the Assistant Message to be
575
- tracked and referenced.
576
- message:
577
- type: ChatMessage
578
- docs: Transcript of the message.
579
- models:
580
- type: Inference
581
- docs: Inference model results.
582
- from_text:
583
- type: boolean
584
- docs: >-
585
- Indicates if this message was inserted into the conversation as text
586
- from an [Assistant Input
587
- message](/reference/empathic-voice-interface-evi/chat/chat#send.AssistantInput.text).
588
- source:
589
- openapi: evi-asyncapi.json
590
- AssistantProsody:
591
- docs: When provided, the output is an Assistant Prosody message.
592
- properties:
593
- type:
594
- type: literal<"assistant_prosody">
595
- docs: >-
596
- The type of message sent through the socket; for an Assistant Prosody
597
- message, this must be `assistant_PROSODY`.
598
-
599
-
600
- This message the expression measurement predictions of the assistant's
601
- audio output.
602
- custom_session_id:
603
- type: optional<string>
604
- docs: >-
605
- Used to manage conversational state, correlate frontend and backend
606
- data, and persist conversations across EVI sessions.
607
- models:
608
- type: Inference
609
- docs: Inference model results.
610
- id:
611
- type: optional<string>
612
- docs: Unique identifier for the segment.
613
- source:
614
- openapi: evi-asyncapi.json
615
- AudioOutput:
616
- docs: >-
617
- The type of message sent through the socket; for an Audio Output message,
618
- this must be `audio_output`.
619
- properties:
620
- type:
621
- type: literal<"audio_output">
622
- docs: >-
623
- The type of message sent through the socket; for an Audio Output
624
- message, this must be `audio_output`.
625
- custom_session_id:
626
- type: optional<string>
627
- docs: >-
628
- Used to manage conversational state, correlate frontend and backend
629
- data, and persist conversations across EVI sessions.
630
- id:
631
- type: string
632
- docs: >-
633
- ID of the audio output. Allows the Audio Output message to be tracked
634
- and referenced.
635
- index:
636
- type: integer
637
- docs: Index of the chunk of audio relative to the whole audio segment.
638
- data:
639
- type: string
640
- docs: >-
641
- Base64 encoded audio output. This encoded audio is transmitted to the
642
- client, where it can be decoded and played back as part of the user
643
- interaction.
644
- source:
645
- openapi: evi-asyncapi.json
646
- ChatMessageToolResult:
647
- discriminated: false
648
- docs: Function call response from client.
649
- union:
650
- - type: ToolResponseMessage
651
- - type: ToolErrorMessage
652
- source:
653
- openapi: evi-asyncapi.json
654
- inline: true
655
- ChatMessage:
656
- properties:
657
- role:
658
- type: Role
659
- docs: Role of who is providing the message.
660
- content:
661
- type: optional<string>
662
- docs: Transcript of the message.
663
- tool_call:
664
- type: optional<ToolCallMessage>
665
- docs: Function call name and arguments.
666
- tool_result:
667
- type: optional<ChatMessageToolResult>
668
- docs: Function call response from client.
669
- source:
670
- openapi: evi-asyncapi.json
671
- ChatMetadata:
672
- docs: When provided, the output is a chat metadata message.
673
- properties:
674
- type:
675
- type: literal<"chat_metadata">
676
- docs: >-
677
- The type of message sent through the socket; for a Chat Metadata
678
- message, this must be `chat_metadata`.
679
-
680
-
681
- The Chat Metadata message is the first message you receive after
682
- establishing a connection with EVI and contains important identifiers
683
- for the current Chat session.
684
- custom_session_id:
685
- type: optional<string>
686
- docs: >-
687
- Used to manage conversational state, correlate frontend and backend
688
- data, and persist conversations across EVI sessions.
689
- chat_group_id:
690
- type: string
691
- docs: >-
692
- ID of the Chat Group.
693
-
694
-
695
- Used to resume a Chat when passed in the
696
- [resumed_chat_group_id](/reference/empathic-voice-interface-evi/chat/chat#request.query.resumed_chat_group_id)
697
- query parameter of a subsequent connection request. This allows EVI to
698
- continue the conversation from where it left off within the Chat
699
- Group.
700
-
701
-
702
- Learn more about [supporting chat
703
- resumability](/docs/empathic-voice-interface-evi/faq#does-evi-support-chat-resumability)
704
- from the EVI FAQ.
705
- chat_id:
706
- type: string
707
- docs: >-
708
- ID of the Chat session. Allows the Chat session to be tracked and
709
- referenced.
710
- request_id:
711
- type: optional<string>
712
- docs: ID of the initiating request.
713
- source:
714
- openapi: evi-asyncapi.json
715
- EmotionScores:
716
- properties:
717
- Admiration: double
718
- Adoration: double
719
- Aesthetic Appreciation: double
720
- Amusement: double
721
- Anger: double
722
- Anxiety: double
723
- Awe: double
724
- Awkwardness: double
725
- Boredom: double
726
- Calmness: double
727
- Concentration: double
728
- Confusion: double
729
- Contemplation: double
730
- Contempt: double
731
- Contentment: double
732
- Craving: double
733
- Desire: double
734
- Determination: double
735
- Disappointment: double
736
- Disgust: double
737
- Distress: double
738
- Doubt: double
739
- Ecstasy: double
740
- Embarrassment: double
741
- Empathic Pain: double
742
- Entrancement: double
743
- Envy: double
744
- Excitement: double
745
- Fear: double
746
- Guilt: double
747
- Horror: double
748
- Interest: double
749
- Joy: double
750
- Love: double
751
- Nostalgia: double
752
- Pain: double
753
- Pride: double
754
- Realization: double
755
- Relief: double
756
- Romance: double
757
- Sadness: double
758
- Satisfaction: double
759
- Shame: double
760
- Surprise (negative): double
761
- Surprise (positive): double
762
- Sympathy: double
763
- Tiredness: double
764
- Triumph: double
765
- source:
766
- openapi: evi-asyncapi.json
767
- WebSocketError:
768
- docs: When provided, the output is an error message.
769
- properties:
770
- type:
771
- type: literal<"error">
772
- docs: >-
773
- The type of message sent through the socket; for a Web Socket Error
774
- message, this must be `error`.
775
-
776
-
777
- This message indicates a disruption in the WebSocket connection, such
778
- as an unexpected disconnection, protocol error, or data transmission
779
- issue.
780
- custom_session_id:
781
- type: optional<string>
782
- docs: >-
783
- Used to manage conversational state, correlate frontend and backend
784
- data, and persist conversations across EVI sessions.
785
- code:
786
- type: string
787
- docs: Error code. Identifies the type of error encountered.
788
- slug:
789
- type: string
790
- docs: >-
791
- Short, human-readable identifier and description for the error. See a
792
- complete list of error slugs on the [Errors
793
- page](/docs/resources/errors).
794
- message:
795
- type: string
796
- docs: Detailed description of the error.
797
- request_id:
798
- type: optional<string>
799
- docs: ID of the initiating request.
800
- source:
801
- openapi: evi-asyncapi.json
802
- Inference:
803
- properties:
804
- prosody:
805
- type: optional<ProsodyInference>
806
- docs: >-
807
- Prosody model inference results.
808
-
809
-
810
- EVI uses the prosody model to measure 48 emotions related to speech
811
- and vocal characteristics within a given expression.
812
- source:
813
- openapi: evi-asyncapi.json
814
- MillisecondInterval:
815
- properties:
816
- begin:
817
- type: integer
818
- docs: Start time of the interval in milliseconds.
819
- end:
820
- type: integer
821
- docs: End time of the interval in milliseconds.
822
- source:
823
- openapi: evi-asyncapi.json
824
- ProsodyInference:
825
- properties:
826
- scores:
827
- type: EmotionScores
828
- docs: >-
829
- The confidence scores for 48 emotions within the detected expression
830
- of an audio sample.
831
-
832
-
833
- Scores typically range from 0 to 1, with higher values indicating a
834
- stronger confidence level in the measured attribute.
835
-
836
-
837
- See our guide on [interpreting expression measurement
838
- results](/docs/expression-measurement/faq#how-do-i-interpret-my-results)
839
- to learn more.
840
- source:
841
- openapi: evi-asyncapi.json
842
- Role:
843
- enum:
844
- - assistant
845
- - system
846
- - user
847
- - all
848
- - tool
849
- source:
850
- openapi: evi-asyncapi.json
851
- ToolCallMessage:
852
- docs: When provided, the output is a tool call.
853
- properties:
854
- name:
855
- type: string
856
- docs: Name of the tool called.
857
- parameters:
858
- type: string
859
- docs: >-
860
- Parameters of the tool.
861
-
862
-
863
- These parameters define the inputs needed for the tool's execution,
864
- including the expected data type and description for each input field.
865
- Structured as a stringified JSON schema, this format ensures the tool
866
- receives data in the expected format.
867
- tool_call_id:
868
- type: string
869
- docs: >-
870
- The unique identifier for a specific tool call instance.
871
-
872
-
873
- This ID is used to track the request and response of a particular tool
874
- invocation, ensuring that the correct response is linked to the
875
- appropriate request.
876
- type:
877
- type: literal<"tool_call">
878
- docs: >-
879
- The type of message sent through the socket; for a Tool Call message,
880
- this must be `tool_call`.
881
-
882
-
883
- This message indicates that the supplemental LLM has detected a need
884
- to invoke the specified tool.
885
- custom_session_id:
886
- type: optional<string>
887
- docs: >-
888
- Used to manage conversational state, correlate frontend and backend
889
- data, and persist conversations across EVI sessions.
890
- tool_type:
891
- type: optional<ToolType>
892
- docs: >-
893
- Type of tool called. Either `builtin` for natively implemented tools,
894
- like web search, or `function` for user-defined tools.
895
- response_required:
896
- type: boolean
897
- docs: >-
898
- Indicates whether a response to the tool call is required from the
899
- developer, either in the form of a [Tool Response
900
- message](/reference/empathic-voice-interface-evi/chat/chat#send.ToolResponseMessage.type)
901
- or a [Tool Error
902
- message](/reference/empathic-voice-interface-evi/chat/chat#send.ToolErrorMessage.type).
903
- source:
904
- openapi: evi-asyncapi.json
905
- UserInterruption:
906
- docs: When provided, the output is an interruption.
907
- properties:
908
- type:
909
- type: literal<"user_interruption">
910
- docs: >-
911
- The type of message sent through the socket; for a User Interruption
912
- message, this must be `user_interruption`.
913
-
914
-
915
- This message indicates the user has interrupted the assistant's
916
- response. EVI detects the interruption in real-time and sends this
917
- message to signal the interruption event. This message allows the
918
- system to stop the current audio playback, clear the audio queue, and
919
- prepare to handle new user input.
920
- custom_session_id:
921
- type: optional<string>
922
- docs: >-
923
- Used to manage conversational state, correlate frontend and backend
924
- data, and persist conversations across EVI sessions.
925
- time:
926
- type: integer
927
- docs: Unix timestamp of the detected user interruption.
928
- source:
929
- openapi: evi-asyncapi.json
930
- UserMessage:
931
- docs: When provided, the output is a user message.
932
- properties:
933
- type:
934
- type: literal<"user_message">
935
- docs: >-
936
- The type of message sent through the socket; for a User Message, this
937
- must be `user_message`.
938
-
939
-
940
- This message contains both a transcript of the user's input and the
941
- expression measurement predictions if the input was sent as an [Audio
942
- Input
943
- message](/reference/empathic-voice-interface-evi/chat/chat#send.AudioInput.type).
944
- Expression measurement predictions are not provided for a [User Input
945
- message](/reference/empathic-voice-interface-evi/chat/chat#send.UserInput.type),
946
- as the prosody model relies on audio input and cannot process text
947
- alone.
948
- custom_session_id:
949
- type: optional<string>
950
- docs: >-
951
- Used to manage conversational state, correlate frontend and backend
952
- data, and persist conversations across EVI sessions.
953
- message:
954
- type: ChatMessage
955
- docs: Transcript of the message.
956
- models:
957
- type: Inference
958
- docs: Inference model results.
959
- time:
960
- type: MillisecondInterval
961
- docs: Start and End time of user message.
962
- from_text:
963
- type: boolean
964
- docs: >-
965
- Indicates if this message was inserted into the conversation as text
966
- from a [User
967
- Input](/reference/empathic-voice-interface-evi/chat/chat#send.UserInput.text)
968
- message.
969
- interim:
970
- type: boolean
971
- docs: >-
972
- Indicates whether this `UserMessage` contains an interim (unfinalized)
973
- transcript.
974
-
975
-
976
- - `true`: the transcript is provisional; words may be repeated or
977
- refined in subsequent `UserMessage` responses as additional audio is
978
- processed.
979
-
980
- - `false`: the transcript is final and complete.
981
-
982
-
983
- Interim transcripts are only sent when the
984
- [`verbose_transcription`](/reference/empathic-voice-interface-evi/chat/chat#request.query.verbose_transcription)
985
- query parameter is set to `true` in the initial handshake.
986
- source:
987
- openapi: evi-asyncapi.json
988
- JsonMessage:
989
- discriminated: false
990
- union:
991
- - type: AssistantEnd
992
- - type: AssistantMessage
993
- - type: AssistantProsody
994
- - type: ChatMetadata
995
- - type: WebSocketError
996
- - type: UserInterruption
997
- - type: UserMessage
998
- - type: ToolCallMessage
999
- - type: ToolResponseMessage
1000
- - type: ToolErrorMessage
1001
- source:
1002
- openapi: evi-asyncapi.json
1003
- HTTPValidationError:
1004
- properties:
1005
- detail:
1006
- type: optional<list<ValidationError>>
1007
- source:
1008
- openapi: evi-openapi.json
1009
- LanguageModelType:
1010
- enum:
1011
- - value: claude-3-7-sonnet-latest
1012
- name: Claude37SonnetLatest
1013
- - value: claude-3-5-sonnet-latest
1014
- name: Claude35SonnetLatest
1015
- - value: claude-3-5-haiku-latest
1016
- name: Claude35HaikuLatest
1017
- - value: claude-3-5-sonnet-20240620
1018
- name: Claude35Sonnet20240620
1019
- - value: claude-3-opus-20240229
1020
- name: Claude3Opus20240229
1021
- - value: claude-3-sonnet-20240229
1022
- name: Claude3Sonnet20240229
1023
- - value: claude-3-haiku-20240307
1024
- name: Claude3Haiku20240307
1025
- - value: claude-sonnet-4-20250514
1026
- name: ClaudeSonnet420250514
1027
- - value: us.anthropic.claude-3-5-haiku-20241022-v1:0
1028
- name: UsAnthropicClaude35Haiku20241022V10
1029
- - value: us.anthropic.claude-3-5-sonnet-20240620-v1:0
1030
- name: UsAnthropicClaude35Sonnet20240620V10
1031
- - value: us.anthropic.claude-3-haiku-20240307-v1:0
1032
- name: UsAnthropicClaude3Haiku20240307V10
1033
- - value: gpt-oss-120b
1034
- name: GptOss120B
1035
- - value: qwen-3-235b-a22b
1036
- name: Qwen3235BA22B
1037
- - value: qwen-3-235b-a22b-instruct-2507
1038
- name: Qwen3235BA22BInstruct2507
1039
- - value: qwen-3-235b-a22b-thinking-2507
1040
- name: Qwen3235BA22BThinking2507
1041
- - value: gemini-1.5-pro
1042
- name: Gemini15Pro
1043
- - value: gemini-1.5-flash
1044
- name: Gemini15Flash
1045
- - value: gemini-1.5-pro-002
1046
- name: Gemini15Pro002
1047
- - value: gemini-1.5-flash-002
1048
- name: Gemini15Flash002
1049
- - value: gemini-2.0-flash
1050
- name: Gemini20Flash
1051
- - value: gemini-2.5-flash
1052
- name: Gemini25Flash
1053
- - value: gemini-2.5-flash-preview-04-17
1054
- name: Gemini25FlashPreview0417
1055
- - value: gpt-4-turbo
1056
- name: Gpt4Turbo
1057
- - value: gpt-4-turbo-preview
1058
- name: Gpt4TurboPreview
1059
- - value: gpt-3.5-turbo-0125
1060
- name: Gpt35Turbo0125
1061
- - value: gpt-3.5-turbo
1062
- name: Gpt35Turbo
1063
- - value: gpt-4o
1064
- name: Gpt4O
1065
- - value: gpt-4o-mini
1066
- name: Gpt4OMini
1067
- - value: gpt-4.1
1068
- name: Gpt41
1069
- - value: gpt-5
1070
- name: Gpt5
1071
- - value: gpt-5-mini
1072
- name: Gpt5Mini
1073
- - value: gpt-5-nano
1074
- name: Gpt5Nano
1075
- - value: gemma-7b-it
1076
- name: Gemma7BIt
1077
- - value: llama3-8b-8192
1078
- name: Llama38B8192
1079
- - value: llama3-70b-8192
1080
- name: Llama370B8192
1081
- - value: llama-3.1-70b-versatile
1082
- name: Llama3170BVersatile
1083
- - value: llama-3.3-70b-versatile
1084
- name: Llama3370BVersatile
1085
- - value: llama-3.1-8b-instant
1086
- name: Llama318BInstant
1087
- - value: moonshotai/kimi-k2-instruct
1088
- name: MoonshotaiKimiK2Instruct
1089
- - value: accounts/fireworks/models/mixtral-8x7b-instruct
1090
- name: AccountsFireworksModelsMixtral8X7BInstruct
1091
- - value: accounts/fireworks/models/llama-v3p1-405b-instruct
1092
- name: AccountsFireworksModelsLlamaV3P1405BInstruct
1093
- - value: accounts/fireworks/models/llama-v3p1-70b-instruct
1094
- name: AccountsFireworksModelsLlamaV3P170BInstruct
1095
- - value: accounts/fireworks/models/llama-v3p1-8b-instruct
1096
- name: AccountsFireworksModelsLlamaV3P18BInstruct
1097
- - sonar
1098
- - value: sonar-pro
1099
- name: SonarPro
1100
- - sambanova
1101
- - value: DeepSeek-R1-Distill-Llama-70B
1102
- name: DeepSeekR1DistillLlama70B
1103
- - value: Llama-4-Maverick-17B-128E-Instruct
1104
- name: Llama4Maverick17B128EInstruct
1105
- - value: Qwen3-32B
1106
- name: Qwen332B
1107
- - ellm
1108
- - value: custom-language-model
1109
- name: CustomLanguageModel
1110
- - value: hume-evi-3-web-search
1111
- name: HumeEvi3WebSearch
1112
- source:
1113
- openapi: evi-openapi.json
1114
- ModelProviderEnum:
1115
- enum:
1116
- - GROQ
1117
- - OPEN_AI
1118
- - FIREWORKS
1119
- - ANTHROPIC
1120
- - CUSTOM_LANGUAGE_MODEL
1121
- - GOOGLE
1122
- - HUME_AI
1123
- - AMAZON_BEDROCK
1124
- - PERPLEXITY
1125
- - SAMBANOVA
1126
- - CEREBRAS
1127
- source:
1128
- openapi: evi-openapi.json
1129
- ValidationErrorLocItem:
1130
- discriminated: false
1131
- union:
1132
- - string
1133
- - integer
1134
- source:
1135
- openapi: evi-openapi.json
1136
- inline: true
1137
- ValidationError:
1138
- properties:
1139
- loc:
1140
- type: list<ValidationErrorLocItem>
1141
- msg: string
1142
- type: string
1143
- source:
1144
- openapi: evi-openapi.json
1145
- VoiceId:
1146
- properties:
1147
- id:
1148
- type: string
1149
- docs: ID of the voice in the `Voice Library`.
1150
- provider:
1151
- type: optional<VoiceProvider>
1152
- docs: Model provider associated with this Voice ID.
1153
- source:
1154
- openapi: evi-openapi.json
1155
- VoiceName:
1156
- properties:
1157
- name:
1158
- type: string
1159
- docs: Name of the voice in the `Voice Library`.
1160
- provider:
1161
- type: optional<VoiceProvider>
1162
- docs: Model provider associated with this Voice Name.
1163
- source:
1164
- openapi: evi-openapi.json
1165
- WebhookEventChatEnded:
1166
- properties:
1167
- event_name:
1168
- type: optional<literal<"chat_ended">>
1169
- docs: Always `chat_ended`.
1170
- end_time:
1171
- type: integer
1172
- docs: Unix timestamp (in milliseconds) indicating when the session ended.
1173
- duration_seconds:
1174
- type: integer
1175
- docs: Total duration of the session in seconds.
1176
- end_reason:
1177
- type: WebhookEventChatStatus
1178
- docs: Reason for the session's termination.
1179
- caller_number:
1180
- type: optional<string>
1181
- docs: >-
1182
- Phone number of the caller in E.164 format (e.g., `+12223333333`).
1183
- This field is included only if the Chat was created via the [Twilio
1184
- phone calling](/docs/empathic-voice-interface-evi/phone-calling)
1185
- integration.
1186
- custom_session_id:
1187
- type: optional<string>
1188
- docs: >-
1189
- User-defined session ID. Relevant only when employing a [custom
1190
- language
1191
- model](/docs/empathic-voice-interface-evi/custom-language-model) in
1192
- the EVI Config.
1193
- extends:
1194
- - WebhookEventBase
1195
- source:
1196
- openapi: evi-openapi.json
1197
- WebhookEventChatStartType:
1198
- enum:
1199
- - new_chat_group
1200
- - resumed_chat_group
1201
- source:
1202
- openapi: evi-openapi.json
1203
- WebhookEventChatStarted:
1204
- properties:
1205
- event_name:
1206
- type: optional<literal<"chat_started">>
1207
- docs: Always `chat_started`.
1208
- start_time:
1209
- type: integer
1210
- docs: Unix timestamp (in milliseconds) indicating when the session started.
1211
- chat_start_type:
1212
- type: WebhookEventChatStartType
1213
- docs: >-
1214
- Indicates whether the chat is the first in a new Chat Group
1215
- (`new_chat_group`) or the continuation of an existing chat group
1216
- (`resumed_chat_group`).
1217
- caller_number:
1218
- type: optional<string>
1219
- docs: >-
1220
- Phone number of the caller in E.164 format (e.g., `+12223333333`).
1221
- This field is included only if the Chat was created via the [Twilio
1222
- phone calling](/docs/empathic-voice-interface-evi/phone-calling)
1223
- integration.
1224
- custom_session_id:
1225
- type: optional<string>
1226
- docs: >-
1227
- User-defined session ID. Relevant only when employing a [custom
1228
- language
1229
- model](/docs/empathic-voice-interface-evi/custom-language-model) in
1230
- the EVI Config.
1231
- extends:
1232
- - WebhookEventBase
1233
- source:
1234
- openapi: evi-openapi.json
1235
- WebhookEventChatStatus:
1236
- enum:
1237
- - ACTIVE
1238
- - USER_ENDED
1239
- - USER_TIMEOUT
1240
- - INACTIVITY_TIMEOUT
1241
- - MAX_DURATION_TIMEOUT
1242
- - SILENCE_TIMEOUT
1243
- - ERROR
1244
- source:
1245
- openapi: evi-openapi.json
1246
- WebhookEvent:
1247
- discriminated: false
1248
- union:
1249
- - WebhookEventChatStarted
1250
- - WebhookEventChatEnded
1251
- source:
1252
- openapi: evi-openapi.json
1253
- WebhookEventBase:
1254
- docs: Represents the fields common to all webhook events.
1255
- properties:
1256
- chat_group_id:
1257
- type: string
1258
- docs: Unique ID of the **Chat Group** associated with the **Chat** session.
1259
- chat_id:
1260
- type: string
1261
- docs: Unique ID of the **Chat** session.
1262
- config_id:
1263
- type: optional<string>
1264
- docs: Unique ID of the EVI **Config** used for the session.
1265
- source:
1266
- openapi: evi-openapi.json
1267
- ErrorResponse:
1268
- properties:
1269
- error: optional<string>
1270
- message: optional<string>
1271
- code: optional<string>
1272
- source:
1273
- openapi: evi-openapi.json
1274
- ReturnPagedUserDefinedTools:
1275
- docs: A paginated list of user defined tool versions returned from the server
1276
- properties:
1277
- page_number:
1278
- type: integer
1279
- docs: >-
1280
- The page number of the returned list.
1281
-
1282
-
1283
- This value corresponds to the `page_number` parameter specified in the
1284
- request. Pagination uses zero-based indexing.
1285
- page_size:
1286
- type: integer
1287
- docs: >-
1288
- The maximum number of items returned per page.
1289
-
1290
-
1291
- This value corresponds to the `page_size` parameter specified in the
1292
- request.
1293
- total_pages:
1294
- type: integer
1295
- docs: The total number of pages in the collection.
1296
- tools_page:
1297
- docs: >-
1298
- List of tools returned for the specified `page_number` and
1299
- `page_size`.
1300
- type: list<optional<ReturnUserDefinedTool>>
1301
- source:
1302
- openapi: evi-openapi.json
1303
- ReturnUserDefinedToolToolType:
1304
- enum:
1305
- - BUILTIN
1306
- - FUNCTION
1307
- docs: >-
1308
- Type of Tool. Either `BUILTIN` for natively implemented tools, like web
1309
- search, or `FUNCTION` for user-defined tools.
1310
- inline: true
1311
- source:
1312
- openapi: evi-openapi.json
1313
- ReturnUserDefinedToolVersionType:
1314
- enum:
1315
- - FIXED
1316
- - LATEST
1317
- docs: >-
1318
- Versioning method for a Tool. Either `FIXED` for using a fixed version
1319
- number or `LATEST` for auto-updating to the latest version.
1320
- inline: true
1321
- source:
1322
- openapi: evi-openapi.json
1323
- ReturnUserDefinedTool:
1324
- docs: A specific tool version returned from the server
1325
- properties:
1326
- tool_type:
1327
- type: ReturnUserDefinedToolToolType
1328
- docs: >-
1329
- Type of Tool. Either `BUILTIN` for natively implemented tools, like
1330
- web search, or `FUNCTION` for user-defined tools.
1331
- id:
1332
- type: string
1333
- docs: Identifier for a Tool. Formatted as a UUID.
1334
- version:
1335
- type: integer
1336
- docs: >-
1337
- Version number for a Tool.
1338
-
1339
-
1340
- Tools, Configs, Custom Voices, and Prompts are versioned. This
1341
- versioning system supports iterative development, allowing you to
1342
- progressively refine tools and revert to previous versions if needed.
1343
-
1344
-
1345
- Version numbers are integer values representing different iterations
1346
- of the Tool. Each update to the Tool increments its version number.
1347
- version_type:
1348
- type: ReturnUserDefinedToolVersionType
1349
- docs: >-
1350
- Versioning method for a Tool. Either `FIXED` for using a fixed version
1351
- number or `LATEST` for auto-updating to the latest version.
1352
- version_description:
1353
- type: optional<string>
1354
- docs: An optional description of the Tool version.
1355
- name:
1356
- type: string
1357
- docs: Name applied to all versions of a particular Tool.
1358
- created_on:
1359
- type: long
1360
- docs: >-
1361
- Time at which the Tool was created. Measured in seconds since the Unix
1362
- epoch.
1363
- modified_on:
1364
- type: long
1365
- docs: >-
1366
- Time at which the Tool was last modified. Measured in seconds since
1367
- the Unix epoch.
1368
- fallback_content:
1369
- type: optional<string>
1370
- docs: >-
1371
- Optional text passed to the supplemental LLM in place of the tool call
1372
- result. The LLM then uses this text to generate a response back to the
1373
- user, ensuring continuity in the conversation if the Tool errors.
1374
- description:
1375
- type: optional<string>
1376
- docs: >-
1377
- An optional description of what the Tool does, used by the
1378
- supplemental LLM to choose when and how to call the function.
1379
- parameters:
1380
- type: string
1381
- docs: >-
1382
- Stringified JSON defining the parameters used by this version of the
1383
- Tool.
1384
-
1385
-
1386
- These parameters define the inputs needed for the Tool's execution,
1387
- including the expected data type and description for each input field.
1388
- Structured as a stringified JSON schema, this format ensures the tool
1389
- receives data in the expected format.
1390
- source:
1391
- openapi: evi-openapi.json
1392
- ReturnPagedPrompts:
1393
- docs: A paginated list of prompt versions returned from the server
1394
- properties:
1395
- page_number:
1396
- type: integer
1397
- docs: >-
1398
- The page number of the returned list.
1399
-
1400
-
1401
- This value corresponds to the `page_number` parameter specified in the
1402
- request. Pagination uses zero-based indexing.
1403
- page_size:
1404
- type: integer
1405
- docs: >-
1406
- The maximum number of items returned per page.
1407
-
1408
-
1409
- This value corresponds to the `page_size` parameter specified in the
1410
- request.
1411
- total_pages:
1412
- type: integer
1413
- docs: The total number of pages in the collection.
1414
- prompts_page:
1415
- docs: >-
1416
- List of prompts returned for the specified `page_number` and
1417
- `page_size`.
1418
- type: list<optional<ReturnPrompt>>
1419
- source:
1420
- openapi: evi-openapi.json
1421
- ReturnPrompt:
1422
- docs: A Prompt associated with this Config.
1423
- properties:
1424
- name:
1425
- type: string
1426
- docs: Name applied to all versions of a particular Prompt.
1427
- id:
1428
- type: string
1429
- docs: Identifier for a Prompt. Formatted as a UUID.
1430
- text:
1431
- type: string
1432
- docs: >-
1433
- Instructions used to shape EVI's behavior, responses, and style.
1434
-
1435
-
1436
- You can use the Prompt to define a specific goal or role for EVI,
1437
- specifying how it should act or what it should focus on during the
1438
- conversation. For example, EVI can be instructed to act as a customer
1439
- support representative, a fitness coach, or a travel advisor, each
1440
- with its own set of behaviors and response styles. For help writing a
1441
- system prompt, see our [Prompting
1442
- Guide](/docs/speech-to-speech-evi/guides/prompting).
1443
- version:
1444
- type: integer
1445
- docs: >-
1446
- Version number for a Prompt.
1447
-
1448
-
1449
- Prompts, Configs, Custom Voices, and Tools are versioned. This
1450
- versioning system supports iterative development, allowing you to
1451
- progressively refine prompts and revert to previous versions if
1452
- needed.
1453
-
1454
-
1455
- Version numbers are integer values representing different iterations
1456
- of the Prompt. Each update to the Prompt increments its version
1457
- number.
1458
- version_description:
1459
- type: optional<string>
1460
- docs: An optional description of the Prompt version.
1461
- version_type:
1462
- type: ReturnPromptVersionType
1463
- docs: >-
1464
- Versioning method for a Prompt. Either `FIXED` for using a fixed
1465
- version number or `LATEST` for auto-updating to the latest version.
1466
- created_on:
1467
- type: long
1468
- docs: >-
1469
- Time at which the Prompt was created. Measured in seconds since the
1470
- Unix epoch.
1471
- modified_on:
1472
- type: long
1473
- docs: >-
1474
- Time at which the Prompt was last modified. Measured in seconds since
1475
- the Unix epoch.
1476
- source:
1477
- openapi: evi-openapi.json
1478
- ReturnPagedConfigs:
1479
- docs: A paginated list of config versions returned from the server
1480
- properties:
1481
- page_number:
1482
- type: optional<integer>
1483
- docs: >-
1484
- The page number of the returned list.
1485
-
1486
-
1487
- This value corresponds to the `page_number` parameter specified in the
1488
- request. Pagination uses zero-based indexing.
1489
- page_size:
1490
- type: optional<integer>
1491
- docs: >-
1492
- The maximum number of items returned per page.
1493
-
1494
-
1495
- This value corresponds to the `page_size` parameter specified in the
1496
- request.
1497
- total_pages:
1498
- type: integer
1499
- docs: The total number of pages in the collection.
1500
- configs_page:
1501
- type: optional<list<ReturnConfig>>
1502
- docs: >-
1503
- List of configs returned for the specified `page_number` and
1504
- `page_size`.
1505
- source:
1506
- openapi: evi-openapi.json
1507
- ReturnConfig:
1508
- docs: A specific config version returned from the server
1509
- properties:
1510
- name:
1511
- type: optional<string>
1512
- docs: Name applied to all versions of a particular Config.
1513
- id:
1514
- type: optional<string>
1515
- docs: Identifier for a Config. Formatted as a UUID.
1516
- version:
1517
- type: optional<integer>
1518
- docs: >-
1519
- Version number for a Config.
1520
-
1521
-
1522
- Configs, Prompts, Custom Voices, and Tools are versioned. This
1523
- versioning system supports iterative development, allowing you to
1524
- progressively refine configurations and revert to previous versions if
1525
- needed.
1526
-
1527
-
1528
- Version numbers are integer values representing different iterations
1529
- of the Config. Each update to the Config increments its version
1530
- number.
1531
- tools:
1532
- type: optional<list<optional<ReturnUserDefinedTool>>>
1533
- docs: List of user-defined tools associated with this Config.
1534
- version_description:
1535
- type: optional<string>
1536
- docs: An optional description of the Config version.
1537
- language_model:
1538
- type: optional<ReturnLanguageModel>
1539
- docs: >-
1540
- The supplemental language model associated with this Config.
1541
-
1542
-
1543
- This model is used to generate longer, more detailed responses from
1544
- EVI. Choosing an appropriate supplemental language model for your use
1545
- case is crucial for generating fast, high-quality responses from EVI.
1546
- builtin_tools:
1547
- type: optional<list<optional<ReturnBuiltinTool>>>
1548
- docs: List of built-in tools associated with this Config.
1549
- evi_version:
1550
- type: optional<string>
1551
- docs: >-
1552
- Specifies the EVI version to use. See our [EVI Version
1553
- Guide](/docs/speech-to-speech-evi/configuration/evi-version) for
1554
- differences between versions.
1555
-
1556
-
1557
- **We're officially sunsetting EVI versions 1 and 2 on August 30,
1558
- 2025**. To keep things running smoothly, be sure to [migrate to EVI
1559
- 3](/docs/speech-to-speech-evi/configuration/evi-version#migrating-to-evi-3)
1560
- before then.
1561
- timeouts: optional<ReturnTimeoutSpecs>
1562
- nudges: optional<ReturnNudgeSpec>
1563
- event_messages: optional<ReturnEventMessageSpecs>
1564
- ellm_model:
1565
- type: optional<ReturnEllmModel>
1566
- docs: >-
1567
- The eLLM setup associated with this Config.
1568
-
1569
-
1570
- Hume's eLLM (empathic Large Language Model) is a multimodal language
1571
- model that takes into account both expression measures and language.
1572
- The eLLM generates short, empathic language responses and guides
1573
- text-to-speech (TTS) prosody.
1574
- voice:
1575
- type: optional<ReturnVoice>
1576
- docs: A voice specification associated with this Config.
1577
- prompt: optional<ReturnPrompt>
1578
- webhooks:
1579
- type: optional<list<optional<ReturnWebhookSpec>>>
1580
- docs: Map of webhooks associated with this config.
1581
- created_on:
1582
- type: optional<long>
1583
- docs: >-
1584
- Time at which the Config was created. Measured in seconds since the
1585
- Unix epoch.
1586
- modified_on:
1587
- type: optional<long>
1588
- docs: >-
1589
- Time at which the Config was last modified. Measured in seconds since
1590
- the Unix epoch.
1591
- source:
1592
- openapi: evi-openapi.json
1593
- ReturnPagedChatsPaginationDirection:
1594
- enum:
1595
- - ASC
1596
- - DESC
1597
- docs: >-
1598
- Indicates the order in which the paginated results are presented, based on
1599
- their creation date.
1600
-
1601
-
1602
- It shows `ASC` for ascending order (chronological, with the oldest records
1603
- first) or `DESC` for descending order (reverse-chronological, with the
1604
- newest records first). This value corresponds to the `ascending_order`
1605
- query parameter used in the request.
1606
- inline: true
1607
- source:
1608
- openapi: evi-openapi.json
1609
- ReturnPagedChats:
1610
- docs: A paginated list of chats returned from the server
1611
- properties:
1612
- page_number:
1613
- type: integer
1614
- docs: >-
1615
- The page number of the returned list.
1616
-
1617
-
1618
- This value corresponds to the `page_number` parameter specified in the
1619
- request. Pagination uses zero-based indexing.
1620
- page_size:
1621
- type: integer
1622
- docs: >-
1623
- The maximum number of items returned per page.
1624
-
1625
-
1626
- This value corresponds to the `page_size` parameter specified in the
1627
- request.
1628
- total_pages:
1629
- type: integer
1630
- docs: The total number of pages in the collection.
1631
- pagination_direction:
1632
- type: ReturnPagedChatsPaginationDirection
1633
- docs: >-
1634
- Indicates the order in which the paginated results are presented,
1635
- based on their creation date.
1636
-
1637
-
1638
- It shows `ASC` for ascending order (chronological, with the oldest
1639
- records first) or `DESC` for descending order (reverse-chronological,
1640
- with the newest records first). This value corresponds to the
1641
- `ascending_order` query parameter used in the request.
1642
- chats_page:
1643
- docs: >-
1644
- List of Chats and their metadata returned for the specified
1645
- `page_number` and `page_size`.
1646
- type: list<ReturnChat>
1647
- source:
1648
- openapi: evi-openapi.json
1649
- ReturnChatPagedEventsStatus:
1650
- enum:
1651
- - ACTIVE
1652
- - USER_ENDED
1653
- - USER_TIMEOUT
1654
- - MAX_DURATION_TIMEOUT
1655
- - INACTIVITY_TIMEOUT
1656
- - ERROR
1657
- docs: >-
1658
- Indicates the current state of the chat. There are six possible statuses:
1659
-
1660
-
1661
- - `ACTIVE`: The chat is currently active and ongoing.
1662
-
1663
-
1664
- - `USER_ENDED`: The chat was manually ended by the user.
1665
-
1666
-
1667
- - `USER_TIMEOUT`: The chat ended due to a user-defined timeout.
1668
-
1669
-
1670
- - `MAX_DURATION_TIMEOUT`: The chat ended because it reached the maximum
1671
- allowed duration.
1672
-
1673
-
1674
- - `INACTIVITY_TIMEOUT`: The chat ended due to an inactivity timeout.
1675
-
1676
-
1677
- - `ERROR`: The chat ended unexpectedly due to an error.
1678
- inline: true
1679
- source:
1680
- openapi: evi-openapi.json
1681
- ReturnChatPagedEventsPaginationDirection:
1682
- enum:
1683
- - ASC
1684
- - DESC
1685
- docs: >-
1686
- Indicates the order in which the paginated results are presented, based on
1687
- their creation date.
1688
-
1689
-
1690
- It shows `ASC` for ascending order (chronological, with the oldest records
1691
- first) or `DESC` for descending order (reverse-chronological, with the
1692
- newest records first). This value corresponds to the `ascending_order`
1693
- query parameter used in the request.
1694
- inline: true
1695
- source:
1696
- openapi: evi-openapi.json
1697
- ReturnChatPagedEvents:
1698
- docs: >-
1699
- A description of chat status with a paginated list of chat events returned
1700
- from the server
1701
- properties:
1702
- id:
1703
- type: string
1704
- docs: Identifier for a Chat. Formatted as a UUID.
1705
- chat_group_id:
1706
- type: string
1707
- docs: >-
1708
- Identifier for the Chat Group. Any chat resumed from this Chat will
1709
- have the same `chat_group_id`. Formatted as a UUID.
1710
- status:
1711
- type: ReturnChatPagedEventsStatus
1712
- docs: >-
1713
- Indicates the current state of the chat. There are six possible
1714
- statuses:
1715
-
1716
-
1717
- - `ACTIVE`: The chat is currently active and ongoing.
1718
-
1719
-
1720
- - `USER_ENDED`: The chat was manually ended by the user.
1721
-
1722
-
1723
- - `USER_TIMEOUT`: The chat ended due to a user-defined timeout.
1724
-
1725
-
1726
- - `MAX_DURATION_TIMEOUT`: The chat ended because it reached the
1727
- maximum allowed duration.
1728
-
1729
-
1730
- - `INACTIVITY_TIMEOUT`: The chat ended due to an inactivity timeout.
1731
-
1732
-
1733
- - `ERROR`: The chat ended unexpectedly due to an error.
1734
- start_timestamp:
1735
- type: long
1736
- docs: >-
1737
- Time at which the Chat started. Measured in seconds since the Unix
1738
- epoch.
1739
- end_timestamp:
1740
- type: optional<long>
1741
- docs: >-
1742
- Time at which the Chat ended. Measured in seconds since the Unix
1743
- epoch.
1744
- pagination_direction:
1745
- type: ReturnChatPagedEventsPaginationDirection
1746
- docs: >-
1747
- Indicates the order in which the paginated results are presented,
1748
- based on their creation date.
1749
-
1750
-
1751
- It shows `ASC` for ascending order (chronological, with the oldest
1752
- records first) or `DESC` for descending order (reverse-chronological,
1753
- with the newest records first). This value corresponds to the
1754
- `ascending_order` query parameter used in the request.
1755
- events_page:
1756
- docs: List of Chat Events for the specified `page_number` and `page_size`.
1757
- type: list<ReturnChatEvent>
1758
- metadata:
1759
- type: optional<string>
1760
- docs: Stringified JSON with additional metadata about the chat.
1761
- page_number:
1762
- type: integer
1763
- docs: >-
1764
- The page number of the returned list.
1765
-
1766
-
1767
- This value corresponds to the `page_number` parameter specified in the
1768
- request. Pagination uses zero-based indexing.
1769
- page_size:
1770
- type: integer
1771
- docs: >-
1772
- The maximum number of items returned per page.
1773
-
1774
-
1775
- This value corresponds to the `page_size` parameter specified in the
1776
- request.
1777
- total_pages:
1778
- type: integer
1779
- docs: The total number of pages in the collection.
1780
- config: optional<ReturnConfigSpec>
1781
- source:
1782
- openapi: evi-openapi.json
1783
- ReturnChatAudioReconstructionStatus:
1784
- enum:
1785
- - QUEUED
1786
- - IN_PROGRESS
1787
- - COMPLETE
1788
- - ERROR
1789
- - CANCELLED
1790
- docs: >-
1791
- Indicates the current state of the audio reconstruction job. There are
1792
- five possible statuses:
1793
-
1794
-
1795
- - `QUEUED`: The reconstruction job is waiting to be processed.
1796
-
1797
-
1798
- - `IN_PROGRESS`: The reconstruction is currently being processed.
1799
-
1800
-
1801
- - `COMPLETE`: The audio reconstruction is finished and ready for download.
1802
-
1803
-
1804
- - `ERROR`: An error occurred during the reconstruction process.
1805
-
1806
-
1807
- - `CANCELED`: The reconstruction job has been canceled.
1808
- inline: true
1809
- source:
1810
- openapi: evi-openapi.json
1811
- ReturnChatAudioReconstruction:
1812
- docs: >-
1813
- List of chat audio reconstructions returned for the specified page number
1814
- and page size.
1815
- properties:
1816
- id:
1817
- type: string
1818
- docs: Identifier for the chat. Formatted as a UUID.
1819
- user_id:
1820
- type: string
1821
- docs: Identifier for the user that owns this chat. Formatted as a UUID.
1822
- status:
1823
- type: ReturnChatAudioReconstructionStatus
1824
- docs: >-
1825
- Indicates the current state of the audio reconstruction job. There are
1826
- five possible statuses:
1827
-
1828
-
1829
- - `QUEUED`: The reconstruction job is waiting to be processed.
1830
-
1831
-
1832
- - `IN_PROGRESS`: The reconstruction is currently being processed.
1833
-
1834
-
1835
- - `COMPLETE`: The audio reconstruction is finished and ready for
1836
- download.
1837
-
1838
-
1839
- - `ERROR`: An error occurred during the reconstruction process.
1840
-
1841
-
1842
- - `CANCELED`: The reconstruction job has been canceled.
1843
- filename:
1844
- type: optional<string>
1845
- docs: Name of the chat audio reconstruction file.
1846
- modified_at:
1847
- type: optional<long>
1848
- docs: >-
1849
- The timestamp of the most recent status change for this audio
1850
- reconstruction, formatted milliseconds since the Unix epoch.
1851
- signed_audio_url:
1852
- type: optional<string>
1853
- docs: Signed URL used to download the chat audio reconstruction file.
1854
- signed_url_expiration_timestamp_millis:
1855
- type: optional<long>
1856
- docs: >-
1857
- The timestamp when the signed URL will expire, formatted as a Unix
1858
- epoch milliseconds.
1859
- source:
1860
- openapi: evi-openapi.json
1861
- ReturnPagedChatGroupsPaginationDirection:
1862
- enum:
1863
- - ASC
1864
- - DESC
1865
- docs: >-
1866
- Indicates the order in which the paginated results are presented, based on
1867
- their creation date.
1868
-
1869
-
1870
- It shows `ASC` for ascending order (chronological, with the oldest records
1871
- first) or `DESC` for descending order (reverse-chronological, with the
1872
- newest records first). This value corresponds to the `ascending_order`
1873
- query parameter used in the request.
1874
- inline: true
1875
- source:
1876
- openapi: evi-openapi.json
1877
- ReturnPagedChatGroups:
1878
- docs: A paginated list of chat_groups returned from the server
1879
- properties:
1880
- page_number:
1881
- type: integer
1882
- docs: >-
1883
- The page number of the returned list.
1884
-
1885
-
1886
- This value corresponds to the `page_number` parameter specified in the
1887
- request. Pagination uses zero-based indexing.
1888
- page_size:
1889
- type: integer
1890
- docs: >-
1891
- The maximum number of items returned per page.
1892
-
1893
-
1894
- This value corresponds to the `page_size` parameter specified in the
1895
- request.
1896
- total_pages:
1897
- type: integer
1898
- docs: The total number of pages in the collection.
1899
- pagination_direction:
1900
- type: ReturnPagedChatGroupsPaginationDirection
1901
- docs: >-
1902
- Indicates the order in which the paginated results are presented,
1903
- based on their creation date.
1904
-
1905
-
1906
- It shows `ASC` for ascending order (chronological, with the oldest
1907
- records first) or `DESC` for descending order (reverse-chronological,
1908
- with the newest records first). This value corresponds to the
1909
- `ascending_order` query parameter used in the request.
1910
- chat_groups_page:
1911
- docs: >-
1912
- List of Chat Groups and their metadata returned for the specified
1913
- `page_number` and `page_size`.
1914
- type: list<ReturnChatGroup>
1915
- source:
1916
- openapi: evi-openapi.json
1917
- ReturnChatGroupPagedChatsPaginationDirection:
1918
- enum:
1919
- - ASC
1920
- - DESC
1921
- docs: >-
1922
- Indicates the order in which the paginated results are presented, based on
1923
- their creation date.
1924
-
1925
-
1926
- It shows `ASC` for ascending order (chronological, with the oldest records
1927
- first) or `DESC` for descending order (reverse-chronological, with the
1928
- newest records first). This value corresponds to the `ascending_order`
1929
- query parameter used in the request.
1930
- inline: true
1931
- source:
1932
- openapi: evi-openapi.json
1933
- ReturnChatGroupPagedChats:
1934
- docs: >-
1935
- A description of chat_group and its status with a paginated list of each
1936
- chat in the chat_group
1937
- properties:
1938
- id:
1939
- type: string
1940
- docs: >-
1941
- Identifier for the Chat Group. Any Chat resumed from this Chat Group
1942
- will have the same `chat_group_id`. Formatted as a UUID.
1943
- first_start_timestamp:
1944
- type: long
1945
- docs: >-
1946
- Time at which the first Chat in this Chat Group was created. Measured
1947
- in seconds since the Unix epoch.
1948
- most_recent_start_timestamp:
1949
- type: long
1950
- docs: >-
1951
- Time at which the most recent Chat in this Chat Group was created.
1952
- Measured in seconds since the Unix epoch.
1953
- num_chats:
1954
- type: integer
1955
- docs: The total number of Chats associated with this Chat Group.
1956
- page_number:
1957
- type: integer
1958
- docs: >-
1959
- The page number of the returned list.
1960
-
1961
-
1962
- This value corresponds to the `page_number` parameter specified in the
1963
- request. Pagination uses zero-based indexing.
1964
- page_size:
1965
- type: integer
1966
- docs: >-
1967
- The maximum number of items returned per page.
1968
-
1969
-
1970
- This value corresponds to the `page_size` parameter specified in the
1971
- request.
1972
- total_pages:
1973
- type: integer
1974
- docs: The total number of pages in the collection.
1975
- pagination_direction:
1976
- type: ReturnChatGroupPagedChatsPaginationDirection
1977
- docs: >-
1978
- Indicates the order in which the paginated results are presented,
1979
- based on their creation date.
1980
-
1981
-
1982
- It shows `ASC` for ascending order (chronological, with the oldest
1983
- records first) or `DESC` for descending order (reverse-chronological,
1984
- with the newest records first). This value corresponds to the
1985
- `ascending_order` query parameter used in the request.
1986
- chats_page:
1987
- docs: List of Chats for the specified `page_number` and `page_size`.
1988
- type: list<ReturnChat>
1989
- active:
1990
- type: optional<boolean>
1991
- docs: >-
1992
- Denotes whether there is an active Chat associated with this Chat
1993
- Group.
1994
- source:
1995
- openapi: evi-openapi.json
1996
- ReturnChatGroupPagedEventsPaginationDirection:
1997
- enum:
1998
- - ASC
1999
- - DESC
2000
- docs: >-
2001
- Indicates the order in which the paginated results are presented, based on
2002
- their creation date.
2003
-
2004
-
2005
- It shows `ASC` for ascending order (chronological, with the oldest records
2006
- first) or `DESC` for descending order (reverse-chronological, with the
2007
- newest records first). This value corresponds to the `ascending_order`
2008
- query parameter used in the request.
2009
- inline: true
2010
- source:
2011
- openapi: evi-openapi.json
2012
- ReturnChatGroupPagedEvents:
2013
- docs: >-
2014
- A paginated list of chat events that occurred across chats in this
2015
- chat_group from the server
2016
- properties:
2017
- id:
2018
- type: string
2019
- docs: >-
2020
- Identifier for the Chat Group. Any Chat resumed from this Chat Group
2021
- will have the same `chat_group_id`. Formatted as a UUID.
2022
- page_number:
2023
- type: integer
2024
- docs: >-
2025
- The page number of the returned list.
2026
-
2027
-
2028
- This value corresponds to the `page_number` parameter specified in the
2029
- request. Pagination uses zero-based indexing.
2030
- page_size:
2031
- type: integer
2032
- docs: >-
2033
- The maximum number of items returned per page.
2034
-
2035
-
2036
- This value corresponds to the `page_size` parameter specified in the
2037
- request.
2038
- total_pages:
2039
- type: integer
2040
- docs: The total number of pages in the collection.
2041
- pagination_direction:
2042
- type: ReturnChatGroupPagedEventsPaginationDirection
2043
- docs: >-
2044
- Indicates the order in which the paginated results are presented,
2045
- based on their creation date.
2046
-
2047
-
2048
- It shows `ASC` for ascending order (chronological, with the oldest
2049
- records first) or `DESC` for descending order (reverse-chronological,
2050
- with the newest records first). This value corresponds to the
2051
- `ascending_order` query parameter used in the request.
2052
- events_page:
2053
- docs: List of Chat Events for the specified `page_number` and `page_size`.
2054
- type: list<ReturnChatEvent>
2055
- source:
2056
- openapi: evi-openapi.json
2057
- ReturnChatGroupPagedAudioReconstructionsPaginationDirection:
2058
- enum:
2059
- - ASC
2060
- - DESC
2061
- docs: >-
2062
- Indicates the order in which the paginated results are presented, based on
2063
- their creation date.
2064
-
2065
-
2066
- It shows `ASC` for ascending order (chronological, with the oldest records
2067
- first) or `DESC` for descending order (reverse-chronological, with the
2068
- newest records first). This value corresponds to the `ascending_order`
2069
- query parameter used in the request.
2070
- inline: true
2071
- source:
2072
- openapi: evi-openapi.json
2073
- ReturnChatGroupPagedAudioReconstructions:
2074
- docs: A paginated list of chat reconstructions for a particular chatgroup
2075
- properties:
2076
- id:
2077
- type: string
2078
- docs: Identifier for the chat group. Formatted as a UUID.
2079
- user_id:
2080
- type: string
2081
- docs: Identifier for the user that owns this chat. Formatted as a UUID.
2082
- num_chats:
2083
- type: integer
2084
- docs: Total number of chats in this chatgroup
2085
- page_number:
2086
- type: integer
2087
- docs: >-
2088
- The page number of the returned list.
2089
-
2090
-
2091
- This value corresponds to the `page_number` parameter specified in the
2092
- request. Pagination uses zero-based indexing.
2093
- page_size:
2094
- type: integer
2095
- docs: >-
2096
- The maximum number of items returned per page.
2097
-
2098
-
2099
- This value corresponds to the `page_size` parameter specified in the
2100
- request.
2101
- total_pages:
2102
- type: integer
2103
- docs: The total number of pages in the collection.
2104
- pagination_direction:
2105
- type: ReturnChatGroupPagedAudioReconstructionsPaginationDirection
2106
- docs: >-
2107
- Indicates the order in which the paginated results are presented,
2108
- based on their creation date.
2109
-
2110
-
2111
- It shows `ASC` for ascending order (chronological, with the oldest
2112
- records first) or `DESC` for descending order (reverse-chronological,
2113
- with the newest records first). This value corresponds to the
2114
- `ascending_order` query parameter used in the request.
2115
- audio_reconstructions_page:
2116
- docs: >-
2117
- List of chat audio reconstructions returned for the specified page
2118
- number and page size.
2119
- type: list<ReturnChatAudioReconstruction>
2120
- source:
2121
- openapi: evi-openapi.json
2122
- ReturnPromptVersionType:
2123
- enum:
2124
- - FIXED
2125
- - LATEST
2126
- docs: >-
2127
- Versioning method for a Prompt. Either `FIXED` for using a fixed version
2128
- number or `LATEST` for auto-updating to the latest version.
2129
- inline: true
2130
- source:
2131
- openapi: evi-openapi.json
2132
- PostedConfigPromptSpec:
2133
- docs: >-
2134
- Identifies which prompt to use in a a config OR how to create a new prompt
2135
- to use in the config
2136
- properties:
2137
- id:
2138
- type: optional<string>
2139
- docs: Identifier for a Prompt. Formatted as a UUID.
2140
- version:
2141
- type: optional<integer>
2142
- docs: >-
2143
- Version number for a Prompt. Version numbers should be integers. The
2144
- combination of configId and version number is unique.
2145
- text:
2146
- type: optional<string>
2147
- docs: Text used to create a new prompt for a particular config.
2148
- source:
2149
- openapi: evi-openapi.json
2150
- PostedLanguageModel:
2151
- docs: A LanguageModel to be posted to the server
2152
- properties:
2153
- model_provider:
2154
- type: optional<ModelProviderEnum>
2155
- docs: The provider of the supplemental language model.
2156
- model_resource:
2157
- type: optional<LanguageModelType>
2158
- docs: String that specifies the language model to use with `model_provider`.
2159
- temperature:
2160
- type: optional<float>
2161
- docs: >-
2162
- The model temperature, with values between 0 to 1 (inclusive).
2163
-
2164
-
2165
- Controls the randomness of the LLM's output, with values closer to 0
2166
- yielding focused, deterministic responses and values closer to 1
2167
- producing more creative, diverse responses.
2168
- source:
2169
- openapi: evi-openapi.json
2170
- PostedEllmModel:
2171
- docs: A eLLM model configuration to be posted to the server
2172
- properties:
2173
- allow_short_responses:
2174
- type: optional<boolean>
2175
- docs: |-
2176
- Boolean indicating if the eLLM is allowed to generate short responses.
2177
-
2178
- If omitted, short responses from the eLLM are enabled by default.
2179
- source:
2180
- openapi: evi-openapi.json
2181
- PostedUserDefinedToolSpec:
2182
- docs: A specific tool identifier to be posted to the server
2183
- properties:
2184
- id:
2185
- type: string
2186
- docs: Identifier for a Tool. Formatted as a UUID.
2187
- version:
2188
- type: optional<integer>
2189
- docs: >-
2190
- Version number for a Tool.
2191
-
2192
-
2193
- Tools, Configs, Custom Voices, and Prompts are versioned. This
2194
- versioning system supports iterative development, allowing you to
2195
- progressively refine tools and revert to previous versions if needed.
2196
-
2197
-
2198
- Version numbers are integer values representing different iterations
2199
- of the Tool. Each update to the Tool increments its version number.
2200
- source:
2201
- openapi: evi-openapi.json
2202
- PostedBuiltinToolName:
2203
- enum:
2204
- - web_search
2205
- - hang_up
2206
- docs: >-
2207
- Name of the built-in tool to use. Hume supports the following built-in
2208
- tools:
2209
-
2210
-
2211
- - **web_search:** enables EVI to search the web for up-to-date information
2212
- when applicable.
2213
-
2214
- - **hang_up:** closes the WebSocket connection when appropriate (e.g.,
2215
- after detecting a farewell in the conversation).
2216
-
2217
-
2218
- For more information, see our guide on [using built-in
2219
- tools](/docs/speech-to-speech-evi/features/tool-use#using-built-in-tools).
2220
- inline: true
2221
- source:
2222
- openapi: evi-openapi.json
2223
- PostedBuiltinTool:
2224
- docs: A configuration of a built-in tool to be posted to the server
2225
- properties:
2226
- name:
2227
- type: PostedBuiltinToolName
2228
- docs: >-
2229
- Name of the built-in tool to use. Hume supports the following built-in
2230
- tools:
2231
-
2232
-
2233
- - **web_search:** enables EVI to search the web for up-to-date
2234
- information when applicable.
2235
-
2236
- - **hang_up:** closes the WebSocket connection when appropriate (e.g.,
2237
- after detecting a farewell in the conversation).
2238
-
2239
-
2240
- For more information, see our guide on [using built-in
2241
- tools](/docs/speech-to-speech-evi/features/tool-use#using-built-in-tools).
2242
- fallback_content:
2243
- type: optional<string>
2244
- docs: >-
2245
- Optional text passed to the supplemental LLM in place of the tool call
2246
- result. The LLM then uses this text to generate a response back to the
2247
- user, ensuring continuity in the conversation if the Tool errors.
2248
- source:
2249
- openapi: evi-openapi.json
2250
- PostedEventMessageSpecs:
2251
- docs: >-
2252
- Collection of event messages returned by the server.
2253
-
2254
-
2255
- Event messages are sent by the server when specific events occur during a
2256
- chat session. These messages are used to configure behaviors for EVI, such
2257
- as controlling how EVI starts a new conversation.
2258
- properties:
2259
- on_new_chat:
2260
- type: optional<PostedEventMessageSpec>
2261
- docs: >-
2262
- Specifies the initial message EVI provides when a new chat is started,
2263
- such as a greeting or welcome message.
2264
- on_inactivity_timeout:
2265
- type: optional<PostedEventMessageSpec>
2266
- docs: >-
2267
- Specifies the message EVI provides when the chat is about to be
2268
- disconnected due to a user inactivity timeout, such as a message
2269
- mentioning a lack of user input for a period of time.
2270
-
2271
-
2272
- Enabling an inactivity message allows developers to use this message
2273
- event for "checking in" with the user if they are not responding to
2274
- see if they are still active.
2275
-
2276
-
2277
- If the user does not respond in the number of seconds specified in the
2278
- `inactivity_timeout` field, then EVI will say the message and the user
2279
- has 15 seconds to respond. If they respond in time, the conversation
2280
- will continue; if not, the conversation will end.
2281
-
2282
-
2283
- However, if the inactivity message is not enabled, then reaching the
2284
- inactivity timeout will immediately end the connection.
2285
- on_max_duration_timeout:
2286
- type: optional<PostedEventMessageSpec>
2287
- docs: >-
2288
- Specifies the message EVI provides when the chat is disconnected due
2289
- to reaching the maximum chat duration, such as a message mentioning
2290
- the time limit for the chat has been reached.
2291
- source:
2292
- openapi: evi-openapi.json
2293
- PostedNudgeSpec:
2294
- docs: A nudge specification posted to the server
2295
- properties:
2296
- enabled:
2297
- type: optional<boolean>
2298
- docs: >-
2299
- If true, EVI will 'nudge' the user to speak after a determined
2300
- interval of silence.
2301
- interval_secs:
2302
- type: optional<integer>
2303
- docs: The interval of inactivity (in seconds) before a nudge is triggered.
2304
- source:
2305
- openapi: evi-openapi.json
2306
- PostedTimeoutSpecsInactivity:
2307
- docs: >-
2308
- Specifies the duration of user inactivity (in seconds) after which the EVI
2309
- WebSocket connection will be automatically disconnected. Default is 600
2310
- seconds (10 minutes).
2311
-
2312
-
2313
- Accepts a minimum value of 30 seconds and a maximum value of 1,800
2314
- seconds.
2315
- properties:
2316
- duration_secs:
2317
- type: optional<integer>
2318
- docs: >-
2319
- Duration in seconds for the timeout (e.g. 600 seconds represents 10
2320
- minutes).
2321
- enabled:
2322
- type: boolean
2323
- docs: >-
2324
- Boolean indicating if this timeout is enabled.
2325
-
2326
-
2327
- If set to false, EVI will not timeout due to a specified duration of
2328
- user inactivity being reached. However, the conversation will
2329
- eventually disconnect after 1,800 seconds (30 minutes), which is the
2330
- maximum WebSocket duration limit for EVI.
2331
- source:
2332
- openapi: evi-openapi.json
2333
- inline: true
2334
- PostedTimeoutSpecsMaxDuration:
2335
- docs: >-
2336
- Specifies the maximum allowed duration (in seconds) for an EVI WebSocket
2337
- connection before it is automatically disconnected. Default is 1,800
2338
- seconds (30 minutes).
2339
-
2340
-
2341
- Accepts a minimum value of 30 seconds and a maximum value of 1,800
2342
- seconds.
2343
- properties:
2344
- duration_secs:
2345
- type: optional<integer>
2346
- docs: >-
2347
- Duration in seconds for the timeout (e.g. 600 seconds represents 10
2348
- minutes).
2349
- enabled:
2350
- type: boolean
2351
- docs: >-
2352
- Boolean indicating if this timeout is enabled.
2353
-
2354
-
2355
- If set to false, EVI will not timeout due to a specified maximum
2356
- duration being reached. However, the conversation will eventually
2357
- disconnect after 1,800 seconds (30 minutes), which is the maximum
2358
- WebSocket duration limit for EVI.
2359
- source:
2360
- openapi: evi-openapi.json
2361
- inline: true
2362
- PostedTimeoutSpecs:
2363
- docs: >-
2364
- Collection of timeout specifications returned by the server.
2365
-
2366
-
2367
- Timeouts are sent by the server when specific time-based events occur
2368
- during a chat session. These specifications set the inactivity timeout and
2369
- the maximum duration an EVI WebSocket connection can stay open before it
2370
- is automatically disconnected.
2371
- properties:
2372
- inactivity:
2373
- type: optional<PostedTimeoutSpecsInactivity>
2374
- docs: >-
2375
- Specifies the duration of user inactivity (in seconds) after which the
2376
- EVI WebSocket connection will be automatically disconnected. Default
2377
- is 600 seconds (10 minutes).
2378
-
2379
-
2380
- Accepts a minimum value of 30 seconds and a maximum value of 1,800
2381
- seconds.
2382
- max_duration:
2383
- type: optional<PostedTimeoutSpecsMaxDuration>
2384
- docs: >-
2385
- Specifies the maximum allowed duration (in seconds) for an EVI
2386
- WebSocket connection before it is automatically disconnected. Default
2387
- is 1,800 seconds (30 minutes).
2388
-
2389
-
2390
- Accepts a minimum value of 30 seconds and a maximum value of 1,800
2391
- seconds.
2392
- source:
2393
- openapi: evi-openapi.json
2394
- PostedWebhookEventType:
2395
- enum:
2396
- - chat_started
2397
- - chat_ended
2398
- docs: Events this URL is subscribed to
2399
- inline: true
2400
- source:
2401
- openapi: evi-openapi.json
2402
- PostedWebhookSpec:
2403
- docs: URL and settings for a specific webhook to be posted to the server
2404
- properties:
2405
- url:
2406
- type: string
2407
- docs: >-
2408
- The URL where event payloads will be sent. This must be a valid https
2409
- URL to ensure secure communication. The server at this URL must accept
2410
- POST requests with a JSON payload.
2411
- events:
2412
- docs: >-
2413
- The list of events the specified URL is subscribed to.
2414
-
2415
-
2416
- See our [webhooks
2417
- guide](/docs/speech-to-speech-evi/configuration/build-a-configuration#supported-events)
2418
- for more information on supported events.
2419
- type: list<PostedWebhookEventType>
2420
- source:
2421
- openapi: evi-openapi.json
2422
- ReturnLanguageModel:
2423
- docs: A specific LanguageModel
2424
- properties:
2425
- model_provider:
2426
- type: optional<ModelProviderEnum>
2427
- docs: The provider of the supplemental language model.
2428
- model_resource:
2429
- type: optional<LanguageModelType>
2430
- docs: String that specifies the language model to use with `model_provider`.
2431
- temperature:
2432
- type: optional<float>
2433
- docs: >-
2434
- The model temperature, with values between 0 to 1 (inclusive).
2435
-
2436
-
2437
- Controls the randomness of the LLM's output, with values closer to 0
2438
- yielding focused, deterministic responses and values closer to 1
2439
- producing more creative, diverse responses.
2440
- source:
2441
- openapi: evi-openapi.json
2442
- ReturnEllmModel:
2443
- docs: A specific eLLM Model configuration
2444
- properties:
2445
- allow_short_responses:
2446
- type: boolean
2447
- docs: |-
2448
- Boolean indicating if the eLLM is allowed to generate short responses.
2449
-
2450
- If omitted, short responses from the eLLM are enabled by default.
2451
- source:
2452
- openapi: evi-openapi.json
2453
- ReturnBuiltinToolToolType:
2454
- enum:
2455
- - BUILTIN
2456
- - FUNCTION
2457
- docs: >-
2458
- Type of Tool. Either `BUILTIN` for natively implemented tools, like web
2459
- search, or `FUNCTION` for user-defined tools.
2460
- inline: true
2461
- source:
2462
- openapi: evi-openapi.json
2463
- ReturnBuiltinTool:
2464
- docs: A specific builtin tool version returned from the server
2465
- properties:
2466
- tool_type:
2467
- type: ReturnBuiltinToolToolType
2468
- docs: >-
2469
- Type of Tool. Either `BUILTIN` for natively implemented tools, like
2470
- web search, or `FUNCTION` for user-defined tools.
2471
- name:
2472
- type: string
2473
- docs: Name applied to all versions of a particular Tool.
2474
- fallback_content:
2475
- type: optional<string>
2476
- docs: >-
2477
- Optional text passed to the supplemental LLM in place of the tool call
2478
- result. The LLM then uses this text to generate a response back to the
2479
- user, ensuring continuity in the conversation if the Tool errors.
2480
- source:
2481
- openapi: evi-openapi.json
2482
- ReturnEventMessageSpecs:
2483
- docs: >-
2484
- Collection of event messages returned by the server.
2485
-
2486
-
2487
- Event messages are sent by the server when specific events occur during a
2488
- chat session. These messages are used to configure behaviors for EVI, such
2489
- as controlling how EVI starts a new conversation.
2490
- properties:
2491
- on_new_chat:
2492
- type: optional<ReturnEventMessageSpec>
2493
- docs: >-
2494
- Specifies the initial message EVI provides when a new chat is started,
2495
- such as a greeting or welcome message.
2496
- on_inactivity_timeout:
2497
- type: optional<ReturnEventMessageSpec>
2498
- docs: >-
2499
- Specifies the message EVI provides when the chat is about to be
2500
- disconnected due to a user inactivity timeout, such as a message
2501
- mentioning a lack of user input for a period of time.
2502
-
2503
-
2504
- Enabling an inactivity message allows developers to use this message
2505
- event for "checking in" with the user if they are not responding to
2506
- see if they are still active.
2507
-
2508
-
2509
- If the user does not respond in the number of seconds specified in the
2510
- `inactivity_timeout` field, then EVI will say the message and the user
2511
- has 15 seconds to respond. If they respond in time, the conversation
2512
- will continue; if not, the conversation will end.
2513
-
2514
-
2515
- However, if the inactivity message is not enabled, then reaching the
2516
- inactivity timeout will immediately end the connection.
2517
- on_max_duration_timeout:
2518
- type: optional<ReturnEventMessageSpec>
2519
- docs: >-
2520
- Specifies the message EVI provides when the chat is disconnected due
2521
- to reaching the maximum chat duration, such as a message mentioning
2522
- the time limit for the chat has been reached.
2523
- source:
2524
- openapi: evi-openapi.json
2525
- ReturnTimeoutSpecs:
2526
- docs: >-
2527
- Collection of timeout specifications returned by the server.
2528
-
2529
-
2530
- Timeouts are sent by the server when specific time-based events occur
2531
- during a chat session. These specifications set the inactivity timeout and
2532
- the maximum duration an EVI WebSocket connection can stay open before it
2533
- is automatically disconnected.
2534
- properties:
2535
- inactivity:
2536
- type: ReturnTimeoutSpec
2537
- docs: >-
2538
- Specifies the duration of user inactivity (in seconds) after which the
2539
- EVI WebSocket connection will be automatically disconnected. Default
2540
- is 600 seconds (10 minutes).
2541
-
2542
-
2543
- Accepts a minimum value of 30 seconds and a maximum value of 1,800
2544
- seconds.
2545
- max_duration:
2546
- type: ReturnTimeoutSpec
2547
- docs: >-
2548
- Specifies the maximum allowed duration (in seconds) for an EVI
2549
- WebSocket connection before it is automatically disconnected. Default
2550
- is 1,800 seconds (30 minutes).
2551
-
2552
-
2553
- Accepts a minimum value of 30 seconds and a maximum value of 1,800
2554
- seconds.
2555
- source:
2556
- openapi: evi-openapi.json
2557
- ReturnNudgeSpec:
2558
- docs: A specific nudge configuration returned from the server
2559
- properties:
2560
- enabled:
2561
- type: boolean
2562
- docs: EVI will nudge user after inactivity
2563
- interval_secs:
2564
- type: optional<integer>
2565
- docs: Time interval in seconds after which the nudge will be sent.
2566
- source:
2567
- openapi: evi-openapi.json
2568
- ReturnWebhookEventType:
2569
- enum:
2570
- - chat_started
2571
- - chat_ended
2572
- docs: Events this URL is subscribed to
2573
- inline: true
2574
- source:
2575
- openapi: evi-openapi.json
2576
- ReturnWebhookSpec:
2577
- docs: Collection of webhook URL endpoints to be returned from the server
2578
- properties:
2579
- url:
2580
- type: string
2581
- docs: >-
2582
- The URL where event payloads will be sent. This must be a valid https
2583
- URL to ensure secure communication. The server at this URL must accept
2584
- POST requests with a JSON payload.
2585
- events:
2586
- docs: >-
2587
- The list of events the specified URL is subscribed to.
2588
-
2589
-
2590
- See our [webhooks
2591
- guide](/docs/speech-to-speech-evi/configuration/build-a-configuration#supported-events)
2592
- for more information on supported events.
2593
- type: list<ReturnWebhookEventType>
2594
- source:
2595
- openapi: evi-openapi.json
2596
- ReturnChatStatus:
2597
- enum:
2598
- - ACTIVE
2599
- - USER_ENDED
2600
- - USER_TIMEOUT
2601
- - MAX_DURATION_TIMEOUT
2602
- - INACTIVITY_TIMEOUT
2603
- - ERROR
2604
- docs: >-
2605
- Indicates the current state of the chat. There are six possible statuses:
2606
-
2607
-
2608
- - `ACTIVE`: The chat is currently active and ongoing.
2609
-
2610
-
2611
- - `USER_ENDED`: The chat was manually ended by the user.
2612
-
2613
-
2614
- - `USER_TIMEOUT`: The chat ended due to a user-defined timeout.
2615
-
2616
-
2617
- - `MAX_DURATION_TIMEOUT`: The chat ended because it reached the maximum
2618
- allowed duration.
2619
-
2620
-
2621
- - `INACTIVITY_TIMEOUT`: The chat ended due to an inactivity timeout.
2622
-
2623
-
2624
- - `ERROR`: The chat ended unexpectedly due to an error.
2625
- inline: true
2626
- source:
2627
- openapi: evi-openapi.json
2628
- ReturnChat:
2629
- docs: A description of chat and its status
2630
- properties:
2631
- id:
2632
- type: string
2633
- docs: Identifier for a Chat. Formatted as a UUID.
2634
- chat_group_id:
2635
- type: string
2636
- docs: >-
2637
- Identifier for the Chat Group. Any chat resumed from this Chat will
2638
- have the same `chat_group_id`. Formatted as a UUID.
2639
- status:
2640
- type: ReturnChatStatus
2641
- docs: >-
2642
- Indicates the current state of the chat. There are six possible
2643
- statuses:
2644
-
2645
-
2646
- - `ACTIVE`: The chat is currently active and ongoing.
2647
-
2648
-
2649
- - `USER_ENDED`: The chat was manually ended by the user.
2650
-
2651
-
2652
- - `USER_TIMEOUT`: The chat ended due to a user-defined timeout.
2653
-
2654
-
2655
- - `MAX_DURATION_TIMEOUT`: The chat ended because it reached the
2656
- maximum allowed duration.
2657
-
2658
-
2659
- - `INACTIVITY_TIMEOUT`: The chat ended due to an inactivity timeout.
2660
-
2661
-
2662
- - `ERROR`: The chat ended unexpectedly due to an error.
2663
- start_timestamp:
2664
- type: long
2665
- docs: >-
2666
- Time at which the Chat started. Measured in seconds since the Unix
2667
- epoch.
2668
- end_timestamp:
2669
- type: optional<long>
2670
- docs: >-
2671
- Time at which the Chat ended. Measured in seconds since the Unix
2672
- epoch.
2673
- event_count:
2674
- type: optional<long>
2675
- docs: The total number of events currently in this chat.
2676
- metadata:
2677
- type: optional<string>
2678
- docs: Stringified JSON with additional metadata about the chat.
2679
- config: optional<ReturnConfigSpec>
2680
- source:
2681
- openapi: evi-openapi.json
2682
- ReturnChatEventRole:
2683
- enum:
2684
- - USER
2685
- - AGENT
2686
- - SYSTEM
2687
- - TOOL
2688
- docs: >-
2689
- The role of the entity which generated the Chat Event. There are four
2690
- possible values:
2691
-
2692
- - `USER`: The user, capable of sending user messages and interruptions.
2693
-
2694
- - `AGENT`: The assistant, capable of sending agent messages.
2695
-
2696
- - `SYSTEM`: The backend server, capable of transmitting errors.
2697
-
2698
- - `TOOL`: The function calling mechanism.
2699
- inline: true
2700
- source:
2701
- openapi: evi-openapi.json
2702
- ReturnChatEventType:
2703
- enum:
2704
- - FUNCTION_CALL
2705
- - FUNCTION_CALL_RESPONSE
2706
- - CHAT_END_MESSAGE
2707
- - AGENT_MESSAGE
2708
- - SYSTEM_PROMPT
2709
- - USER_RECORDING_START_MESSAGE
2710
- - RESUME_ONSET
2711
- - USER_INTERRUPTION
2712
- - CHAT_START_MESSAGE
2713
- - PAUSE_ONSET
2714
- - USER_MESSAGE
2715
- docs: >-
2716
- Type of Chat Event. There are eleven Chat Event types:
2717
-
2718
- - `SYSTEM_PROMPT`: The system prompt used to initialize the session.
2719
-
2720
- - `CHAT_START_MESSAGE`: Marks the beginning of the chat session.
2721
-
2722
- - `USER_RECORDING_START_MESSAGE`: Marks when the client began streaming
2723
- audio and the start of audio processing.
2724
-
2725
- - `USER_MESSAGE`: A message sent by the user.
2726
-
2727
- - `USER_INTERRUPTION`: A user-initiated interruption while the assistant
2728
- is speaking.
2729
-
2730
- - `AGENT_MESSAGE`: A response generated by the assistant.
2731
-
2732
- - `FUNCTION_CALL`: A record of a tool invocation by the assistant.
2733
-
2734
- - `FUNCTION_CALL_RESPONSE`: The result of a previously invoked function or
2735
- tool.
2736
-
2737
- - `PAUSE_ONSET`: Marks when the client sent a `pause_assistant_message` to
2738
- pause the assistant.
2739
-
2740
- - `RESUME_ONSET`: Marks when the client sent a `resume_assistant_message`
2741
- to resume the assistant.
2742
-
2743
- - `CHAT_END_MESSAGE`: Indicates the end of the chat session.
2744
- inline: true
2745
- source:
2746
- openapi: evi-openapi.json
2747
- ReturnChatEvent:
2748
- docs: A description of a single event in a chat returned from the server
2749
- properties:
2750
- id:
2751
- type: string
2752
- docs: Identifier for a Chat Event. Formatted as a UUID.
2753
- chat_id:
2754
- type: string
2755
- docs: Identifier for the Chat this event occurred in. Formatted as a UUID.
2756
- timestamp:
2757
- type: long
2758
- docs: >-
2759
- Time at which the Chat Event occurred. Measured in seconds since the
2760
- Unix epoch.
2761
- role:
2762
- type: ReturnChatEventRole
2763
- docs: >-
2764
- The role of the entity which generated the Chat Event. There are four
2765
- possible values:
2766
-
2767
- - `USER`: The user, capable of sending user messages and
2768
- interruptions.
2769
-
2770
- - `AGENT`: The assistant, capable of sending agent messages.
2771
-
2772
- - `SYSTEM`: The backend server, capable of transmitting errors.
2773
-
2774
- - `TOOL`: The function calling mechanism.
2775
- type:
2776
- type: ReturnChatEventType
2777
- docs: >-
2778
- Type of Chat Event. There are eleven Chat Event types:
2779
-
2780
- - `SYSTEM_PROMPT`: The system prompt used to initialize the session.
2781
-
2782
- - `CHAT_START_MESSAGE`: Marks the beginning of the chat session.
2783
-
2784
- - `USER_RECORDING_START_MESSAGE`: Marks when the client began
2785
- streaming audio and the start of audio processing.
2786
-
2787
- - `USER_MESSAGE`: A message sent by the user.
2788
-
2789
- - `USER_INTERRUPTION`: A user-initiated interruption while the
2790
- assistant is speaking.
2791
-
2792
- - `AGENT_MESSAGE`: A response generated by the assistant.
2793
-
2794
- - `FUNCTION_CALL`: A record of a tool invocation by the assistant.
2795
-
2796
- - `FUNCTION_CALL_RESPONSE`: The result of a previously invoked
2797
- function or tool.
2798
-
2799
- - `PAUSE_ONSET`: Marks when the client sent a
2800
- `pause_assistant_message` to pause the assistant.
2801
-
2802
- - `RESUME_ONSET`: Marks when the client sent a
2803
- `resume_assistant_message` to resume the assistant.
2804
-
2805
- - `CHAT_END_MESSAGE`: Indicates the end of the chat session.
2806
- message_text:
2807
- type: optional<string>
2808
- docs: >-
2809
- The text of the Chat Event. This field contains the message content
2810
- for each event type listed in the `type` field.
2811
- emotion_features:
2812
- type: optional<string>
2813
- docs: >-
2814
- Stringified JSON containing the prosody model inference results.
2815
-
2816
-
2817
- EVI uses the prosody model to measure 48 expressions related to speech
2818
- and vocal characteristics. These results contain a detailed emotional
2819
- and tonal analysis of the audio. Scores typically range from 0 to 1,
2820
- with higher values indicating a stronger confidence level in the
2821
- measured attribute.
2822
- metadata:
2823
- type: optional<string>
2824
- docs: Stringified JSON with additional metadata about the chat event.
2825
- source:
2826
- openapi: evi-openapi.json
2827
- ReturnConfigSpec:
2828
- docs: The Config associated with this Chat.
2829
- properties:
2830
- id:
2831
- type: string
2832
- docs: Identifier for a Config. Formatted as a UUID.
2833
- version:
2834
- type: optional<integer>
2835
- docs: >-
2836
- Version number for a Config.
2837
-
2838
-
2839
- Configs, Prompts, Custom Voices, and Tools are versioned. This
2840
- versioning system supports iterative development, allowing you to
2841
- progressively refine configurations and revert to previous versions if
2842
- needed.
2843
-
2844
-
2845
- Version numbers are integer values representing different iterations
2846
- of the Config. Each update to the Config increments its version
2847
- number.
2848
- source:
2849
- openapi: evi-openapi.json
2850
- ReturnChatGroup:
2851
- docs: A description of chat_group and its status
2852
- properties:
2853
- id:
2854
- type: string
2855
- docs: >-
2856
- Identifier for the Chat Group. Any Chat resumed from this Chat Group
2857
- will have the same `chat_group_id`. Formatted as a UUID.
2858
- first_start_timestamp:
2859
- type: long
2860
- docs: >-
2861
- Time at which the first Chat in this Chat Group was created. Measured
2862
- in seconds since the Unix epoch.
2863
- most_recent_start_timestamp:
2864
- type: long
2865
- docs: >-
2866
- Time at which the most recent Chat in this Chat Group was created.
2867
- Measured in seconds since the Unix epoch.
2868
- most_recent_chat_id:
2869
- type: optional<string>
2870
- docs: >-
2871
- The `chat_id` of the most recent Chat in this Chat Group. Formatted as
2872
- a UUID.
2873
- most_recent_config: optional<ReturnConfigSpec>
2874
- num_chats:
2875
- type: integer
2876
- docs: The total number of Chats in this Chat Group.
2877
- active:
2878
- type: optional<boolean>
2879
- docs: >-
2880
- Denotes whether there is an active Chat associated with this Chat
2881
- Group.
2882
- source:
2883
- openapi: evi-openapi.json
2884
- PostedEventMessageSpec:
2885
- docs: Settings for a specific event_message to be posted to the server
2886
- properties:
2887
- enabled:
2888
- type: boolean
2889
- docs: >-
2890
- Boolean indicating if this event message is enabled.
2891
-
2892
-
2893
- If set to `true`, a message will be sent when the circumstances for
2894
- the specific event are met.
2895
- text:
2896
- type: optional<string>
2897
- docs: >-
2898
- Text to use as the event message when the corresponding event occurs.
2899
- If no text is specified, EVI will generate an appropriate message
2900
- based on its current context and the system prompt.
2901
- source:
2902
- openapi: evi-openapi.json
2903
- PostedTimeoutSpec:
2904
- docs: Settings for a specific timeout to be posted to the server
2905
- properties:
2906
- enabled:
2907
- type: boolean
2908
- docs: Boolean indicating if this event message is enabled.
2909
- duration_secs:
2910
- type: optional<integer>
2911
- docs: Duration in seconds for the timeout.
2912
- source:
2913
- openapi: evi-openapi.json
2914
- ReturnEventMessageSpec:
2915
- docs: A specific event message configuration to be returned from the server
2916
- properties:
2917
- enabled:
2918
- type: boolean
2919
- docs: >-
2920
- Boolean indicating if this event message is enabled.
2921
-
2922
-
2923
- If set to `true`, a message will be sent when the circumstances for
2924
- the specific event are met.
2925
- text:
2926
- type: optional<string>
2927
- docs: >-
2928
- Text to use as the event message when the corresponding event occurs.
2929
- If no text is specified, EVI will generate an appropriate message
2930
- based on its current context and the system prompt.
2931
- source:
2932
- openapi: evi-openapi.json
2933
- ReturnTimeoutSpec:
2934
- docs: A specific timeout configuration to be returned from the server
2935
- properties:
2936
- enabled:
2937
- type: boolean
2938
- docs: >-
2939
- Boolean indicating if this timeout is enabled.
2940
-
2941
-
2942
- If set to false, EVI will not timeout due to a specified duration
2943
- being reached. However, the conversation will eventually disconnect
2944
- after 1,800 seconds (30 minutes), which is the maximum WebSocket
2945
- duration limit for EVI.
2946
- duration_secs:
2947
- type: optional<integer>
2948
- docs: >-
2949
- Duration in seconds for the timeout (e.g. 600 seconds represents 10
2950
- minutes).
2951
- source:
2952
- openapi: evi-openapi.json
2953
- VoiceRef:
2954
- discriminated: false
2955
- union:
2956
- - type: VoiceId
2957
- - type: VoiceName
2958
- source:
2959
- openapi: evi-openapi.json
2960
- ReturnVoice:
2961
- docs: An Octave voice available for text-to-speech
2962
- properties:
2963
- id: optional<string>
2964
- name: optional<string>
2965
- provider: optional<VoiceProvider>
2966
- source:
2967
- openapi: evi-openapi.json
2968
- VoiceProvider:
2969
- enum:
2970
- - HUME_AI
2971
- - CUSTOM_VOICE
2972
- source:
2973
- openapi: evi-openapi.json