@retell-ai/retell-cli 0.9.1 → 0.10.0

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.
@@ -3,10 +3,29 @@ export const catalogMetadata = {
3
3
  "title": "Retell SDK",
4
4
  "apiVersion": "3.0.0",
5
5
  "server": "https://api.retellai.com",
6
- "sourceSha256": "fda839bea82cd91164e232c40aa47589f131c9bb57c8cb77e87a715b565a0aef",
7
- "operationCount": 81
6
+ "sourceSha256": "54bc23545728b8ea26d9bb2e2bc85b9cd6a689f25d63c4dcc1c96c04f649ea5a",
7
+ "operationCount": 103
8
8
  };
9
9
  export const schemaDefinitions = {
10
+ "AccessTokenAuthConfigRequest": {
11
+ "type": "object",
12
+ "required": [
13
+ "type",
14
+ "access_token"
15
+ ],
16
+ "properties": {
17
+ "type": {
18
+ "type": "string",
19
+ "enum": [
20
+ "access_token"
21
+ ]
22
+ },
23
+ "access_token": {
24
+ "type": "string",
25
+ "minLength": 1
26
+ }
27
+ }
28
+ },
10
29
  "AgentFilter": {
11
30
  "type": "object",
12
31
  "required": [
@@ -705,6 +724,63 @@ export const schemaDefinitions = {
705
724
  }
706
725
  ]
707
726
  },
727
+ "ApiKeyAuthConfigRequest": {
728
+ "type": "object",
729
+ "required": [
730
+ "type",
731
+ "api_key"
732
+ ],
733
+ "properties": {
734
+ "type": {
735
+ "type": "string",
736
+ "enum": [
737
+ "api_key"
738
+ ]
739
+ },
740
+ "api_key": {
741
+ "type": "string",
742
+ "minLength": 1
743
+ }
744
+ }
745
+ },
746
+ "AppCRMConfig": {
747
+ "type": "object",
748
+ "properties": {
749
+ "inbound_sync_mappings": {
750
+ "type": "array",
751
+ "maxItems": 200,
752
+ "items": {
753
+ "$ref": "#/components/schemas/CRMSyncMapping"
754
+ }
755
+ },
756
+ "outbound_sync_mappings": {
757
+ "type": "array",
758
+ "maxItems": 200,
759
+ "items": {
760
+ "$ref": "#/components/schemas/CRMSyncMapping"
761
+ }
762
+ },
763
+ "sync_conversation_activity": {
764
+ "type": "boolean"
765
+ },
766
+ "sync_new_contacts": {
767
+ "type": "boolean"
768
+ }
769
+ }
770
+ },
771
+ "AppProvider": {
772
+ "type": "string"
773
+ },
774
+ "AppType": {
775
+ "type": "string",
776
+ "enum": [
777
+ "crm",
778
+ "calendar",
779
+ "knowledge_base",
780
+ "support",
781
+ "communication"
782
+ ]
783
+ },
708
784
  "AsrProvider": {
709
785
  "type": "string",
710
786
  "enum": [
@@ -714,6 +790,49 @@ export const schemaDefinitions = {
714
790
  "assemblyai"
715
791
  ]
716
792
  },
793
+ "AuthConfigRequest": {
794
+ "oneOf": [
795
+ {
796
+ "$ref": "#/components/schemas/OAuthConfigRequest"
797
+ },
798
+ {
799
+ "$ref": "#/components/schemas/ApiKeyAuthConfigRequest"
800
+ },
801
+ {
802
+ "$ref": "#/components/schemas/AccessTokenAuthConfigRequest"
803
+ },
804
+ {
805
+ "$ref": "#/components/schemas/BasicAuthConfigRequest"
806
+ },
807
+ {
808
+ "$ref": "#/components/schemas/RefreshTokenAuthConfigRequest"
809
+ }
810
+ ]
811
+ },
812
+ "BasicAuthConfigRequest": {
813
+ "type": "object",
814
+ "required": [
815
+ "type",
816
+ "username",
817
+ "password"
818
+ ],
819
+ "properties": {
820
+ "type": {
821
+ "type": "string",
822
+ "enum": [
823
+ "basic"
824
+ ]
825
+ },
826
+ "username": {
827
+ "type": "string",
828
+ "minLength": 1
829
+ },
830
+ "password": {
831
+ "type": "string",
832
+ "minLength": 1
833
+ }
834
+ }
835
+ },
717
836
  "BatchCallTask": {
718
837
  "type": "object",
719
838
  "required": [
@@ -945,6 +1064,80 @@ export const schemaDefinitions = {
945
1064
  "name"
946
1065
  ]
947
1066
  },
1067
+ "CRMAnalysisDataMapping": {
1068
+ "type": "object",
1069
+ "properties": {
1070
+ "field_name": {
1071
+ "type": "string"
1072
+ },
1073
+ "analysis_data_name": {
1074
+ "type": "string"
1075
+ },
1076
+ "update_mode": {
1077
+ "type": "string",
1078
+ "enum": [
1079
+ "overwrite",
1080
+ "fill_if_empty",
1081
+ "merge"
1082
+ ]
1083
+ }
1084
+ },
1085
+ "required": [
1086
+ "field_name",
1087
+ "analysis_data_name",
1088
+ "update_mode"
1089
+ ]
1090
+ },
1091
+ "CRMCustomFieldSchema": {
1092
+ "type": "object",
1093
+ "properties": {
1094
+ "name": {
1095
+ "type": "string"
1096
+ },
1097
+ "label": {
1098
+ "type": "string"
1099
+ },
1100
+ "description": {
1101
+ "type": "string"
1102
+ },
1103
+ "type": {
1104
+ "type": "string",
1105
+ "enum": [
1106
+ "string",
1107
+ "number",
1108
+ "boolean",
1109
+ "date",
1110
+ "datetime",
1111
+ "enum"
1112
+ ]
1113
+ },
1114
+ "options": {
1115
+ "type": "array",
1116
+ "items": {
1117
+ "type": "string"
1118
+ }
1119
+ }
1120
+ },
1121
+ "required": [
1122
+ "name",
1123
+ "type"
1124
+ ]
1125
+ },
1126
+ "CRMSyncMapping": {
1127
+ "type": "object",
1128
+ "required": [
1129
+ "field_name",
1130
+ "external_field_name"
1131
+ ],
1132
+ "properties": {
1133
+ "field_name": {
1134
+ "type": "string"
1135
+ },
1136
+ "external_field_name": {
1137
+ "type": "string"
1138
+ }
1139
+ }
1140
+ },
948
1141
  "CallFilter": {
949
1142
  "type": "object",
950
1143
  "properties": {
@@ -1180,22 +1373,7 @@ export const schemaDefinitions = {
1180
1373
  "dynamic_variables": {
1181
1374
  "type": "array",
1182
1375
  "items": {
1183
- "allOf": [
1184
- {
1185
- "$ref": "#/components/schemas/StringFilter"
1186
- },
1187
- {
1188
- "type": "object",
1189
- "required": [
1190
- "key"
1191
- ],
1192
- "properties": {
1193
- "key": {
1194
- "type": "string"
1195
- }
1196
- }
1197
- }
1198
- ]
1376
+ "$ref": "#/components/schemas/CustomFieldFilter"
1199
1377
  }
1200
1378
  }
1201
1379
  }
@@ -1865,6 +2043,46 @@ export const schemaDefinitions = {
1865
2043
  }
1866
2044
  ]
1867
2045
  },
2046
+ "ContactFilter": {
2047
+ "type": "object",
2048
+ "properties": {
2049
+ "contact_id": {
2050
+ "$ref": "#/components/schemas/StringFilter"
2051
+ },
2052
+ "phone_number": {
2053
+ "$ref": "#/components/schemas/StringFilter"
2054
+ },
2055
+ "external_id": {
2056
+ "oneOf": [
2057
+ {
2058
+ "$ref": "#/components/schemas/StringFilter"
2059
+ },
2060
+ {
2061
+ "$ref": "#/components/schemas/PresentFilter"
2062
+ }
2063
+ ]
2064
+ },
2065
+ "do_not_call": {
2066
+ "$ref": "#/components/schemas/BooleanFilter"
2067
+ },
2068
+ "last_conversation_timestamp": {
2069
+ "oneOf": [
2070
+ {
2071
+ "$ref": "#/components/schemas/NumberFilter"
2072
+ },
2073
+ {
2074
+ "$ref": "#/components/schemas/RangeFilter"
2075
+ }
2076
+ ]
2077
+ },
2078
+ "custom_fields": {
2079
+ "type": "array",
2080
+ "items": {
2081
+ "$ref": "#/components/schemas/CustomFieldFilter"
2082
+ }
2083
+ }
2084
+ }
2085
+ },
1868
2086
  "ConversationFlow": {
1869
2087
  "allOf": [
1870
2088
  {
@@ -2282,7 +2500,9 @@ export const schemaDefinitions = {
2282
2500
  ]
2283
2501
  },
2284
2502
  "timeout_ms": {
2285
- "type": "integer"
2503
+ "type": "integer",
2504
+ "minimum": 1000,
2505
+ "maximum": 600000
2286
2506
  },
2287
2507
  "max_retry": {
2288
2508
  "type": "integer",
@@ -3120,6 +3340,36 @@ export const schemaDefinitions = {
3120
3340
  "uk-UA"
3121
3341
  ]
3122
3342
  },
3343
+ "ListContactsRequest": {
3344
+ "type": "object",
3345
+ "properties": {
3346
+ "limit": {
3347
+ "type": "number",
3348
+ "minimum": 1,
3349
+ "maximum": 1000
3350
+ },
3351
+ "skip": {
3352
+ "type": "number",
3353
+ "minimum": 0
3354
+ },
3355
+ "sort_order": {
3356
+ "type": "string",
3357
+ "enum": [
3358
+ "asc",
3359
+ "desc"
3360
+ ]
3361
+ },
3362
+ "pagination_key": {
3363
+ "type": "string"
3364
+ },
3365
+ "filter_criteria": {
3366
+ "$ref": "#/components/schemas/ContactFilter"
3367
+ },
3368
+ "search_query": {
3369
+ "type": "string"
3370
+ }
3371
+ }
3372
+ },
3123
3373
  "MCP": {
3124
3374
  "type": "object",
3125
3375
  "properties": {
@@ -3337,7 +3587,7 @@ export const schemaDefinitions = {
3337
3587
  "type": "object",
3338
3588
  "properties": {
3339
3589
  "model_choice": {
3340
- "$ref": "#/components/schemas/ModelChoice"
3590
+ "$ref": "#/components/schemas/ModelChoiceCascading"
3341
3591
  }
3342
3592
  }
3343
3593
  }
@@ -3678,6 +3928,30 @@ export const schemaDefinitions = {
3678
3928
  }
3679
3929
  }
3680
3930
  },
3931
+ "OAuthConfigRequest": {
3932
+ "type": "object",
3933
+ "required": [
3934
+ "type",
3935
+ "client_id",
3936
+ "client_secret"
3937
+ ],
3938
+ "properties": {
3939
+ "type": {
3940
+ "type": "string",
3941
+ "enum": [
3942
+ "oauth2"
3943
+ ]
3944
+ },
3945
+ "client_id": {
3946
+ "type": "string",
3947
+ "minLength": 1
3948
+ },
3949
+ "client_secret": {
3950
+ "type": "string",
3951
+ "minLength": 1
3952
+ }
3953
+ }
3954
+ },
3681
3955
  "PIIConfig": {
3682
3956
  "type": "object",
3683
3957
  "required": [
@@ -3898,6 +4172,25 @@ export const schemaDefinitions = {
3898
4172
  }
3899
4173
  }
3900
4174
  },
4175
+ "RefreshTokenAuthConfigRequest": {
4176
+ "type": "object",
4177
+ "required": [
4178
+ "type",
4179
+ "refresh_token"
4180
+ ],
4181
+ "properties": {
4182
+ "type": {
4183
+ "type": "string",
4184
+ "enum": [
4185
+ "refresh_token"
4186
+ ]
4187
+ },
4188
+ "refresh_token": {
4189
+ "type": "string",
4190
+ "minLength": 1
4191
+ }
4192
+ }
4193
+ },
3901
4194
  "ResponseEngine": {
3902
4195
  "oneOf": [
3903
4196
  {
@@ -5150,7 +5443,9 @@ export const schemaDefinitions = {
5150
5443
  ]
5151
5444
  },
5152
5445
  "transfer_timeout_ms": {
5153
- "type": "number"
5446
+ "type": "number",
5447
+ "minimum": 10000,
5448
+ "maximum": 300000
5154
5449
  },
5155
5450
  "action_on_timeout": {
5156
5451
  "type": "string",
@@ -5212,7 +5507,9 @@ export const schemaDefinitions = {
5212
5507
  "type": "boolean"
5213
5508
  },
5214
5509
  "agent_detection_timeout_ms": {
5215
- "type": "number"
5510
+ "type": "number",
5511
+ "minimum": 10000,
5512
+ "maximum": 300000
5216
5513
  },
5217
5514
  "transfer_ring_duration_ms": {
5218
5515
  "type": "integer",
@@ -5873,27 +6170,105 @@ export const operations = [
5873
6170
  "responseContractHash": "55775cac7a8df610dceb7cd36418eb9867887df97c44c2ac3d85fb25f2a734c7"
5874
6171
  },
5875
6172
  {
5876
- "operationId": "cloneVoice",
5877
- "command": "clone-voice",
6173
+ "operationId": "backfillContactAnalysisData",
6174
+ "command": "backfill-contact-analysis-data",
5878
6175
  "method": "POST",
5879
- "path": "/clone-voice",
5880
- "description": "Clone a voice from audio files",
6176
+ "path": "/backfill-contact-analysis-data",
6177
+ "description": "Trigger a backfill job that re-applies analysis data mappings to contacts using historical call data. Only one backfill job can run per organization at a time.",
5881
6178
  "deprecated": false,
5882
6179
  "authenticated": true,
5883
6180
  "parameters": [],
5884
6181
  "requestBody": {
5885
6182
  "required": true,
5886
- "contentType": "multipart/form-data",
5887
- "propertyCount": 3,
6183
+ "contentType": "application/json",
6184
+ "propertyCount": 2,
5888
6185
  "requiredFields": [
5889
- "files",
5890
- "voice_name",
5891
- "voice_provider"
6186
+ "backfill_attributes"
5892
6187
  ],
5893
6188
  "validationSchema": {
5894
6189
  "type": "object",
5895
- "required": [
5896
- "files",
6190
+ "properties": {
6191
+ "backfill_call_filter": {
6192
+ "type": "object",
6193
+ "properties": {
6194
+ "agent": {
6195
+ "type": "array",
6196
+ "items": {
6197
+ "$ref": "#/components/schemas/AgentFilter"
6198
+ }
6199
+ },
6200
+ "start_timestamp": {
6201
+ "oneOf": [
6202
+ {
6203
+ "$ref": "#/components/schemas/NumberFilter"
6204
+ },
6205
+ {
6206
+ "$ref": "#/components/schemas/RangeFilter"
6207
+ }
6208
+ ]
6209
+ }
6210
+ }
6211
+ },
6212
+ "backfill_attributes": {
6213
+ "type": "array",
6214
+ "items": {
6215
+ "type": "string"
6216
+ },
6217
+ "minItems": 1,
6218
+ "maxItems": 200
6219
+ }
6220
+ },
6221
+ "required": [
6222
+ "backfill_attributes"
6223
+ ]
6224
+ },
6225
+ "fields": [
6226
+ {
6227
+ "name": "backfill_call_filter",
6228
+ "flag": "--backfill-call-filter",
6229
+ "required": false,
6230
+ "type": "object",
6231
+ "description": "Optional call filter to scope which calls are processed. Supports agent and start_timestamp from the standard call filter.",
6232
+ "array": false,
6233
+ "nullable": false,
6234
+ "contractHash": "356fe2ce16a02674c101129a6e900c5faed3ef9429c1ffd880dcd85807db675f"
6235
+ },
6236
+ {
6237
+ "name": "backfill_attributes",
6238
+ "flag": "--backfill-attributes",
6239
+ "required": true,
6240
+ "type": "array",
6241
+ "description": "Contact fields to recompute. Each one must still exist as a contact field and have an analysis data mapping configured, otherwise the request is rejected rather than running a job that writes nothing.",
6242
+ "array": true,
6243
+ "nullable": false,
6244
+ "contractHash": "ec16f60c8a3f03ca5d9d18886f301c3a24cf54b73de0e5df0ec2e23c583b5014"
6245
+ }
6246
+ ]
6247
+ },
6248
+ "responseContractHash": "6b82d69d9532cb8f1f12298569dbd91e3ea6242c7068369b714522d1579c3f6b"
6249
+ },
6250
+ {
6251
+ "operationId": "cloneVoice",
6252
+ "command": "clone-voice",
6253
+ "method": "POST",
6254
+ "path": "/clone-voice",
6255
+ "description": "Clone a voice from audio files",
6256
+ "deprecated": false,
6257
+ "authenticated": true,
6258
+ "parameters": [],
6259
+ "requestBody": {
6260
+ "required": true,
6261
+ "contentType": "multipart/form-data",
6262
+ "propertyCount": 3,
6263
+ "requiredFields": [
6264
+ "files",
6265
+ "voice_name",
6266
+ "voice_provider"
6267
+ ],
6268
+ "validationSchema": {
6269
+ "type": "object",
6270
+ "required": [
6271
+ "files",
5897
6272
  "voice_name",
5898
6273
  "voice_provider"
5899
6274
  ],
@@ -6773,6 +7148,133 @@ export const operations = [
6773
7148
  },
6774
7149
  "responseContractHash": "5d188964663fcf94d8a66b321873c00ea872e3a11332f7561c9406862f9e777c"
6775
7150
  },
7151
+ {
7152
+ "operationId": "createApp",
7153
+ "command": "create-app",
7154
+ "method": "POST",
7155
+ "path": "/create-app",
7156
+ "description": "Create an App: the connection to one external system (a CRM, calendar, support desk, and so on), holding its credentials and settings. Providers that authenticate with a key, token, or refresh token can be connected in this one call by passing auth_config; the credential is stored encrypted and never returned. Up to 20 apps per provider.",
7157
+ "deprecated": false,
7158
+ "authenticated": true,
7159
+ "parameters": [],
7160
+ "requestBody": {
7161
+ "required": true,
7162
+ "contentType": "application/json",
7163
+ "propertyCount": 7,
7164
+ "requiredFields": [
7165
+ "type",
7166
+ "provider"
7167
+ ],
7168
+ "validationSchema": {
7169
+ "type": "object",
7170
+ "required": [
7171
+ "type",
7172
+ "provider"
7173
+ ],
7174
+ "properties": {
7175
+ "type": {
7176
+ "$ref": "#/components/schemas/AppType"
7177
+ },
7178
+ "provider": {
7179
+ "$ref": "#/components/schemas/AppProvider"
7180
+ },
7181
+ "name": {
7182
+ "type": "string"
7183
+ },
7184
+ "tenant_url": {
7185
+ "type": "string"
7186
+ },
7187
+ "tenant_id": {
7188
+ "type": "string"
7189
+ },
7190
+ "auth_config": {
7191
+ "$ref": "#/components/schemas/AuthConfigRequest"
7192
+ },
7193
+ "crm_config": {
7194
+ "$ref": "#/components/schemas/AppCRMConfig"
7195
+ }
7196
+ }
7197
+ },
7198
+ "fields": [
7199
+ {
7200
+ "name": "type",
7201
+ "flag": "--type",
7202
+ "required": true,
7203
+ "type": "string",
7204
+ "description": "App integration category.",
7205
+ "enum": [
7206
+ "crm",
7207
+ "calendar",
7208
+ "knowledge_base",
7209
+ "support",
7210
+ "communication"
7211
+ ],
7212
+ "array": false,
7213
+ "nullable": false,
7214
+ "contractHash": "7eaabc346fb0076932be5c9a364bd63eab484d751738177d108378bfcd68e01b"
7215
+ },
7216
+ {
7217
+ "name": "provider",
7218
+ "flag": "--provider",
7219
+ "required": true,
7220
+ "type": "string",
7221
+ "description": "Provider name. Must be valid for the App's type; the supported providers per type are listed by list-app-templates.",
7222
+ "array": false,
7223
+ "nullable": false,
7224
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
7225
+ },
7226
+ {
7227
+ "name": "name",
7228
+ "flag": "--name",
7229
+ "required": false,
7230
+ "type": "string",
7231
+ "description": "Display name.",
7232
+ "array": false,
7233
+ "nullable": false,
7234
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
7235
+ },
7236
+ {
7237
+ "name": "tenant_url",
7238
+ "flag": "--tenant-url",
7239
+ "required": false,
7240
+ "type": "string",
7241
+ "description": "Per-tenant API base URL.",
7242
+ "array": false,
7243
+ "nullable": false,
7244
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
7245
+ },
7246
+ {
7247
+ "name": "tenant_id",
7248
+ "flag": "--tenant-id",
7249
+ "required": false,
7250
+ "type": "string",
7251
+ "description": "Sub-account id, for providers that scope requests by a sub-account id on a shared host.",
7252
+ "array": false,
7253
+ "nullable": false,
7254
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
7255
+ },
7256
+ {
7257
+ "name": "auth_config",
7258
+ "flag": "--auth-config",
7259
+ "required": false,
7260
+ "type": "oneOf",
7261
+ "array": false,
7262
+ "nullable": false,
7263
+ "contractHash": "fdd193fb88993984a6af74395d4b277563b3a027a66ae514434921e255658139"
7264
+ },
7265
+ {
7266
+ "name": "crm_config",
7267
+ "flag": "--crm-config",
7268
+ "required": false,
7269
+ "type": "object",
7270
+ "array": false,
7271
+ "nullable": false,
7272
+ "contractHash": "9f599ebe50e1b0c06644a36e37b9276e62e72f78a6d08842035c6912ec374f43"
7273
+ }
7274
+ ]
7275
+ },
7276
+ "responseContractHash": "4fb3b51d553390a837b31b491e9362c0ee555c19d5e6a4cb938ac37a3b39981c"
7277
+ },
6776
7278
  {
6777
7279
  "operationId": "createBatchCall",
6778
7280
  "command": "create-batch-call",
@@ -7371,6 +7873,99 @@ export const operations = [
7371
7873
  },
7372
7874
  "responseContractHash": "26c3d6b66967ec02b4ab24a6ea14f5ac1f56d862abaa324dc4fa169dc10b69d9"
7373
7875
  },
7876
+ {
7877
+ "operationId": "createContact",
7878
+ "command": "create-contact",
7879
+ "method": "POST",
7880
+ "path": "/create-contact",
7881
+ "description": "Create a new contact.",
7882
+ "deprecated": false,
7883
+ "authenticated": true,
7884
+ "parameters": [],
7885
+ "requestBody": {
7886
+ "required": true,
7887
+ "contentType": "application/json",
7888
+ "propertyCount": 5,
7889
+ "requiredFields": [
7890
+ "phone_number"
7891
+ ],
7892
+ "validationSchema": {
7893
+ "type": "object",
7894
+ "required": [
7895
+ "phone_number"
7896
+ ],
7897
+ "properties": {
7898
+ "phone_number": {
7899
+ "type": "string"
7900
+ },
7901
+ "first_name": {
7902
+ "type": "string"
7903
+ },
7904
+ "last_name": {
7905
+ "type": "string"
7906
+ },
7907
+ "do_not_call": {
7908
+ "type": "boolean"
7909
+ },
7910
+ "custom_fields": {
7911
+ "type": "object"
7912
+ }
7913
+ }
7914
+ },
7915
+ "fields": [
7916
+ {
7917
+ "name": "phone_number",
7918
+ "flag": "--phone-number",
7919
+ "required": true,
7920
+ "type": "string",
7921
+ "description": "Phone number of the contact.",
7922
+ "array": false,
7923
+ "nullable": false,
7924
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
7925
+ },
7926
+ {
7927
+ "name": "first_name",
7928
+ "flag": "--first-name",
7929
+ "required": false,
7930
+ "type": "string",
7931
+ "description": "First name of the contact.",
7932
+ "array": false,
7933
+ "nullable": false,
7934
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
7935
+ },
7936
+ {
7937
+ "name": "last_name",
7938
+ "flag": "--last-name",
7939
+ "required": false,
7940
+ "type": "string",
7941
+ "description": "Last name of the contact.",
7942
+ "array": false,
7943
+ "nullable": false,
7944
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
7945
+ },
7946
+ {
7947
+ "name": "do_not_call",
7948
+ "flag": "--do-not-call",
7949
+ "required": false,
7950
+ "type": "boolean",
7951
+ "array": false,
7952
+ "nullable": false,
7953
+ "contractHash": "7cb541e84f226754a46c21c79f131fa2898354e1242456e6fd1c162bce319553"
7954
+ },
7955
+ {
7956
+ "name": "custom_fields",
7957
+ "flag": "--custom-fields",
7958
+ "required": false,
7959
+ "type": "object",
7960
+ "description": "Values must match the types defined in CRM config custom fields. Set a value to null to clear it.\n",
7961
+ "array": false,
7962
+ "nullable": false,
7963
+ "contractHash": "a2c799262a3ce3c19ef5cdd983bf3d12b43ab3c426227091b909dcb7054738c0"
7964
+ }
7965
+ ]
7966
+ },
7967
+ "responseContractHash": "540e5cafe7c5784ce26af1928d2896c6e7e61ebef85bdc93b59a11ccdb7495fe"
7968
+ },
7374
7969
  {
7375
7970
  "operationId": "createConversationFlow",
7376
7971
  "command": "create-conversation-flow",
@@ -7516,7 +8111,7 @@ export const operations = [
7516
8111
  ],
7517
8112
  "array": true,
7518
8113
  "nullable": true,
7519
- "contractHash": "9857fbd4ba787a75062c4ebd68217c3d23819e97317c851466ae3663f273090d"
8114
+ "contractHash": "4999aaf74dafdea45a28488dc7cad7f876f34e72d9caac4a697f896cf7ed8abc"
7520
8115
  },
7521
8116
  {
7522
8117
  "name": "components",
@@ -7526,7 +8121,7 @@ export const operations = [
7526
8121
  "description": "Local components embedded within the conversation flow.",
7527
8122
  "array": true,
7528
8123
  "nullable": true,
7529
- "contractHash": "06a9c60b98f2eb1119d04b6ac6a4a42c9c83bd0323442837b941b0d9c4bf9e1d"
8124
+ "contractHash": "fd82b54e272e5b6280eccbf9e9516a6bf305012c2366db5b8faa59ffda203941"
7530
8125
  },
7531
8126
  {
7532
8127
  "name": "start_node_id",
@@ -7622,11 +8217,11 @@ export const operations = [
7622
8217
  ],
7623
8218
  "array": true,
7624
8219
  "nullable": false,
7625
- "contractHash": "83013dcb46296f611722b0e13dffe6cdadb2cd914908c19625d6a66cd1696c1e"
8220
+ "contractHash": "da11c00e924d6639feae894834f5c255b4835e2b9b1c98805f97fa14dcb38e8e"
7626
8221
  }
7627
8222
  ]
7628
8223
  },
7629
- "responseContractHash": "c0b9605ef4f0fb58e02c0ee12fa83ff878b0575f40f6c8d3bd42ce3bc3e04f27"
8224
+ "responseContractHash": "7447d5f42efec9d1ea063b6c1b79c55d0082f274bd7ce366bf4689fbf3dd6524"
7630
8225
  },
7631
8226
  {
7632
8227
  "operationId": "createConversationFlowComponent",
@@ -7690,7 +8285,7 @@ export const operations = [
7690
8285
  ],
7691
8286
  "array": true,
7692
8287
  "nullable": true,
7693
- "contractHash": "9857fbd4ba787a75062c4ebd68217c3d23819e97317c851466ae3663f273090d"
8288
+ "contractHash": "4999aaf74dafdea45a28488dc7cad7f876f34e72d9caac4a697f896cf7ed8abc"
7694
8289
  },
7695
8290
  {
7696
8291
  "name": "mcps",
@@ -7720,7 +8315,7 @@ export const operations = [
7720
8315
  ],
7721
8316
  "array": true,
7722
8317
  "nullable": false,
7723
- "contractHash": "83013dcb46296f611722b0e13dffe6cdadb2cd914908c19625d6a66cd1696c1e"
8318
+ "contractHash": "da11c00e924d6639feae894834f5c255b4835e2b9b1c98805f97fa14dcb38e8e"
7724
8319
  },
7725
8320
  {
7726
8321
  "name": "start_node_id",
@@ -7755,7 +8350,7 @@ export const operations = [
7755
8350
  }
7756
8351
  ]
7757
8352
  },
7758
- "responseContractHash": "29b302bc03a1c8a223adea175f557e0794127815a69a72ff6cb3b6f6d7e67fdb"
8353
+ "responseContractHash": "5abb398d8e38a25dc75f22715a8d60fb83f572bebd05a4de7667cf35180aec99"
7759
8354
  },
7760
8355
  {
7761
8356
  "operationId": "createKnowledgeBase",
@@ -8497,7 +9092,7 @@ export const operations = [
8497
9092
  ],
8498
9093
  "array": true,
8499
9094
  "nullable": true,
8500
- "contractHash": "128aee3a5e2061c88ef9efe4f7098476487c05f16a9581c314aca00050163a72"
9095
+ "contractHash": "9141c0a842156711bcc241f9066a37bb55cf1d2fca3b48f20115a35eb299dd0b"
8501
9096
  },
8502
9097
  {
8503
9098
  "name": "states",
@@ -8549,7 +9144,7 @@ export const operations = [
8549
9144
  ],
8550
9145
  "array": true,
8551
9146
  "nullable": true,
8552
- "contractHash": "7acbf0c9bd8f4649f799fbca23184b806f3c43c7c134d442c9276aa14e6d3416"
9147
+ "contractHash": "a87efa2d9c6a8cb583cda7cdae2876a79c90f22c5bae16de3df3e8f1913aca4c"
8553
9148
  },
8554
9149
  {
8555
9150
  "name": "starting_state",
@@ -8598,7 +9193,7 @@ export const operations = [
8598
9193
  }
8599
9194
  ]
8600
9195
  },
8601
- "responseContractHash": "ff888f8d564f99031910f468aa1901bdc6b4222258bcbbe2f6414440f9b52904"
9196
+ "responseContractHash": "b37ebd696c3741fb1f8a45d57eea4877e4785d8f9969bfedc971b809057f4aaa"
8602
9197
  },
8603
9198
  {
8604
9199
  "operationId": "createSmsChat",
@@ -9063,6 +9658,49 @@ export const operations = [
9063
9658
  ],
9064
9659
  "responseContractHash": "ca4902eb8a38d2da414fd61c103fdd9de69102c27704882bdc4cd6c8ad769346"
9065
9660
  },
9661
+ {
9662
+ "operationId": "deleteApp",
9663
+ "command": "delete-app",
9664
+ "method": "DELETE",
9665
+ "path": "/delete-app/{app_id}",
9666
+ "description": "Delete an App. Fails when agents or knowledge bases still reference it, unless force_delete is set. If a CRM config is linked to this App, the link is cleared.",
9667
+ "deprecated": false,
9668
+ "authenticated": true,
9669
+ "parameters": [
9670
+ {
9671
+ "name": "app_id",
9672
+ "flag": "--app-id",
9673
+ "in": "path",
9674
+ "required": true,
9675
+ "type": "string",
9676
+ "array": false,
9677
+ "style": "simple",
9678
+ "explode": false,
9679
+ "allowReserved": false,
9680
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
9681
+ "validationSchema": {
9682
+ "type": "string"
9683
+ }
9684
+ },
9685
+ {
9686
+ "name": "force_delete",
9687
+ "flag": "--force-delete",
9688
+ "in": "query",
9689
+ "required": false,
9690
+ "type": "boolean",
9691
+ "description": "Delete even when the App is still referenced.",
9692
+ "array": false,
9693
+ "style": "form",
9694
+ "explode": true,
9695
+ "allowReserved": false,
9696
+ "contractHash": "7cb541e84f226754a46c21c79f131fa2898354e1242456e6fd1c162bce319553",
9697
+ "validationSchema": {
9698
+ "type": "boolean"
9699
+ }
9700
+ }
9701
+ ],
9702
+ "responseContractHash": "ca4902eb8a38d2da414fd61c103fdd9de69102c27704882bdc4cd6c8ad769346"
9703
+ },
9066
9704
  {
9067
9705
  "operationId": "deleteCall",
9068
9706
  "command": "delete-call",
@@ -9149,21 +9787,20 @@ export const operations = [
9149
9787
  "responseContractHash": "ca4902eb8a38d2da414fd61c103fdd9de69102c27704882bdc4cd6c8ad769346"
9150
9788
  },
9151
9789
  {
9152
- "operationId": "deleteConversationFlow",
9153
- "command": "delete-conversation-flow",
9790
+ "operationId": "deleteContact",
9791
+ "command": "delete-contact",
9154
9792
  "method": "DELETE",
9155
- "path": "/delete-conversation-flow/{conversation_flow_id}",
9156
- "description": "Delete a conversation flow and all its versions",
9793
+ "path": "/delete-contact/{contact_id}",
9794
+ "description": "Delete a contact. A contact linked to a record in a connected CRM cannot be deleted while two-way sync is active — unlink the CRM app first, otherwise the next sync would recreate it.",
9157
9795
  "deprecated": false,
9158
9796
  "authenticated": true,
9159
9797
  "parameters": [
9160
9798
  {
9161
- "name": "conversation_flow_id",
9162
- "flag": "--conversation-flow-id",
9799
+ "name": "contact_id",
9800
+ "flag": "--contact-id",
9163
9801
  "in": "path",
9164
9802
  "required": true,
9165
9803
  "type": "string",
9166
- "description": "Unique id of the conversation flow to be deleted.",
9167
9804
  "array": false,
9168
9805
  "style": "simple",
9169
9806
  "explode": false,
@@ -9177,8 +9814,52 @@ export const operations = [
9177
9814
  "responseContractHash": "ca4902eb8a38d2da414fd61c103fdd9de69102c27704882bdc4cd6c8ad769346"
9178
9815
  },
9179
9816
  {
9180
- "operationId": "deleteConversationFlowComponent",
9181
- "command": "delete-conversation-flow-component",
9817
+ "operationId": "deleteConversationFlow",
9818
+ "command": "delete-conversation-flow",
9819
+ "method": "DELETE",
9820
+ "path": "/delete-conversation-flow/{conversation_flow_id}",
9821
+ "description": "Delete a conversation flow and all its versions",
9822
+ "deprecated": false,
9823
+ "authenticated": true,
9824
+ "parameters": [
9825
+ {
9826
+ "name": "conversation_flow_id",
9827
+ "flag": "--conversation-flow-id",
9828
+ "in": "path",
9829
+ "required": true,
9830
+ "type": "string",
9831
+ "description": "Unique id of the conversation flow to be deleted.",
9832
+ "array": false,
9833
+ "style": "simple",
9834
+ "explode": false,
9835
+ "allowReserved": false,
9836
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
9837
+ "validationSchema": {
9838
+ "type": "string"
9839
+ }
9840
+ },
9841
+ {
9842
+ "name": "force_delete",
9843
+ "flag": "--force-delete",
9844
+ "in": "query",
9845
+ "required": false,
9846
+ "type": "boolean",
9847
+ "description": "By default the deletion is rejected with a 400 if any agent still uses this conversation flow as its response engine. Set to true to delete it anyway, which leaves those agents pointing at a conversation flow that no longer exists.",
9848
+ "array": false,
9849
+ "style": "form",
9850
+ "explode": true,
9851
+ "allowReserved": false,
9852
+ "contractHash": "7cb541e84f226754a46c21c79f131fa2898354e1242456e6fd1c162bce319553",
9853
+ "validationSchema": {
9854
+ "type": "boolean"
9855
+ }
9856
+ }
9857
+ ],
9858
+ "responseContractHash": "ca4902eb8a38d2da414fd61c103fdd9de69102c27704882bdc4cd6c8ad769346"
9859
+ },
9860
+ {
9861
+ "operationId": "deleteConversationFlowComponent",
9862
+ "command": "delete-conversation-flow-component",
9182
9863
  "method": "DELETE",
9183
9864
  "path": "/delete-conversation-flow-component/{conversation_flow_component_id}",
9184
9865
  "description": "Delete a shared conversation flow component. When deleting a shared component, creates local copies for all linked conversation flows.",
@@ -9329,6 +10010,22 @@ export const operations = [
9329
10010
  "validationSchema": {
9330
10011
  "type": "string"
9331
10012
  }
10013
+ },
10014
+ {
10015
+ "name": "force_delete",
10016
+ "flag": "--force-delete",
10017
+ "in": "query",
10018
+ "required": false,
10019
+ "type": "boolean",
10020
+ "description": "By default the deletion is rejected with a 400 if any agent still uses this Retell LLM as its response engine. Set to true to delete it anyway, which leaves those agents pointing at a Retell LLM that no longer exists.",
10021
+ "array": false,
10022
+ "style": "form",
10023
+ "explode": true,
10024
+ "allowReserved": false,
10025
+ "contractHash": "7cb541e84f226754a46c21c79f131fa2898354e1242456e6fd1c162bce319553",
10026
+ "validationSchema": {
10027
+ "type": "boolean"
10028
+ }
9332
10029
  }
9333
10030
  ],
9334
10031
  "responseContractHash": "ca4902eb8a38d2da414fd61c103fdd9de69102c27704882bdc4cd6c8ad769346"
@@ -9439,8 +10136,8 @@ export const operations = [
9439
10136
  "command": "get-agent-versions",
9440
10137
  "method": "GET",
9441
10138
  "path": "/get-agent-versions/{agent_id}",
9442
- "description": "Get all versions of an agent",
9443
- "deprecated": false,
10139
+ "description": "Get agent versions. Large version histories may be truncated.",
10140
+ "deprecated": true,
9444
10141
  "authenticated": true,
9445
10142
  "parameters": [
9446
10143
  {
@@ -9474,6 +10171,44 @@ export const operations = [
9474
10171
  "parameters": [],
9475
10172
  "responseContractHash": "83a410882e0a73c1d43433f23611e69ad2d9b5ceb5ab1b370c5799d7f2c0c14a"
9476
10173
  },
10174
+ {
10175
+ "operationId": "getApp",
10176
+ "command": "get-app",
10177
+ "method": "GET",
10178
+ "path": "/get-app/{app_id}",
10179
+ "description": "Get an App by id.",
10180
+ "deprecated": false,
10181
+ "authenticated": true,
10182
+ "parameters": [
10183
+ {
10184
+ "name": "app_id",
10185
+ "flag": "--app-id",
10186
+ "in": "path",
10187
+ "required": true,
10188
+ "type": "string",
10189
+ "array": false,
10190
+ "style": "simple",
10191
+ "explode": false,
10192
+ "allowReserved": false,
10193
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
10194
+ "validationSchema": {
10195
+ "type": "string"
10196
+ }
10197
+ }
10198
+ ],
10199
+ "responseContractHash": "764130606a57ee7700aaeb1bfe6d9d727a2fe04592c98d7b11d3923d14c0859c"
10200
+ },
10201
+ {
10202
+ "operationId": "getBackfillContactJobStatus",
10203
+ "command": "get-backfill-contact-job-status",
10204
+ "method": "GET",
10205
+ "path": "/get-backfill-contact-job-status",
10206
+ "description": "Get the status of the contact analysis data backfill job.",
10207
+ "deprecated": false,
10208
+ "authenticated": true,
10209
+ "parameters": [],
10210
+ "responseContractHash": "427092dc1c236efe8e1f52aec5dda27c585cea4085846bd724338ae44f771811"
10211
+ },
9477
10212
  {
9478
10213
  "operationId": "getBatchTest",
9479
10214
  "command": "get-batch-test",
@@ -9608,8 +10343,8 @@ export const operations = [
9608
10343
  "command": "get-chat-agent-versions",
9609
10344
  "method": "GET",
9610
10345
  "path": "/get-chat-agent-versions/{agent_id}",
9611
- "description": "Get all versions of a chat agent",
9612
- "deprecated": false,
10346
+ "description": "Get chat agent versions. Large version histories may be truncated.",
10347
+ "deprecated": true,
9613
10348
  "authenticated": true,
9614
10349
  "parameters": [
9615
10350
  {
@@ -9643,6 +10378,61 @@ export const operations = [
9643
10378
  "parameters": [],
9644
10379
  "responseContractHash": "ffa8100c9844735c87bde63e7f59044b61cd94685136fa0346243fd6b9cbd788"
9645
10380
  },
10381
+ {
10382
+ "operationId": "getContact",
10383
+ "command": "get-contact",
10384
+ "method": "GET",
10385
+ "path": "/get-contact/{contact_id}",
10386
+ "description": "Retrieve a contact by ID.",
10387
+ "deprecated": false,
10388
+ "authenticated": true,
10389
+ "parameters": [
10390
+ {
10391
+ "name": "contact_id",
10392
+ "flag": "--contact-id",
10393
+ "in": "path",
10394
+ "required": true,
10395
+ "type": "string",
10396
+ "array": false,
10397
+ "style": "simple",
10398
+ "explode": false,
10399
+ "allowReserved": false,
10400
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
10401
+ "validationSchema": {
10402
+ "type": "string"
10403
+ }
10404
+ }
10405
+ ],
10406
+ "responseContractHash": "5d2683de7cef5693612e69d92e1aaef847b0760b198ac7082e527bc9825b7c21"
10407
+ },
10408
+ {
10409
+ "operationId": "getContactByPhone",
10410
+ "command": "get-contact-by-phone",
10411
+ "method": "GET",
10412
+ "path": "/get-contact-by-phone/{phone_number}",
10413
+ "description": "Retrieve a contact by phone number. At most one contact exists per phone number in an organization.",
10414
+ "deprecated": false,
10415
+ "authenticated": true,
10416
+ "parameters": [
10417
+ {
10418
+ "name": "phone_number",
10419
+ "flag": "--phone-number",
10420
+ "in": "path",
10421
+ "required": true,
10422
+ "type": "string",
10423
+ "description": "Phone number of the contact, E.164 preferred. Other formats are normalized before the lookup; a number that cannot be parsed is rejected with 400.",
10424
+ "array": false,
10425
+ "style": "simple",
10426
+ "explode": false,
10427
+ "allowReserved": false,
10428
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
10429
+ "validationSchema": {
10430
+ "type": "string"
10431
+ }
10432
+ }
10433
+ ],
10434
+ "responseContractHash": "5d2683de7cef5693612e69d92e1aaef847b0760b198ac7082e527bc9825b7c21"
10435
+ },
9646
10436
  {
9647
10437
  "operationId": "getConversationFlow",
9648
10438
  "command": "get-conversation-flow",
@@ -9685,7 +10475,7 @@ export const operations = [
9685
10475
  }
9686
10476
  }
9687
10477
  ],
9688
- "responseContractHash": "1bbcddd23af47bfdb35fedcc8e8be027431a7e14ccddd670d14802dd24e0a620"
10478
+ "responseContractHash": "cace6d03a45697ff084c69614ce8c7149e10ebc495281d8742fcdf3f108b9fcb"
9689
10479
  },
9690
10480
  {
9691
10481
  "operationId": "getConversationFlowComponent",
@@ -9713,7 +10503,46 @@ export const operations = [
9713
10503
  }
9714
10504
  }
9715
10505
  ],
9716
- "responseContractHash": "83b8872c75aa208226c66510c65a19555c66eeda2814a62d07653649c08574b0"
10506
+ "responseContractHash": "40c701b5bd0926b63eaca108c53068f53f2bba0ed737d539f79dff3052e7bbba"
10507
+ },
10508
+ {
10509
+ "operationId": "getCrmConfig",
10510
+ "command": "get-crm-config",
10511
+ "method": "GET",
10512
+ "path": "/get-crm-config",
10513
+ "description": "Get the organization's CRM configuration: which CRM app is linked, the custom contact fields defined for it, and how post-call analysis data is written back to contacts. Returns an empty configuration when nothing has been set up yet.",
10514
+ "deprecated": false,
10515
+ "authenticated": true,
10516
+ "parameters": [],
10517
+ "responseContractHash": "9ebad6d125b495bdaf810eeb4ad52b3ecd35d66b2751775236b782367be31036"
10518
+ },
10519
+ {
10520
+ "operationId": "getCrmSchema",
10521
+ "command": "get-crm-schema",
10522
+ "method": "GET",
10523
+ "path": "/get-crm-schema",
10524
+ "description": "Get the contact schema of the connected CRM: the fields available on its contact object, which are the values that sync mappings can reference.",
10525
+ "deprecated": false,
10526
+ "authenticated": true,
10527
+ "parameters": [
10528
+ {
10529
+ "name": "app_id",
10530
+ "flag": "--app-id",
10531
+ "in": "query",
10532
+ "required": false,
10533
+ "type": "string",
10534
+ "description": "ID of the CRM app to read the schema from. Defaults to the app linked in the organization's CRM configuration. Naming a different app additionally requires the App.Read scope.",
10535
+ "array": false,
10536
+ "style": "form",
10537
+ "explode": true,
10538
+ "allowReserved": false,
10539
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
10540
+ "validationSchema": {
10541
+ "type": "string"
10542
+ }
10543
+ }
10544
+ ],
10545
+ "responseContractHash": "f03ce87a1e3e795ad01e15b68adf86961f48e57279fddec031f1947d0ee3559c"
9717
10546
  },
9718
10547
  {
9719
10548
  "operationId": "getKnowledgeBase",
@@ -9891,7 +10720,18 @@ export const operations = [
9891
10720
  }
9892
10721
  }
9893
10722
  ],
9894
- "responseContractHash": "3f2b67608029dc1d7f21fb56c877ebb4b68dadc9fff6ddd9148be8f86d7d2cf4"
10723
+ "responseContractHash": "dcf32a359009e93fed979d7eec5aaf1a411499887b96cbe0b990aea65057bcbf"
10724
+ },
10725
+ {
10726
+ "operationId": "getSyncJobStatus",
10727
+ "command": "get-sync-job-status",
10728
+ "method": "GET",
10729
+ "path": "/get-sync-job-status",
10730
+ "description": "Get the status of the organization's contact sync, whether it was started manually or by the schedule. Returns status `idle` when no sync is running.",
10731
+ "deprecated": false,
10732
+ "authenticated": true,
10733
+ "parameters": [],
10734
+ "responseContractHash": "427092dc1c236efe8e1f52aec5dda27c585cea4085846bd724338ae44f771811"
9895
10735
  },
9896
10736
  {
9897
10737
  "operationId": "getTestCaseDefinition",
@@ -10200,6 +11040,99 @@ export const operations = [
10200
11040
  },
10201
11041
  "responseContractHash": "331668b367d8480f71f767d437dcff5ff0306e8860cc0e2297b0a9e46b37f50f"
10202
11042
  },
11043
+ {
11044
+ "operationId": "listAgentVersions",
11045
+ "command": "list-agent-versions",
11046
+ "method": "GET",
11047
+ "path": "/list-agent-versions/{agent_id}",
11048
+ "description": "List stored versions of a voice or chat agent with pagination. Root-level data such as assigned tags is not included.",
11049
+ "deprecated": false,
11050
+ "authenticated": true,
11051
+ "parameters": [
11052
+ {
11053
+ "name": "agent_id",
11054
+ "flag": "--agent-id",
11055
+ "in": "path",
11056
+ "required": true,
11057
+ "type": "string",
11058
+ "description": "Unique ID of the agent whose versions are being listed.",
11059
+ "array": false,
11060
+ "style": "simple",
11061
+ "explode": false,
11062
+ "allowReserved": false,
11063
+ "contractHash": "9ac136edb99a2063b3091602181c8d2022fdccb5b514991319d58544c2e57e95",
11064
+ "validationSchema": {
11065
+ "type": "string",
11066
+ "minLength": 1
11067
+ }
11068
+ },
11069
+ {
11070
+ "name": "limit",
11071
+ "flag": "--limit",
11072
+ "in": "query",
11073
+ "required": false,
11074
+ "type": "integer",
11075
+ "description": "Maximum number of items to return.",
11076
+ "default": 50,
11077
+ "array": false,
11078
+ "style": "form",
11079
+ "explode": true,
11080
+ "allowReserved": false,
11081
+ "contractHash": "0d8bd00e77482b051997e0ee2d8b891d0b4704da03cd2e7b6c70645b8b5fab6c",
11082
+ "validationSchema": {
11083
+ "type": "integer",
11084
+ "maximum": 1000
11085
+ }
11086
+ },
11087
+ {
11088
+ "name": "sort_order",
11089
+ "flag": "--sort-order",
11090
+ "in": "query",
11091
+ "required": false,
11092
+ "type": "string",
11093
+ "description": "Sort order for results.",
11094
+ "default": "descending",
11095
+ "enum": [
11096
+ "ascending",
11097
+ "descending"
11098
+ ],
11099
+ "array": false,
11100
+ "style": "form",
11101
+ "explode": true,
11102
+ "allowReserved": false,
11103
+ "contractHash": "a36a80414dc536b6969c5d9c8b0ea18fd576f1b8d55f5f541992d5808815ccd6",
11104
+ "validationSchema": {
11105
+ "type": "string",
11106
+ "enum": [
11107
+ "ascending",
11108
+ "descending"
11109
+ ]
11110
+ }
11111
+ },
11112
+ {
11113
+ "name": "pagination_key",
11114
+ "flag": "--pagination-key",
11115
+ "in": "query",
11116
+ "required": false,
11117
+ "type": "string",
11118
+ "description": "Pagination key for fetching the next page.",
11119
+ "array": false,
11120
+ "style": "form",
11121
+ "explode": true,
11122
+ "allowReserved": false,
11123
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
11124
+ "validationSchema": {
11125
+ "type": "string"
11126
+ }
11127
+ }
11128
+ ],
11129
+ "pagination": {
11130
+ "itemsField": "items",
11131
+ "cursorField": "pagination_key",
11132
+ "hasMoreField": "has_more"
11133
+ },
11134
+ "responseContractHash": "df08f313d58d1dc6561bc67b189675ba082e1f819514108d2fc1e04690f42e56"
11135
+ },
10203
11136
  {
10204
11137
  "operationId": "listAgents",
10205
11138
  "command": "list-agents",
@@ -10303,28 +11236,195 @@ export const operations = [
10303
11236
  "responseContractHash": "6a6a9e2373a79d2aafcf6a382b44494accd199ae0cb870e0456ac3694cb85d50"
10304
11237
  },
10305
11238
  {
10306
- "operationId": "listBatchTests",
10307
- "command": "list-batch-tests",
11239
+ "operationId": "listAppUsages",
11240
+ "command": "list-app-usages",
10308
11241
  "method": "GET",
10309
- "path": "/v2/list-batch-tests",
10310
- "description": "List batch test jobs with pagination",
11242
+ "path": "/list-app-usages/{app_id}",
11243
+ "description": "List the agents and knowledge bases referencing an App, most recently configured first by default.",
10311
11244
  "deprecated": false,
10312
11245
  "authenticated": true,
10313
11246
  "parameters": [
10314
11247
  {
10315
- "name": "type",
10316
- "flag": "--type",
10317
- "in": "query",
11248
+ "name": "app_id",
11249
+ "flag": "--app-id",
11250
+ "in": "path",
10318
11251
  "required": true,
10319
11252
  "type": "string",
10320
- "description": "Type of response engine",
10321
- "enum": [
10322
- "retell-llm",
10323
- "conversation-flow"
10324
- ],
10325
11253
  "array": false,
10326
- "style": "form",
10327
- "explode": true,
11254
+ "style": "simple",
11255
+ "explode": false,
11256
+ "allowReserved": false,
11257
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
11258
+ "validationSchema": {
11259
+ "type": "string"
11260
+ }
11261
+ },
11262
+ {
11263
+ "name": "limit",
11264
+ "flag": "--limit",
11265
+ "in": "query",
11266
+ "required": false,
11267
+ "type": "integer",
11268
+ "description": "Maximum number of items to return.",
11269
+ "default": 50,
11270
+ "array": false,
11271
+ "style": "form",
11272
+ "explode": true,
11273
+ "allowReserved": false,
11274
+ "contractHash": "0d8bd00e77482b051997e0ee2d8b891d0b4704da03cd2e7b6c70645b8b5fab6c",
11275
+ "validationSchema": {
11276
+ "type": "integer",
11277
+ "maximum": 1000
11278
+ }
11279
+ },
11280
+ {
11281
+ "name": "sort_order",
11282
+ "flag": "--sort-order",
11283
+ "in": "query",
11284
+ "required": false,
11285
+ "type": "string",
11286
+ "description": "Sort order for results.",
11287
+ "default": "descending",
11288
+ "enum": [
11289
+ "ascending",
11290
+ "descending"
11291
+ ],
11292
+ "array": false,
11293
+ "style": "form",
11294
+ "explode": true,
11295
+ "allowReserved": false,
11296
+ "contractHash": "a36a80414dc536b6969c5d9c8b0ea18fd576f1b8d55f5f541992d5808815ccd6",
11297
+ "validationSchema": {
11298
+ "type": "string",
11299
+ "enum": [
11300
+ "ascending",
11301
+ "descending"
11302
+ ]
11303
+ }
11304
+ },
11305
+ {
11306
+ "name": "pagination_key",
11307
+ "flag": "--pagination-key",
11308
+ "in": "query",
11309
+ "required": false,
11310
+ "type": "string",
11311
+ "description": "Pagination key for fetching the next page.",
11312
+ "array": false,
11313
+ "style": "form",
11314
+ "explode": true,
11315
+ "allowReserved": false,
11316
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
11317
+ "validationSchema": {
11318
+ "type": "string"
11319
+ }
11320
+ }
11321
+ ],
11322
+ "pagination": {
11323
+ "itemsField": "items",
11324
+ "cursorField": "pagination_key",
11325
+ "hasMoreField": "has_more"
11326
+ },
11327
+ "responseContractHash": "0ab377db9bcbab93e23628eeeb4165da24f205717bb854a0ecb1f69d92060f7f"
11328
+ },
11329
+ {
11330
+ "operationId": "listApps",
11331
+ "command": "list-apps",
11332
+ "method": "GET",
11333
+ "path": "/list-apps",
11334
+ "description": "List Apps in the organization (paginated).",
11335
+ "deprecated": false,
11336
+ "authenticated": true,
11337
+ "parameters": [
11338
+ {
11339
+ "name": "limit",
11340
+ "flag": "--limit",
11341
+ "in": "query",
11342
+ "required": false,
11343
+ "type": "integer",
11344
+ "description": "Maximum number of items to return.",
11345
+ "default": 50,
11346
+ "array": false,
11347
+ "style": "form",
11348
+ "explode": true,
11349
+ "allowReserved": false,
11350
+ "contractHash": "0d8bd00e77482b051997e0ee2d8b891d0b4704da03cd2e7b6c70645b8b5fab6c",
11351
+ "validationSchema": {
11352
+ "type": "integer",
11353
+ "maximum": 1000
11354
+ }
11355
+ },
11356
+ {
11357
+ "name": "sort_order",
11358
+ "flag": "--sort-order",
11359
+ "in": "query",
11360
+ "required": false,
11361
+ "type": "string",
11362
+ "description": "Sort order for results.",
11363
+ "default": "descending",
11364
+ "enum": [
11365
+ "ascending",
11366
+ "descending"
11367
+ ],
11368
+ "array": false,
11369
+ "style": "form",
11370
+ "explode": true,
11371
+ "allowReserved": false,
11372
+ "contractHash": "a36a80414dc536b6969c5d9c8b0ea18fd576f1b8d55f5f541992d5808815ccd6",
11373
+ "validationSchema": {
11374
+ "type": "string",
11375
+ "enum": [
11376
+ "ascending",
11377
+ "descending"
11378
+ ]
11379
+ }
11380
+ },
11381
+ {
11382
+ "name": "pagination_key",
11383
+ "flag": "--pagination-key",
11384
+ "in": "query",
11385
+ "required": false,
11386
+ "type": "string",
11387
+ "description": "Pagination key for fetching the next page.",
11388
+ "array": false,
11389
+ "style": "form",
11390
+ "explode": true,
11391
+ "allowReserved": false,
11392
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
11393
+ "validationSchema": {
11394
+ "type": "string"
11395
+ }
11396
+ }
11397
+ ],
11398
+ "pagination": {
11399
+ "itemsField": "items",
11400
+ "cursorField": "pagination_key",
11401
+ "hasMoreField": "has_more"
11402
+ },
11403
+ "responseContractHash": "2dd4deed9e0d913560d6097931825e3f63c1c0395e3e3384abc1113341110e19"
11404
+ },
11405
+ {
11406
+ "operationId": "listBatchTests",
11407
+ "command": "list-batch-tests",
11408
+ "method": "GET",
11409
+ "path": "/v2/list-batch-tests",
11410
+ "description": "List batch test jobs with pagination",
11411
+ "deprecated": false,
11412
+ "authenticated": true,
11413
+ "parameters": [
11414
+ {
11415
+ "name": "type",
11416
+ "flag": "--type",
11417
+ "in": "query",
11418
+ "required": true,
11419
+ "type": "string",
11420
+ "description": "Type of response engine",
11421
+ "enum": [
11422
+ "retell-llm",
11423
+ "conversation-flow"
11424
+ ],
11425
+ "array": false,
11426
+ "style": "form",
11427
+ "explode": true,
10328
11428
  "allowReserved": false,
10329
11429
  "contractHash": "86dcfe1c6b0d2f9ecbc3d39d8ed4bf2ee2c6c4f385e91a47b5fcc7c0ee78ab1d",
10330
11430
  "validationSchema": {
@@ -10452,7 +11552,7 @@ export const operations = [
10452
11552
  "description": "Filter criteria for calls. All conditions are implicitly connected with AND.",
10453
11553
  "array": false,
10454
11554
  "nullable": false,
10455
- "contractHash": "b6c4d6ccf7af788443dd4834d9042d6c00b28b9f2d6e42cddf021929aa89d36a"
11555
+ "contractHash": "67330748059bf37418f1915e70d6435cd9236441524778fdc47c1a22d517c91b"
10456
11556
  },
10457
11557
  {
10458
11558
  "name": "sort_order",
@@ -10585,28 +11685,189 @@ export const operations = [
10585
11685
  "default": 0,
10586
11686
  "array": false,
10587
11687
  "nullable": false,
10588
- "contractHash": "0d3ac1e9e006c0119b57d0512759bd7e261ea0d8cb38951a5183d17cdb4391f0"
11688
+ "contractHash": "0d3ac1e9e006c0119b57d0512759bd7e261ea0d8cb38951a5183d17cdb4391f0"
11689
+ },
11690
+ {
11691
+ "name": "pagination_key",
11692
+ "flag": "--pagination-key",
11693
+ "required": false,
11694
+ "type": "string",
11695
+ "description": "Opaque pagination cursor from a previous response.",
11696
+ "array": false,
11697
+ "nullable": false,
11698
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
11699
+ },
11700
+ {
11701
+ "name": "include_total",
11702
+ "flag": "--include-total",
11703
+ "required": false,
11704
+ "type": "boolean",
11705
+ "description": "Whether to include `total` (count of all chats matching `filter_criteria`, ignoring `limit`/`skip`/`pagination_key`) in the response. Defaults to false. Each enabled request triggers an additional aggregate query, so opt in only when the total is needed.",
11706
+ "default": false,
11707
+ "array": false,
11708
+ "nullable": false,
11709
+ "contractHash": "7cb541e84f226754a46c21c79f131fa2898354e1242456e6fd1c162bce319553"
11710
+ }
11711
+ ]
11712
+ },
11713
+ "pagination": {
11714
+ "itemsField": "items",
11715
+ "cursorField": "pagination_key",
11716
+ "hasMoreField": "has_more"
11717
+ },
11718
+ "responseContractHash": "e3225d7f9ba852dd1cb0a8258fcb4be8c8d0130794cf76a3c99d194f5d4f0611"
11719
+ },
11720
+ {
11721
+ "operationId": "listContactConversations",
11722
+ "command": "list-contact-conversations",
11723
+ "method": "GET",
11724
+ "path": "/list-contact-conversations/{contact_id}",
11725
+ "description": "List a contact's conversations (inbound calls, outbound calls, and chats) merged into a single timeline, most recent first. Results are matched by the contact's phone number. Use the returned `pagination_key` to fetch the next page.\n",
11726
+ "deprecated": false,
11727
+ "authenticated": true,
11728
+ "parameters": [
11729
+ {
11730
+ "name": "contact_id",
11731
+ "flag": "--contact-id",
11732
+ "in": "path",
11733
+ "required": true,
11734
+ "type": "string",
11735
+ "array": false,
11736
+ "style": "simple",
11737
+ "explode": false,
11738
+ "allowReserved": false,
11739
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
11740
+ "validationSchema": {
11741
+ "type": "string"
11742
+ }
11743
+ },
11744
+ {
11745
+ "name": "limit",
11746
+ "flag": "--limit",
11747
+ "in": "query",
11748
+ "required": false,
11749
+ "type": "integer",
11750
+ "description": "Maximum number of items to return.",
11751
+ "default": 50,
11752
+ "array": false,
11753
+ "style": "form",
11754
+ "explode": true,
11755
+ "allowReserved": false,
11756
+ "contractHash": "0d8bd00e77482b051997e0ee2d8b891d0b4704da03cd2e7b6c70645b8b5fab6c",
11757
+ "validationSchema": {
11758
+ "type": "integer",
11759
+ "maximum": 1000
11760
+ }
11761
+ },
11762
+ {
11763
+ "name": "pagination_key",
11764
+ "flag": "--pagination-key",
11765
+ "in": "query",
11766
+ "required": false,
11767
+ "type": "string",
11768
+ "description": "Pagination key for fetching the next page.",
11769
+ "array": false,
11770
+ "style": "form",
11771
+ "explode": true,
11772
+ "allowReserved": false,
11773
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
11774
+ "validationSchema": {
11775
+ "type": "string"
11776
+ }
11777
+ }
11778
+ ],
11779
+ "pagination": {
11780
+ "itemsField": "items",
11781
+ "cursorField": "pagination_key",
11782
+ "hasMoreField": "has_more"
11783
+ },
11784
+ "responseContractHash": "56571ec16d1387fbce8decad5fe0a31ea3ea196ed82abd2c1e6e144631d69526"
11785
+ },
11786
+ {
11787
+ "operationId": "listContacts",
11788
+ "command": "list-contacts",
11789
+ "method": "POST",
11790
+ "path": "/list-contacts",
11791
+ "description": "List contacts, newest conversation first by default, with the total count of matches alongside the page. Page through results with `pagination_key`; `skip` is available for offset-style paging but is slower on large contact sets and can repeat or miss rows as contacts are updated.",
11792
+ "deprecated": false,
11793
+ "authenticated": true,
11794
+ "parameters": [],
11795
+ "requestBody": {
11796
+ "required": false,
11797
+ "contentType": "application/json",
11798
+ "schemaName": "ListContactsRequest",
11799
+ "propertyCount": 6,
11800
+ "requiredFields": [],
11801
+ "validationSchema": {
11802
+ "$ref": "#/components/schemas/ListContactsRequest"
11803
+ },
11804
+ "fields": [
11805
+ {
11806
+ "name": "limit",
11807
+ "flag": "--limit",
11808
+ "required": false,
11809
+ "type": "number",
11810
+ "description": "Maximum number of contacts to return.",
11811
+ "default": 50,
11812
+ "array": false,
11813
+ "nullable": false,
11814
+ "contractHash": "2192a54f26a5a2a19db2d2b59936bebb1f75b0fb28b55968ccca4ef532c9c647"
11815
+ },
11816
+ {
11817
+ "name": "skip",
11818
+ "flag": "--skip",
11819
+ "required": false,
11820
+ "type": "number",
11821
+ "description": "Number of records to skip for offset-based pagination.",
11822
+ "default": 0,
11823
+ "array": false,
11824
+ "nullable": false,
11825
+ "contractHash": "33527092b4d7b347b5d568868d198441ac482767578c40660b0cda9ea16f5b3a"
11826
+ },
11827
+ {
11828
+ "name": "sort_order",
11829
+ "flag": "--sort-order",
11830
+ "required": false,
11831
+ "type": "string",
11832
+ "description": "Sort contacts by `last_conversation_timestamp` in ascending or descending order. Contacts that have never been contacted sort as if their timestamp were 0.\n",
11833
+ "default": "desc",
11834
+ "enum": [
11835
+ "asc",
11836
+ "desc"
11837
+ ],
11838
+ "array": false,
11839
+ "nullable": false,
11840
+ "contractHash": "9b8522343e904a6908f65ec7db95490a63e30e948de8cb97c708687370b0bb03"
10589
11841
  },
10590
11842
  {
10591
11843
  "name": "pagination_key",
10592
11844
  "flag": "--pagination-key",
10593
11845
  "required": false,
10594
11846
  "type": "string",
10595
- "description": "Opaque pagination cursor from a previous response.",
11847
+ "description": "Base64url-encoded pagination key from a previous response.",
10596
11848
  "array": false,
10597
11849
  "nullable": false,
10598
11850
  "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
10599
11851
  },
10600
11852
  {
10601
- "name": "include_total",
10602
- "flag": "--include-total",
11853
+ "name": "filter_criteria",
11854
+ "flag": "--filter-criteria",
10603
11855
  "required": false,
10604
- "type": "boolean",
10605
- "description": "Whether to include `total` (count of all chats matching `filter_criteria`, ignoring `limit`/`skip`/`pagination_key`) in the response. Defaults to false. Each enabled request triggers an additional aggregate query, so opt in only when the total is needed.",
10606
- "default": false,
11856
+ "type": "object",
11857
+ "description": "Filter criteria for contacts. All conditions are implicitly connected with AND. first_name and last_name are not filterable here; use search_query to match on those.",
10607
11858
  "array": false,
10608
11859
  "nullable": false,
10609
- "contractHash": "7cb541e84f226754a46c21c79f131fa2898354e1242456e6fd1c162bce319553"
11860
+ "contractHash": "d205fb5436bf330eed3390fbf8efa8c4ef2daad340e73e74ea44fa1c1a06bdf5"
11861
+ },
11862
+ {
11863
+ "name": "search_query",
11864
+ "flag": "--search-query",
11865
+ "required": false,
11866
+ "type": "string",
11867
+ "description": "Case-insensitive substring match against phone number, first name, last name, external ID, and custom field values. This is the only way to match on a contact's name.\n",
11868
+ "array": false,
11869
+ "nullable": false,
11870
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
10610
11871
  }
10611
11872
  ]
10612
11873
  },
@@ -10615,7 +11876,7 @@ export const operations = [
10615
11876
  "cursorField": "pagination_key",
10616
11877
  "hasMoreField": "has_more"
10617
11878
  },
10618
- "responseContractHash": "e3225d7f9ba852dd1cb0a8258fcb4be8c8d0130794cf76a3c99d194f5d4f0611"
11879
+ "responseContractHash": "7de222d89d29987e8e3bf89f4d5195b8c398c8ee77e47376ad1159b9d7fe512a"
10619
11880
  },
10620
11881
  {
10621
11882
  "operationId": "listConversationFlowComponents",
@@ -10691,7 +11952,7 @@ export const operations = [
10691
11952
  "cursorField": "pagination_key",
10692
11953
  "hasMoreField": "has_more"
10693
11954
  },
10694
- "responseContractHash": "78505c859afaac48680c25a5d4f152aea28e2565ea554224ca84e047978eaca0"
11955
+ "responseContractHash": "e6bdabd4adef8d14b6229799be1b9efd858147d65fb84c72eb1a854e86e05892"
10695
11956
  },
10696
11957
  {
10697
11958
  "operationId": "listConversationFlows",
@@ -10767,7 +12028,7 @@ export const operations = [
10767
12028
  "cursorField": "pagination_key",
10768
12029
  "hasMoreField": "has_more"
10769
12030
  },
10770
- "responseContractHash": "bd64ef885bed7d913df382994ddce1e023d70b32e4034177af37f971f67d7837"
12031
+ "responseContractHash": "9310a5ddfb2f941a479ed0ef802fb1074361f41026f168e00b4cb908f5100b55"
10771
12032
  },
10772
12033
  {
10773
12034
  "operationId": "listExportRequests",
@@ -11006,7 +12267,7 @@ export const operations = [
11006
12267
  "cursorField": "pagination_key",
11007
12268
  "hasMoreField": "has_more"
11008
12269
  },
11009
- "responseContractHash": "1ebf77c42d7deea0d9c2f21b30f6633db0f61b62bd4da46e55e70ff8c4c2a47e"
12270
+ "responseContractHash": "20ce7aba3cc6e3bb4ce131a8e3a6eda66bb359bc165641efccc2e66192b60f38"
11010
12271
  },
11011
12272
  {
11012
12273
  "operationId": "listTestCaseDefinitions",
@@ -11477,6 +12738,17 @@ export const operations = [
11477
12738
  ],
11478
12739
  "responseContractHash": "782083514cbfa16c7ac6734973289b4e959f2587b966212f779251715707d24d"
11479
12740
  },
12741
+ {
12742
+ "operationId": "runSyncJob",
12743
+ "command": "run-sync-job",
12744
+ "method": "POST",
12745
+ "path": "/run-sync-job",
12746
+ "description": "Start a contact sync with the linked CRM app immediately, instead of waiting for the scheduled sync. One sync runs per organization at a time: starting another while one is in flight is rejected. Poll get-sync-job-status for progress.",
12747
+ "deprecated": false,
12748
+ "authenticated": true,
12749
+ "parameters": [],
12750
+ "responseContractHash": "6b82d69d9532cb8f1f12298569dbd91e3ea6242c7068369b714522d1579c3f6b"
12751
+ },
11480
12752
  {
11481
12753
  "operationId": "searchCommunityVoice",
11482
12754
  "command": "search-community-voice",
@@ -11572,6 +12844,33 @@ export const operations = [
11572
12844
  ],
11573
12845
  "responseContractHash": "ca4902eb8a38d2da414fd61c103fdd9de69102c27704882bdc4cd6c8ad769346"
11574
12846
  },
12847
+ {
12848
+ "operationId": "testAppAuth",
12849
+ "command": "test-app-auth",
12850
+ "method": "POST",
12851
+ "path": "/test-app-auth/{app_id}",
12852
+ "description": "Probe the App's stored credentials by making a minimal authenticated call to the provider. Returns success=true on a successful round-trip, and records the outcome on the App's connection_status either way.",
12853
+ "deprecated": false,
12854
+ "authenticated": true,
12855
+ "parameters": [
12856
+ {
12857
+ "name": "app_id",
12858
+ "flag": "--app-id",
12859
+ "in": "path",
12860
+ "required": true,
12861
+ "type": "string",
12862
+ "array": false,
12863
+ "style": "simple",
12864
+ "explode": false,
12865
+ "allowReserved": false,
12866
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
12867
+ "validationSchema": {
12868
+ "type": "string"
12869
+ }
12870
+ }
12871
+ ],
12872
+ "responseContractHash": "a6ff74906d3096dbdef3f9a65e712f7bab7359b1c944eb8c6b2e9122ad071680"
12873
+ },
11575
12874
  {
11576
12875
  "operationId": "updateAgent",
11577
12876
  "command": "update-agent",
@@ -12333,6 +13632,108 @@ export const operations = [
12333
13632
  },
12334
13633
  "responseContractHash": "b52d436dabbcafc989fd657bfd1a7590eeeb1bc4bc18ee7f3ba4d60ca166babf"
12335
13634
  },
13635
+ {
13636
+ "operationId": "updateApp",
13637
+ "command": "update-app",
13638
+ "method": "PATCH",
13639
+ "path": "/update-app/{app_id}",
13640
+ "description": "Partially update an App. Omitted fields remain unchanged. Updating auth_config invalidates the cached provider token immediately.",
13641
+ "deprecated": false,
13642
+ "authenticated": true,
13643
+ "parameters": [
13644
+ {
13645
+ "name": "app_id",
13646
+ "flag": "--app-id",
13647
+ "in": "path",
13648
+ "required": true,
13649
+ "type": "string",
13650
+ "array": false,
13651
+ "style": "simple",
13652
+ "explode": false,
13653
+ "allowReserved": false,
13654
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
13655
+ "validationSchema": {
13656
+ "type": "string"
13657
+ }
13658
+ }
13659
+ ],
13660
+ "requestBody": {
13661
+ "required": true,
13662
+ "contentType": "application/json",
13663
+ "propertyCount": 5,
13664
+ "requiredFields": [],
13665
+ "validationSchema": {
13666
+ "type": "object",
13667
+ "properties": {
13668
+ "name": {
13669
+ "type": "string"
13670
+ },
13671
+ "tenant_url": {
13672
+ "type": "string"
13673
+ },
13674
+ "tenant_id": {
13675
+ "type": "string"
13676
+ },
13677
+ "auth_config": {
13678
+ "$ref": "#/components/schemas/AuthConfigRequest"
13679
+ },
13680
+ "crm_config": {
13681
+ "$ref": "#/components/schemas/AppCRMConfig"
13682
+ }
13683
+ }
13684
+ },
13685
+ "fields": [
13686
+ {
13687
+ "name": "name",
13688
+ "flag": "--name",
13689
+ "required": false,
13690
+ "type": "string",
13691
+ "array": false,
13692
+ "nullable": false,
13693
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
13694
+ },
13695
+ {
13696
+ "name": "tenant_url",
13697
+ "flag": "--tenant-url",
13698
+ "required": false,
13699
+ "type": "string",
13700
+ "description": "Per-tenant API base URL.",
13701
+ "array": false,
13702
+ "nullable": false,
13703
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
13704
+ },
13705
+ {
13706
+ "name": "tenant_id",
13707
+ "flag": "--tenant-id",
13708
+ "required": false,
13709
+ "type": "string",
13710
+ "description": "Sub-account id, for providers that scope requests by a sub-account id on a shared host.",
13711
+ "array": false,
13712
+ "nullable": false,
13713
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
13714
+ },
13715
+ {
13716
+ "name": "auth_config",
13717
+ "flag": "--auth-config",
13718
+ "required": false,
13719
+ "type": "oneOf",
13720
+ "array": false,
13721
+ "nullable": false,
13722
+ "contractHash": "fdd193fb88993984a6af74395d4b277563b3a027a66ae514434921e255658139"
13723
+ },
13724
+ {
13725
+ "name": "crm_config",
13726
+ "flag": "--crm-config",
13727
+ "required": false,
13728
+ "type": "object",
13729
+ "array": false,
13730
+ "nullable": false,
13731
+ "contractHash": "9f599ebe50e1b0c06644a36e37b9276e62e72f78a6d08842035c6912ec374f43"
13732
+ }
13733
+ ]
13734
+ },
13735
+ "responseContractHash": "764130606a57ee7700aaeb1bfe6d9d727a2fe04592c98d7b11d3923d14c0859c"
13736
+ },
12336
13737
  {
12337
13738
  "operationId": "updateCallMetadata",
12338
13739
  "command": "update-call-metadata",
@@ -12868,6 +14269,97 @@ export const operations = [
12868
14269
  },
12869
14270
  "responseContractHash": "1ad9ad9fc690ece6be02832d8ff70174f7e6fcc560e03aa0d0b029d60ed269b6"
12870
14271
  },
14272
+ {
14273
+ "operationId": "updateContact",
14274
+ "command": "update-contact",
14275
+ "method": "PATCH",
14276
+ "path": "/update-contact/{contact_id}",
14277
+ "description": "Update an existing contact.",
14278
+ "deprecated": false,
14279
+ "authenticated": true,
14280
+ "parameters": [
14281
+ {
14282
+ "name": "contact_id",
14283
+ "flag": "--contact-id",
14284
+ "in": "path",
14285
+ "required": true,
14286
+ "type": "string",
14287
+ "array": false,
14288
+ "style": "simple",
14289
+ "explode": false,
14290
+ "allowReserved": false,
14291
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96",
14292
+ "validationSchema": {
14293
+ "type": "string"
14294
+ }
14295
+ }
14296
+ ],
14297
+ "requestBody": {
14298
+ "required": true,
14299
+ "contentType": "application/json",
14300
+ "propertyCount": 4,
14301
+ "requiredFields": [],
14302
+ "validationSchema": {
14303
+ "type": "object",
14304
+ "properties": {
14305
+ "first_name": {
14306
+ "type": "string"
14307
+ },
14308
+ "last_name": {
14309
+ "type": "string"
14310
+ },
14311
+ "do_not_call": {
14312
+ "type": "boolean"
14313
+ },
14314
+ "custom_fields": {
14315
+ "type": "object"
14316
+ }
14317
+ }
14318
+ },
14319
+ "fields": [
14320
+ {
14321
+ "name": "first_name",
14322
+ "flag": "--first-name",
14323
+ "required": false,
14324
+ "type": "string",
14325
+ "description": "First name of the contact.",
14326
+ "array": false,
14327
+ "nullable": false,
14328
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
14329
+ },
14330
+ {
14331
+ "name": "last_name",
14332
+ "flag": "--last-name",
14333
+ "required": false,
14334
+ "type": "string",
14335
+ "description": "Last name of the contact.",
14336
+ "array": false,
14337
+ "nullable": false,
14338
+ "contractHash": "00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96"
14339
+ },
14340
+ {
14341
+ "name": "do_not_call",
14342
+ "flag": "--do-not-call",
14343
+ "required": false,
14344
+ "type": "boolean",
14345
+ "array": false,
14346
+ "nullable": false,
14347
+ "contractHash": "7cb541e84f226754a46c21c79f131fa2898354e1242456e6fd1c162bce319553"
14348
+ },
14349
+ {
14350
+ "name": "custom_fields",
14351
+ "flag": "--custom-fields",
14352
+ "required": false,
14353
+ "type": "object",
14354
+ "description": "Values must match the types defined in CRM config custom fields. Set a value to null to clear it.\n",
14355
+ "array": false,
14356
+ "nullable": false,
14357
+ "contractHash": "a2c799262a3ce3c19ef5cdd983bf3d12b43ab3c426227091b909dcb7054738c0"
14358
+ }
14359
+ ]
14360
+ },
14361
+ "responseContractHash": "5d2683de7cef5693612e69d92e1aaef847b0760b198ac7082e527bc9825b7c21"
14362
+ },
12871
14363
  {
12872
14364
  "operationId": "updateConversationFlow",
12873
14365
  "command": "update-conversation-flow",
@@ -13042,7 +14534,7 @@ export const operations = [
13042
14534
  ],
13043
14535
  "array": true,
13044
14536
  "nullable": true,
13045
- "contractHash": "9857fbd4ba787a75062c4ebd68217c3d23819e97317c851466ae3663f273090d"
14537
+ "contractHash": "4999aaf74dafdea45a28488dc7cad7f876f34e72d9caac4a697f896cf7ed8abc"
13046
14538
  },
13047
14539
  {
13048
14540
  "name": "components",
@@ -13052,7 +14544,7 @@ export const operations = [
13052
14544
  "description": "Local components embedded within the conversation flow.",
13053
14545
  "array": true,
13054
14546
  "nullable": true,
13055
- "contractHash": "06a9c60b98f2eb1119d04b6ac6a4a42c9c83bd0323442837b941b0d9c4bf9e1d"
14547
+ "contractHash": "fd82b54e272e5b6280eccbf9e9516a6bf305012c2366db5b8faa59ffda203941"
13056
14548
  },
13057
14549
  {
13058
14550
  "name": "start_node_id",
@@ -13148,11 +14640,11 @@ export const operations = [
13148
14640
  ],
13149
14641
  "array": true,
13150
14642
  "nullable": false,
13151
- "contractHash": "83013dcb46296f611722b0e13dffe6cdadb2cd914908c19625d6a66cd1696c1e"
14643
+ "contractHash": "da11c00e924d6639feae894834f5c255b4835e2b9b1c98805f97fa14dcb38e8e"
13152
14644
  }
13153
14645
  ]
13154
14646
  },
13155
- "responseContractHash": "1bbcddd23af47bfdb35fedcc8e8be027431a7e14ccddd670d14802dd24e0a620"
14647
+ "responseContractHash": "cace6d03a45697ff084c69614ce8c7149e10ebc495281d8742fcdf3f108b9fcb"
13156
14648
  },
13157
14649
  {
13158
14650
  "operationId": "updateConversationFlowComponent",
@@ -13230,7 +14722,7 @@ export const operations = [
13230
14722
  ],
13231
14723
  "array": true,
13232
14724
  "nullable": true,
13233
- "contractHash": "9857fbd4ba787a75062c4ebd68217c3d23819e97317c851466ae3663f273090d"
14725
+ "contractHash": "4999aaf74dafdea45a28488dc7cad7f876f34e72d9caac4a697f896cf7ed8abc"
13234
14726
  },
13235
14727
  {
13236
14728
  "name": "mcps",
@@ -13260,7 +14752,7 @@ export const operations = [
13260
14752
  ],
13261
14753
  "array": true,
13262
14754
  "nullable": false,
13263
- "contractHash": "83013dcb46296f611722b0e13dffe6cdadb2cd914908c19625d6a66cd1696c1e"
14755
+ "contractHash": "da11c00e924d6639feae894834f5c255b4835e2b9b1c98805f97fa14dcb38e8e"
13264
14756
  },
13265
14757
  {
13266
14758
  "name": "start_node_id",
@@ -13295,7 +14787,96 @@ export const operations = [
13295
14787
  }
13296
14788
  ]
13297
14789
  },
13298
- "responseContractHash": "83b8872c75aa208226c66510c65a19555c66eeda2814a62d07653649c08574b0"
14790
+ "responseContractHash": "40c701b5bd0926b63eaca108c53068f53f2bba0ed737d539f79dff3052e7bbba"
14791
+ },
14792
+ {
14793
+ "operationId": "updateCrmConfig",
14794
+ "command": "update-crm-config",
14795
+ "method": "POST",
14796
+ "path": "/update-crm-config",
14797
+ "description": "Update the organization's CRM configuration. Omitted fields stay as they are; a field that is sent replaces its stored value in full.",
14798
+ "deprecated": false,
14799
+ "authenticated": true,
14800
+ "parameters": [],
14801
+ "requestBody": {
14802
+ "required": true,
14803
+ "contentType": "application/json",
14804
+ "propertyCount": 4,
14805
+ "requiredFields": [],
14806
+ "validationSchema": {
14807
+ "type": "object",
14808
+ "properties": {
14809
+ "app_id": {
14810
+ "type": "string",
14811
+ "nullable": true
14812
+ },
14813
+ "custom_fields": {
14814
+ "type": "array",
14815
+ "maxItems": 200,
14816
+ "items": {
14817
+ "$ref": "#/components/schemas/CRMCustomFieldSchema"
14818
+ }
14819
+ },
14820
+ "crm_analysis_data_mappings": {
14821
+ "type": "array",
14822
+ "maxItems": 200,
14823
+ "items": {
14824
+ "$ref": "#/components/schemas/CRMAnalysisDataMapping"
14825
+ }
14826
+ },
14827
+ "contact_columns_order": {
14828
+ "type": "array",
14829
+ "maxItems": 200,
14830
+ "items": {
14831
+ "type": "string"
14832
+ }
14833
+ }
14834
+ }
14835
+ },
14836
+ "fields": [
14837
+ {
14838
+ "name": "app_id",
14839
+ "flag": "--app-id",
14840
+ "required": false,
14841
+ "type": "string",
14842
+ "description": "ID of the CRM app to link. Pass null to unlink, which stops syncing. Changing it resets the sync cursor, so the next sync re-reads every contact from the new CRM.",
14843
+ "array": false,
14844
+ "nullable": true,
14845
+ "contractHash": "e16b0c0d0cdce6a489ad1ac5bbb7534eb3cca67b3ad23818a640e2bce397a142"
14846
+ },
14847
+ {
14848
+ "name": "custom_fields",
14849
+ "flag": "--custom-fields",
14850
+ "required": false,
14851
+ "type": "array",
14852
+ "description": "Replaces the stored list. Names must be snake_case and cannot collide with a built-in contact field or start with `contact`/`external`. Removing a field that an analysis data mapping still targets is rejected — send crm_analysis_data_mappings in the same request to retarget or drop those mappings.",
14853
+ "array": true,
14854
+ "nullable": false,
14855
+ "contractHash": "ffdfa56637fbe47994abd7ac3b933eb689a1dda4558c1ed64537b6fbed1b48ef"
14856
+ },
14857
+ {
14858
+ "name": "crm_analysis_data_mappings",
14859
+ "flag": "--crm-analysis-data-mappings",
14860
+ "required": false,
14861
+ "type": "array",
14862
+ "description": "Replaces the stored list.",
14863
+ "array": true,
14864
+ "nullable": false,
14865
+ "contractHash": "87e6cb8db79afb7a8d844b958b73fe8821e585a4fd2d2a9245d06bcc89bcb8f9"
14866
+ },
14867
+ {
14868
+ "name": "contact_columns_order",
14869
+ "flag": "--contact-columns-order",
14870
+ "required": false,
14871
+ "type": "array",
14872
+ "description": "Preferred display order of contact fields, for clients that render contacts as a table. Not used by the API itself.",
14873
+ "array": true,
14874
+ "nullable": false,
14875
+ "contractHash": "d5500e36e868d9c1e7b0d9c9ac8ffeac85f797510b1302dcf1dbbf97b51e1678"
14876
+ }
14877
+ ]
14878
+ },
14879
+ "responseContractHash": "9ebad6d125b495bdaf810eeb4ad52b3ecd35d66b2751775236b782367be31036"
13299
14880
  },
13300
14881
  {
13301
14882
  "operationId": "updateLiveCall",
@@ -13890,7 +15471,7 @@ export const operations = [
13890
15471
  ],
13891
15472
  "array": true,
13892
15473
  "nullable": true,
13893
- "contractHash": "128aee3a5e2061c88ef9efe4f7098476487c05f16a9581c314aca00050163a72"
15474
+ "contractHash": "9141c0a842156711bcc241f9066a37bb55cf1d2fca3b48f20115a35eb299dd0b"
13894
15475
  },
13895
15476
  {
13896
15477
  "name": "states",
@@ -13942,7 +15523,7 @@ export const operations = [
13942
15523
  ],
13943
15524
  "array": true,
13944
15525
  "nullable": true,
13945
- "contractHash": "7acbf0c9bd8f4649f799fbca23184b806f3c43c7c134d442c9276aa14e6d3416"
15526
+ "contractHash": "a87efa2d9c6a8cb583cda7cdae2876a79c90f22c5bae16de3df3e8f1913aca4c"
13946
15527
  },
13947
15528
  {
13948
15529
  "name": "starting_state",
@@ -13991,7 +15572,7 @@ export const operations = [
13991
15572
  }
13992
15573
  ]
13993
15574
  },
13994
- "responseContractHash": "3f2b67608029dc1d7f21fb56c877ebb4b68dadc9fff6ddd9148be8f86d7d2cf4"
15575
+ "responseContractHash": "dcf32a359009e93fed979d7eec5aaf1a411499887b96cbe0b990aea65057bcbf"
13995
15576
  },
13996
15577
  {
13997
15578
  "operationId": "updateTestCaseDefinition",