retell-sdk 5.49.1 → 5.49.2

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 (107) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/client.d.mts +9 -9
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +9 -9
  5. package/client.d.ts.map +1 -1
  6. package/package.json +1 -1
  7. package/resources/agent.d.mts +69 -69
  8. package/resources/agent.d.mts.map +1 -1
  9. package/resources/agent.d.ts +69 -69
  10. package/resources/agent.d.ts.map +1 -1
  11. package/resources/agent.js +30 -30
  12. package/resources/agent.js.map +1 -1
  13. package/resources/agent.mjs +30 -30
  14. package/resources/agent.mjs.map +1 -1
  15. package/resources/call.d.mts +1350 -1350
  16. package/resources/call.d.mts.map +1 -1
  17. package/resources/call.d.ts +1350 -1350
  18. package/resources/call.d.ts.map +1 -1
  19. package/resources/call.js +60 -60
  20. package/resources/call.js.map +1 -1
  21. package/resources/call.mjs +60 -60
  22. package/resources/call.mjs.map +1 -1
  23. package/resources/chat-agent.d.mts +70 -70
  24. package/resources/chat-agent.d.mts.map +1 -1
  25. package/resources/chat-agent.d.ts +70 -70
  26. package/resources/chat-agent.d.ts.map +1 -1
  27. package/resources/chat-agent.js +31 -31
  28. package/resources/chat-agent.js.map +1 -1
  29. package/resources/chat-agent.mjs +31 -31
  30. package/resources/chat-agent.mjs.map +1 -1
  31. package/resources/chat.d.mts +97 -97
  32. package/resources/chat.d.mts.map +1 -1
  33. package/resources/chat.d.ts +97 -97
  34. package/resources/chat.d.ts.map +1 -1
  35. package/resources/chat.js +55 -55
  36. package/resources/chat.js.map +1 -1
  37. package/resources/chat.mjs +55 -55
  38. package/resources/chat.mjs.map +1 -1
  39. package/resources/conversation-flow-component.d.mts +25 -25
  40. package/resources/conversation-flow-component.d.mts.map +1 -1
  41. package/resources/conversation-flow-component.d.ts +25 -25
  42. package/resources/conversation-flow-component.d.ts.map +1 -1
  43. package/resources/conversation-flow-component.js +12 -12
  44. package/resources/conversation-flow-component.js.map +1 -1
  45. package/resources/conversation-flow-component.mjs +12 -12
  46. package/resources/conversation-flow-component.mjs.map +1 -1
  47. package/resources/conversation-flow.d.mts +25 -25
  48. package/resources/conversation-flow.d.mts.map +1 -1
  49. package/resources/conversation-flow.d.ts +25 -25
  50. package/resources/conversation-flow.d.ts.map +1 -1
  51. package/resources/conversation-flow.js +12 -12
  52. package/resources/conversation-flow.js.map +1 -1
  53. package/resources/conversation-flow.mjs +12 -12
  54. package/resources/conversation-flow.mjs.map +1 -1
  55. package/resources/index.d.mts +9 -9
  56. package/resources/index.d.mts.map +1 -1
  57. package/resources/index.d.ts +9 -9
  58. package/resources/index.d.ts.map +1 -1
  59. package/resources/llm.d.mts +24 -24
  60. package/resources/llm.d.mts.map +1 -1
  61. package/resources/llm.d.ts +24 -24
  62. package/resources/llm.d.ts.map +1 -1
  63. package/resources/llm.js +11 -11
  64. package/resources/llm.js.map +1 -1
  65. package/resources/llm.mjs +11 -11
  66. package/resources/llm.mjs.map +1 -1
  67. package/resources/phone-number.d.mts +130 -130
  68. package/resources/phone-number.d.mts.map +1 -1
  69. package/resources/phone-number.d.ts +130 -130
  70. package/resources/phone-number.d.ts.map +1 -1
  71. package/resources/phone-number.js +27 -27
  72. package/resources/phone-number.js.map +1 -1
  73. package/resources/phone-number.mjs +27 -27
  74. package/resources/phone-number.mjs.map +1 -1
  75. package/resources/tests.d.mts +95 -95
  76. package/resources/tests.d.mts.map +1 -1
  77. package/resources/tests.d.ts +95 -95
  78. package/resources/tests.d.ts.map +1 -1
  79. package/resources/tests.js +27 -27
  80. package/resources/tests.js.map +1 -1
  81. package/resources/tests.mjs +27 -27
  82. package/resources/tests.mjs.map +1 -1
  83. package/resources/voice.d.mts +8 -8
  84. package/resources/voice.d.mts.map +1 -1
  85. package/resources/voice.d.ts +8 -8
  86. package/resources/voice.d.ts.map +1 -1
  87. package/resources/voice.js +12 -12
  88. package/resources/voice.js.map +1 -1
  89. package/resources/voice.mjs +12 -12
  90. package/resources/voice.mjs.map +1 -1
  91. package/src/client.ts +18 -18
  92. package/src/resources/agent.ts +90 -90
  93. package/src/resources/call.ts +1821 -1821
  94. package/src/resources/chat-agent.ts +95 -95
  95. package/src/resources/chat.ts +112 -112
  96. package/src/resources/conversation-flow-component.ts +34 -34
  97. package/src/resources/conversation-flow.ts +34 -34
  98. package/src/resources/index.ts +18 -18
  99. package/src/resources/llm.ts +30 -30
  100. package/src/resources/phone-number.ts +152 -152
  101. package/src/resources/tests.ts +136 -136
  102. package/src/resources/voice.ts +12 -12
  103. package/src/version.ts +1 -1
  104. package/version.d.mts +1 -1
  105. package/version.d.ts +1 -1
  106. package/version.js +1 -1
  107. package/version.mjs +1 -1
@@ -3,100 +3,100 @@ import { APIPromise } from "../core/api-promise.mjs";
3
3
  import { RequestOptions } from "../internal/request-options.mjs";
4
4
  export declare class Call extends APIResource {
5
5
  /**
6
- * Create a new outbound phone call
6
+ * Retrieve details of a specific call
7
7
  *
8
8
  * @example
9
9
  * ```ts
10
- * const phoneCallResponse = await client.call.createPhoneCall(
11
- * {
12
- * from_number: '+14157774444',
13
- * to_number: '+12137774445',
14
- * },
10
+ * const callResponse = await client.call.retrieve(
11
+ * '119c3f8e47135a29e65947eeb34cf12d',
15
12
  * );
16
13
  * ```
17
14
  */
18
- createPhoneCall(body: CallCreatePhoneCallParams, options?: RequestOptions): APIPromise<PhoneCallResponse>;
15
+ retrieve(callID: string, options?: RequestOptions): APIPromise<CallResponse>;
19
16
  /**
20
- * Register a new phone call for custom telephony
17
+ * Update metadata and sensitive data storage settings for an existing call.
21
18
  *
22
19
  * @example
23
20
  * ```ts
24
- * const phoneCallResponse =
25
- * await client.call.registerPhoneCall({
26
- * agent_id: 'oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD',
27
- * });
21
+ * const callResponse = await client.call.update(
22
+ * 'call_a4441234567890777c4a4a123e6',
23
+ * {
24
+ * data_storage_setting: 'everything_except_pii',
25
+ * metadata: {
26
+ * customer_id: 'cust_123',
27
+ * notes: 'Follow-up required',
28
+ * },
29
+ * },
30
+ * );
28
31
  * ```
29
32
  */
30
- registerPhoneCall(body: CallRegisterPhoneCallParams, options?: RequestOptions): APIPromise<PhoneCallResponse>;
33
+ update(callID: string, body: CallUpdateParams, options?: RequestOptions): APIPromise<CallResponse>;
31
34
  /**
32
- * Create a new web call
35
+ * List calls with unified cursor pagination response.
33
36
  *
34
37
  * @example
35
38
  * ```ts
36
- * const webCallResponse = await client.call.createWebCall({
37
- * agent_id: 'oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD',
38
- * });
39
+ * const calls = await client.call.list();
39
40
  * ```
40
41
  */
41
- createWebCall(body: CallCreateWebCallParams, options?: RequestOptions): APIPromise<WebCallResponse>;
42
+ list(body?: CallListParams | null | undefined, options?: RequestOptions): APIPromise<CallListResponse>;
42
43
  /**
43
- * Retrieve details of a specific call
44
+ * Delete a specific call and its associated data
44
45
  *
45
46
  * @example
46
47
  * ```ts
47
- * const callResponse = await client.call.retrieve(
48
+ * await client.call.delete(
48
49
  * '119c3f8e47135a29e65947eeb34cf12d',
49
50
  * );
50
51
  * ```
51
52
  */
52
- retrieve(callID: string, options?: RequestOptions): APIPromise<CallResponse>;
53
+ delete(callID: string, options?: RequestOptions): APIPromise<void>;
53
54
  /**
54
- * List calls with unified cursor pagination response.
55
+ * Create a new outbound phone call
55
56
  *
56
57
  * @example
57
58
  * ```ts
58
- * const calls = await client.call.list();
59
+ * const phoneCallResponse = await client.call.createPhoneCall(
60
+ * {
61
+ * from_number: '+14157774444',
62
+ * to_number: '+12137774445',
63
+ * },
64
+ * );
59
65
  * ```
60
66
  */
61
- list(body?: CallListParams | null | undefined, options?: RequestOptions): APIPromise<CallListResponse>;
67
+ createPhoneCall(body: CallCreatePhoneCallParams, options?: RequestOptions): APIPromise<PhoneCallResponse>;
62
68
  /**
63
- * Update metadata and sensitive data storage settings for an existing call.
69
+ * Create a new web call
64
70
  *
65
71
  * @example
66
72
  * ```ts
67
- * const callResponse = await client.call.update(
68
- * 'call_a4441234567890777c4a4a123e6',
69
- * {
70
- * data_storage_setting: 'everything_except_pii',
71
- * metadata: {
72
- * customer_id: 'cust_123',
73
- * notes: 'Follow-up required',
74
- * },
75
- * },
76
- * );
73
+ * const webCallResponse = await client.call.createWebCall({
74
+ * agent_id: 'oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD',
75
+ * });
77
76
  * ```
78
77
  */
79
- update(callID: string, body: CallUpdateParams, options?: RequestOptions): APIPromise<CallResponse>;
78
+ createWebCall(body: CallCreateWebCallParams, options?: RequestOptions): APIPromise<WebCallResponse>;
80
79
  /**
81
- * Stop an ongoing call.
80
+ * Register a new phone call for custom telephony
82
81
  *
83
82
  * @example
84
83
  * ```ts
85
- * await client.call.stop('call_a4441234567890777c4a4a123e6');
84
+ * const phoneCallResponse =
85
+ * await client.call.registerPhoneCall({
86
+ * agent_id: 'oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD',
87
+ * });
86
88
  * ```
87
89
  */
88
- stop(callID: string, options?: RequestOptions): APIPromise<void>;
90
+ registerPhoneCall(body: CallRegisterPhoneCallParams, options?: RequestOptions): APIPromise<PhoneCallResponse>;
89
91
  /**
90
- * Delete a specific call and its associated data
92
+ * Stop an ongoing call.
91
93
  *
92
94
  * @example
93
95
  * ```ts
94
- * await client.call.delete(
95
- * '119c3f8e47135a29e65947eeb34cf12d',
96
- * );
96
+ * await client.call.stop('call_a4441234567890777c4a4a123e6');
97
97
  * ```
98
98
  */
99
- delete(callID: string, options?: RequestOptions): APIPromise<void>;
99
+ stop(callID: string, options?: RequestOptions): APIPromise<void>;
100
100
  }
101
101
  export type CallResponse = WebCallResponse | PhoneCallResponse;
102
102
  export interface PhoneCallResponse {
@@ -3235,993 +3235,705 @@ export declare namespace CallListResponse {
3235
3235
  }
3236
3236
  }
3237
3237
  }
3238
- export interface CallCreatePhoneCallParams {
3238
+ export interface CallUpdateParams {
3239
3239
  /**
3240
- * The number you own in E.164 format. Must be a number purchased from Retell or
3241
- * imported to Retell.
3240
+ * Custom attributes for the call, as key-value pairs. Each attribute must first be
3241
+ * defined for your organization in the Retell dashboard (Call History → Actions →
3242
+ * Custom attributes) before it can be set here. The object key must match the id
3243
+ * of an existing organization-level custom attribute; keys that do not match a
3244
+ * defined attribute are ignored and will not be saved. Values must be a string,
3245
+ * number, or boolean.
3242
3246
  */
3243
- from_number: string;
3247
+ custom_attributes?: {
3248
+ [key: string]: string | number | boolean;
3249
+ };
3244
3250
  /**
3245
- * The number you want to call, in E.164 format. If using a number purchased from
3246
- * Retell, only US numbers are supported as destination.
3251
+ * Data storage setting for this call. Overrides the agent's default setting.
3252
+ * "everything" stores all data, "everything_except_pii" excludes PII when
3253
+ * possible, "basic_attributes_only" stores only metadata. Cannot be downgraded
3254
+ * from more restrictive to less restrictive settings.
3247
3255
  */
3248
- to_number: string;
3256
+ data_storage_setting?: 'everything' | 'everything_except_pii' | 'basic_attributes_only';
3249
3257
  /**
3250
- * For this particular call, override agent configuration with these settings. This
3251
- * allows you to customize agent behavior for individual calls without modifying
3252
- * the base agent.
3258
+ * An arbitrary object for storage purpose only. You can put anything here like
3259
+ * your internal customer id associated with the call. Not used for processing. You
3260
+ * can later get this field from the call object. Size limited to 50kB max.
3253
3261
  */
3254
- agent_override?: CallCreatePhoneCallParams.AgentOverride;
3262
+ metadata?: unknown;
3263
+ }
3264
+ export interface CallListParams {
3255
3265
  /**
3256
- * Add optional custom SIP headers to the call.
3266
+ * Filter criteria for calls. All conditions are implicitly connected with AND.
3257
3267
  */
3258
- custom_sip_headers?: {
3259
- [key: string]: string;
3260
- };
3268
+ filter_criteria?: CallListParams.FilterCriteria;
3261
3269
  /**
3262
- * If true, the e.164 validation will be ignored for the from_number. This can be
3263
- * useful when you want to dial to internal pseudo numbers. This only applies when
3264
- * you are using custom telephony and does not apply when you are using Retell
3265
- * Telephony. If omitted, the default value is false.
3270
+ * Whether to include `total` (count of all calls matching `filter_criteria`,
3271
+ * ignoring `limit`/`skip`/`pagination_key`) in the response. Defaults to false.
3272
+ * Each enabled request triggers an additional aggregate query, so opt in only when
3273
+ * the total is needed.
3266
3274
  */
3267
- ignore_e164_validation?: boolean;
3275
+ include_total?: boolean;
3268
3276
  /**
3269
- * An arbitrary object for storage purpose only. You can put anything here like
3270
- * your internal customer id associated with the call. Not used for processing. You
3271
- * can later get this field from the call object.
3277
+ * Maximum number of calls to return.
3272
3278
  */
3273
- metadata?: unknown;
3279
+ limit?: number;
3274
3280
  /**
3275
- * For this particular call, override the agent used with this agent id. This does
3276
- * not bind the agent to this number, this is for one time override.
3281
+ * Opaque pagination cursor from a previous response.
3277
3282
  */
3278
- override_agent_id?: string;
3283
+ pagination_key?: string;
3279
3284
  /**
3280
- * For this particular call, override the agent version used with this version.
3281
- * This does not bind the agent version to this number, this is for one time
3282
- * override.
3285
+ * Number of records to skip for pagination.
3283
3286
  */
3284
- override_agent_version?: string | number;
3287
+ skip?: number;
3285
3288
  /**
3286
- * Add optional dynamic variables in key value pairs of string that injects into
3287
- * your Response Engine prompt and tool description. Only applicable for Response
3288
- * Engine.
3289
+ * Sort calls by `start_timestamp` in ascending or descending order.
3289
3290
  */
3290
- retell_llm_dynamic_variables?: {
3291
- [key: string]: string;
3292
- };
3291
+ sort_order?: 'ascending' | 'descending';
3293
3292
  }
3294
- export declare namespace CallCreatePhoneCallParams {
3293
+ export declare namespace CallListParams {
3295
3294
  /**
3296
- * For this particular call, override agent configuration with these settings. This
3297
- * allows you to customize agent behavior for individual calls without modifying
3298
- * the base agent.
3295
+ * Filter criteria for calls. All conditions are implicitly connected with AND.
3299
3296
  */
3300
- interface AgentOverride {
3297
+ interface FilterCriteria {
3301
3298
  /**
3302
- * Override agent configuration settings. Any properties specified here will
3303
- * override the base agent configuration for this call.
3299
+ * Filter by agent(s). Agent filters are connected by OR.
3304
3300
  */
3305
- agent?: AgentOverride.Agent;
3301
+ agent?: Array<FilterCriteria.Agent>;
3306
3302
  /**
3307
- * Override conversation flow configuration settings. Only applicable when using
3308
- * conversation flow as the response engine. Supported attributes - model_choice,
3309
- * model_temperature, tool_call_strict_mode, knowledge_base_ids, kb_config,
3310
- * start_speaker, begin_after_user_silence_ms.
3303
+ * Filter by agent environment tag(s) (e.g. "prod", "staging").
3311
3304
  */
3312
- conversation_flow?: AgentOverride.ConversationFlow;
3305
+ agent_tag?: FilterCriteria.AgentTag;
3313
3306
  /**
3314
- * Override Retell LLM configuration settings. Only applicable when using Retell
3315
- * LLM as the response engine. Supported attributes - model, s2s_model,
3316
- * model_temperature, model_high_priority, tool_call_strict_mode,
3317
- * knowledge_base_ids, kb_config, start_speaker, begin_after_user_silence_ms,
3318
- * begin_message.
3307
+ * Filter by batch call ID.
3319
3308
  */
3320
- retell_llm?: AgentOverride.RetellLlm;
3321
- }
3322
- namespace AgentOverride {
3309
+ batch_call_id?: FilterCriteria.BatchCallID;
3323
3310
  /**
3324
- * Override agent configuration settings. Any properties specified here will
3325
- * override the base agent configuration for this call.
3311
+ * Filter by call ID.
3326
3312
  */
3327
- interface Agent {
3328
- /**
3329
- * The name of the agent. Only used for your own reference.
3330
- */
3331
- agent_name?: string | null;
3332
- /**
3333
- * If set to true, DTMF input will interrupt the agent even when
3334
- * interruption_sensitivity is 0. Can be overridden per conversation or subagent
3335
- * node. Default to false.
3336
- */
3337
- allow_dtmf_interruption?: boolean;
3338
- /**
3339
- * If set to true, DTMF input will be accepted and processed. If false, any DTMF
3340
- * input will be ignored. Default to true.
3341
- */
3342
- allow_user_dtmf?: boolean;
3343
- /**
3344
- * If set, will add ambient environment sound to the call to make experience more
3345
- * realistic. Currently supports the following options:
3346
- *
3347
- * - `coffee-shop`: Coffee shop ambience with people chatting in background.
3348
- * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/coffee-shop.wav)
3349
- * - `convention-hall`: Convention hall ambience, with some echo and people
3350
- * chatting in background.
3351
- * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/convention-hall.wav)
3352
- * - `summer-outdoor`: Summer outdoor ambience with cicada chirping.
3353
- * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/summer-outdoor.wav)
3354
- * - `mountain-outdoor`: Mountain outdoor ambience with birds singing.
3355
- * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/mountain-outdoor.wav)
3356
- * - `static-noise`: Constant static noise.
3357
- * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/static-noise.wav)
3358
- * - `call-center`: Call center work noise.
3359
- * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/call-center.wav)
3360
- * Set to `null` to remove ambient sound from this agent.
3361
- */
3362
- ambient_sound?: 'coffee-shop' | 'convention-hall' | 'summer-outdoor' | 'mountain-outdoor' | 'static-noise' | 'call-center' | null;
3363
- /**
3364
- * If set, will control the volume of the ambient sound. Value ranging from [0,2].
3365
- * Lower value means quieter ambient sound, while higher value means louder ambient
3366
- * sound. If unset, default value 1 will apply.
3367
- */
3368
- ambient_sound_volume?: number;
3369
- /**
3370
- * Only applicable when enable_backchannel is true. Controls how often the agent
3371
- * would backchannel when a backchannel is possible. Value ranging from [0,1].
3372
- * Lower value means less frequent backchannel, while higher value means more
3373
- * frequent backchannel. If unset, default value 0.8 will apply.
3374
- */
3375
- backchannel_frequency?: number;
3376
- /**
3377
- * Only applicable when enable_backchannel is true. A list of words that the agent
3378
- * would use as backchannel. If not set, default backchannel words will apply.
3379
- * Check out
3380
- * [backchannel default words](/agent/interaction-configuration#backchannel) for
3381
- * more details. Note that certain voices do not work too well with certain words,
3382
- * so it's recommended to experiment before adding any words.
3383
- */
3384
- backchannel_words?: Array<string> | null;
3385
- /**
3386
- * If set, will delay the first message by the specified amount of milliseconds, so
3387
- * that it gives user more time to prepare to take the call. Valid range is [0,
3388
- * 5000]. If not set or set to 0, agent will speak immediately. Only applicable
3389
- * when agent speaks first.
3390
- */
3391
- begin_message_delay_ms?: number;
3313
+ call_id?: FilterCriteria.StringFilter | FilterCriteria.EnumFilter;
3314
+ call_status?: FilterCriteria.CallStatus;
3315
+ /**
3316
+ * Filter by whether the call was successful.
3317
+ */
3318
+ call_successful?: FilterCriteria.CallSuccessful;
3319
+ call_type?: FilterCriteria.CallType;
3320
+ /**
3321
+ * Filter by combined cost of the call.
3322
+ */
3323
+ combined_cost?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
3324
+ /**
3325
+ * Filter by custom analysis data fields.
3326
+ */
3327
+ custom_analysis_data?: Array<FilterCriteria.StringFilter | FilterCriteria.NumberFilter | FilterCriteria.BooleanFilter | FilterCriteria.RangeFilter | FilterCriteria.EnumFilter | FilterCriteria.PresentFilter>;
3328
+ /**
3329
+ * Filter by custom attributes fields.
3330
+ */
3331
+ custom_attributes?: Array<FilterCriteria.StringFilter | FilterCriteria.NumberFilter | FilterCriteria.BooleanFilter | FilterCriteria.RangeFilter | FilterCriteria.EnumFilter | FilterCriteria.PresentFilter>;
3332
+ data_storage_setting?: FilterCriteria.DataStorageSetting;
3333
+ direction?: FilterCriteria.Direction;
3334
+ disconnection_reason?: FilterCriteria.DisconnectionReason;
3335
+ /**
3336
+ * Filter by call duration in milliseconds.
3337
+ */
3338
+ duration_ms?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
3339
+ /**
3340
+ * Filter by dynamic variables.
3341
+ */
3342
+ dynamic_variables?: Array<FilterCriteria.DynamicVariable>;
3343
+ /**
3344
+ * Filter by end-to-end latency p50.
3345
+ */
3346
+ e2e_latency_p50?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
3347
+ /**
3348
+ * Filter by call end timestamp (epoch ms).
3349
+ */
3350
+ end_timestamp?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
3351
+ /**
3352
+ * Filter by from number.
3353
+ */
3354
+ from_number?: FilterCriteria.FromNumber;
3355
+ /**
3356
+ * Filter by whether the call is in voicemail.
3357
+ */
3358
+ in_voicemail?: FilterCriteria.InVoicemail;
3359
+ /**
3360
+ * Filter by metadata fields.
3361
+ */
3362
+ metadata?: Array<FilterCriteria.StringFilter | FilterCriteria.NumberFilter | FilterCriteria.BooleanFilter | FilterCriteria.RangeFilter | FilterCriteria.EnumFilter | FilterCriteria.PresentFilter>;
3363
+ /**
3364
+ * Filter by call start timestamp (epoch ms).
3365
+ */
3366
+ start_timestamp?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
3367
+ /**
3368
+ * Filter by to number.
3369
+ */
3370
+ to_number?: FilterCriteria.ToNumber;
3371
+ /**
3372
+ * Filter by tool call criteria. Tool call filters are connected by AND.
3373
+ */
3374
+ tool_calls?: Array<FilterCriteria.ToolCall>;
3375
+ user_sentiment?: FilterCriteria.UserSentiment;
3376
+ }
3377
+ namespace FilterCriteria {
3378
+ interface Agent {
3392
3379
  /**
3393
- * Provide a customized list of keywords to bias the transcriber model, so that
3394
- * these words are more likely to get transcribed. Commonly used for names, brands,
3395
- * street, etc. Entries may reference dynamic variables with `{{variable}}` syntax.
3380
+ * The agent ID to filter on.
3396
3381
  */
3397
- boosted_keywords?: Array<string> | null;
3382
+ agent_id: string;
3398
3383
  /**
3399
- * If this option is set, the agent prompt will include call screen handling
3400
- * instructions for identity and call purpose questions. Set this to null to
3401
- * disable call screen prompt instructions.
3384
+ * Specific versions to filter on. If not provided, all versions are included.
3402
3385
  */
3403
- call_screening_option?: Agent.CallScreeningOption | null;
3386
+ version?: Array<number>;
3387
+ }
3388
+ /**
3389
+ * Filter by agent environment tag(s) (e.g. "prod", "staging").
3390
+ */
3391
+ interface AgentTag {
3404
3392
  /**
3405
- * Custom STT configuration. Only used when stt_mode is set to custom.
3393
+ * in: value is one of the listed values
3406
3394
  */
3407
- custom_stt_config?: Agent.CustomSttConfig | null;
3395
+ op: 'in';
3396
+ type: 'enum';
3397
+ value: Array<string>;
3398
+ }
3399
+ /**
3400
+ * Filter by batch call ID.
3401
+ */
3402
+ interface BatchCallID {
3408
3403
  /**
3409
- * Number of days to retain call/chat data before automatic deletion. Must be
3410
- * between 1 and 730 days. If not set, data is retained forever (no automatic
3411
- * deletion).
3404
+ * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
3412
3405
  */
3413
- data_storage_retention_days?: number | null;
3406
+ op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
3407
+ type: 'string';
3408
+ value: string;
3409
+ }
3410
+ interface StringFilter {
3414
3411
  /**
3415
- * Granular setting to manage how Retell stores sensitive data (transcripts,
3416
- * recordings, logs, etc.). This replaces the deprecated
3417
- * `opt_out_sensitive_data_storage` field.
3418
- *
3419
- * - `everything`: Store all data including transcripts, recordings, and logs.
3420
- * - `everything_except_pii`: Store data without PII when PII is detected.
3421
- * - `basic_attributes_only`: Store only basic attributes; no
3422
- * transcripts/recordings/logs. If not set, default value of "everything" will
3423
- * apply.
3412
+ * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
3424
3413
  */
3425
- data_storage_setting?: 'everything' | 'everything_except_pii' | 'basic_attributes_only';
3414
+ op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
3415
+ type: 'string';
3416
+ value: string;
3417
+ }
3418
+ interface EnumFilter {
3426
3419
  /**
3427
- * If set, determines what denoising mode to use. Use "no-denoise" to bypass all
3428
- * audio denoising. Default to noise-cancellation.
3420
+ * in: value is one of the listed values
3429
3421
  */
3430
- denoising_mode?: 'no-denoise' | 'noise-cancellation' | 'noise-and-background-speech-cancellation';
3422
+ op: 'in';
3423
+ type: 'enum';
3424
+ value: Array<string>;
3425
+ }
3426
+ interface CallStatus {
3431
3427
  /**
3432
- * Controls whether the agent would backchannel (agent interjects the speaker with
3433
- * phrases like "yeah", "uh-huh" to signify interest and engagement). Backchannel
3434
- * when enabled tends to show up more in longer user utterances. If not set, agent
3435
- * will not backchannel.
3428
+ * in: value is one of the listed values
3436
3429
  */
3437
- enable_backchannel?: boolean;
3430
+ op: 'in';
3431
+ type: 'enum';
3432
+ value: Array<'not_connected' | 'ongoing' | 'ended' | 'error'>;
3433
+ }
3434
+ /**
3435
+ * Filter by whether the call was successful.
3436
+ */
3437
+ interface CallSuccessful {
3438
+ op: 'eq';
3439
+ type: 'boolean';
3440
+ value: boolean;
3441
+ }
3442
+ interface CallType {
3438
3443
  /**
3439
- * If set to true, the agent will dynamically adjust how quickly it responds based
3440
- * on the user's speech rate and past turn-taking behavior in the call. If unset,
3441
- * default value false will apply.
3444
+ * in: value is one of the listed values
3442
3445
  */
3443
- enable_dynamic_responsiveness?: boolean;
3446
+ op: 'in';
3447
+ type: 'enum';
3448
+ value: Array<'web_call' | 'phone_call'>;
3449
+ }
3450
+ interface NumberFilter {
3444
3451
  /**
3445
- * If set to true, will enable dynamic voice speed adjustment based on the user's
3446
- * speech rate and conversation context. If unset, default value false will apply.
3452
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
3453
+ * than, le: less than or equal
3447
3454
  */
3448
- enable_dynamic_voice_speed?: boolean;
3455
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
3456
+ type: 'number';
3457
+ value: number;
3458
+ }
3459
+ interface RangeFilter {
3449
3460
  /**
3450
- * Master toggle for expressive mode. When true, the agent may add expressive voice
3451
- * tags to the audio it generates. Only applicable for platform voices. If unset,
3452
- * defaults to false.
3461
+ * bt: between
3453
3462
  */
3454
- enable_expressive_mode?: boolean;
3463
+ op: 'bt';
3464
+ type: 'range';
3455
3465
  /**
3456
- * If users stay silent for a period after agent speech, end the call. The minimum
3457
- * value allowed is 10,000 ms (10 s). By default, this is set to 600000 (10 min).
3466
+ * [lower_bound, upper_bound]
3458
3467
  */
3459
- end_call_after_silence_ms?: number;
3468
+ value: Array<number>;
3469
+ }
3470
+ interface StringFilter {
3460
3471
  /**
3461
- * The expressive voice tags Retell pre-teaches the model to use when
3462
- * enable_expressive_mode is true. Custom tags defined in the system prompt are
3463
- * still allowed. If empty, the agent follows general expressive guidance without a
3464
- * fixed tag set.
3472
+ * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
3465
3473
  */
3466
- expressive_emotion_tags?: Array<'empathetic' | 'excited' | 'happy' | 'curious' | 'surprised' | 'sigh' | 'clear throat' | 'pause' | 'long pause' | 'emphasis'>;
3474
+ op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
3475
+ type: 'string';
3476
+ value: string;
3467
3477
  /**
3468
- * Custom expressive voice guidance to use instead of the default Retell expressive
3469
- * prompt when enable_expressive_mode is true. If omitted or blank, the default
3470
- * expressive prompt will be used.
3478
+ * The field name to filter on.
3471
3479
  */
3472
- expressive_mode_prompt?: string | null;
3480
+ key?: string;
3481
+ }
3482
+ interface NumberFilter {
3473
3483
  /**
3474
- * When TTS provider for the selected voice is experiencing outages, we would use
3475
- * fallback voices listed here for the agent. Voice id and the fallback voice ids
3476
- * must be from different TTS providers. The system would go through the list in
3477
- * order, if the first one in the list is also having outage, it would use the next
3478
- * one. Set to null to remove voice fallback for the agent.
3484
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
3485
+ * than, le: less than or equal
3479
3486
  */
3480
- fallback_voice_ids?: Array<string> | null;
3487
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
3488
+ type: 'number';
3489
+ value: number;
3481
3490
  /**
3482
- * Configuration for guardrail checks to detect and prevent prohibited topics in
3483
- * agent output and user input.
3491
+ * The field name to filter on.
3484
3492
  */
3485
- guardrail_config?: Agent.GuardrailConfig;
3493
+ key?: string;
3494
+ }
3495
+ interface BooleanFilter {
3496
+ op: 'eq';
3497
+ type: 'boolean';
3498
+ value: boolean;
3486
3499
  /**
3487
- * Toggle behavior presets on/off to influence agent response style and behaviors.
3500
+ * The field name to filter on.
3488
3501
  */
3489
- handbook_config?: Agent.HandbookConfig;
3502
+ key?: string;
3503
+ }
3504
+ interface RangeFilter {
3490
3505
  /**
3491
- * Controls how sensitive the agent is to user interruptions. Value ranging from
3492
- * [0,1]. Lower value means it will take longer / more words for user to interrupt
3493
- * agent, while higher value means it's easier for user to interrupt agent. If
3494
- * unset, default value 1 will apply. When this is set to 0, agent would never be
3495
- * interrupted.
3506
+ * bt: between
3496
3507
  */
3497
- interruption_sensitivity?: number;
3508
+ op: 'bt';
3509
+ type: 'range';
3498
3510
  /**
3499
- * If this option is set, the call will try to detect IVR in the first 3 minutes of
3500
- * the call. Actions defined will be applied when the IVR is detected. Set this to
3501
- * null to disable IVR detection.
3511
+ * [lower_bound, upper_bound]
3502
3512
  */
3503
- ivr_option?: Agent.IvrOption | null;
3513
+ value: Array<number>;
3504
3514
  /**
3505
- * Specifies what language(s) the agent will operate in. Accepts either a single
3506
- * scalar locale (e.g. `en-US`), the legacy scalar value `multi` for multilingual
3507
- * support, or an array of concrete locale codes for explicit multi-locale
3508
- * selection (e.g. `["en-US","es-ES"]`). The array form must contain concrete
3509
- * locale codes only — the `multi` value is valid only as the scalar legacy form
3510
- * and must not appear inside an array. Single-element arrays are normalized to the
3511
- * equivalent scalar on output. If unset, defaults to `en-US`.
3515
+ * The field name to filter on.
3512
3516
  */
3513
- language?: 'en-US' | 'en-IN' | 'en-GB' | 'en-AU' | 'en-NZ' | 'de-DE' | 'es-ES' | 'es-419' | 'hi-IN' | 'fr-FR' | 'fr-CA' | 'ja-JP' | 'pt-PT' | 'pt-BR' | 'zh-CN' | 'ru-RU' | 'it-IT' | 'ko-KR' | 'nl-NL' | 'nl-BE' | 'pl-PL' | 'tr-TR' | 'vi-VN' | 'ro-RO' | 'bg-BG' | 'ca-ES' | 'th-TH' | 'da-DK' | 'fi-FI' | 'el-GR' | 'hu-HU' | 'id-ID' | 'no-NO' | 'sk-SK' | 'sv-SE' | 'lt-LT' | 'lv-LV' | 'cs-CZ' | 'ms-MY' | 'af-ZA' | 'ar-SA' | 'az-AZ' | 'bs-BA' | 'cy-GB' | 'fa-IR' | 'fil-PH' | 'gl-ES' | 'he-IL' | 'hr-HR' | 'hy-AM' | 'is-IS' | 'kk-KZ' | 'kn-IN' | 'mk-MK' | 'mr-IN' | 'ne-NP' | 'sl-SI' | 'sr-RS' | 'sw-KE' | 'ta-IN' | 'ur-IN' | 'yue-CN' | 'uk-UA' | 'multi' | Array<'en-US' | 'en-IN' | 'en-GB' | 'en-AU' | 'en-NZ' | 'de-DE' | 'es-ES' | 'es-419' | 'hi-IN' | 'fr-FR' | 'fr-CA' | 'ja-JP' | 'pt-PT' | 'pt-BR' | 'zh-CN' | 'ru-RU' | 'it-IT' | 'ko-KR' | 'nl-NL' | 'nl-BE' | 'pl-PL' | 'tr-TR' | 'vi-VN' | 'ro-RO' | 'bg-BG' | 'ca-ES' | 'th-TH' | 'da-DK' | 'fi-FI' | 'el-GR' | 'hu-HU' | 'id-ID' | 'no-NO' | 'sk-SK' | 'sv-SE' | 'lt-LT' | 'lv-LV' | 'cs-CZ' | 'ms-MY' | 'af-ZA' | 'ar-SA' | 'az-AZ' | 'bs-BA' | 'cy-GB' | 'fa-IR' | 'fil-PH' | 'gl-ES' | 'he-IL' | 'hr-HR' | 'hy-AM' | 'is-IS' | 'kk-KZ' | 'kn-IN' | 'mk-MK' | 'mr-IN' | 'ne-NP' | 'sl-SI' | 'sr-RS' | 'sw-KE' | 'ta-IN' | 'ur-IN' | 'yue-CN' | 'uk-UA'>;
3517
+ key?: string;
3518
+ }
3519
+ interface EnumFilter {
3514
3520
  /**
3515
- * Maximum allowed length for the call, will force end the call if reached. The
3516
- * minimum value allowed is 60,000 ms (1 min), and maximum value allowed is
3517
- * 7,200,000 (2 hours). By default, this is set to 3,600,000 (1 hour).
3521
+ * in: value is one of the listed values
3518
3522
  */
3519
- max_call_duration_ms?: number;
3523
+ op: 'in';
3524
+ type: 'enum';
3525
+ value: Array<string>;
3520
3526
  /**
3521
- * Whether this agent opts in for signed URLs for public logs and recordings. When
3522
- * enabled, the generated URLs will include security signatures that restrict
3523
- * access and automatically expire after 24 hours.
3527
+ * The field name to filter on.
3524
3528
  */
3525
- opt_in_signed_url?: boolean;
3529
+ key?: string;
3530
+ }
3531
+ interface PresentFilter {
3526
3532
  /**
3527
- * Configuration for PII scrubbing from transcripts and recordings.
3533
+ * pr: present (has value), np: not present
3528
3534
  */
3529
- pii_config?: Agent.PiiConfig;
3535
+ op: 'pr' | 'np';
3536
+ type: 'present';
3530
3537
  /**
3531
- * Post call analysis data to extract from the call. This data will augment the
3532
- * pre-defined variables extracted in the call analysis. This will be available
3533
- * after the call ends.
3538
+ * The field name to filter on.
3534
3539
  */
3535
- post_call_analysis_data?: Array<Agent.StringAnalysisData | Agent.EnumAnalysisData | Agent.BooleanAnalysisData | Agent.NumberAnalysisData | Agent.CallPresetAnalysisData> | null;
3540
+ key?: string;
3541
+ }
3542
+ interface StringFilter {
3536
3543
  /**
3537
- * The model to use for post call analysis. Default to gpt-4.1.
3544
+ * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
3538
3545
  */
3539
- post_call_analysis_model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-5-sonnet' | 'claude-4.5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash' | null;
3546
+ op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
3547
+ type: 'string';
3548
+ value: string;
3540
3549
  /**
3541
- * A list of words / phrases and their pronunciation to be used to guide the audio
3542
- * synthesize for consistent pronunciation. Check the dashboard to see what
3543
- * provider supports this feature. Set to null to remove pronunciation dictionary
3544
- * from this agent.
3550
+ * The field name to filter on.
3545
3551
  */
3546
- pronunciation_dictionary?: Array<Agent.PronunciationDictionary> | null;
3552
+ key?: string;
3553
+ }
3554
+ interface NumberFilter {
3547
3555
  /**
3548
- * If set, controls how many times agent would remind user when user is
3549
- * unresponsive. Must be a non negative integer. If unset, default value of 1 will
3550
- * apply (remind once). Set to 0 to disable agent from reminding.
3556
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
3557
+ * than, le: less than or equal
3551
3558
  */
3552
- reminder_max_count?: number;
3559
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
3560
+ type: 'number';
3561
+ value: number;
3553
3562
  /**
3554
- * If set (in milliseconds), will trigger a reminder to the agent to speak if the
3555
- * user has been silent for the specified duration after some agent speech. Must be
3556
- * a positive number. If unset, default value of 10000 ms (10 s) will apply.
3563
+ * The field name to filter on.
3557
3564
  */
3558
- reminder_trigger_ms?: number;
3565
+ key?: string;
3566
+ }
3567
+ interface BooleanFilter {
3568
+ op: 'eq';
3569
+ type: 'boolean';
3570
+ value: boolean;
3559
3571
  /**
3560
- * The Response Engine to attach to the agent. It is used to generate responses for
3561
- * the agent. You need to create a Response Engine first before attaching it to an
3562
- * agent.
3572
+ * The field name to filter on.
3563
3573
  */
3564
- response_engine?: Agent.ResponseEngineRetellLm | Agent.ResponseEngineCustomLm | Agent.ResponseEngineConversationFlow;
3574
+ key?: string;
3575
+ }
3576
+ interface RangeFilter {
3565
3577
  /**
3566
- * Controls how responsive is the agent. Value ranging from [0,1]. Lower value
3567
- * means less responsive agent (wait more, respond slower), while higher value
3568
- * means faster exchanges (respond when it can). If unset, default value 1 will
3569
- * apply.
3578
+ * bt: between
3570
3579
  */
3571
- responsiveness?: number;
3580
+ op: 'bt';
3581
+ type: 'range';
3572
3582
  /**
3573
- * If set, the phone ringing will last for the specified amount of milliseconds.
3574
- * This applies for both outbound call ringtime, and call transfer ringtime.
3575
- * Default to 30000 (30 s). Valid range is [5000, 300000].
3583
+ * [lower_bound, upper_bound]
3576
3584
  */
3577
- ring_duration_ms?: number;
3585
+ value: Array<number>;
3578
3586
  /**
3579
- * The expiration time for the signed url in milliseconds. Only applicable when
3580
- * opt_in_signed_url is true. If not set, default value of 86400000 (24 hours) will
3581
- * apply.
3587
+ * The field name to filter on.
3582
3588
  */
3583
- signed_url_expiration_ms?: number | null;
3589
+ key?: string;
3590
+ }
3591
+ interface EnumFilter {
3584
3592
  /**
3585
- * If set, determines whether speech to text should focus on latency or accuracy.
3586
- * Default to fast mode. When set to custom, custom_stt_config must be provided.
3593
+ * in: value is one of the listed values
3587
3594
  */
3588
- stt_mode?: 'fast' | 'accurate' | 'custom';
3595
+ op: 'in';
3596
+ type: 'enum';
3597
+ value: Array<string>;
3589
3598
  /**
3590
- * IANA timezone for the agent (e.g. America/New_York). Defaults to
3591
- * America/Los_Angeles if not set.
3599
+ * The field name to filter on.
3592
3600
  */
3593
- timezone?: string | null;
3594
- user_dtmf_options?: Agent.UserDtmfOptions | null;
3601
+ key?: string;
3602
+ }
3603
+ interface PresentFilter {
3595
3604
  /**
3596
- * Optional description of the agent version. Used for your own reference and
3597
- * documentation.
3605
+ * pr: present (has value), np: not present
3598
3606
  */
3599
- version_description?: string | null;
3607
+ op: 'pr' | 'np';
3608
+ type: 'present';
3600
3609
  /**
3601
- * Optional title of the agent version. Used for your own reference.
3610
+ * The field name to filter on.
3602
3611
  */
3603
- version_title?: string | null;
3612
+ key?: string;
3613
+ }
3614
+ interface DataStorageSetting {
3604
3615
  /**
3605
- * If set, determines the vocabulary set to use for transcription. This setting
3606
- * only applies for English agents, for non English agent, this setting is a no-op.
3607
- * Default to general.
3616
+ * in: value is one of the listed values
3608
3617
  */
3609
- vocab_specialization?: 'general' | 'medical';
3618
+ op: 'in';
3619
+ type: 'enum';
3620
+ value: Array<'everything' | 'everything_except_pii' | 'basic_attributes_only'>;
3621
+ }
3622
+ interface Direction {
3610
3623
  /**
3611
- * Controls the emotional tone of the agent's voice. Currently supported for
3612
- * Cartesia and Minimax TTS providers. If unset, no emotion will be used.
3624
+ * in: value is one of the listed values
3613
3625
  */
3614
- voice_emotion?: 'calm' | 'sympathetic' | 'happy' | 'sad' | 'angry' | 'fearful' | 'surprised' | null;
3626
+ op: 'in';
3627
+ type: 'enum';
3628
+ value: Array<'inbound' | 'outbound'>;
3629
+ }
3630
+ interface DisconnectionReason {
3615
3631
  /**
3616
- * Unique voice id used for the agent. Find list of available voices and their
3617
- * preview in Dashboard.
3632
+ * in: value is one of the listed values
3618
3633
  */
3619
- voice_id?: string;
3634
+ op: 'in';
3635
+ type: 'enum';
3636
+ value: Array<'user_hangup' | 'agent_hangup' | 'call_transfer' | 'voicemail_reached' | 'ivr_reached' | 'inactivity' | 'max_duration_reached' | 'concurrency_limit_reached' | 'no_concurrency_fallback' | 'no_valid_payment' | 'scam_detected' | 'dial_busy' | 'dial_failed' | 'dial_no_answer' | 'invalid_destination' | 'telephony_provider_permission_denied' | 'telephony_provider_unavailable' | 'sip_routing_error' | 'marked_as_spam' | 'user_declined' | 'error_llm_websocket_open' | 'error_llm_websocket_lost_connection' | 'error_llm_websocket_runtime' | 'error_llm_websocket_corrupt_payload' | 'error_no_audio_received' | 'error_asr' | 'error_retell' | 'error_unknown' | 'error_user_not_joined' | 'registered_call_timeout' | 'transfer_bridged' | 'transfer_cancelled' | 'manual_stopped' | 'call_take_over'>;
3637
+ }
3638
+ interface NumberFilter {
3620
3639
  /**
3621
- * Select the voice model used for the selected voice. Each provider has a set of
3622
- * available voice models. Set to null to remove voice model selection, and default
3623
- * ones will apply. Check out dashboard for more details of each voice model.
3640
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
3641
+ * than, le: less than or equal
3624
3642
  */
3625
- voice_model?: 'eleven_flash_v2' | 'eleven_flash_v2_5' | 'eleven_multilingual_v2' | 'eleven_v3' | 'sonic-3' | 'sonic-3-latest' | 'sonic-3.5' | 'tts-1' | 'gpt-4o-mini-tts' | 'speech-02-turbo' | 'speech-2.8-turbo' | 's1' | 's2-pro' | 's2.1-pro' | null;
3643
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
3644
+ type: 'number';
3645
+ value: number;
3646
+ }
3647
+ interface RangeFilter {
3626
3648
  /**
3627
- * Controls speed of voice. Value ranging from [0.5,2]. Lower value means slower
3628
- * speech, while higher value means faster speech rate. If unset, default value 1
3629
- * will apply.
3649
+ * bt: between
3630
3650
  */
3631
- voice_speed?: number;
3651
+ op: 'bt';
3652
+ type: 'range';
3632
3653
  /**
3633
- * Controls how stable the voice is. Value ranging from [0,2]. Lower value means
3634
- * more stable, and higher value means more variant speech generation. Check the
3635
- * dashboard to see what provider supports this feature. If unset, default value 1
3636
- * will apply.
3654
+ * [lower_bound, upper_bound]
3637
3655
  */
3638
- voice_temperature?: number;
3656
+ value: Array<number>;
3657
+ }
3658
+ interface DynamicVariable {
3639
3659
  /**
3640
- * If this option is set, the call will try to detect voicemail in the first 3
3641
- * minutes of the call. Actions defined (hangup, or leave a message) will be
3642
- * applied when the voicemail is detected. Set this to null to disable voicemail
3643
- * detection.
3660
+ * The dynamic variable name to filter on.
3644
3661
  */
3645
- voicemail_option?: Agent.VoicemailOption | null;
3662
+ key: string;
3646
3663
  /**
3647
- * If set, will control the volume of the agent. Value ranging from [0,2]. Lower
3648
- * value means quieter agent speech, while higher value means louder agent speech.
3649
- * If unset, default value 1 will apply.
3664
+ * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
3650
3665
  */
3651
- volume?: number;
3666
+ op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
3667
+ type: 'string';
3668
+ value: string;
3669
+ }
3670
+ interface NumberFilter {
3652
3671
  /**
3653
- * Which webhook events this agent should receive. If not set, defaults to
3654
- * call_started, call_ended, call_analyzed.
3672
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
3673
+ * than, le: less than or equal
3655
3674
  */
3656
- webhook_events?: Array<'call_started' | 'call_ended' | 'call_analyzed' | 'transcript_updated' | 'transfer_started' | 'transfer_bridged' | 'transfer_cancelled' | 'transfer_ended'> | null;
3675
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
3676
+ type: 'number';
3677
+ value: number;
3678
+ }
3679
+ interface RangeFilter {
3657
3680
  /**
3658
- * The timeout for the webhook in milliseconds. If not set, default value of 10000
3659
- * will apply.
3681
+ * bt: between
3660
3682
  */
3661
- webhook_timeout_ms?: number;
3683
+ op: 'bt';
3684
+ type: 'range';
3662
3685
  /**
3663
- * The webhook for agent to listen to call events. See what events it would get at
3664
- * [webhook doc](/features/webhook). If set, will binds webhook events for this
3665
- * agent to the specified url, and will ignore the account level webhook for this
3666
- * agent. Set to `null` to remove webhook url from this agent.
3686
+ * [lower_bound, upper_bound]
3667
3687
  */
3668
- webhook_url?: string | null;
3688
+ value: Array<number>;
3669
3689
  }
3670
- namespace Agent {
3690
+ interface NumberFilter {
3671
3691
  /**
3672
- * If this option is set, the agent prompt will include call screen handling
3673
- * instructions for identity and call purpose questions. Set this to null to
3674
- * disable call screen prompt instructions.
3692
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
3693
+ * than, le: less than or equal
3675
3694
  */
3676
- interface CallScreeningOption {
3677
- /**
3678
- * Identity the agent should provide when a call screen asks who is calling.
3679
- * Dynamic variables are supported.
3680
- */
3681
- agent_identity: string;
3682
- /**
3683
- * Purpose the agent should provide when a call screen asks why it is calling.
3684
- * Dynamic variables are supported.
3685
- */
3686
- call_purpose: string;
3687
- }
3695
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
3696
+ type: 'number';
3697
+ value: number;
3698
+ }
3699
+ interface RangeFilter {
3688
3700
  /**
3689
- * Custom STT configuration. Only used when stt_mode is set to custom.
3701
+ * bt: between
3690
3702
  */
3691
- interface CustomSttConfig {
3692
- /**
3693
- * Endpointing timeout in milliseconds. Minimum is 100 for Azure, 10 for Deepgram,
3694
- * 500 for Soniox, 100 for AssemblyAI.
3695
- */
3696
- endpointing_ms: number;
3697
- /**
3698
- * ASR provider name.
3699
- */
3700
- provider: 'azure' | 'deepgram' | 'soniox' | 'assemblyai';
3701
- }
3703
+ op: 'bt';
3704
+ type: 'range';
3702
3705
  /**
3703
- * Configuration for guardrail checks to detect and prevent prohibited topics in
3704
- * agent output and user input.
3706
+ * [lower_bound, upper_bound]
3705
3707
  */
3706
- interface GuardrailConfig {
3707
- /**
3708
- * Selected prohibited user topic categories to check. When user messages contain
3709
- * these topics, the agent will respond with a placeholder message instead of
3710
- * processing the request.
3711
- */
3712
- input_topics?: Array<'platform_integrity_jailbreaking'> | null;
3713
- /**
3714
- * Selected prohibited agent topic categories to check. When agent messages contain
3715
- * these topics, they will be replaced with a placeholder message.
3716
- */
3717
- output_topics?: Array<'harassment' | 'self_harm' | 'sexual_exploitation' | 'violence' | 'defense_and_national_security' | 'illicit_and_harmful_activity' | 'gambling' | 'regulated_professional_advice' | 'child_safety_and_exploitation'> | null;
3718
- }
3708
+ value: Array<number>;
3709
+ }
3710
+ /**
3711
+ * Filter by from number.
3712
+ */
3713
+ interface FromNumber {
3719
3714
  /**
3720
- * Toggle behavior presets on/off to influence agent response style and behaviors.
3715
+ * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
3721
3716
  */
3722
- interface HandbookConfig {
3723
- /**
3724
- * When asked, acknowledge being a virtual assistant.
3725
- */
3726
- ai_disclosure?: boolean;
3727
- /**
3728
- * Enables Conversational Personality. When true, the agent uses the Conversational
3729
- * Personality handbook preset, skips Professional Rep Personality during prompt
3730
- * assembly, and enables internal colloquial rewrite behavior.
3731
- */
3732
- conversational_personality?: boolean;
3733
- /**
3734
- * Professional call center rep baseline.
3735
- */
3736
- default_personality?: boolean;
3737
- /**
3738
- * Repeat back and confirm important details (voice only).
3739
- */
3740
- echo_verification?: boolean;
3741
- /**
3742
- * Warm acknowledgment of caller concerns.
3743
- */
3744
- high_empathy?: boolean;
3745
- /**
3746
- * Spell using NATO phonetic alphabet style (voice only).
3747
- */
3748
- nato_phonetic_alphabet?: boolean;
3749
- /**
3750
- * Sprinkle natural speech fillers like "um", "you know" for a more human,
3751
- * conversational tone.
3752
- */
3753
- natural_filler_words?: boolean;
3717
+ op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
3718
+ type: 'string';
3719
+ value: string;
3720
+ }
3721
+ /**
3722
+ * Filter by whether the call is in voicemail.
3723
+ */
3724
+ interface InVoicemail {
3725
+ op: 'eq';
3726
+ type: 'boolean';
3727
+ value: boolean;
3728
+ }
3729
+ interface StringFilter {
3730
+ /**
3731
+ * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
3732
+ */
3733
+ op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
3734
+ type: 'string';
3735
+ value: string;
3736
+ /**
3737
+ * The field name to filter on.
3738
+ */
3739
+ key?: string;
3740
+ }
3741
+ interface NumberFilter {
3742
+ /**
3743
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
3744
+ * than, le: less than or equal
3745
+ */
3746
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
3747
+ type: 'number';
3748
+ value: number;
3749
+ /**
3750
+ * The field name to filter on.
3751
+ */
3752
+ key?: string;
3753
+ }
3754
+ interface BooleanFilter {
3755
+ op: 'eq';
3756
+ type: 'boolean';
3757
+ value: boolean;
3758
+ /**
3759
+ * The field name to filter on.
3760
+ */
3761
+ key?: string;
3762
+ }
3763
+ interface RangeFilter {
3764
+ /**
3765
+ * bt: between
3766
+ */
3767
+ op: 'bt';
3768
+ type: 'range';
3769
+ /**
3770
+ * [lower_bound, upper_bound]
3771
+ */
3772
+ value: Array<number>;
3773
+ /**
3774
+ * The field name to filter on.
3775
+ */
3776
+ key?: string;
3777
+ }
3778
+ interface EnumFilter {
3779
+ /**
3780
+ * in: value is one of the listed values
3781
+ */
3782
+ op: 'in';
3783
+ type: 'enum';
3784
+ value: Array<string>;
3785
+ /**
3786
+ * The field name to filter on.
3787
+ */
3788
+ key?: string;
3789
+ }
3790
+ interface PresentFilter {
3791
+ /**
3792
+ * pr: present (has value), np: not present
3793
+ */
3794
+ op: 'pr' | 'np';
3795
+ type: 'present';
3796
+ /**
3797
+ * The field name to filter on.
3798
+ */
3799
+ key?: string;
3800
+ }
3801
+ interface NumberFilter {
3802
+ /**
3803
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
3804
+ * than, le: less than or equal
3805
+ */
3806
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
3807
+ type: 'number';
3808
+ value: number;
3809
+ }
3810
+ interface RangeFilter {
3811
+ /**
3812
+ * bt: between
3813
+ */
3814
+ op: 'bt';
3815
+ type: 'range';
3816
+ /**
3817
+ * [lower_bound, upper_bound]
3818
+ */
3819
+ value: Array<number>;
3820
+ }
3821
+ /**
3822
+ * Filter by to number.
3823
+ */
3824
+ interface ToNumber {
3825
+ /**
3826
+ * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
3827
+ */
3828
+ op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
3829
+ type: 'string';
3830
+ value: string;
3831
+ }
3832
+ interface ToolCall {
3833
+ /**
3834
+ * Filter by tool call latency in milliseconds.
3835
+ */
3836
+ latency_ms?: ToolCall.NumberFilter | ToolCall.RangeFilter;
3837
+ /**
3838
+ * The tool call name to filter on.
3839
+ */
3840
+ name?: string;
3841
+ /**
3842
+ * Filter by tool call success status.
3843
+ */
3844
+ success?: ToolCall.Success;
3845
+ /**
3846
+ * The tool call type to filter on.
3847
+ */
3848
+ type?: string;
3849
+ }
3850
+ namespace ToolCall {
3851
+ interface NumberFilter {
3754
3852
  /**
3755
- * Stay within prompt/context scope, don't invent details.
3853
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
3854
+ * than, le: less than or equal
3756
3855
  */
3757
- scope_boundaries?: boolean;
3856
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
3857
+ type: 'number';
3858
+ value: number;
3859
+ }
3860
+ interface RangeFilter {
3758
3861
  /**
3759
- * Treat near-match similar words as same entity to reduce impact of transcription
3760
- * error (voice only).
3862
+ * bt: between
3761
3863
  */
3762
- smart_matching?: boolean;
3864
+ op: 'bt';
3865
+ type: 'range';
3763
3866
  /**
3764
- * Convert numbers/dates/currency to spoken forms (voice only).
3867
+ * [lower_bound, upper_bound]
3765
3868
  */
3766
- speech_normalization?: boolean;
3869
+ value: Array<number>;
3767
3870
  }
3768
3871
  /**
3769
- * If this option is set, the call will try to detect IVR in the first 3 minutes of
3770
- * the call. Actions defined will be applied when the IVR is detected. Set this to
3771
- * null to disable IVR detection.
3872
+ * Filter by tool call success status.
3772
3873
  */
3773
- interface IvrOption {
3774
- action: IvrOption.Action;
3775
- /**
3776
- * Optionally describe what should be treated as an IVR. Leave as null to use the
3777
- * default definition.
3778
- */
3779
- detection_prompt?: string | null;
3780
- }
3781
- namespace IvrOption {
3782
- interface Action {
3783
- type: 'hangup';
3784
- }
3874
+ interface Success {
3875
+ op: 'eq';
3876
+ type: 'boolean';
3877
+ value: boolean;
3785
3878
  }
3879
+ }
3880
+ interface UserSentiment {
3786
3881
  /**
3787
- * Configuration for PII scrubbing from transcripts and recordings.
3882
+ * in: value is one of the listed values
3788
3883
  */
3789
- interface PiiConfig {
3790
- /**
3791
- * List of PII categories to scrub from transcripts and recordings. PII redaction
3792
- * is only active when this list is non-empty; an empty array means no PII
3793
- * scrubbing is performed.
3794
- */
3795
- categories: Array<'person_name' | 'address' | 'email' | 'phone_number' | 'ssn' | 'passport' | 'driver_license' | 'credit_card' | 'bank_account' | 'password' | 'pin' | 'medical_id' | 'date_of_birth' | 'customer_account_number'>;
3796
- /**
3797
- * The processing mode for PII scrubbing. Currently only post-call is supported.
3798
- */
3799
- mode: 'post_call';
3800
- }
3801
- interface StringAnalysisData {
3802
- /**
3803
- * Description of the variable.
3804
- */
3805
- description: string;
3806
- /**
3807
- * Name of the variable.
3808
- */
3809
- name: string;
3810
- /**
3811
- * Type of the variable to extract.
3812
- */
3813
- type: 'string';
3814
- /**
3815
- * Optional instruction to help decide whether this field needs to be populated in
3816
- * the analysis. If not set, the field is always included. If required is true,
3817
- * this is ignored.
3818
- */
3819
- conditional_prompt?: string;
3820
- /**
3821
- * Examples of the variable value to teach model the style and syntax.
3822
- */
3823
- examples?: Array<string>;
3824
- /**
3825
- * Whether this data is required. If true and the data is not extracted, the call
3826
- * will be marked as unsuccessful.
3827
- */
3828
- required?: boolean;
3829
- }
3830
- interface EnumAnalysisData {
3831
- /**
3832
- * The possible values of the variable, must be non empty array.
3833
- */
3834
- choices: Array<string>;
3835
- /**
3836
- * Description of the variable.
3837
- */
3838
- description: string;
3839
- /**
3840
- * Name of the variable.
3841
- */
3842
- name: string;
3843
- /**
3844
- * Type of the variable to extract.
3845
- */
3846
- type: 'enum';
3847
- /**
3848
- * Optional instruction to help decide whether this field needs to be populated in
3849
- * the analysis. If not set, the field is always included. If required is true,
3850
- * this is ignored.
3851
- */
3852
- conditional_prompt?: string;
3853
- /**
3854
- * Whether this data is required. If true and the data is not extracted, the call
3855
- * will be marked as unsuccessful.
3856
- */
3857
- required?: boolean;
3858
- }
3859
- interface BooleanAnalysisData {
3860
- /**
3861
- * Description of the variable.
3862
- */
3863
- description: string;
3864
- /**
3865
- * Name of the variable.
3866
- */
3867
- name: string;
3868
- /**
3869
- * Type of the variable to extract.
3870
- */
3871
- type: 'boolean';
3872
- /**
3873
- * Optional instruction to help decide whether this field needs to be populated in
3874
- * the analysis. If not set, the field is always included. If required is true,
3875
- * this is ignored.
3876
- */
3877
- conditional_prompt?: string;
3878
- /**
3879
- * Whether this data is required. If true and the data is not extracted, the call
3880
- * will be marked as unsuccessful.
3881
- */
3882
- required?: boolean;
3883
- }
3884
- interface NumberAnalysisData {
3885
- /**
3886
- * Description of the variable.
3887
- */
3888
- description: string;
3889
- /**
3890
- * Name of the variable.
3891
- */
3892
- name: string;
3893
- /**
3894
- * Type of the variable to extract.
3895
- */
3896
- type: 'number';
3897
- /**
3898
- * Optional instruction to help decide whether this field needs to be populated in
3899
- * the analysis. If not set, the field is always included. If required is true,
3900
- * this is ignored.
3901
- */
3902
- conditional_prompt?: string;
3903
- /**
3904
- * Whether this data is required. If true and the data is not extracted, the call
3905
- * will be marked as unsuccessful.
3906
- */
3907
- required?: boolean;
3908
- }
3909
- /**
3910
- * System preset for post-call analysis (voice agents). Use in
3911
- * post_call_analysis_data to override prompts or mark fields optional.
3912
- */
3913
- interface CallPresetAnalysisData {
3914
- /**
3915
- * Preset identifier for voice agent analysis.
3916
- */
3917
- name: 'call_summary' | 'call_successful' | 'user_sentiment';
3918
- /**
3919
- * Identifies this item as a system preset.
3920
- */
3921
- type: 'system-presets';
3922
- /**
3923
- * Optional instruction to help decide whether this field needs to be populated. If
3924
- * not set, the field is always included.
3925
- */
3926
- conditional_prompt?: string;
3927
- /**
3928
- * Prompt or description for this preset.
3929
- */
3930
- description?: string;
3931
- /**
3932
- * If false, this field is optional in the analysis. If true or unset, the field is
3933
- * required.
3934
- */
3935
- required?: boolean;
3936
- }
3937
- interface PronunciationDictionary {
3938
- /**
3939
- * The phonetic alphabet to be used for pronunciation.
3940
- */
3941
- alphabet: 'ipa' | 'cmu';
3942
- /**
3943
- * Pronunciation of the word in the format of a IPA / CMU pronunciation.
3944
- */
3945
- phoneme: string;
3946
- /**
3947
- * The string of word / phrase to be annotated with pronunciation.
3948
- */
3949
- word: string;
3950
- }
3951
- interface ResponseEngineRetellLm {
3952
- /**
3953
- * id of the Retell LLM Response Engine.
3954
- */
3955
- llm_id: string;
3956
- /**
3957
- * type of the Response Engine.
3958
- */
3959
- type: 'retell-llm';
3960
- /**
3961
- * Version of the Retell LLM Response Engine.
3962
- */
3963
- version?: number | null;
3964
- }
3965
- interface ResponseEngineCustomLm {
3966
- /**
3967
- * LLM websocket url of the custom LLM.
3968
- */
3969
- llm_websocket_url: string;
3970
- /**
3971
- * type of the Response Engine.
3972
- */
3973
- type: 'custom-llm';
3974
- }
3975
- interface ResponseEngineConversationFlow {
3976
- /**
3977
- * ID of the Conversation Flow Response Engine.
3978
- */
3979
- conversation_flow_id: string;
3980
- /**
3981
- * type of the Response Engine.
3982
- */
3983
- type: 'conversation-flow';
3984
- /**
3985
- * Version of the Conversation Flow Response Engine.
3986
- */
3987
- version?: number | null;
3988
- }
3989
- interface UserDtmfOptions {
3990
- /**
3991
- * The maximum number of digits allowed in the user's DTMF (Dual-Tone
3992
- * Multi-Frequency) input per turn. Once this limit is reached, the input is
3993
- * considered complete and a response will be generated immediately.
3994
- */
3995
- digit_limit?: number | null;
3996
- /**
3997
- * A single key that signals the end of DTMF input. Acceptable values include any
3998
- * digit (0-9), the pound/hash symbol (#), or the asterisk (\*).
3999
- */
4000
- termination_key?: string | null;
4001
- /**
4002
- * The time (in milliseconds) to wait for user DTMF input before timing out. The
4003
- * timer resets with each digit received.
4004
- */
4005
- timeout_ms?: number;
4006
- }
4007
- /**
4008
- * If this option is set, the call will try to detect voicemail in the first 3
4009
- * minutes of the call. Actions defined (hangup, or leave a message) will be
4010
- * applied when the voicemail is detected. Set this to null to disable voicemail
4011
- * detection.
4012
- */
4013
- interface VoicemailOption {
4014
- action: VoicemailOption.VoicemailActionPrompt | VoicemailOption.VoicemailActionStaticText | VoicemailOption.VoicemailActionHangup | VoicemailOption.VoicemailActionBridgeTransfer;
4015
- /**
4016
- * Optionally describe what should be treated as voicemail. Leave as null to use
4017
- * the default definition.
4018
- */
4019
- detection_prompt?: string | null;
4020
- }
4021
- namespace VoicemailOption {
4022
- interface VoicemailActionPrompt {
4023
- /**
4024
- * The prompt used to generate the text to be spoken when the call is detected to
4025
- * be in voicemail.
4026
- */
4027
- text: string;
4028
- type: 'prompt';
4029
- }
4030
- interface VoicemailActionStaticText {
4031
- /**
4032
- * The text to be spoken when the call is detected to be in voicemail.
4033
- */
4034
- text: string;
4035
- type: 'static_text';
4036
- }
4037
- interface VoicemailActionHangup {
4038
- type: 'hangup';
4039
- }
4040
- interface VoicemailActionBridgeTransfer {
4041
- type: 'bridge_transfer';
4042
- }
4043
- }
4044
- }
4045
- /**
4046
- * Override conversation flow configuration settings. Only applicable when using
4047
- * conversation flow as the response engine. Supported attributes - model_choice,
4048
- * model_temperature, tool_call_strict_mode, knowledge_base_ids, kb_config,
4049
- * start_speaker, begin_after_user_silence_ms.
4050
- */
4051
- interface ConversationFlow {
4052
- /**
4053
- * If set, the AI will begin the conversation after waiting for the user for the
4054
- * duration (in milliseconds) specified by this attribute. This only applies if the
4055
- * agent is configured to wait for the user to speak first. If not set, the agent
4056
- * will wait indefinitely for the user to speak.
4057
- */
4058
- begin_after_user_silence_ms?: number | null;
4059
- /**
4060
- * Knowledge base configuration for RAG retrieval.
4061
- */
4062
- kb_config?: ConversationFlow.KBConfig;
4063
- /**
4064
- * Knowledge base IDs for RAG (Retrieval-Augmented Generation).
4065
- */
4066
- knowledge_base_ids?: Array<string> | null;
4067
- /**
4068
- * The model choice for the conversation flow.
4069
- */
4070
- model_choice?: ConversationFlow.ModelChoice;
4071
- /**
4072
- * Controls the randomness of the model's responses. Lower values make responses
4073
- * more deterministic.
4074
- */
4075
- model_temperature?: number | null;
4076
- /**
4077
- * Who starts the conversation - user or agent.
4078
- */
4079
- start_speaker?: 'user' | 'agent';
4080
- /**
4081
- * Whether to use strict mode for tool calls. Only applicable when using certain
4082
- * supported models.
4083
- */
4084
- tool_call_strict_mode?: boolean | null;
4085
- }
4086
- namespace ConversationFlow {
4087
- /**
4088
- * Knowledge base configuration for RAG retrieval.
4089
- */
4090
- interface KBConfig {
4091
- /**
4092
- * Similarity threshold for filtering search results
4093
- */
4094
- filter_score?: number;
4095
- /**
4096
- * Max number of knowledge base chunks to retrieve
4097
- */
4098
- top_k?: number;
4099
- }
4100
- /**
4101
- * The model choice for the conversation flow.
4102
- */
4103
- interface ModelChoice {
4104
- /**
4105
- * The LLM model to use
4106
- */
4107
- model: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-5-sonnet' | 'claude-4.5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash';
4108
- /**
4109
- * Type of model choice
4110
- */
4111
- type: 'cascading';
4112
- /**
4113
- * Whether to use high priority pool with more dedicated resource, default false
4114
- */
4115
- high_priority?: boolean;
4116
- }
4117
- }
4118
- /**
4119
- * Override Retell LLM configuration settings. Only applicable when using Retell
4120
- * LLM as the response engine. Supported attributes - model, s2s_model,
4121
- * model_temperature, model_high_priority, tool_call_strict_mode,
4122
- * knowledge_base_ids, kb_config, start_speaker, begin_after_user_silence_ms,
4123
- * begin_message.
4124
- */
4125
- interface RetellLlm {
4126
- /**
4127
- * If set, the AI will begin the conversation after waiting for the user for the
4128
- * duration (in milliseconds) specified by this attribute. This only applies if the
4129
- * agent is configured to wait for the user to speak first. If not set, the agent
4130
- * will wait indefinitely for the user to speak.
4131
- */
4132
- begin_after_user_silence_ms?: number | null;
4133
- /**
4134
- * First utterance said by the agent in the call. If not set, LLM will dynamically
4135
- * generate a message. If set to "", agent will wait for user to speak first.
4136
- */
4137
- begin_message?: string | null;
4138
- /**
4139
- * Knowledge base configuration for RAG retrieval.
4140
- */
4141
- kb_config?: RetellLlm.KBConfig | null;
4142
- /**
4143
- * A list of knowledge base ids to use for this resource.
4144
- */
4145
- knowledge_base_ids?: Array<string> | null;
4146
- /**
4147
- * Select the underlying text LLM. If not set, would default to gpt-4.1.
4148
- */
4149
- model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-5-sonnet' | 'claude-4.5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash' | null;
4150
- /**
4151
- * If set to true, will use high priority pool with more dedicated resource to
4152
- * ensure lower and more consistent latency, default to false. This feature usually
4153
- * comes with a higher cost.
4154
- */
4155
- model_high_priority?: boolean | null;
4156
- /**
4157
- * If set, will control the randomness of the response. Value ranging from [0,1].
4158
- * Lower value means more deterministic, while higher value means more random. If
4159
- * unset, default value 0 will apply. Note that for tool calling, a lower value is
4160
- * recommended.
4161
- */
4162
- model_temperature?: number;
4163
- /**
4164
- * Select the underlying speech to speech model. Can only set this or model, not
4165
- * both.
4166
- */
4167
- s2s_model?: 'gpt-realtime-2.1' | 'gpt-realtime-2.1-mini' | 'gpt-realtime-2' | 'gpt-realtime-1.5' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
4168
- /**
4169
- * The speaker who starts the conversation. Required. Must be either 'user' or
4170
- * 'agent'.
4171
- */
4172
- start_speaker?: 'user' | 'agent';
4173
- /**
4174
- * Whether to use strict mode for tool calls. Only applicable when using certain
4175
- * supported models.
4176
- */
4177
- tool_call_strict_mode?: boolean | null;
4178
- }
4179
- namespace RetellLlm {
4180
- /**
4181
- * Knowledge base configuration for RAG retrieval.
4182
- */
4183
- interface KBConfig {
4184
- /**
4185
- * Similarity threshold for filtering search results
4186
- */
4187
- filter_score?: number;
4188
- /**
4189
- * Max number of knowledge base chunks to retrieve
4190
- */
4191
- top_k?: number;
4192
- }
3884
+ op: 'in';
3885
+ type: 'enum';
3886
+ value: Array<'Negative' | 'Positive' | 'Neutral' | 'Unknown'>;
4193
3887
  }
4194
3888
  }
4195
3889
  }
4196
- export interface CallRegisterPhoneCallParams {
3890
+ export interface CallCreatePhoneCallParams {
4197
3891
  /**
4198
- * The agent to use for the call.
3892
+ * The number you own in E.164 format. Must be a number purchased from Retell or
3893
+ * imported to Retell.
3894
+ */
3895
+ from_number: string;
3896
+ /**
3897
+ * The number you want to call, in E.164 format. If using a number purchased from
3898
+ * Retell, only US numbers are supported as destination.
4199
3899
  */
4200
- agent_id: string;
3900
+ to_number: string;
4201
3901
  /**
4202
3902
  * For this particular call, override agent configuration with these settings. This
4203
3903
  * allows you to customize agent behavior for individual calls without modifying
4204
3904
  * the base agent.
4205
3905
  */
4206
- agent_override?: CallRegisterPhoneCallParams.AgentOverride;
4207
- /**
4208
- * The version of the agent to use for the call.
4209
- */
4210
- agent_version?: string | number;
3906
+ agent_override?: CallCreatePhoneCallParams.AgentOverride;
4211
3907
  /**
4212
- * Direction of the phone call. Stored for tracking purpose.
3908
+ * Add optional custom SIP headers to the call.
4213
3909
  */
4214
- direction?: 'inbound' | 'outbound';
3910
+ custom_sip_headers?: {
3911
+ [key: string]: string;
3912
+ };
4215
3913
  /**
4216
- * The number you own in E.164 format. Stored for tracking purpose.
3914
+ * If true, the e.164 validation will be ignored for the from_number. This can be
3915
+ * useful when you want to dial to internal pseudo numbers. This only applies when
3916
+ * you are using custom telephony and does not apply when you are using Retell
3917
+ * Telephony. If omitted, the default value is false.
4217
3918
  */
4218
- from_number?: string;
3919
+ ignore_e164_validation?: boolean;
4219
3920
  /**
4220
3921
  * An arbitrary object for storage purpose only. You can put anything here like
4221
3922
  * your internal customer id associated with the call. Not used for processing. You
4222
3923
  * can later get this field from the call object.
4223
3924
  */
4224
3925
  metadata?: unknown;
3926
+ /**
3927
+ * For this particular call, override the agent used with this agent id. This does
3928
+ * not bind the agent to this number, this is for one time override.
3929
+ */
3930
+ override_agent_id?: string;
3931
+ /**
3932
+ * For this particular call, override the agent version used with this version.
3933
+ * This does not bind the agent version to this number, this is for one time
3934
+ * override.
3935
+ */
3936
+ override_agent_version?: string | number;
4225
3937
  /**
4226
3938
  * Add optional dynamic variables in key value pairs of string that injects into
4227
3939
  * your Response Engine prompt and tool description. Only applicable for Response
@@ -4230,12 +3942,8 @@ export interface CallRegisterPhoneCallParams {
4230
3942
  retell_llm_dynamic_variables?: {
4231
3943
  [key: string]: string;
4232
3944
  };
4233
- /**
4234
- * The number you want to call, in E.164 format. Stored for tracking purpose.
4235
- */
4236
- to_number?: string;
4237
3945
  }
4238
- export declare namespace CallRegisterPhoneCallParams {
3946
+ export declare namespace CallCreatePhoneCallParams {
4239
3947
  /**
4240
3948
  * For this particular call, override agent configuration with these settings. This
4241
3949
  * allows you to customize agent behavior for individual calls without modifying
@@ -6082,659 +5790,951 @@ export declare namespace CallCreateWebCallParams {
6082
5790
  }
6083
5791
  }
6084
5792
  }
6085
- export interface CallListParams {
5793
+ export interface CallRegisterPhoneCallParams {
6086
5794
  /**
6087
- * Filter criteria for calls. All conditions are implicitly connected with AND.
5795
+ * The agent to use for the call.
6088
5796
  */
6089
- filter_criteria?: CallListParams.FilterCriteria;
5797
+ agent_id: string;
6090
5798
  /**
6091
- * Whether to include `total` (count of all calls matching `filter_criteria`,
6092
- * ignoring `limit`/`skip`/`pagination_key`) in the response. Defaults to false.
6093
- * Each enabled request triggers an additional aggregate query, so opt in only when
6094
- * the total is needed.
5799
+ * For this particular call, override agent configuration with these settings. This
5800
+ * allows you to customize agent behavior for individual calls without modifying
5801
+ * the base agent.
6095
5802
  */
6096
- include_total?: boolean;
5803
+ agent_override?: CallRegisterPhoneCallParams.AgentOverride;
6097
5804
  /**
6098
- * Maximum number of calls to return.
5805
+ * The version of the agent to use for the call.
6099
5806
  */
6100
- limit?: number;
5807
+ agent_version?: string | number;
6101
5808
  /**
6102
- * Opaque pagination cursor from a previous response.
5809
+ * Direction of the phone call. Stored for tracking purpose.
6103
5810
  */
6104
- pagination_key?: string;
5811
+ direction?: 'inbound' | 'outbound';
6105
5812
  /**
6106
- * Number of records to skip for pagination.
5813
+ * The number you own in E.164 format. Stored for tracking purpose.
6107
5814
  */
6108
- skip?: number;
5815
+ from_number?: string;
6109
5816
  /**
6110
- * Sort calls by `start_timestamp` in ascending or descending order.
5817
+ * An arbitrary object for storage purpose only. You can put anything here like
5818
+ * your internal customer id associated with the call. Not used for processing. You
5819
+ * can later get this field from the call object.
6111
5820
  */
6112
- sort_order?: 'ascending' | 'descending';
5821
+ metadata?: unknown;
5822
+ /**
5823
+ * Add optional dynamic variables in key value pairs of string that injects into
5824
+ * your Response Engine prompt and tool description. Only applicable for Response
5825
+ * Engine.
5826
+ */
5827
+ retell_llm_dynamic_variables?: {
5828
+ [key: string]: string;
5829
+ };
5830
+ /**
5831
+ * The number you want to call, in E.164 format. Stored for tracking purpose.
5832
+ */
5833
+ to_number?: string;
6113
5834
  }
6114
- export declare namespace CallListParams {
5835
+ export declare namespace CallRegisterPhoneCallParams {
6115
5836
  /**
6116
- * Filter criteria for calls. All conditions are implicitly connected with AND.
5837
+ * For this particular call, override agent configuration with these settings. This
5838
+ * allows you to customize agent behavior for individual calls without modifying
5839
+ * the base agent.
6117
5840
  */
6118
- interface FilterCriteria {
6119
- /**
6120
- * Filter by agent(s). Agent filters are connected by OR.
6121
- */
6122
- agent?: Array<FilterCriteria.Agent>;
6123
- /**
6124
- * Filter by agent environment tag(s) (e.g. "prod", "staging").
6125
- */
6126
- agent_tag?: FilterCriteria.AgentTag;
6127
- /**
6128
- * Filter by batch call ID.
6129
- */
6130
- batch_call_id?: FilterCriteria.BatchCallID;
6131
- /**
6132
- * Filter by call ID.
6133
- */
6134
- call_id?: FilterCriteria.StringFilter | FilterCriteria.EnumFilter;
6135
- call_status?: FilterCriteria.CallStatus;
6136
- /**
6137
- * Filter by whether the call was successful.
6138
- */
6139
- call_successful?: FilterCriteria.CallSuccessful;
6140
- call_type?: FilterCriteria.CallType;
6141
- /**
6142
- * Filter by combined cost of the call.
6143
- */
6144
- combined_cost?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
6145
- /**
6146
- * Filter by custom analysis data fields.
6147
- */
6148
- custom_analysis_data?: Array<FilterCriteria.StringFilter | FilterCriteria.NumberFilter | FilterCriteria.BooleanFilter | FilterCriteria.RangeFilter | FilterCriteria.EnumFilter | FilterCriteria.PresentFilter>;
6149
- /**
6150
- * Filter by custom attributes fields.
6151
- */
6152
- custom_attributes?: Array<FilterCriteria.StringFilter | FilterCriteria.NumberFilter | FilterCriteria.BooleanFilter | FilterCriteria.RangeFilter | FilterCriteria.EnumFilter | FilterCriteria.PresentFilter>;
6153
- data_storage_setting?: FilterCriteria.DataStorageSetting;
6154
- direction?: FilterCriteria.Direction;
6155
- disconnection_reason?: FilterCriteria.DisconnectionReason;
6156
- /**
6157
- * Filter by call duration in milliseconds.
6158
- */
6159
- duration_ms?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
6160
- /**
6161
- * Filter by dynamic variables.
6162
- */
6163
- dynamic_variables?: Array<FilterCriteria.DynamicVariable>;
6164
- /**
6165
- * Filter by end-to-end latency p50.
6166
- */
6167
- e2e_latency_p50?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
6168
- /**
6169
- * Filter by call end timestamp (epoch ms).
6170
- */
6171
- end_timestamp?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
6172
- /**
6173
- * Filter by from number.
6174
- */
6175
- from_number?: FilterCriteria.FromNumber;
6176
- /**
6177
- * Filter by whether the call is in voicemail.
6178
- */
6179
- in_voicemail?: FilterCriteria.InVoicemail;
5841
+ interface AgentOverride {
6180
5842
  /**
6181
- * Filter by metadata fields.
5843
+ * Override agent configuration settings. Any properties specified here will
5844
+ * override the base agent configuration for this call.
6182
5845
  */
6183
- metadata?: Array<FilterCriteria.StringFilter | FilterCriteria.NumberFilter | FilterCriteria.BooleanFilter | FilterCriteria.RangeFilter | FilterCriteria.EnumFilter | FilterCriteria.PresentFilter>;
5846
+ agent?: AgentOverride.Agent;
6184
5847
  /**
6185
- * Filter by call start timestamp (epoch ms).
5848
+ * Override conversation flow configuration settings. Only applicable when using
5849
+ * conversation flow as the response engine. Supported attributes - model_choice,
5850
+ * model_temperature, tool_call_strict_mode, knowledge_base_ids, kb_config,
5851
+ * start_speaker, begin_after_user_silence_ms.
6186
5852
  */
6187
- start_timestamp?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
5853
+ conversation_flow?: AgentOverride.ConversationFlow;
6188
5854
  /**
6189
- * Filter by to number.
5855
+ * Override Retell LLM configuration settings. Only applicable when using Retell
5856
+ * LLM as the response engine. Supported attributes - model, s2s_model,
5857
+ * model_temperature, model_high_priority, tool_call_strict_mode,
5858
+ * knowledge_base_ids, kb_config, start_speaker, begin_after_user_silence_ms,
5859
+ * begin_message.
6190
5860
  */
6191
- to_number?: FilterCriteria.ToNumber;
5861
+ retell_llm?: AgentOverride.RetellLlm;
5862
+ }
5863
+ namespace AgentOverride {
6192
5864
  /**
6193
- * Filter by tool call criteria. Tool call filters are connected by AND.
5865
+ * Override agent configuration settings. Any properties specified here will
5866
+ * override the base agent configuration for this call.
6194
5867
  */
6195
- tool_calls?: Array<FilterCriteria.ToolCall>;
6196
- user_sentiment?: FilterCriteria.UserSentiment;
6197
- }
6198
- namespace FilterCriteria {
6199
5868
  interface Agent {
6200
5869
  /**
6201
- * The agent ID to filter on.
5870
+ * The name of the agent. Only used for your own reference.
5871
+ */
5872
+ agent_name?: string | null;
5873
+ /**
5874
+ * If set to true, DTMF input will interrupt the agent even when
5875
+ * interruption_sensitivity is 0. Can be overridden per conversation or subagent
5876
+ * node. Default to false.
5877
+ */
5878
+ allow_dtmf_interruption?: boolean;
5879
+ /**
5880
+ * If set to true, DTMF input will be accepted and processed. If false, any DTMF
5881
+ * input will be ignored. Default to true.
5882
+ */
5883
+ allow_user_dtmf?: boolean;
5884
+ /**
5885
+ * If set, will add ambient environment sound to the call to make experience more
5886
+ * realistic. Currently supports the following options:
5887
+ *
5888
+ * - `coffee-shop`: Coffee shop ambience with people chatting in background.
5889
+ * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/coffee-shop.wav)
5890
+ * - `convention-hall`: Convention hall ambience, with some echo and people
5891
+ * chatting in background.
5892
+ * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/convention-hall.wav)
5893
+ * - `summer-outdoor`: Summer outdoor ambience with cicada chirping.
5894
+ * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/summer-outdoor.wav)
5895
+ * - `mountain-outdoor`: Mountain outdoor ambience with birds singing.
5896
+ * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/mountain-outdoor.wav)
5897
+ * - `static-noise`: Constant static noise.
5898
+ * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/static-noise.wav)
5899
+ * - `call-center`: Call center work noise.
5900
+ * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/call-center.wav)
5901
+ * Set to `null` to remove ambient sound from this agent.
5902
+ */
5903
+ ambient_sound?: 'coffee-shop' | 'convention-hall' | 'summer-outdoor' | 'mountain-outdoor' | 'static-noise' | 'call-center' | null;
5904
+ /**
5905
+ * If set, will control the volume of the ambient sound. Value ranging from [0,2].
5906
+ * Lower value means quieter ambient sound, while higher value means louder ambient
5907
+ * sound. If unset, default value 1 will apply.
5908
+ */
5909
+ ambient_sound_volume?: number;
5910
+ /**
5911
+ * Only applicable when enable_backchannel is true. Controls how often the agent
5912
+ * would backchannel when a backchannel is possible. Value ranging from [0,1].
5913
+ * Lower value means less frequent backchannel, while higher value means more
5914
+ * frequent backchannel. If unset, default value 0.8 will apply.
5915
+ */
5916
+ backchannel_frequency?: number;
5917
+ /**
5918
+ * Only applicable when enable_backchannel is true. A list of words that the agent
5919
+ * would use as backchannel. If not set, default backchannel words will apply.
5920
+ * Check out
5921
+ * [backchannel default words](/agent/interaction-configuration#backchannel) for
5922
+ * more details. Note that certain voices do not work too well with certain words,
5923
+ * so it's recommended to experiment before adding any words.
5924
+ */
5925
+ backchannel_words?: Array<string> | null;
5926
+ /**
5927
+ * If set, will delay the first message by the specified amount of milliseconds, so
5928
+ * that it gives user more time to prepare to take the call. Valid range is [0,
5929
+ * 5000]. If not set or set to 0, agent will speak immediately. Only applicable
5930
+ * when agent speaks first.
5931
+ */
5932
+ begin_message_delay_ms?: number;
5933
+ /**
5934
+ * Provide a customized list of keywords to bias the transcriber model, so that
5935
+ * these words are more likely to get transcribed. Commonly used for names, brands,
5936
+ * street, etc. Entries may reference dynamic variables with `{{variable}}` syntax.
5937
+ */
5938
+ boosted_keywords?: Array<string> | null;
5939
+ /**
5940
+ * If this option is set, the agent prompt will include call screen handling
5941
+ * instructions for identity and call purpose questions. Set this to null to
5942
+ * disable call screen prompt instructions.
5943
+ */
5944
+ call_screening_option?: Agent.CallScreeningOption | null;
5945
+ /**
5946
+ * Custom STT configuration. Only used when stt_mode is set to custom.
6202
5947
  */
6203
- agent_id: string;
5948
+ custom_stt_config?: Agent.CustomSttConfig | null;
6204
5949
  /**
6205
- * Specific versions to filter on. If not provided, all versions are included.
5950
+ * Number of days to retain call/chat data before automatic deletion. Must be
5951
+ * between 1 and 730 days. If not set, data is retained forever (no automatic
5952
+ * deletion).
6206
5953
  */
6207
- version?: Array<number>;
6208
- }
6209
- /**
6210
- * Filter by agent environment tag(s) (e.g. "prod", "staging").
6211
- */
6212
- interface AgentTag {
5954
+ data_storage_retention_days?: number | null;
6213
5955
  /**
6214
- * in: value is one of the listed values
5956
+ * Granular setting to manage how Retell stores sensitive data (transcripts,
5957
+ * recordings, logs, etc.). This replaces the deprecated
5958
+ * `opt_out_sensitive_data_storage` field.
5959
+ *
5960
+ * - `everything`: Store all data including transcripts, recordings, and logs.
5961
+ * - `everything_except_pii`: Store data without PII when PII is detected.
5962
+ * - `basic_attributes_only`: Store only basic attributes; no
5963
+ * transcripts/recordings/logs. If not set, default value of "everything" will
5964
+ * apply.
6215
5965
  */
6216
- op: 'in';
6217
- type: 'enum';
6218
- value: Array<string>;
6219
- }
6220
- /**
6221
- * Filter by batch call ID.
6222
- */
6223
- interface BatchCallID {
5966
+ data_storage_setting?: 'everything' | 'everything_except_pii' | 'basic_attributes_only';
6224
5967
  /**
6225
- * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
5968
+ * If set, determines what denoising mode to use. Use "no-denoise" to bypass all
5969
+ * audio denoising. Default to noise-cancellation.
6226
5970
  */
6227
- op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
6228
- type: 'string';
6229
- value: string;
6230
- }
6231
- interface StringFilter {
5971
+ denoising_mode?: 'no-denoise' | 'noise-cancellation' | 'noise-and-background-speech-cancellation';
6232
5972
  /**
6233
- * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
5973
+ * Controls whether the agent would backchannel (agent interjects the speaker with
5974
+ * phrases like "yeah", "uh-huh" to signify interest and engagement). Backchannel
5975
+ * when enabled tends to show up more in longer user utterances. If not set, agent
5976
+ * will not backchannel.
6234
5977
  */
6235
- op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
6236
- type: 'string';
6237
- value: string;
6238
- }
6239
- interface EnumFilter {
5978
+ enable_backchannel?: boolean;
6240
5979
  /**
6241
- * in: value is one of the listed values
5980
+ * If set to true, the agent will dynamically adjust how quickly it responds based
5981
+ * on the user's speech rate and past turn-taking behavior in the call. If unset,
5982
+ * default value false will apply.
6242
5983
  */
6243
- op: 'in';
6244
- type: 'enum';
6245
- value: Array<string>;
6246
- }
6247
- interface CallStatus {
5984
+ enable_dynamic_responsiveness?: boolean;
6248
5985
  /**
6249
- * in: value is one of the listed values
5986
+ * If set to true, will enable dynamic voice speed adjustment based on the user's
5987
+ * speech rate and conversation context. If unset, default value false will apply.
6250
5988
  */
6251
- op: 'in';
6252
- type: 'enum';
6253
- value: Array<'not_connected' | 'ongoing' | 'ended' | 'error'>;
6254
- }
6255
- /**
6256
- * Filter by whether the call was successful.
6257
- */
6258
- interface CallSuccessful {
6259
- op: 'eq';
6260
- type: 'boolean';
6261
- value: boolean;
6262
- }
6263
- interface CallType {
5989
+ enable_dynamic_voice_speed?: boolean;
6264
5990
  /**
6265
- * in: value is one of the listed values
5991
+ * Master toggle for expressive mode. When true, the agent may add expressive voice
5992
+ * tags to the audio it generates. Only applicable for platform voices. If unset,
5993
+ * defaults to false.
6266
5994
  */
6267
- op: 'in';
6268
- type: 'enum';
6269
- value: Array<'web_call' | 'phone_call'>;
6270
- }
6271
- interface NumberFilter {
5995
+ enable_expressive_mode?: boolean;
6272
5996
  /**
6273
- * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
6274
- * than, le: less than or equal
5997
+ * If users stay silent for a period after agent speech, end the call. The minimum
5998
+ * value allowed is 10,000 ms (10 s). By default, this is set to 600000 (10 min).
6275
5999
  */
6276
- op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
6277
- type: 'number';
6278
- value: number;
6279
- }
6280
- interface RangeFilter {
6000
+ end_call_after_silence_ms?: number;
6281
6001
  /**
6282
- * bt: between
6002
+ * The expressive voice tags Retell pre-teaches the model to use when
6003
+ * enable_expressive_mode is true. Custom tags defined in the system prompt are
6004
+ * still allowed. If empty, the agent follows general expressive guidance without a
6005
+ * fixed tag set.
6283
6006
  */
6284
- op: 'bt';
6285
- type: 'range';
6007
+ expressive_emotion_tags?: Array<'empathetic' | 'excited' | 'happy' | 'curious' | 'surprised' | 'sigh' | 'clear throat' | 'pause' | 'long pause' | 'emphasis'>;
6286
6008
  /**
6287
- * [lower_bound, upper_bound]
6009
+ * Custom expressive voice guidance to use instead of the default Retell expressive
6010
+ * prompt when enable_expressive_mode is true. If omitted or blank, the default
6011
+ * expressive prompt will be used.
6288
6012
  */
6289
- value: Array<number>;
6290
- }
6291
- interface StringFilter {
6013
+ expressive_mode_prompt?: string | null;
6292
6014
  /**
6293
- * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
6015
+ * When TTS provider for the selected voice is experiencing outages, we would use
6016
+ * fallback voices listed here for the agent. Voice id and the fallback voice ids
6017
+ * must be from different TTS providers. The system would go through the list in
6018
+ * order, if the first one in the list is also having outage, it would use the next
6019
+ * one. Set to null to remove voice fallback for the agent.
6294
6020
  */
6295
- op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
6296
- type: 'string';
6297
- value: string;
6021
+ fallback_voice_ids?: Array<string> | null;
6298
6022
  /**
6299
- * The field name to filter on.
6023
+ * Configuration for guardrail checks to detect and prevent prohibited topics in
6024
+ * agent output and user input.
6300
6025
  */
6301
- key?: string;
6302
- }
6303
- interface NumberFilter {
6026
+ guardrail_config?: Agent.GuardrailConfig;
6304
6027
  /**
6305
- * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
6306
- * than, le: less than or equal
6028
+ * Toggle behavior presets on/off to influence agent response style and behaviors.
6307
6029
  */
6308
- op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
6309
- type: 'number';
6310
- value: number;
6030
+ handbook_config?: Agent.HandbookConfig;
6311
6031
  /**
6312
- * The field name to filter on.
6032
+ * Controls how sensitive the agent is to user interruptions. Value ranging from
6033
+ * [0,1]. Lower value means it will take longer / more words for user to interrupt
6034
+ * agent, while higher value means it's easier for user to interrupt agent. If
6035
+ * unset, default value 1 will apply. When this is set to 0, agent would never be
6036
+ * interrupted.
6313
6037
  */
6314
- key?: string;
6315
- }
6316
- interface BooleanFilter {
6317
- op: 'eq';
6318
- type: 'boolean';
6319
- value: boolean;
6038
+ interruption_sensitivity?: number;
6320
6039
  /**
6321
- * The field name to filter on.
6040
+ * If this option is set, the call will try to detect IVR in the first 3 minutes of
6041
+ * the call. Actions defined will be applied when the IVR is detected. Set this to
6042
+ * null to disable IVR detection.
6322
6043
  */
6323
- key?: string;
6324
- }
6325
- interface RangeFilter {
6044
+ ivr_option?: Agent.IvrOption | null;
6326
6045
  /**
6327
- * bt: between
6046
+ * Specifies what language(s) the agent will operate in. Accepts either a single
6047
+ * scalar locale (e.g. `en-US`), the legacy scalar value `multi` for multilingual
6048
+ * support, or an array of concrete locale codes for explicit multi-locale
6049
+ * selection (e.g. `["en-US","es-ES"]`). The array form must contain concrete
6050
+ * locale codes only — the `multi` value is valid only as the scalar legacy form
6051
+ * and must not appear inside an array. Single-element arrays are normalized to the
6052
+ * equivalent scalar on output. If unset, defaults to `en-US`.
6328
6053
  */
6329
- op: 'bt';
6330
- type: 'range';
6054
+ language?: 'en-US' | 'en-IN' | 'en-GB' | 'en-AU' | 'en-NZ' | 'de-DE' | 'es-ES' | 'es-419' | 'hi-IN' | 'fr-FR' | 'fr-CA' | 'ja-JP' | 'pt-PT' | 'pt-BR' | 'zh-CN' | 'ru-RU' | 'it-IT' | 'ko-KR' | 'nl-NL' | 'nl-BE' | 'pl-PL' | 'tr-TR' | 'vi-VN' | 'ro-RO' | 'bg-BG' | 'ca-ES' | 'th-TH' | 'da-DK' | 'fi-FI' | 'el-GR' | 'hu-HU' | 'id-ID' | 'no-NO' | 'sk-SK' | 'sv-SE' | 'lt-LT' | 'lv-LV' | 'cs-CZ' | 'ms-MY' | 'af-ZA' | 'ar-SA' | 'az-AZ' | 'bs-BA' | 'cy-GB' | 'fa-IR' | 'fil-PH' | 'gl-ES' | 'he-IL' | 'hr-HR' | 'hy-AM' | 'is-IS' | 'kk-KZ' | 'kn-IN' | 'mk-MK' | 'mr-IN' | 'ne-NP' | 'sl-SI' | 'sr-RS' | 'sw-KE' | 'ta-IN' | 'ur-IN' | 'yue-CN' | 'uk-UA' | 'multi' | Array<'en-US' | 'en-IN' | 'en-GB' | 'en-AU' | 'en-NZ' | 'de-DE' | 'es-ES' | 'es-419' | 'hi-IN' | 'fr-FR' | 'fr-CA' | 'ja-JP' | 'pt-PT' | 'pt-BR' | 'zh-CN' | 'ru-RU' | 'it-IT' | 'ko-KR' | 'nl-NL' | 'nl-BE' | 'pl-PL' | 'tr-TR' | 'vi-VN' | 'ro-RO' | 'bg-BG' | 'ca-ES' | 'th-TH' | 'da-DK' | 'fi-FI' | 'el-GR' | 'hu-HU' | 'id-ID' | 'no-NO' | 'sk-SK' | 'sv-SE' | 'lt-LT' | 'lv-LV' | 'cs-CZ' | 'ms-MY' | 'af-ZA' | 'ar-SA' | 'az-AZ' | 'bs-BA' | 'cy-GB' | 'fa-IR' | 'fil-PH' | 'gl-ES' | 'he-IL' | 'hr-HR' | 'hy-AM' | 'is-IS' | 'kk-KZ' | 'kn-IN' | 'mk-MK' | 'mr-IN' | 'ne-NP' | 'sl-SI' | 'sr-RS' | 'sw-KE' | 'ta-IN' | 'ur-IN' | 'yue-CN' | 'uk-UA'>;
6331
6055
  /**
6332
- * [lower_bound, upper_bound]
6056
+ * Maximum allowed length for the call, will force end the call if reached. The
6057
+ * minimum value allowed is 60,000 ms (1 min), and maximum value allowed is
6058
+ * 7,200,000 (2 hours). By default, this is set to 3,600,000 (1 hour).
6333
6059
  */
6334
- value: Array<number>;
6060
+ max_call_duration_ms?: number;
6335
6061
  /**
6336
- * The field name to filter on.
6062
+ * Whether this agent opts in for signed URLs for public logs and recordings. When
6063
+ * enabled, the generated URLs will include security signatures that restrict
6064
+ * access and automatically expire after 24 hours.
6337
6065
  */
6338
- key?: string;
6339
- }
6340
- interface EnumFilter {
6066
+ opt_in_signed_url?: boolean;
6341
6067
  /**
6342
- * in: value is one of the listed values
6068
+ * Configuration for PII scrubbing from transcripts and recordings.
6343
6069
  */
6344
- op: 'in';
6345
- type: 'enum';
6346
- value: Array<string>;
6070
+ pii_config?: Agent.PiiConfig;
6347
6071
  /**
6348
- * The field name to filter on.
6072
+ * Post call analysis data to extract from the call. This data will augment the
6073
+ * pre-defined variables extracted in the call analysis. This will be available
6074
+ * after the call ends.
6349
6075
  */
6350
- key?: string;
6351
- }
6352
- interface PresentFilter {
6076
+ post_call_analysis_data?: Array<Agent.StringAnalysisData | Agent.EnumAnalysisData | Agent.BooleanAnalysisData | Agent.NumberAnalysisData | Agent.CallPresetAnalysisData> | null;
6353
6077
  /**
6354
- * pr: present (has value), np: not present
6078
+ * The model to use for post call analysis. Default to gpt-4.1.
6355
6079
  */
6356
- op: 'pr' | 'np';
6357
- type: 'present';
6080
+ post_call_analysis_model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-5-sonnet' | 'claude-4.5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash' | null;
6358
6081
  /**
6359
- * The field name to filter on.
6082
+ * A list of words / phrases and their pronunciation to be used to guide the audio
6083
+ * synthesize for consistent pronunciation. Check the dashboard to see what
6084
+ * provider supports this feature. Set to null to remove pronunciation dictionary
6085
+ * from this agent.
6360
6086
  */
6361
- key?: string;
6362
- }
6363
- interface StringFilter {
6087
+ pronunciation_dictionary?: Array<Agent.PronunciationDictionary> | null;
6364
6088
  /**
6365
- * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
6089
+ * If set, controls how many times agent would remind user when user is
6090
+ * unresponsive. Must be a non negative integer. If unset, default value of 1 will
6091
+ * apply (remind once). Set to 0 to disable agent from reminding.
6366
6092
  */
6367
- op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
6368
- type: 'string';
6369
- value: string;
6093
+ reminder_max_count?: number;
6370
6094
  /**
6371
- * The field name to filter on.
6095
+ * If set (in milliseconds), will trigger a reminder to the agent to speak if the
6096
+ * user has been silent for the specified duration after some agent speech. Must be
6097
+ * a positive number. If unset, default value of 10000 ms (10 s) will apply.
6372
6098
  */
6373
- key?: string;
6374
- }
6375
- interface NumberFilter {
6099
+ reminder_trigger_ms?: number;
6376
6100
  /**
6377
- * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
6378
- * than, le: less than or equal
6101
+ * The Response Engine to attach to the agent. It is used to generate responses for
6102
+ * the agent. You need to create a Response Engine first before attaching it to an
6103
+ * agent.
6379
6104
  */
6380
- op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
6381
- type: 'number';
6382
- value: number;
6105
+ response_engine?: Agent.ResponseEngineRetellLm | Agent.ResponseEngineCustomLm | Agent.ResponseEngineConversationFlow;
6383
6106
  /**
6384
- * The field name to filter on.
6107
+ * Controls how responsive is the agent. Value ranging from [0,1]. Lower value
6108
+ * means less responsive agent (wait more, respond slower), while higher value
6109
+ * means faster exchanges (respond when it can). If unset, default value 1 will
6110
+ * apply.
6385
6111
  */
6386
- key?: string;
6387
- }
6388
- interface BooleanFilter {
6389
- op: 'eq';
6390
- type: 'boolean';
6391
- value: boolean;
6112
+ responsiveness?: number;
6113
+ /**
6114
+ * If set, the phone ringing will last for the specified amount of milliseconds.
6115
+ * This applies for both outbound call ringtime, and call transfer ringtime.
6116
+ * Default to 30000 (30 s). Valid range is [5000, 300000].
6117
+ */
6118
+ ring_duration_ms?: number;
6392
6119
  /**
6393
- * The field name to filter on.
6120
+ * The expiration time for the signed url in milliseconds. Only applicable when
6121
+ * opt_in_signed_url is true. If not set, default value of 86400000 (24 hours) will
6122
+ * apply.
6394
6123
  */
6395
- key?: string;
6396
- }
6397
- interface RangeFilter {
6124
+ signed_url_expiration_ms?: number | null;
6398
6125
  /**
6399
- * bt: between
6126
+ * If set, determines whether speech to text should focus on latency or accuracy.
6127
+ * Default to fast mode. When set to custom, custom_stt_config must be provided.
6400
6128
  */
6401
- op: 'bt';
6402
- type: 'range';
6129
+ stt_mode?: 'fast' | 'accurate' | 'custom';
6403
6130
  /**
6404
- * [lower_bound, upper_bound]
6131
+ * IANA timezone for the agent (e.g. America/New_York). Defaults to
6132
+ * America/Los_Angeles if not set.
6405
6133
  */
6406
- value: Array<number>;
6134
+ timezone?: string | null;
6135
+ user_dtmf_options?: Agent.UserDtmfOptions | null;
6407
6136
  /**
6408
- * The field name to filter on.
6137
+ * Optional description of the agent version. Used for your own reference and
6138
+ * documentation.
6409
6139
  */
6410
- key?: string;
6411
- }
6412
- interface EnumFilter {
6140
+ version_description?: string | null;
6413
6141
  /**
6414
- * in: value is one of the listed values
6142
+ * Optional title of the agent version. Used for your own reference.
6415
6143
  */
6416
- op: 'in';
6417
- type: 'enum';
6418
- value: Array<string>;
6144
+ version_title?: string | null;
6419
6145
  /**
6420
- * The field name to filter on.
6146
+ * If set, determines the vocabulary set to use for transcription. This setting
6147
+ * only applies for English agents, for non English agent, this setting is a no-op.
6148
+ * Default to general.
6421
6149
  */
6422
- key?: string;
6423
- }
6424
- interface PresentFilter {
6150
+ vocab_specialization?: 'general' | 'medical';
6425
6151
  /**
6426
- * pr: present (has value), np: not present
6152
+ * Controls the emotional tone of the agent's voice. Currently supported for
6153
+ * Cartesia and Minimax TTS providers. If unset, no emotion will be used.
6427
6154
  */
6428
- op: 'pr' | 'np';
6429
- type: 'present';
6155
+ voice_emotion?: 'calm' | 'sympathetic' | 'happy' | 'sad' | 'angry' | 'fearful' | 'surprised' | null;
6430
6156
  /**
6431
- * The field name to filter on.
6157
+ * Unique voice id used for the agent. Find list of available voices and their
6158
+ * preview in Dashboard.
6432
6159
  */
6433
- key?: string;
6434
- }
6435
- interface DataStorageSetting {
6160
+ voice_id?: string;
6436
6161
  /**
6437
- * in: value is one of the listed values
6162
+ * Select the voice model used for the selected voice. Each provider has a set of
6163
+ * available voice models. Set to null to remove voice model selection, and default
6164
+ * ones will apply. Check out dashboard for more details of each voice model.
6438
6165
  */
6439
- op: 'in';
6440
- type: 'enum';
6441
- value: Array<'everything' | 'everything_except_pii' | 'basic_attributes_only'>;
6442
- }
6443
- interface Direction {
6166
+ voice_model?: 'eleven_flash_v2' | 'eleven_flash_v2_5' | 'eleven_multilingual_v2' | 'eleven_v3' | 'sonic-3' | 'sonic-3-latest' | 'sonic-3.5' | 'tts-1' | 'gpt-4o-mini-tts' | 'speech-02-turbo' | 'speech-2.8-turbo' | 's1' | 's2-pro' | 's2.1-pro' | null;
6444
6167
  /**
6445
- * in: value is one of the listed values
6168
+ * Controls speed of voice. Value ranging from [0.5,2]. Lower value means slower
6169
+ * speech, while higher value means faster speech rate. If unset, default value 1
6170
+ * will apply.
6446
6171
  */
6447
- op: 'in';
6448
- type: 'enum';
6449
- value: Array<'inbound' | 'outbound'>;
6450
- }
6451
- interface DisconnectionReason {
6172
+ voice_speed?: number;
6452
6173
  /**
6453
- * in: value is one of the listed values
6174
+ * Controls how stable the voice is. Value ranging from [0,2]. Lower value means
6175
+ * more stable, and higher value means more variant speech generation. Check the
6176
+ * dashboard to see what provider supports this feature. If unset, default value 1
6177
+ * will apply.
6454
6178
  */
6455
- op: 'in';
6456
- type: 'enum';
6457
- value: Array<'user_hangup' | 'agent_hangup' | 'call_transfer' | 'voicemail_reached' | 'ivr_reached' | 'inactivity' | 'max_duration_reached' | 'concurrency_limit_reached' | 'no_concurrency_fallback' | 'no_valid_payment' | 'scam_detected' | 'dial_busy' | 'dial_failed' | 'dial_no_answer' | 'invalid_destination' | 'telephony_provider_permission_denied' | 'telephony_provider_unavailable' | 'sip_routing_error' | 'marked_as_spam' | 'user_declined' | 'error_llm_websocket_open' | 'error_llm_websocket_lost_connection' | 'error_llm_websocket_runtime' | 'error_llm_websocket_corrupt_payload' | 'error_no_audio_received' | 'error_asr' | 'error_retell' | 'error_unknown' | 'error_user_not_joined' | 'registered_call_timeout' | 'transfer_bridged' | 'transfer_cancelled' | 'manual_stopped' | 'call_take_over'>;
6458
- }
6459
- interface NumberFilter {
6179
+ voice_temperature?: number;
6460
6180
  /**
6461
- * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
6462
- * than, le: less than or equal
6181
+ * If this option is set, the call will try to detect voicemail in the first 3
6182
+ * minutes of the call. Actions defined (hangup, or leave a message) will be
6183
+ * applied when the voicemail is detected. Set this to null to disable voicemail
6184
+ * detection.
6463
6185
  */
6464
- op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
6465
- type: 'number';
6466
- value: number;
6467
- }
6468
- interface RangeFilter {
6186
+ voicemail_option?: Agent.VoicemailOption | null;
6469
6187
  /**
6470
- * bt: between
6188
+ * If set, will control the volume of the agent. Value ranging from [0,2]. Lower
6189
+ * value means quieter agent speech, while higher value means louder agent speech.
6190
+ * If unset, default value 1 will apply.
6471
6191
  */
6472
- op: 'bt';
6473
- type: 'range';
6192
+ volume?: number;
6474
6193
  /**
6475
- * [lower_bound, upper_bound]
6194
+ * Which webhook events this agent should receive. If not set, defaults to
6195
+ * call_started, call_ended, call_analyzed.
6476
6196
  */
6477
- value: Array<number>;
6478
- }
6479
- interface DynamicVariable {
6197
+ webhook_events?: Array<'call_started' | 'call_ended' | 'call_analyzed' | 'transcript_updated' | 'transfer_started' | 'transfer_bridged' | 'transfer_cancelled' | 'transfer_ended'> | null;
6480
6198
  /**
6481
- * The dynamic variable name to filter on.
6199
+ * The timeout for the webhook in milliseconds. If not set, default value of 10000
6200
+ * will apply.
6482
6201
  */
6483
- key: string;
6202
+ webhook_timeout_ms?: number;
6484
6203
  /**
6485
- * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
6204
+ * The webhook for agent to listen to call events. See what events it would get at
6205
+ * [webhook doc](/features/webhook). If set, will binds webhook events for this
6206
+ * agent to the specified url, and will ignore the account level webhook for this
6207
+ * agent. Set to `null` to remove webhook url from this agent.
6486
6208
  */
6487
- op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
6488
- type: 'string';
6489
- value: string;
6209
+ webhook_url?: string | null;
6490
6210
  }
6491
- interface NumberFilter {
6211
+ namespace Agent {
6492
6212
  /**
6493
- * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
6494
- * than, le: less than or equal
6213
+ * If this option is set, the agent prompt will include call screen handling
6214
+ * instructions for identity and call purpose questions. Set this to null to
6215
+ * disable call screen prompt instructions.
6495
6216
  */
6496
- op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
6497
- type: 'number';
6498
- value: number;
6499
- }
6500
- interface RangeFilter {
6217
+ interface CallScreeningOption {
6218
+ /**
6219
+ * Identity the agent should provide when a call screen asks who is calling.
6220
+ * Dynamic variables are supported.
6221
+ */
6222
+ agent_identity: string;
6223
+ /**
6224
+ * Purpose the agent should provide when a call screen asks why it is calling.
6225
+ * Dynamic variables are supported.
6226
+ */
6227
+ call_purpose: string;
6228
+ }
6501
6229
  /**
6502
- * bt: between
6230
+ * Custom STT configuration. Only used when stt_mode is set to custom.
6503
6231
  */
6504
- op: 'bt';
6505
- type: 'range';
6232
+ interface CustomSttConfig {
6233
+ /**
6234
+ * Endpointing timeout in milliseconds. Minimum is 100 for Azure, 10 for Deepgram,
6235
+ * 500 for Soniox, 100 for AssemblyAI.
6236
+ */
6237
+ endpointing_ms: number;
6238
+ /**
6239
+ * ASR provider name.
6240
+ */
6241
+ provider: 'azure' | 'deepgram' | 'soniox' | 'assemblyai';
6242
+ }
6506
6243
  /**
6507
- * [lower_bound, upper_bound]
6244
+ * Configuration for guardrail checks to detect and prevent prohibited topics in
6245
+ * agent output and user input.
6508
6246
  */
6509
- value: Array<number>;
6510
- }
6511
- interface NumberFilter {
6247
+ interface GuardrailConfig {
6248
+ /**
6249
+ * Selected prohibited user topic categories to check. When user messages contain
6250
+ * these topics, the agent will respond with a placeholder message instead of
6251
+ * processing the request.
6252
+ */
6253
+ input_topics?: Array<'platform_integrity_jailbreaking'> | null;
6254
+ /**
6255
+ * Selected prohibited agent topic categories to check. When agent messages contain
6256
+ * these topics, they will be replaced with a placeholder message.
6257
+ */
6258
+ output_topics?: Array<'harassment' | 'self_harm' | 'sexual_exploitation' | 'violence' | 'defense_and_national_security' | 'illicit_and_harmful_activity' | 'gambling' | 'regulated_professional_advice' | 'child_safety_and_exploitation'> | null;
6259
+ }
6512
6260
  /**
6513
- * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
6514
- * than, le: less than or equal
6261
+ * Toggle behavior presets on/off to influence agent response style and behaviors.
6515
6262
  */
6516
- op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
6517
- type: 'number';
6518
- value: number;
6519
- }
6520
- interface RangeFilter {
6263
+ interface HandbookConfig {
6264
+ /**
6265
+ * When asked, acknowledge being a virtual assistant.
6266
+ */
6267
+ ai_disclosure?: boolean;
6268
+ /**
6269
+ * Enables Conversational Personality. When true, the agent uses the Conversational
6270
+ * Personality handbook preset, skips Professional Rep Personality during prompt
6271
+ * assembly, and enables internal colloquial rewrite behavior.
6272
+ */
6273
+ conversational_personality?: boolean;
6274
+ /**
6275
+ * Professional call center rep baseline.
6276
+ */
6277
+ default_personality?: boolean;
6278
+ /**
6279
+ * Repeat back and confirm important details (voice only).
6280
+ */
6281
+ echo_verification?: boolean;
6282
+ /**
6283
+ * Warm acknowledgment of caller concerns.
6284
+ */
6285
+ high_empathy?: boolean;
6286
+ /**
6287
+ * Spell using NATO phonetic alphabet style (voice only).
6288
+ */
6289
+ nato_phonetic_alphabet?: boolean;
6290
+ /**
6291
+ * Sprinkle natural speech fillers like "um", "you know" for a more human,
6292
+ * conversational tone.
6293
+ */
6294
+ natural_filler_words?: boolean;
6295
+ /**
6296
+ * Stay within prompt/context scope, don't invent details.
6297
+ */
6298
+ scope_boundaries?: boolean;
6299
+ /**
6300
+ * Treat near-match similar words as same entity to reduce impact of transcription
6301
+ * error (voice only).
6302
+ */
6303
+ smart_matching?: boolean;
6304
+ /**
6305
+ * Convert numbers/dates/currency to spoken forms (voice only).
6306
+ */
6307
+ speech_normalization?: boolean;
6308
+ }
6309
+ /**
6310
+ * If this option is set, the call will try to detect IVR in the first 3 minutes of
6311
+ * the call. Actions defined will be applied when the IVR is detected. Set this to
6312
+ * null to disable IVR detection.
6313
+ */
6314
+ interface IvrOption {
6315
+ action: IvrOption.Action;
6316
+ /**
6317
+ * Optionally describe what should be treated as an IVR. Leave as null to use the
6318
+ * default definition.
6319
+ */
6320
+ detection_prompt?: string | null;
6321
+ }
6322
+ namespace IvrOption {
6323
+ interface Action {
6324
+ type: 'hangup';
6325
+ }
6326
+ }
6521
6327
  /**
6522
- * bt: between
6328
+ * Configuration for PII scrubbing from transcripts and recordings.
6523
6329
  */
6524
- op: 'bt';
6525
- type: 'range';
6330
+ interface PiiConfig {
6331
+ /**
6332
+ * List of PII categories to scrub from transcripts and recordings. PII redaction
6333
+ * is only active when this list is non-empty; an empty array means no PII
6334
+ * scrubbing is performed.
6335
+ */
6336
+ categories: Array<'person_name' | 'address' | 'email' | 'phone_number' | 'ssn' | 'passport' | 'driver_license' | 'credit_card' | 'bank_account' | 'password' | 'pin' | 'medical_id' | 'date_of_birth' | 'customer_account_number'>;
6337
+ /**
6338
+ * The processing mode for PII scrubbing. Currently only post-call is supported.
6339
+ */
6340
+ mode: 'post_call';
6341
+ }
6342
+ interface StringAnalysisData {
6343
+ /**
6344
+ * Description of the variable.
6345
+ */
6346
+ description: string;
6347
+ /**
6348
+ * Name of the variable.
6349
+ */
6350
+ name: string;
6351
+ /**
6352
+ * Type of the variable to extract.
6353
+ */
6354
+ type: 'string';
6355
+ /**
6356
+ * Optional instruction to help decide whether this field needs to be populated in
6357
+ * the analysis. If not set, the field is always included. If required is true,
6358
+ * this is ignored.
6359
+ */
6360
+ conditional_prompt?: string;
6361
+ /**
6362
+ * Examples of the variable value to teach model the style and syntax.
6363
+ */
6364
+ examples?: Array<string>;
6365
+ /**
6366
+ * Whether this data is required. If true and the data is not extracted, the call
6367
+ * will be marked as unsuccessful.
6368
+ */
6369
+ required?: boolean;
6370
+ }
6371
+ interface EnumAnalysisData {
6372
+ /**
6373
+ * The possible values of the variable, must be non empty array.
6374
+ */
6375
+ choices: Array<string>;
6376
+ /**
6377
+ * Description of the variable.
6378
+ */
6379
+ description: string;
6380
+ /**
6381
+ * Name of the variable.
6382
+ */
6383
+ name: string;
6384
+ /**
6385
+ * Type of the variable to extract.
6386
+ */
6387
+ type: 'enum';
6388
+ /**
6389
+ * Optional instruction to help decide whether this field needs to be populated in
6390
+ * the analysis. If not set, the field is always included. If required is true,
6391
+ * this is ignored.
6392
+ */
6393
+ conditional_prompt?: string;
6394
+ /**
6395
+ * Whether this data is required. If true and the data is not extracted, the call
6396
+ * will be marked as unsuccessful.
6397
+ */
6398
+ required?: boolean;
6399
+ }
6400
+ interface BooleanAnalysisData {
6401
+ /**
6402
+ * Description of the variable.
6403
+ */
6404
+ description: string;
6405
+ /**
6406
+ * Name of the variable.
6407
+ */
6408
+ name: string;
6409
+ /**
6410
+ * Type of the variable to extract.
6411
+ */
6412
+ type: 'boolean';
6413
+ /**
6414
+ * Optional instruction to help decide whether this field needs to be populated in
6415
+ * the analysis. If not set, the field is always included. If required is true,
6416
+ * this is ignored.
6417
+ */
6418
+ conditional_prompt?: string;
6419
+ /**
6420
+ * Whether this data is required. If true and the data is not extracted, the call
6421
+ * will be marked as unsuccessful.
6422
+ */
6423
+ required?: boolean;
6424
+ }
6425
+ interface NumberAnalysisData {
6426
+ /**
6427
+ * Description of the variable.
6428
+ */
6429
+ description: string;
6430
+ /**
6431
+ * Name of the variable.
6432
+ */
6433
+ name: string;
6434
+ /**
6435
+ * Type of the variable to extract.
6436
+ */
6437
+ type: 'number';
6438
+ /**
6439
+ * Optional instruction to help decide whether this field needs to be populated in
6440
+ * the analysis. If not set, the field is always included. If required is true,
6441
+ * this is ignored.
6442
+ */
6443
+ conditional_prompt?: string;
6444
+ /**
6445
+ * Whether this data is required. If true and the data is not extracted, the call
6446
+ * will be marked as unsuccessful.
6447
+ */
6448
+ required?: boolean;
6449
+ }
6526
6450
  /**
6527
- * [lower_bound, upper_bound]
6451
+ * System preset for post-call analysis (voice agents). Use in
6452
+ * post_call_analysis_data to override prompts or mark fields optional.
6528
6453
  */
6529
- value: Array<number>;
6530
- }
6531
- /**
6532
- * Filter by from number.
6533
- */
6534
- interface FromNumber {
6454
+ interface CallPresetAnalysisData {
6455
+ /**
6456
+ * Preset identifier for voice agent analysis.
6457
+ */
6458
+ name: 'call_summary' | 'call_successful' | 'user_sentiment';
6459
+ /**
6460
+ * Identifies this item as a system preset.
6461
+ */
6462
+ type: 'system-presets';
6463
+ /**
6464
+ * Optional instruction to help decide whether this field needs to be populated. If
6465
+ * not set, the field is always included.
6466
+ */
6467
+ conditional_prompt?: string;
6468
+ /**
6469
+ * Prompt or description for this preset.
6470
+ */
6471
+ description?: string;
6472
+ /**
6473
+ * If false, this field is optional in the analysis. If true or unset, the field is
6474
+ * required.
6475
+ */
6476
+ required?: boolean;
6477
+ }
6478
+ interface PronunciationDictionary {
6479
+ /**
6480
+ * The phonetic alphabet to be used for pronunciation.
6481
+ */
6482
+ alphabet: 'ipa' | 'cmu';
6483
+ /**
6484
+ * Pronunciation of the word in the format of a IPA / CMU pronunciation.
6485
+ */
6486
+ phoneme: string;
6487
+ /**
6488
+ * The string of word / phrase to be annotated with pronunciation.
6489
+ */
6490
+ word: string;
6491
+ }
6492
+ interface ResponseEngineRetellLm {
6493
+ /**
6494
+ * id of the Retell LLM Response Engine.
6495
+ */
6496
+ llm_id: string;
6497
+ /**
6498
+ * type of the Response Engine.
6499
+ */
6500
+ type: 'retell-llm';
6501
+ /**
6502
+ * Version of the Retell LLM Response Engine.
6503
+ */
6504
+ version?: number | null;
6505
+ }
6506
+ interface ResponseEngineCustomLm {
6507
+ /**
6508
+ * LLM websocket url of the custom LLM.
6509
+ */
6510
+ llm_websocket_url: string;
6511
+ /**
6512
+ * type of the Response Engine.
6513
+ */
6514
+ type: 'custom-llm';
6515
+ }
6516
+ interface ResponseEngineConversationFlow {
6517
+ /**
6518
+ * ID of the Conversation Flow Response Engine.
6519
+ */
6520
+ conversation_flow_id: string;
6521
+ /**
6522
+ * type of the Response Engine.
6523
+ */
6524
+ type: 'conversation-flow';
6525
+ /**
6526
+ * Version of the Conversation Flow Response Engine.
6527
+ */
6528
+ version?: number | null;
6529
+ }
6530
+ interface UserDtmfOptions {
6531
+ /**
6532
+ * The maximum number of digits allowed in the user's DTMF (Dual-Tone
6533
+ * Multi-Frequency) input per turn. Once this limit is reached, the input is
6534
+ * considered complete and a response will be generated immediately.
6535
+ */
6536
+ digit_limit?: number | null;
6537
+ /**
6538
+ * A single key that signals the end of DTMF input. Acceptable values include any
6539
+ * digit (0-9), the pound/hash symbol (#), or the asterisk (\*).
6540
+ */
6541
+ termination_key?: string | null;
6542
+ /**
6543
+ * The time (in milliseconds) to wait for user DTMF input before timing out. The
6544
+ * timer resets with each digit received.
6545
+ */
6546
+ timeout_ms?: number;
6547
+ }
6535
6548
  /**
6536
- * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
6549
+ * If this option is set, the call will try to detect voicemail in the first 3
6550
+ * minutes of the call. Actions defined (hangup, or leave a message) will be
6551
+ * applied when the voicemail is detected. Set this to null to disable voicemail
6552
+ * detection.
6537
6553
  */
6538
- op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
6539
- type: 'string';
6540
- value: string;
6554
+ interface VoicemailOption {
6555
+ action: VoicemailOption.VoicemailActionPrompt | VoicemailOption.VoicemailActionStaticText | VoicemailOption.VoicemailActionHangup | VoicemailOption.VoicemailActionBridgeTransfer;
6556
+ /**
6557
+ * Optionally describe what should be treated as voicemail. Leave as null to use
6558
+ * the default definition.
6559
+ */
6560
+ detection_prompt?: string | null;
6561
+ }
6562
+ namespace VoicemailOption {
6563
+ interface VoicemailActionPrompt {
6564
+ /**
6565
+ * The prompt used to generate the text to be spoken when the call is detected to
6566
+ * be in voicemail.
6567
+ */
6568
+ text: string;
6569
+ type: 'prompt';
6570
+ }
6571
+ interface VoicemailActionStaticText {
6572
+ /**
6573
+ * The text to be spoken when the call is detected to be in voicemail.
6574
+ */
6575
+ text: string;
6576
+ type: 'static_text';
6577
+ }
6578
+ interface VoicemailActionHangup {
6579
+ type: 'hangup';
6580
+ }
6581
+ interface VoicemailActionBridgeTransfer {
6582
+ type: 'bridge_transfer';
6583
+ }
6584
+ }
6541
6585
  }
6542
6586
  /**
6543
- * Filter by whether the call is in voicemail.
6587
+ * Override conversation flow configuration settings. Only applicable when using
6588
+ * conversation flow as the response engine. Supported attributes - model_choice,
6589
+ * model_temperature, tool_call_strict_mode, knowledge_base_ids, kb_config,
6590
+ * start_speaker, begin_after_user_silence_ms.
6544
6591
  */
6545
- interface InVoicemail {
6546
- op: 'eq';
6547
- type: 'boolean';
6548
- value: boolean;
6549
- }
6550
- interface StringFilter {
6551
- /**
6552
- * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
6553
- */
6554
- op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
6555
- type: 'string';
6556
- value: string;
6592
+ interface ConversationFlow {
6557
6593
  /**
6558
- * The field name to filter on.
6594
+ * If set, the AI will begin the conversation after waiting for the user for the
6595
+ * duration (in milliseconds) specified by this attribute. This only applies if the
6596
+ * agent is configured to wait for the user to speak first. If not set, the agent
6597
+ * will wait indefinitely for the user to speak.
6559
6598
  */
6560
- key?: string;
6561
- }
6562
- interface NumberFilter {
6599
+ begin_after_user_silence_ms?: number | null;
6563
6600
  /**
6564
- * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
6565
- * than, le: less than or equal
6601
+ * Knowledge base configuration for RAG retrieval.
6566
6602
  */
6567
- op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
6568
- type: 'number';
6569
- value: number;
6603
+ kb_config?: ConversationFlow.KBConfig;
6570
6604
  /**
6571
- * The field name to filter on.
6605
+ * Knowledge base IDs for RAG (Retrieval-Augmented Generation).
6572
6606
  */
6573
- key?: string;
6574
- }
6575
- interface BooleanFilter {
6576
- op: 'eq';
6577
- type: 'boolean';
6578
- value: boolean;
6607
+ knowledge_base_ids?: Array<string> | null;
6579
6608
  /**
6580
- * The field name to filter on.
6609
+ * The model choice for the conversation flow.
6581
6610
  */
6582
- key?: string;
6583
- }
6584
- interface RangeFilter {
6611
+ model_choice?: ConversationFlow.ModelChoice;
6585
6612
  /**
6586
- * bt: between
6613
+ * Controls the randomness of the model's responses. Lower values make responses
6614
+ * more deterministic.
6587
6615
  */
6588
- op: 'bt';
6589
- type: 'range';
6616
+ model_temperature?: number | null;
6590
6617
  /**
6591
- * [lower_bound, upper_bound]
6618
+ * Who starts the conversation - user or agent.
6592
6619
  */
6593
- value: Array<number>;
6620
+ start_speaker?: 'user' | 'agent';
6594
6621
  /**
6595
- * The field name to filter on.
6622
+ * Whether to use strict mode for tool calls. Only applicable when using certain
6623
+ * supported models.
6596
6624
  */
6597
- key?: string;
6625
+ tool_call_strict_mode?: boolean | null;
6598
6626
  }
6599
- interface EnumFilter {
6627
+ namespace ConversationFlow {
6600
6628
  /**
6601
- * in: value is one of the listed values
6629
+ * Knowledge base configuration for RAG retrieval.
6602
6630
  */
6603
- op: 'in';
6604
- type: 'enum';
6605
- value: Array<string>;
6631
+ interface KBConfig {
6632
+ /**
6633
+ * Similarity threshold for filtering search results
6634
+ */
6635
+ filter_score?: number;
6636
+ /**
6637
+ * Max number of knowledge base chunks to retrieve
6638
+ */
6639
+ top_k?: number;
6640
+ }
6606
6641
  /**
6607
- * The field name to filter on.
6642
+ * The model choice for the conversation flow.
6608
6643
  */
6609
- key?: string;
6644
+ interface ModelChoice {
6645
+ /**
6646
+ * The LLM model to use
6647
+ */
6648
+ model: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-5-sonnet' | 'claude-4.5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash';
6649
+ /**
6650
+ * Type of model choice
6651
+ */
6652
+ type: 'cascading';
6653
+ /**
6654
+ * Whether to use high priority pool with more dedicated resource, default false
6655
+ */
6656
+ high_priority?: boolean;
6657
+ }
6610
6658
  }
6611
- interface PresentFilter {
6659
+ /**
6660
+ * Override Retell LLM configuration settings. Only applicable when using Retell
6661
+ * LLM as the response engine. Supported attributes - model, s2s_model,
6662
+ * model_temperature, model_high_priority, tool_call_strict_mode,
6663
+ * knowledge_base_ids, kb_config, start_speaker, begin_after_user_silence_ms,
6664
+ * begin_message.
6665
+ */
6666
+ interface RetellLlm {
6612
6667
  /**
6613
- * pr: present (has value), np: not present
6668
+ * If set, the AI will begin the conversation after waiting for the user for the
6669
+ * duration (in milliseconds) specified by this attribute. This only applies if the
6670
+ * agent is configured to wait for the user to speak first. If not set, the agent
6671
+ * will wait indefinitely for the user to speak.
6614
6672
  */
6615
- op: 'pr' | 'np';
6616
- type: 'present';
6673
+ begin_after_user_silence_ms?: number | null;
6617
6674
  /**
6618
- * The field name to filter on.
6675
+ * First utterance said by the agent in the call. If not set, LLM will dynamically
6676
+ * generate a message. If set to "", agent will wait for user to speak first.
6619
6677
  */
6620
- key?: string;
6621
- }
6622
- interface NumberFilter {
6678
+ begin_message?: string | null;
6623
6679
  /**
6624
- * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
6625
- * than, le: less than or equal
6680
+ * Knowledge base configuration for RAG retrieval.
6626
6681
  */
6627
- op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
6628
- type: 'number';
6629
- value: number;
6630
- }
6631
- interface RangeFilter {
6682
+ kb_config?: RetellLlm.KBConfig | null;
6632
6683
  /**
6633
- * bt: between
6684
+ * A list of knowledge base ids to use for this resource.
6634
6685
  */
6635
- op: 'bt';
6636
- type: 'range';
6686
+ knowledge_base_ids?: Array<string> | null;
6637
6687
  /**
6638
- * [lower_bound, upper_bound]
6688
+ * Select the underlying text LLM. If not set, would default to gpt-4.1.
6639
6689
  */
6640
- value: Array<number>;
6641
- }
6642
- /**
6643
- * Filter by to number.
6644
- */
6645
- interface ToNumber {
6690
+ model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-5-sonnet' | 'claude-4.5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash' | null;
6646
6691
  /**
6647
- * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
6692
+ * If set to true, will use high priority pool with more dedicated resource to
6693
+ * ensure lower and more consistent latency, default to false. This feature usually
6694
+ * comes with a higher cost.
6648
6695
  */
6649
- op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
6650
- type: 'string';
6651
- value: string;
6652
- }
6653
- interface ToolCall {
6696
+ model_high_priority?: boolean | null;
6654
6697
  /**
6655
- * Filter by tool call latency in milliseconds.
6698
+ * If set, will control the randomness of the response. Value ranging from [0,1].
6699
+ * Lower value means more deterministic, while higher value means more random. If
6700
+ * unset, default value 0 will apply. Note that for tool calling, a lower value is
6701
+ * recommended.
6656
6702
  */
6657
- latency_ms?: ToolCall.NumberFilter | ToolCall.RangeFilter;
6703
+ model_temperature?: number;
6658
6704
  /**
6659
- * The tool call name to filter on.
6705
+ * Select the underlying speech to speech model. Can only set this or model, not
6706
+ * both.
6660
6707
  */
6661
- name?: string;
6708
+ s2s_model?: 'gpt-realtime-2.1' | 'gpt-realtime-2.1-mini' | 'gpt-realtime-2' | 'gpt-realtime-1.5' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
6662
6709
  /**
6663
- * Filter by tool call success status.
6710
+ * The speaker who starts the conversation. Required. Must be either 'user' or
6711
+ * 'agent'.
6664
6712
  */
6665
- success?: ToolCall.Success;
6713
+ start_speaker?: 'user' | 'agent';
6666
6714
  /**
6667
- * The tool call type to filter on.
6715
+ * Whether to use strict mode for tool calls. Only applicable when using certain
6716
+ * supported models.
6668
6717
  */
6669
- type?: string;
6718
+ tool_call_strict_mode?: boolean | null;
6670
6719
  }
6671
- namespace ToolCall {
6672
- interface NumberFilter {
6673
- /**
6674
- * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
6675
- * than, le: less than or equal
6676
- */
6677
- op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
6678
- type: 'number';
6679
- value: number;
6680
- }
6681
- interface RangeFilter {
6720
+ namespace RetellLlm {
6721
+ /**
6722
+ * Knowledge base configuration for RAG retrieval.
6723
+ */
6724
+ interface KBConfig {
6682
6725
  /**
6683
- * bt: between
6726
+ * Similarity threshold for filtering search results
6684
6727
  */
6685
- op: 'bt';
6686
- type: 'range';
6728
+ filter_score?: number;
6687
6729
  /**
6688
- * [lower_bound, upper_bound]
6730
+ * Max number of knowledge base chunks to retrieve
6689
6731
  */
6690
- value: Array<number>;
6691
- }
6692
- /**
6693
- * Filter by tool call success status.
6694
- */
6695
- interface Success {
6696
- op: 'eq';
6697
- type: 'boolean';
6698
- value: boolean;
6732
+ top_k?: number;
6699
6733
  }
6700
6734
  }
6701
- interface UserSentiment {
6702
- /**
6703
- * in: value is one of the listed values
6704
- */
6705
- op: 'in';
6706
- type: 'enum';
6707
- value: Array<'Negative' | 'Positive' | 'Neutral' | 'Unknown'>;
6708
- }
6709
6735
  }
6710
6736
  }
6711
- export interface CallUpdateParams {
6712
- /**
6713
- * Custom attributes for the call, as key-value pairs. Each attribute must first be
6714
- * defined for your organization in the Retell dashboard (Call History → Actions →
6715
- * Custom attributes) before it can be set here. The object key must match the id
6716
- * of an existing organization-level custom attribute; keys that do not match a
6717
- * defined attribute are ignored and will not be saved. Values must be a string,
6718
- * number, or boolean.
6719
- */
6720
- custom_attributes?: {
6721
- [key: string]: string | number | boolean;
6722
- };
6723
- /**
6724
- * Data storage setting for this call. Overrides the agent's default setting.
6725
- * "everything" stores all data, "everything_except_pii" excludes PII when
6726
- * possible, "basic_attributes_only" stores only metadata. Cannot be downgraded
6727
- * from more restrictive to less restrictive settings.
6728
- */
6729
- data_storage_setting?: 'everything' | 'everything_except_pii' | 'basic_attributes_only';
6730
- /**
6731
- * An arbitrary object for storage purpose only. You can put anything here like
6732
- * your internal customer id associated with the call. Not used for processing. You
6733
- * can later get this field from the call object. Size limited to 50kB max.
6734
- */
6735
- metadata?: unknown;
6736
- }
6737
6737
  export declare namespace Call {
6738
- export { type CallResponse as CallResponse, type PhoneCallResponse as PhoneCallResponse, type WebCallResponse as WebCallResponse, type CallListResponse as CallListResponse, type CallCreatePhoneCallParams as CallCreatePhoneCallParams, type CallRegisterPhoneCallParams as CallRegisterPhoneCallParams, type CallCreateWebCallParams as CallCreateWebCallParams, type CallListParams as CallListParams, type CallUpdateParams as CallUpdateParams, };
6738
+ export { type CallResponse as CallResponse, type PhoneCallResponse as PhoneCallResponse, type WebCallResponse as WebCallResponse, type CallListResponse as CallListResponse, type CallUpdateParams as CallUpdateParams, type CallListParams as CallListParams, type CallCreatePhoneCallParams as CallCreatePhoneCallParams, type CallCreateWebCallParams as CallCreateWebCallParams, type CallRegisterPhoneCallParams as CallRegisterPhoneCallParams, };
6739
6739
  }
6740
6740
  //# sourceMappingURL=call.d.mts.map