egain-api-python 0.1.1__py3-none-any.whl

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 (332) hide show
  1. egain_api_python/__init__.py +17 -0
  2. egain_api_python/_hooks/__init__.py +5 -0
  3. egain_api_python/_hooks/registration.py +13 -0
  4. egain_api_python/_hooks/sdkhooks.py +76 -0
  5. egain_api_python/_hooks/types.py +112 -0
  6. egain_api_python/_version.py +15 -0
  7. egain_api_python/aiservices.py +23 -0
  8. egain_api_python/answers.py +281 -0
  9. egain_api_python/articlelists.py +469 -0
  10. egain_api_python/basesdk.py +368 -0
  11. egain_api_python/connectorssearchevents.py +537 -0
  12. egain_api_python/content.py +23 -0
  13. egain_api_python/errors/__init__.py +78 -0
  14. egain_api_python/errors/egaindefaulterror.py +40 -0
  15. egain_api_python/errors/egainerror.py +30 -0
  16. egain_api_python/errors/gethealthop.py +74 -0
  17. egain_api_python/errors/no_response_error.py +17 -0
  18. egain_api_python/errors/responsevalidationerror.py +27 -0
  19. egain_api_python/errors/schemas_wserrorcommon.py +51 -0
  20. egain_api_python/errors/wserrorcommon.py +49 -0
  21. egain_api_python/escalation.py +955 -0
  22. egain_api_python/export.py +487 -0
  23. egain_api_python/federatedsearchevent.py +287 -0
  24. egain_api_python/general.py +925 -0
  25. egain_api_python/guidedhelp.py +3373 -0
  26. egain_api_python/health.py +253 -0
  27. egain_api_python/httpclient.py +125 -0
  28. egain_api_python/import_.py +1161 -0
  29. egain_api_python/models/__init__.py +2136 -0
  30. egain_api_python/models/acceptghsolutionop.py +52 -0
  31. egain_api_python/models/acceptlanguage.py +23 -0
  32. egain_api_python/models/accessibleportal.py +37 -0
  33. egain_api_python/models/action.py +56 -0
  34. egain_api_python/models/actionsearch.py +92 -0
  35. egain_api_python/models/addasreferenceop.py +52 -0
  36. egain_api_python/models/addbookmarkop.py +43 -0
  37. egain_api_python/models/additionalsnippets.py +57 -0
  38. egain_api_python/models/addtoreplyop.py +52 -0
  39. egain_api_python/models/aisearchop.py +131 -0
  40. egain_api_python/models/aisearchresponse.py +67 -0
  41. egain_api_python/models/allaccessibleportals.py +28 -0
  42. egain_api_python/models/answer.py +21 -0
  43. egain_api_python/models/answeredquestion.py +125 -0
  44. egain_api_python/models/answerrange.py +41 -0
  45. egain_api_python/models/answersrequest.py +78 -0
  46. egain_api_python/models/answersresponse.py +93 -0
  47. egain_api_python/models/article.py +241 -0
  48. egain_api_python/models/articleactivitylink.py +62 -0
  49. egain_api_python/models/articleadditionalattributes.py +23 -0
  50. egain_api_python/models/articleaisearchresult.py +254 -0
  51. egain_api_python/models/articleattachment.py +44 -0
  52. egain_api_python/models/articlelist.py +48 -0
  53. egain_api_python/models/articlelistresult.py +38 -0
  54. egain_api_python/models/articlelistsresult.py +22 -0
  55. egain_api_python/models/articlepermissions.py +25 -0
  56. egain_api_python/models/articlepermissionsresult.py +27 -0
  57. egain_api_python/models/articlerating.py +51 -0
  58. egain_api_python/models/articleratingsresponse.py +28 -0
  59. egain_api_python/models/articleresult.py +159 -0
  60. egain_api_python/models/articleresultadditionalattributes.py +22 -0
  61. egain_api_python/models/articleresults.py +32 -0
  62. egain_api_python/models/articlesearchresult.py +243 -0
  63. egain_api_python/models/articlesearchresults.py +32 -0
  64. egain_api_python/models/articlesort.py +11 -0
  65. egain_api_python/models/articlesortorder.py +11 -0
  66. egain_api_python/models/articletype.py +56 -0
  67. egain_api_python/models/articlewitheditions.py +227 -0
  68. egain_api_python/models/attachment.py +31 -0
  69. egain_api_python/models/attachmentadditionalattributes.py +10 -0
  70. egain_api_python/models/attachmentcontent.py +57 -0
  71. egain_api_python/models/attachmentcontentresult.py +22 -0
  72. egain_api_python/models/attachmentforcreatesuggestion.py +25 -0
  73. egain_api_python/models/attachments.py +35 -0
  74. egain_api_python/models/attachmentsummary.py +37 -0
  75. egain_api_python/models/attachmentupload.py +20 -0
  76. egain_api_python/models/avertcustomerescalationop.py +44 -0
  77. egain_api_python/models/bookmark.py +57 -0
  78. egain_api_python/models/bookmarkresult.py +26 -0
  79. egain_api_python/models/bookmarkstatus.py +34 -0
  80. egain_api_python/models/case.py +158 -0
  81. egain_api_python/models/caseadditionalattributes.py +11 -0
  82. egain_api_python/models/caseanswer.py +21 -0
  83. egain_api_python/models/casebase.py +67 -0
  84. egain_api_python/models/casebaseresult.py +28 -0
  85. egain_api_python/models/casebasesearchsettings.py +26 -0
  86. egain_api_python/models/caselistresult.py +74 -0
  87. egain_api_python/models/caselistresults.py +28 -0
  88. egain_api_python/models/casequestion.py +16 -0
  89. egain_api_python/models/casequestiondetail.py +29 -0
  90. egain_api_python/models/casesearch.py +80 -0
  91. egain_api_python/models/clusterid.py +16 -0
  92. egain_api_python/models/clusterresult.py +37 -0
  93. egain_api_python/models/clusterresults.py +28 -0
  94. egain_api_python/models/comment.py +33 -0
  95. egain_api_python/models/comments.py +26 -0
  96. egain_api_python/models/completecustomerescalationop.py +44 -0
  97. egain_api_python/models/compliancearticleresult.py +166 -0
  98. egain_api_python/models/compliancearticleresultadditionalattributes.py +22 -0
  99. egain_api_python/models/compliancearticleresults.py +35 -0
  100. egain_api_python/models/complianceforarticle.py +59 -0
  101. egain_api_python/models/complyarticleop.py +40 -0
  102. egain_api_python/models/components_schemas_tag.py +25 -0
  103. egain_api_python/models/components_schemas_tagcategory.py +39 -0
  104. egain_api_python/models/components_schemas_taggroup.py +25 -0
  105. egain_api_python/models/configurableattribute.py +25 -0
  106. egain_api_python/models/configurableattributes.py +15 -0
  107. egain_api_python/models/contactperson.py +43 -0
  108. egain_api_python/models/contacts.py +21 -0
  109. egain_api_python/models/createbookmark.py +64 -0
  110. egain_api_python/models/createdby.py +37 -0
  111. egain_api_python/models/createfederatedsearchevent.py +85 -0
  112. egain_api_python/models/createfederatedsearchresulteventop.py +46 -0
  113. egain_api_python/models/createimportop.py +20 -0
  114. egain_api_python/models/createimportvalidationop.py +20 -0
  115. egain_api_python/models/createquickpick.py +34 -0
  116. egain_api_python/models/createquickpickop.py +55 -0
  117. egain_api_python/models/createsearchresulteventforconnectors.py +71 -0
  118. egain_api_python/models/createsearchresulteventforconnectorsop.py +48 -0
  119. egain_api_python/models/createsignedurlop.py +29 -0
  120. egain_api_python/models/createsuggestion.py +126 -0
  121. egain_api_python/models/createviewedsearchresulteventforconnectors.py +76 -0
  122. egain_api_python/models/createviewedsearchresultseventforconnectorsop.py +48 -0
  123. egain_api_python/models/customattribute.py +35 -0
  124. egain_api_python/models/deletebookmarkop.py +40 -0
  125. egain_api_python/models/deletesuggestionop.py +40 -0
  126. egain_api_python/models/department.py +21 -0
  127. egain_api_python/models/detailfield.py +32 -0
  128. egain_api_python/models/displayfield.py +27 -0
  129. egain_api_python/models/dynamiccluster.py +21 -0
  130. egain_api_python/models/dynamicsearch.py +40 -0
  131. egain_api_python/models/edition.py +79 -0
  132. egain_api_python/models/editionwithcontent.py +68 -0
  133. egain_api_python/models/email.py +21 -0
  134. egain_api_python/models/exportcontentop.py +14 -0
  135. egain_api_python/models/exportstatus.py +106 -0
  136. egain_api_python/models/exportstatusop.py +31 -0
  137. egain_api_python/models/feedbackarticleforsuggestion.py +34 -0
  138. egain_api_python/models/folderbreadcrumb.py +24 -0
  139. egain_api_python/models/foldersummary.py +29 -0
  140. egain_api_python/models/getacknowledgedcompliancearticlesop.py +119 -0
  141. egain_api_python/models/getallarticlelistsop.py +47 -0
  142. egain_api_python/models/getallcasebasesreleasesop.py +65 -0
  143. egain_api_python/models/getallcasesop.py +83 -0
  144. egain_api_python/models/getallportalsop.py +60 -0
  145. egain_api_python/models/getallprofilesinportalop.py +64 -0
  146. egain_api_python/models/getallquickpicksop.py +83 -0
  147. egain_api_python/models/getalltopicsop.py +132 -0
  148. egain_api_python/models/getalluserprofilesop.py +47 -0
  149. egain_api_python/models/getancestortopicsop.py +133 -0
  150. egain_api_python/models/getannouncementarticlesop.py +134 -0
  151. egain_api_python/models/getarticleattachmentbyidop.py +31 -0
  152. egain_api_python/models/getarticlebyidop.py +257 -0
  153. egain_api_python/models/getarticlebyidwitheditionsop.py +46 -0
  154. egain_api_python/models/getarticleeditiondetailsop.py +55 -0
  155. egain_api_python/models/getarticlelistdetailsop.py +115 -0
  156. egain_api_python/models/getarticlepermissionsbyidop.py +40 -0
  157. egain_api_python/models/getarticlepersonalizationop.py +73 -0
  158. egain_api_python/models/getarticleratingsop.py +74 -0
  159. egain_api_python/models/getarticlesintopicop.py +172 -0
  160. egain_api_python/models/getattachmentbyidinportalop.py +56 -0
  161. egain_api_python/models/getbookmarkop.py +31 -0
  162. egain_api_python/models/getcasebasereleasebyidop.py +64 -0
  163. egain_api_python/models/getcasebyidop.py +75 -0
  164. egain_api_python/models/getchildtopicsop.py +150 -0
  165. egain_api_python/models/getclusterbycasebasereleaseidop.py +74 -0
  166. egain_api_python/models/gethealthop.py +130 -0
  167. egain_api_python/models/getimportcontentop.py +46 -0
  168. egain_api_python/models/getmyportalsop.py +97 -0
  169. egain_api_python/models/getmysubscriptionop.py +115 -0
  170. egain_api_python/models/getpendingcompliancearticlesop.py +119 -0
  171. egain_api_python/models/getpopulararticlesop.py +133 -0
  172. egain_api_python/models/getportaldetailsbyidop.py +47 -0
  173. egain_api_python/models/getrelatedarticlesforsuggestionop.py +96 -0
  174. egain_api_python/models/getrelatedarticlesop.py +143 -0
  175. egain_api_python/models/getsuggestionattachmentbyidop.py +76 -0
  176. egain_api_python/models/getsuggestionattachmentsop.py +40 -0
  177. egain_api_python/models/getsuggestioncommentsop.py +40 -0
  178. egain_api_python/models/getsuggestionop.py +107 -0
  179. egain_api_python/models/gettagcategoriesforinterestforportalop.py +46 -0
  180. egain_api_python/models/gettopicbreadcrumbforarticleop.py +55 -0
  181. egain_api_python/models/getuserdetailsop.py +22 -0
  182. egain_api_python/models/getusermilestonesop.py +22 -0
  183. egain_api_python/models/ghsearchrequest.py +67 -0
  184. egain_api_python/models/ghsearchresult.py +75 -0
  185. egain_api_python/models/ghstepsearchrequest.py +64 -0
  186. egain_api_python/models/image.py +17 -0
  187. egain_api_python/models/importcontent.py +79 -0
  188. egain_api_python/models/importstatus.py +29 -0
  189. egain_api_python/models/kblanguage.py +63 -0
  190. egain_api_python/models/kblanguagecode.py +48 -0
  191. egain_api_python/models/kblanguages.py +22 -0
  192. egain_api_python/models/knowledgeexport.py +237 -0
  193. egain_api_python/models/l10nstring.py +22 -0
  194. egain_api_python/models/languagecode.py +39 -0
  195. egain_api_python/models/languagecode_parameter.py +39 -0
  196. egain_api_python/models/languagequeryparameter.py +39 -0
  197. egain_api_python/models/link.py +25 -0
  198. egain_api_python/models/makesuggestionop.py +44 -0
  199. egain_api_python/models/mandatorylanguagequeryparameter.py +38 -0
  200. egain_api_python/models/metadata.py +29 -0
  201. egain_api_python/models/milestone.py +21 -0
  202. egain_api_python/models/milestonename.py +26 -0
  203. egain_api_python/models/milestones.py +21 -0
  204. egain_api_python/models/modifiedby.py +37 -0
  205. egain_api_python/models/modifysuggestion.py +78 -0
  206. egain_api_python/models/modifysuggestionsop.py +44 -0
  207. egain_api_python/models/optionalarticleattributes.py +20 -0
  208. egain_api_python/models/order.py +10 -0
  209. egain_api_python/models/ownedby.py +37 -0
  210. egain_api_python/models/paginationinfo.py +32 -0
  211. egain_api_python/models/patchimportcontentvalidationop.py +46 -0
  212. egain_api_python/models/personalization.py +67 -0
  213. egain_api_python/models/phone.py +21 -0
  214. egain_api_python/models/portal.py +102 -0
  215. egain_api_python/models/portalresult.py +28 -0
  216. egain_api_python/models/portalsettings.py +398 -0
  217. egain_api_python/models/post_portalid_answersop.py +88 -0
  218. egain_api_python/models/post_portalid_retrieveop.py +88 -0
  219. egain_api_python/models/profile.py +26 -0
  220. egain_api_python/models/profileresult.py +24 -0
  221. egain_api_python/models/publishprofile.py +30 -0
  222. egain_api_python/models/publishview.py +38 -0
  223. egain_api_python/models/question.py +101 -0
  224. egain_api_python/models/questionandanswer.py +26 -0
  225. egain_api_python/models/quickpickrating.py +32 -0
  226. egain_api_python/models/quickpickresult.py +38 -0
  227. egain_api_python/models/quickpickresults.py +28 -0
  228. egain_api_python/models/ratearticleop.py +71 -0
  229. egain_api_python/models/referenceresponse.py +80 -0
  230. egain_api_python/models/rejectghsolutionop.py +52 -0
  231. egain_api_python/models/relatedquestions.py +28 -0
  232. egain_api_python/models/resourcetype_parameter.py +10 -0
  233. egain_api_python/models/restorequickpickop.py +63 -0
  234. egain_api_python/models/retrieverequest.py +47 -0
  235. egain_api_python/models/retrieveresponse.py +96 -0
  236. egain_api_python/models/role.py +26 -0
  237. egain_api_python/models/roletemplate.py +25 -0
  238. egain_api_python/models/schemas_answer.py +94 -0
  239. egain_api_python/models/schemas_customattribute.py +35 -0
  240. egain_api_python/models/schemas_link.py +27 -0
  241. egain_api_python/models/schemas_tag.py +21 -0
  242. egain_api_python/models/schemas_tagcategory.py +75 -0
  243. egain_api_python/models/schemas_taggroup.py +31 -0
  244. egain_api_python/models/schemas_tags.py +19 -0
  245. egain_api_python/models/schemas_wserrorcommon.py +17 -0
  246. egain_api_python/models/searchfilterattribute.py +61 -0
  247. egain_api_python/models/searchpriortoescalationop.py +108 -0
  248. egain_api_python/models/searchresult.py +101 -0
  249. egain_api_python/models/searchsuggestionop.py +93 -0
  250. egain_api_python/models/security.py +25 -0
  251. egain_api_python/models/selectuserprofileop.py +44 -0
  252. egain_api_python/models/sessioncontextvariable.py +17 -0
  253. egain_api_python/models/shorturl.py +32 -0
  254. egain_api_python/models/sortidname.py +10 -0
  255. egain_api_python/models/sortidnamedepartment.py +11 -0
  256. egain_api_python/models/stage.py +26 -0
  257. egain_api_python/models/startcustomerescalationop.py +66 -0
  258. egain_api_python/models/startescalationrequest.py +94 -0
  259. egain_api_python/models/startghsearchop.py +74 -0
  260. egain_api_python/models/startquestionandanswer.py +26 -0
  261. egain_api_python/models/stepghsearchop.py +62 -0
  262. egain_api_python/models/stringattributevalue.py +30 -0
  263. egain_api_python/models/structuredauthoringfields.py +33 -0
  264. egain_api_python/models/subscribearticleop.py +40 -0
  265. egain_api_python/models/suggestion.py +190 -0
  266. egain_api_python/models/suggestionadditionalattributes.py +11 -0
  267. egain_api_python/models/suggestionattachment.py +46 -0
  268. egain_api_python/models/suggestions.py +28 -0
  269. egain_api_python/models/tag.py +17 -0
  270. egain_api_python/models/tagcategoriesforinterest.py +22 -0
  271. egain_api_python/models/tagcategory.py +34 -0
  272. egain_api_python/models/taggroup.py +17 -0
  273. egain_api_python/models/taggroups.py +20 -0
  274. egain_api_python/models/tags.py +17 -0
  275. egain_api_python/models/topic.py +113 -0
  276. egain_api_python/models/topicadditionalattributes.py +20 -0
  277. egain_api_python/models/topicaisearchresult.py +67 -0
  278. egain_api_python/models/topicbreadcrumb.py +24 -0
  279. egain_api_python/models/topicresult.py +26 -0
  280. egain_api_python/models/topicsummary.py +31 -0
  281. egain_api_python/models/topictreenode.py +27 -0
  282. egain_api_python/models/topictreeresult.py +28 -0
  283. egain_api_python/models/unsubscribearticleop.py +55 -0
  284. egain_api_python/models/uploadattachmentop.py +36 -0
  285. egain_api_python/models/userdetails.py +44 -0
  286. egain_api_python/models/userprofile.py +33 -0
  287. egain_api_python/models/userprofiles.py +21 -0
  288. egain_api_python/models/userview.py +33 -0
  289. egain_api_python/models/validateimportcontent.py +58 -0
  290. egain_api_python/models/virtualcase.py +52 -0
  291. egain_api_python/models/workflow.py +21 -0
  292. egain_api_python/models/workflowmilestone.py +11 -0
  293. egain_api_python/models/wserrorcommon.py +17 -0
  294. egain_api_python/populararticles.py +287 -0
  295. egain_api_python/portal_article.py +4935 -0
  296. egain_api_python/portal_attachment.py +494 -0
  297. egain_api_python/portal_bookmark.py +707 -0
  298. egain_api_python/portal_sdk.py +88 -0
  299. egain_api_python/portal_suggestion.py +2283 -0
  300. egain_api_python/portal_topic.py +975 -0
  301. egain_api_python/portal_userdetails.py +211 -0
  302. egain_api_python/portal_userprofile.py +431 -0
  303. egain_api_python/py.typed +1 -0
  304. egain_api_python/retrieve.py +265 -0
  305. egain_api_python/sdk.py +216 -0
  306. egain_api_python/sdkconfiguration.py +50 -0
  307. egain_api_python/search.py +251 -0
  308. egain_api_python/types/__init__.py +21 -0
  309. egain_api_python/types/basemodel.py +39 -0
  310. egain_api_python/usermilestones.py +219 -0
  311. egain_api_python/utils/__init__.py +200 -0
  312. egain_api_python/utils/annotations.py +79 -0
  313. egain_api_python/utils/datetimes.py +23 -0
  314. egain_api_python/utils/enums.py +74 -0
  315. egain_api_python/utils/eventstreaming.py +248 -0
  316. egain_api_python/utils/forms.py +223 -0
  317. egain_api_python/utils/headers.py +136 -0
  318. egain_api_python/utils/logger.py +27 -0
  319. egain_api_python/utils/metadata.py +118 -0
  320. egain_api_python/utils/queryparams.py +205 -0
  321. egain_api_python/utils/requestbodies.py +66 -0
  322. egain_api_python/utils/retries.py +217 -0
  323. egain_api_python/utils/security.py +192 -0
  324. egain_api_python/utils/serializers.py +249 -0
  325. egain_api_python/utils/unmarshal_json_response.py +24 -0
  326. egain_api_python/utils/url.py +155 -0
  327. egain_api_python/utils/values.py +137 -0
  328. egain_api_python-0.1.1.dist-info/METADATA +827 -0
  329. egain_api_python-0.1.1.dist-info/RECORD +332 -0
  330. egain_api_python-0.1.1.dist-info/WHEEL +5 -0
  331. egain_api_python-0.1.1.dist-info/licenses/LICENSE +21 -0
  332. egain_api_python-0.1.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,398 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .configurableattributes import (
5
+ ConfigurableAttributes,
6
+ ConfigurableAttributesTypedDict,
7
+ )
8
+ from .searchfilterattribute import SearchFilterAttribute, SearchFilterAttributeTypedDict
9
+ from .tagcategoriesforinterest import (
10
+ TagCategoriesForInterest,
11
+ TagCategoriesForInterestTypedDict,
12
+ )
13
+ from egain_api_python.types import BaseModel
14
+ import pydantic
15
+ from typing import List, Literal, Optional
16
+ from typing_extensions import Annotated, NotRequired, TypedDict
17
+
18
+
19
+ SearchLearningLevel = Literal[
20
+ 0,
21
+ 1,
22
+ 2,
23
+ 3,
24
+ 4,
25
+ ]
26
+ r"""Affects the influence of learning on search rankings. 0 = off, 1 = low, 2 = medium, 3 = high, 4 = custom."""
27
+
28
+
29
+ class PortalSettingsTypedDict(TypedDict):
30
+ r"""The settings for this portal."""
31
+
32
+ is_annoucements_enabled: NotRequired[bool]
33
+ r"""Whether the announcements section is enabled on this portal."""
34
+ is_article_feedback_enabled: NotRequired[bool]
35
+ r"""Whether article feedback is allowed."""
36
+ is_article_feedback_comments_enabled: NotRequired[bool]
37
+ r"""Whether comments should be included in the feedback."""
38
+ is_article_feedback_summary_enabled: NotRequired[bool]
39
+ r"""Whether a summary of feedback ratings should be displayed."""
40
+ is_related_articles_in_same_topic_enabled: NotRequired[bool]
41
+ r"""Whether all articles in the same topic are automatically treated as related articles."""
42
+ is_related_articles_enabled: NotRequired[bool]
43
+ r"""Whether the related articles section is shown."""
44
+ is_authentication_required: NotRequired[bool]
45
+ r"""Whether the portal requires authentication for access."""
46
+ is_agents_sso_enabled: NotRequired[bool]
47
+ r"""Whether SSO is enabled for agents"""
48
+ is_agents_delegated_authentication_enabled: NotRequired[bool]
49
+ r"""Whether delegated authentication is enabled for agents"""
50
+ customer_profile_attributes: NotRequired[ConfigurableAttributesTypedDict]
51
+ is_popular_articles_list_enabled: NotRequired[bool]
52
+ r"""Whether the popular articles list is displayed. Maximum of 50 popular articles will be dislpayed."""
53
+ popular_articles_list_influence_weight: NotRequired[float]
54
+ r"""The weight assigned to the influence of related articles on the ranking of popular articles in the ranking formula."""
55
+ popular_articles_list_influence_period: NotRequired[int]
56
+ r"""The timeframe in days that related articles affect the ranking of popular articles in the ranking formula."""
57
+ append_session_journey_to_email: NotRequired[bool]
58
+ r"""Whether the session transcript should be appended to the email message."""
59
+ is_article_suggestions_before_escalation_enabled: NotRequired[bool]
60
+ r"""Whether a user is shown suggested articles before escalating."""
61
+ is_escalation_to_email_enabled: NotRequired[bool]
62
+ r"""Whether the user can ask a question via email if Guided Help doesn’t provide an answer, triggering a search before escalation."""
63
+ number_of_suggested_articles_before_escalation: NotRequired[int]
64
+ r"""The number of articles to show to a customer before escalation."""
65
+ is_gh_enabled: NotRequired[bool]
66
+ r"""Whether guided help is enabled."""
67
+ is_gh_in_search_results_enabled: NotRequired[bool]
68
+ r"""Whether to show guided help results in search results."""
69
+ is_gh_startup_questions_before_unanswered_questions_enabled: NotRequired[bool]
70
+ r"""Whether startup questions should be presented before unanswered questions in Guided Help."""
71
+ is_gh_details_for_search_enabled: NotRequired[bool]
72
+ r"""Whether additional information should be shown in search results."""
73
+ is_gh_short_name_in_search_enabled: NotRequired[bool]
74
+ r"""When enabled it shows the short names in results."""
75
+ is_gh_cluster_scope_diagnostics_enabled: NotRequired[bool]
76
+ r"""Whether to show Cluster scope diagnostics during execution."""
77
+ is_gh_results_shown_on_successful_search: NotRequired[bool]
78
+ r"""Whether to automatically display results on search success."""
79
+ is_gh_control_action_diagnostics_enabled: NotRequired[bool]
80
+ r"""isGHControlActionDiagnosticsEnabled"""
81
+ gh_failure_success_threshold: NotRequired[float]
82
+ r"""A value from range that indicates the failure-success score"""
83
+ max_gh_answered_questions: NotRequired[int]
84
+ r"""A value indicating the maximum number of answered questions."""
85
+ max_gh_unanswered_questions: NotRequired[int]
86
+ r"""A value indicating the maximum number of unanswered questions."""
87
+ max_gh_search_results: NotRequired[int]
88
+ r"""Maximum number of guided help results to return."""
89
+ is_search_autocomplete_enabled: NotRequired[bool]
90
+ r"""Whether the autocomplete interface should be enabled."""
91
+ is_web_search_enabled: NotRequired[bool]
92
+ r"""Whether web searches should be performed as part of multi-search."""
93
+ max_web_search_results: NotRequired[int]
94
+ r"""The maximum number of results from the web search to return."""
95
+ web_search_domain: NotRequired[str]
96
+ r"""Use this to restrict web search results to a specific domain."""
97
+ is_intranet_search_enabled: NotRequired[bool]
98
+ r"""Whether intranet results should be returned as part of multi-search."""
99
+ max_intranet_search_results: NotRequired[int]
100
+ r"""The maximum number of results from an intranet search to return."""
101
+ intranet_search_url: NotRequired[str]
102
+ r"""The URL for the Intranet Search."""
103
+ is_spellcheck_enabled: NotRequired[bool]
104
+ r"""Whether spell-correction should be performed on search queries. The corrected query is returned with the results, but is not automatically used."""
105
+ question_matching_engine_url: NotRequired[str]
106
+ r"""The URL for the question matching engine."""
107
+ is_custom_attributes_filtering_enabled: NotRequired[bool]
108
+ r"""Whether search results should be filtered by custom attribute values."""
109
+ custom_attributes_for_search_filter: NotRequired[
110
+ List[SearchFilterAttributeTypedDict]
111
+ ]
112
+ search_learning_inclusion_threshold: NotRequired[int]
113
+ r"""The minimum number of accepts and rejects of an article before article ranking is affected."""
114
+ search_learning_influence: NotRequired[int]
115
+ r"""A ranking multiplier for learned scoring."""
116
+ search_learning_level: NotRequired[SearchLearningLevel]
117
+ r"""Affects the influence of learning on search rankings. 0 = off, 1 = low, 2 = medium, 3 = high, 4 = custom."""
118
+ search_learning_max_influence: NotRequired[int]
119
+ r"""The maximum influence allowed for learned scoring."""
120
+ search_related_term_weight: NotRequired[float]
121
+ r"""The weight assigned to related terms during search."""
122
+ search_related_terms_min_results_threshold: NotRequired[int]
123
+ r"""If the number of search results is less than or equal to this value, a search with related terms will be used to fill in results."""
124
+ is_article_suggestions_enabled: NotRequired[bool]
125
+ r"""Whether users can make suggestions on an article."""
126
+ is_my_suggestions_enabled: NotRequired[bool]
127
+ r"""Whether a user can view their suggestions."""
128
+ is_captcha_enabled: NotRequired[bool]
129
+ r"""Whether CAPTCHA is enabled or not in the portal."""
130
+ captcha_site_key: NotRequired[str]
131
+ r"""The configured CAPTCHA site key."""
132
+ is_article_sharing_enabled: NotRequired[bool]
133
+ r"""Whether the article sharing is enabled."""
134
+ tag_categories_for_search_filter: NotRequired[TagCategoriesForInterestTypedDict]
135
+
136
+
137
+ class PortalSettings(BaseModel):
138
+ r"""The settings for this portal."""
139
+
140
+ is_annoucements_enabled: Annotated[
141
+ Optional[bool], pydantic.Field(alias="isAnnoucementsEnabled")
142
+ ] = None
143
+ r"""Whether the announcements section is enabled on this portal."""
144
+
145
+ is_article_feedback_enabled: Annotated[
146
+ Optional[bool], pydantic.Field(alias="isArticleFeedbackEnabled")
147
+ ] = None
148
+ r"""Whether article feedback is allowed."""
149
+
150
+ is_article_feedback_comments_enabled: Annotated[
151
+ Optional[bool], pydantic.Field(alias="isArticleFeedbackCommentsEnabled")
152
+ ] = None
153
+ r"""Whether comments should be included in the feedback."""
154
+
155
+ is_article_feedback_summary_enabled: Annotated[
156
+ Optional[bool], pydantic.Field(alias="isArticleFeedbackSummaryEnabled")
157
+ ] = None
158
+ r"""Whether a summary of feedback ratings should be displayed."""
159
+
160
+ is_related_articles_in_same_topic_enabled: Annotated[
161
+ Optional[bool], pydantic.Field(alias="isRelatedArticlesInSameTopicEnabled")
162
+ ] = None
163
+ r"""Whether all articles in the same topic are automatically treated as related articles."""
164
+
165
+ is_related_articles_enabled: Annotated[
166
+ Optional[bool], pydantic.Field(alias="isRelatedArticlesEnabled")
167
+ ] = None
168
+ r"""Whether the related articles section is shown."""
169
+
170
+ is_authentication_required: Annotated[
171
+ Optional[bool], pydantic.Field(alias="isAuthenticationRequired")
172
+ ] = None
173
+ r"""Whether the portal requires authentication for access."""
174
+
175
+ is_agents_sso_enabled: Annotated[
176
+ Optional[bool], pydantic.Field(alias="isAgentsSSOEnabled")
177
+ ] = None
178
+ r"""Whether SSO is enabled for agents"""
179
+
180
+ is_agents_delegated_authentication_enabled: Annotated[
181
+ Optional[bool], pydantic.Field(alias="isAgentsDelegatedAuthenticationEnabled")
182
+ ] = None
183
+ r"""Whether delegated authentication is enabled for agents"""
184
+
185
+ customer_profile_attributes: Annotated[
186
+ Optional[ConfigurableAttributes],
187
+ pydantic.Field(alias="customerProfileAttributes"),
188
+ ] = None
189
+
190
+ is_popular_articles_list_enabled: Annotated[
191
+ Optional[bool], pydantic.Field(alias="isPopularArticlesListEnabled")
192
+ ] = None
193
+ r"""Whether the popular articles list is displayed. Maximum of 50 popular articles will be dislpayed."""
194
+
195
+ popular_articles_list_influence_weight: Annotated[
196
+ Optional[float], pydantic.Field(alias="popularArticlesListInfluenceWeight")
197
+ ] = None
198
+ r"""The weight assigned to the influence of related articles on the ranking of popular articles in the ranking formula."""
199
+
200
+ popular_articles_list_influence_period: Annotated[
201
+ Optional[int], pydantic.Field(alias="popularArticlesListInfluencePeriod")
202
+ ] = None
203
+ r"""The timeframe in days that related articles affect the ranking of popular articles in the ranking formula."""
204
+
205
+ append_session_journey_to_email: Annotated[
206
+ Optional[bool], pydantic.Field(alias="appendSessionJourneyToEmail")
207
+ ] = None
208
+ r"""Whether the session transcript should be appended to the email message."""
209
+
210
+ is_article_suggestions_before_escalation_enabled: Annotated[
211
+ Optional[bool],
212
+ pydantic.Field(alias="isArticleSuggestionsBeforeEscalationEnabled"),
213
+ ] = None
214
+ r"""Whether a user is shown suggested articles before escalating."""
215
+
216
+ is_escalation_to_email_enabled: Annotated[
217
+ Optional[bool], pydantic.Field(alias="isEscalationToEmailEnabled")
218
+ ] = None
219
+ r"""Whether the user can ask a question via email if Guided Help doesn’t provide an answer, triggering a search before escalation."""
220
+
221
+ number_of_suggested_articles_before_escalation: Annotated[
222
+ Optional[int], pydantic.Field(alias="numberOfSuggestedArticlesBeforeEscalation")
223
+ ] = None
224
+ r"""The number of articles to show to a customer before escalation."""
225
+
226
+ is_gh_enabled: Annotated[Optional[bool], pydantic.Field(alias="isGHEnabled")] = None
227
+ r"""Whether guided help is enabled."""
228
+
229
+ is_gh_in_search_results_enabled: Annotated[
230
+ Optional[bool], pydantic.Field(alias="isGHInSearchResultsEnabled")
231
+ ] = None
232
+ r"""Whether to show guided help results in search results."""
233
+
234
+ is_gh_startup_questions_before_unanswered_questions_enabled: Annotated[
235
+ Optional[bool],
236
+ pydantic.Field(alias="isGHStartupQuestionsBeforeUnansweredQuestionsEnabled"),
237
+ ] = None
238
+ r"""Whether startup questions should be presented before unanswered questions in Guided Help."""
239
+
240
+ is_gh_details_for_search_enabled: Annotated[
241
+ Optional[bool], pydantic.Field(alias="isGHDetailsForSearchEnabled")
242
+ ] = None
243
+ r"""Whether additional information should be shown in search results."""
244
+
245
+ is_gh_short_name_in_search_enabled: Annotated[
246
+ Optional[bool], pydantic.Field(alias="isGHShortNameInSearchEnabled")
247
+ ] = None
248
+ r"""When enabled it shows the short names in results."""
249
+
250
+ is_gh_cluster_scope_diagnostics_enabled: Annotated[
251
+ Optional[bool], pydantic.Field(alias="isGHClusterScopeDiagnosticsEnabled")
252
+ ] = None
253
+ r"""Whether to show Cluster scope diagnostics during execution."""
254
+
255
+ is_gh_results_shown_on_successful_search: Annotated[
256
+ Optional[bool], pydantic.Field(alias="isGHResultsShownOnSuccessfulSearch")
257
+ ] = None
258
+ r"""Whether to automatically display results on search success."""
259
+
260
+ is_gh_control_action_diagnostics_enabled: Annotated[
261
+ Optional[bool], pydantic.Field(alias="isGHControlActionDiagnosticsEnabled")
262
+ ] = None
263
+ r"""isGHControlActionDiagnosticsEnabled"""
264
+
265
+ gh_failure_success_threshold: Annotated[
266
+ Optional[float], pydantic.Field(alias="GHFailureSuccessThreshold")
267
+ ] = None
268
+ r"""A value from range that indicates the failure-success score"""
269
+
270
+ max_gh_answered_questions: Annotated[
271
+ Optional[int], pydantic.Field(alias="maxGHAnsweredQuestions")
272
+ ] = None
273
+ r"""A value indicating the maximum number of answered questions."""
274
+
275
+ max_gh_unanswered_questions: Annotated[
276
+ Optional[int], pydantic.Field(alias="maxGHUnansweredQuestions")
277
+ ] = None
278
+ r"""A value indicating the maximum number of unanswered questions."""
279
+
280
+ max_gh_search_results: Annotated[
281
+ Optional[int], pydantic.Field(alias="maxGHSearchResults")
282
+ ] = None
283
+ r"""Maximum number of guided help results to return."""
284
+
285
+ is_search_autocomplete_enabled: Annotated[
286
+ Optional[bool], pydantic.Field(alias="isSearchAutocompleteEnabled")
287
+ ] = None
288
+ r"""Whether the autocomplete interface should be enabled."""
289
+
290
+ is_web_search_enabled: Annotated[
291
+ Optional[bool], pydantic.Field(alias="isWebSearchEnabled")
292
+ ] = None
293
+ r"""Whether web searches should be performed as part of multi-search."""
294
+
295
+ max_web_search_results: Annotated[
296
+ Optional[int], pydantic.Field(alias="maxWebSearchResults")
297
+ ] = None
298
+ r"""The maximum number of results from the web search to return."""
299
+
300
+ web_search_domain: Annotated[
301
+ Optional[str], pydantic.Field(alias="webSearchDomain")
302
+ ] = None
303
+ r"""Use this to restrict web search results to a specific domain."""
304
+
305
+ is_intranet_search_enabled: Annotated[
306
+ Optional[bool], pydantic.Field(alias="isIntranetSearchEnabled")
307
+ ] = None
308
+ r"""Whether intranet results should be returned as part of multi-search."""
309
+
310
+ max_intranet_search_results: Annotated[
311
+ Optional[int], pydantic.Field(alias="maxIntranetSearchResults")
312
+ ] = None
313
+ r"""The maximum number of results from an intranet search to return."""
314
+
315
+ intranet_search_url: Annotated[
316
+ Optional[str], pydantic.Field(alias="intranetSearchURL")
317
+ ] = None
318
+ r"""The URL for the Intranet Search."""
319
+
320
+ is_spellcheck_enabled: Annotated[
321
+ Optional[bool], pydantic.Field(alias="isSpellcheckEnabled")
322
+ ] = None
323
+ r"""Whether spell-correction should be performed on search queries. The corrected query is returned with the results, but is not automatically used."""
324
+
325
+ question_matching_engine_url: Annotated[
326
+ Optional[str], pydantic.Field(alias="questionMatchingEngineURL")
327
+ ] = None
328
+ r"""The URL for the question matching engine."""
329
+
330
+ is_custom_attributes_filtering_enabled: Annotated[
331
+ Optional[bool], pydantic.Field(alias="isCustomAttributesFilteringEnabled")
332
+ ] = None
333
+ r"""Whether search results should be filtered by custom attribute values."""
334
+
335
+ custom_attributes_for_search_filter: Annotated[
336
+ Optional[List[SearchFilterAttribute]],
337
+ pydantic.Field(alias="customAttributesForSearchFilter"),
338
+ ] = None
339
+
340
+ search_learning_inclusion_threshold: Annotated[
341
+ Optional[int], pydantic.Field(alias="searchLearningInclusionThreshold")
342
+ ] = None
343
+ r"""The minimum number of accepts and rejects of an article before article ranking is affected."""
344
+
345
+ search_learning_influence: Annotated[
346
+ Optional[int], pydantic.Field(alias="searchLearningInfluence")
347
+ ] = None
348
+ r"""A ranking multiplier for learned scoring."""
349
+
350
+ search_learning_level: Annotated[
351
+ Optional[SearchLearningLevel], pydantic.Field(alias="searchLearningLevel")
352
+ ] = None
353
+ r"""Affects the influence of learning on search rankings. 0 = off, 1 = low, 2 = medium, 3 = high, 4 = custom."""
354
+
355
+ search_learning_max_influence: Annotated[
356
+ Optional[int], pydantic.Field(alias="searchLearningMaxInfluence")
357
+ ] = None
358
+ r"""The maximum influence allowed for learned scoring."""
359
+
360
+ search_related_term_weight: Annotated[
361
+ Optional[float], pydantic.Field(alias="searchRelatedTermWeight")
362
+ ] = None
363
+ r"""The weight assigned to related terms during search."""
364
+
365
+ search_related_terms_min_results_threshold: Annotated[
366
+ Optional[int], pydantic.Field(alias="searchRelatedTermsMinResultsThreshold")
367
+ ] = None
368
+ r"""If the number of search results is less than or equal to this value, a search with related terms will be used to fill in results."""
369
+
370
+ is_article_suggestions_enabled: Annotated[
371
+ Optional[bool], pydantic.Field(alias="isArticleSuggestionsEnabled")
372
+ ] = None
373
+ r"""Whether users can make suggestions on an article."""
374
+
375
+ is_my_suggestions_enabled: Annotated[
376
+ Optional[bool], pydantic.Field(alias="isMySuggestionsEnabled")
377
+ ] = None
378
+ r"""Whether a user can view their suggestions."""
379
+
380
+ is_captcha_enabled: Annotated[
381
+ Optional[bool], pydantic.Field(alias="isCaptchaEnabled")
382
+ ] = None
383
+ r"""Whether CAPTCHA is enabled or not in the portal."""
384
+
385
+ captcha_site_key: Annotated[
386
+ Optional[str], pydantic.Field(alias="captchaSiteKey")
387
+ ] = None
388
+ r"""The configured CAPTCHA site key."""
389
+
390
+ is_article_sharing_enabled: Annotated[
391
+ Optional[bool], pydantic.Field(alias="isArticleSharingEnabled")
392
+ ] = None
393
+ r"""Whether the article sharing is enabled."""
394
+
395
+ tag_categories_for_search_filter: Annotated[
396
+ Optional[TagCategoriesForInterest],
397
+ pydantic.Field(alias="tagCategoriesForSearchFilter"),
398
+ ] = None
@@ -0,0 +1,88 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .answersrequest import AnswersRequest, AnswersRequestTypedDict
5
+ from .languagecode_parameter import LanguageCodeParameter
6
+ from egain_api_python.types import BaseModel
7
+ from egain_api_python.utils import (
8
+ FieldMetadata,
9
+ PathParamMetadata,
10
+ QueryParamMetadata,
11
+ RequestMetadata,
12
+ )
13
+ import pydantic
14
+ from typing import Dict, List, Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ POST_PORTAL_ID_ANSWERS_OP_SERVERS = [
19
+ # aiservices
20
+ "https://${API_DOMAIN}/core/aiservices/v4",
21
+ ]
22
+
23
+
24
+ class PostPortalIDAnswersRequestTypedDict(TypedDict):
25
+ q: str
26
+ r"""The search query string. The string must be escaped as required by the URL syntax rules."""
27
+ portal_id: str
28
+ r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
29
+ dollar_filter_user_profile_id: NotRequired[str]
30
+ language: NotRequired[LanguageCodeParameter]
31
+ r"""The language that describes the details of a resource. Resources available in different languages may differ from each other. <br><br> If lang is not passed, then the portal's default language is used."""
32
+ dollar_filter_tags: NotRequired[Dict[str, List[str]]]
33
+ r"""An object where each key is a **Category Tag ID** (numeric string),
34
+ and each value is an array of **Tag IDs** for that category.
35
+
36
+ """
37
+ dollar_filter_topic_ids: NotRequired[List[str]]
38
+ r"""An array of topic IDs. It is used to restrict search results to specific topics."""
39
+ answers_request: NotRequired[AnswersRequestTypedDict]
40
+
41
+
42
+ class PostPortalIDAnswersRequest(BaseModel):
43
+ q: Annotated[
44
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
45
+ ]
46
+ r"""The search query string. The string must be escaped as required by the URL syntax rules."""
47
+
48
+ portal_id: Annotated[
49
+ str,
50
+ pydantic.Field(alias="portalID"),
51
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
52
+ ]
53
+ r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
54
+
55
+ dollar_filter_user_profile_id: Annotated[
56
+ Optional[str],
57
+ pydantic.Field(alias="$filter[userProfileID]"),
58
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
59
+ ] = None
60
+
61
+ language: Annotated[
62
+ Optional[LanguageCodeParameter],
63
+ pydantic.Field(alias="$lang"),
64
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
65
+ ] = None
66
+ r"""The language that describes the details of a resource. Resources available in different languages may differ from each other. <br><br> If lang is not passed, then the portal's default language is used."""
67
+
68
+ dollar_filter_tags: Annotated[
69
+ Optional[Dict[str, List[str]]],
70
+ pydantic.Field(alias="$filter[tags]"),
71
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
72
+ ] = None
73
+ r"""An object where each key is a **Category Tag ID** (numeric string),
74
+ and each value is an array of **Tag IDs** for that category.
75
+
76
+ """
77
+
78
+ dollar_filter_topic_ids: Annotated[
79
+ Optional[List[str]],
80
+ pydantic.Field(alias="$filter[topicIds]"),
81
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
82
+ ] = None
83
+ r"""An array of topic IDs. It is used to restrict search results to specific topics."""
84
+
85
+ answers_request: Annotated[
86
+ Optional[AnswersRequest],
87
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
88
+ ] = None
@@ -0,0 +1,88 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .languagecode_parameter import LanguageCodeParameter
5
+ from .retrieverequest import RetrieveRequest, RetrieveRequestTypedDict
6
+ from egain_api_python.types import BaseModel
7
+ from egain_api_python.utils import (
8
+ FieldMetadata,
9
+ PathParamMetadata,
10
+ QueryParamMetadata,
11
+ RequestMetadata,
12
+ )
13
+ import pydantic
14
+ from typing import Dict, List, Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ POST_PORTAL_ID_RETRIEVE_OP_SERVERS = [
19
+ # aiservices
20
+ "https://${API_DOMAIN}/core/aiservices/v4",
21
+ ]
22
+
23
+
24
+ class PostPortalIDRetrieveRequestTypedDict(TypedDict):
25
+ q: str
26
+ r"""The search query string. The string must be escaped as required by the URL syntax rules."""
27
+ portal_id: str
28
+ r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
29
+ dollar_filter_user_profile_id: NotRequired[str]
30
+ language: NotRequired[LanguageCodeParameter]
31
+ r"""The language that describes the details of a resource. Resources available in different languages may differ from each other. <br><br> If lang is not passed, then the portal's default language is used."""
32
+ dollar_filter_tags: NotRequired[Dict[str, List[str]]]
33
+ r"""An object where each key is a **Category Tag ID** (numeric string),
34
+ and each value is an array of **Tag IDs** for that category.
35
+
36
+ """
37
+ dollar_filter_topic_ids: NotRequired[List[str]]
38
+ r"""An array of topic IDs. It is used to restrict search results to specific topics."""
39
+ retrieve_request: NotRequired[RetrieveRequestTypedDict]
40
+
41
+
42
+ class PostPortalIDRetrieveRequest(BaseModel):
43
+ q: Annotated[
44
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
45
+ ]
46
+ r"""The search query string. The string must be escaped as required by the URL syntax rules."""
47
+
48
+ portal_id: Annotated[
49
+ str,
50
+ pydantic.Field(alias="portalID"),
51
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
52
+ ]
53
+ r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
54
+
55
+ dollar_filter_user_profile_id: Annotated[
56
+ Optional[str],
57
+ pydantic.Field(alias="$filter[userProfileID]"),
58
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
59
+ ] = None
60
+
61
+ language: Annotated[
62
+ Optional[LanguageCodeParameter],
63
+ pydantic.Field(alias="$lang"),
64
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
65
+ ] = None
66
+ r"""The language that describes the details of a resource. Resources available in different languages may differ from each other. <br><br> If lang is not passed, then the portal's default language is used."""
67
+
68
+ dollar_filter_tags: Annotated[
69
+ Optional[Dict[str, List[str]]],
70
+ pydantic.Field(alias="$filter[tags]"),
71
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
72
+ ] = None
73
+ r"""An object where each key is a **Category Tag ID** (numeric string),
74
+ and each value is an array of **Tag IDs** for that category.
75
+
76
+ """
77
+
78
+ dollar_filter_topic_ids: Annotated[
79
+ Optional[List[str]],
80
+ pydantic.Field(alias="$filter[topicIds]"),
81
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
82
+ ] = None
83
+ r"""An array of topic IDs. It is used to restrict search results to specific topics."""
84
+
85
+ retrieve_request: Annotated[
86
+ Optional[RetrieveRequest],
87
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
88
+ ] = None
@@ -0,0 +1,26 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from egain_api_python.types import BaseModel
5
+ from typing_extensions import TypedDict
6
+
7
+
8
+ class ProfileTypedDict(TypedDict):
9
+ id: str
10
+ r"""The ID of the guided help profile.<br>
11
+ 1 will always be the **system profile**.
12
+
13
+ """
14
+ name: str
15
+ r"""Name of the profile"""
16
+
17
+
18
+ class Profile(BaseModel):
19
+ id: str
20
+ r"""The ID of the guided help profile.<br>
21
+ 1 will always be the **system profile**.
22
+
23
+ """
24
+
25
+ name: str
26
+ r"""Name of the profile"""
@@ -0,0 +1,24 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .paginationinfo import PaginationInfo, PaginationInfoTypedDict
5
+ from .profile import Profile, ProfileTypedDict
6
+ from egain_api_python.types import BaseModel
7
+ import pydantic
8
+ from typing import List, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class ProfileResultTypedDict(TypedDict):
13
+ profile: NotRequired[List[ProfileTypedDict]]
14
+ r"""profiles"""
15
+ pagination_info: NotRequired[PaginationInfoTypedDict]
16
+
17
+
18
+ class ProfileResult(BaseModel):
19
+ profile: Optional[List[Profile]] = None
20
+ r"""profiles"""
21
+
22
+ pagination_info: Annotated[
23
+ Optional[PaginationInfo], pydantic.Field(alias="paginationInfo")
24
+ ] = None
@@ -0,0 +1,30 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from egain_api_python.types import BaseModel
5
+ from typing_extensions import TypedDict
6
+
7
+
8
+ class PublishProfileTypedDict(TypedDict):
9
+ r"""This schema contains information about Profile."""
10
+
11
+ id: str
12
+ r"""The ID of the guided help profile.<br>
13
+ 1 will always be the **system profile**.
14
+
15
+ """
16
+ name: str
17
+ r"""The name of the profile."""
18
+
19
+
20
+ class PublishProfile(BaseModel):
21
+ r"""This schema contains information about Profile."""
22
+
23
+ id: str
24
+ r"""The ID of the guided help profile.<br>
25
+ 1 will always be the **system profile**.
26
+
27
+ """
28
+
29
+ name: str
30
+ r"""The name of the profile."""