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,96 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .referenceresponse import ReferenceResponse, ReferenceResponseTypedDict
5
+ from .searchresult import SearchResult, SearchResultTypedDict
6
+ from egain_api_python.types import BaseModel
7
+ import pydantic
8
+ from typing import List, Literal, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ RetrieveResponseAnswerType = Literal["certified",]
13
+ r"""Specifies that the answer produced was a certified answer."""
14
+
15
+
16
+ class RetrieveResponseAnswerTypedDict(TypedDict):
17
+ r"""If a certified answer is given. The answer object will be present. <br><br> This will be shown only if certified answers are configured and the certified answer meets the configured threshold."""
18
+
19
+ answer_value: str
20
+ r"""The certified answer."""
21
+ references: List[ReferenceResponseTypedDict]
22
+ r"""Source used to produce the certified answer."""
23
+ answer_type: RetrieveResponseAnswerType
24
+ r"""Specifies that the answer produced was a certified answer."""
25
+ relevance_score: float
26
+ r"""Confidence score (0.0-1.0) reflecting how well the answer matches the query."""
27
+
28
+
29
+ class RetrieveResponseAnswer(BaseModel):
30
+ r"""If a certified answer is given. The answer object will be present. <br><br> This will be shown only if certified answers are configured and the certified answer meets the configured threshold."""
31
+
32
+ answer_value: Annotated[str, pydantic.Field(alias="answerValue")]
33
+ r"""The certified answer."""
34
+
35
+ references: List[ReferenceResponse]
36
+ r"""Source used to produce the certified answer."""
37
+
38
+ answer_type: Annotated[
39
+ RetrieveResponseAnswerType, pydantic.Field(alias="answerType")
40
+ ]
41
+ r"""Specifies that the answer produced was a certified answer."""
42
+
43
+ relevance_score: Annotated[float, pydantic.Field(alias="relevanceScore")]
44
+ r"""Confidence score (0.0-1.0) reflecting how well the answer matches the query."""
45
+
46
+
47
+ RetrieveResponseType = Literal[
48
+ "portal",
49
+ "custom",
50
+ ]
51
+ r"""The channel where the query originated, e.g., directly from the portal or via a custom integration."""
52
+
53
+
54
+ class RetrieveResponseChannelTypedDict(TypedDict):
55
+ type: RetrieveResponseType
56
+ r"""The channel where the query originated, e.g., directly from the portal or via a custom integration."""
57
+ name: NotRequired[str]
58
+ r"""The channel name."""
59
+
60
+
61
+ class RetrieveResponseChannel(BaseModel):
62
+ type: RetrieveResponseType
63
+ r"""The channel where the query originated, e.g., directly from the portal or via a custom integration."""
64
+
65
+ name: Optional[str] = None
66
+ r"""The channel name."""
67
+
68
+
69
+ class RetrieveResponseTypedDict(TypedDict):
70
+ answer: NotRequired[RetrieveResponseAnswerTypedDict]
71
+ r"""If a certified answer is given. The answer object will be present. <br><br> This will be shown only if certified answers are configured and the certified answer meets the configured threshold."""
72
+ search_results: NotRequired[List[SearchResultTypedDict]]
73
+ r"""Top search results with relevance scores and metadata."""
74
+ channel: NotRequired[RetrieveResponseChannelTypedDict]
75
+ event_id: NotRequired[str]
76
+ r"""Unique ID for this specific API call or event."""
77
+ session_id: NotRequired[str]
78
+ r"""ID that ties multiple API calls to the same user session. Will be used as part of to tie events back to a session."""
79
+
80
+
81
+ class RetrieveResponse(BaseModel):
82
+ answer: Optional[RetrieveResponseAnswer] = None
83
+ r"""If a certified answer is given. The answer object will be present. <br><br> This will be shown only if certified answers are configured and the certified answer meets the configured threshold."""
84
+
85
+ search_results: Annotated[
86
+ Optional[List[SearchResult]], pydantic.Field(alias="searchResults")
87
+ ] = None
88
+ r"""Top search results with relevance scores and metadata."""
89
+
90
+ channel: Optional[RetrieveResponseChannel] = None
91
+
92
+ event_id: Annotated[Optional[str], pydantic.Field(alias="eventId")] = None
93
+ r"""Unique ID for this specific API call or event."""
94
+
95
+ session_id: Annotated[Optional[str], pydantic.Field(alias="sessionId")] = None
96
+ r"""ID that ties multiple API calls to the same user session. Will be used as part of to tie events back to a session."""
@@ -0,0 +1,26 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .roletemplate import RoleTemplate, RoleTemplateTypedDict
5
+ from egain_api_python.types import BaseModel
6
+ from typing_extensions import TypedDict
7
+
8
+
9
+ class RoleTypedDict(TypedDict):
10
+ id: str
11
+ r"""ID of the object"""
12
+ name: str
13
+ r"""Name of the object"""
14
+ template: RoleTemplateTypedDict
15
+ r"""Role template"""
16
+
17
+
18
+ class Role(BaseModel):
19
+ id: str
20
+ r"""ID of the object"""
21
+
22
+ name: str
23
+ r"""Name of the object"""
24
+
25
+ template: RoleTemplate
26
+ r"""Role template"""
@@ -0,0 +1,25 @@
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
+ import pydantic
6
+ from typing_extensions import Annotated, TypedDict
7
+
8
+
9
+ class RoleTemplateTypedDict(TypedDict):
10
+ r"""Role template"""
11
+
12
+ value: str
13
+ r"""Value of the role template"""
14
+ display_value: str
15
+ r"""Display value of the role template"""
16
+
17
+
18
+ class RoleTemplate(BaseModel):
19
+ r"""Role template"""
20
+
21
+ value: str
22
+ r"""Value of the role template"""
23
+
24
+ display_value: Annotated[str, pydantic.Field(alias="displayValue")]
25
+ r"""Display value of the role template"""
@@ -0,0 +1,94 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .image import Image, ImageTypedDict
5
+ from egain_api_python.types import BaseModel
6
+ import pydantic
7
+ from typing import Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class SchemasAnswerTypedDict(TypedDict):
12
+ id: NotRequired[str]
13
+ r"""ID of the answer"""
14
+ depth: NotRequired[int]
15
+ r"""depth of the answer"""
16
+ is_invisible: NotRequired[bool]
17
+ r"""Flag indicating if answer is visible"""
18
+ text: NotRequired[str]
19
+ r"""Text of the answer"""
20
+ image: NotRequired[ImageTypedDict]
21
+ concept_name: NotRequired[str]
22
+ r"""name of the answer"""
23
+ concept_id: NotRequired[str]
24
+ r"""Id of the answer"""
25
+ lower_value: NotRequired[int]
26
+ r"""lower value of the answer"""
27
+ upper_value: NotRequired[int]
28
+ r"""upper value of the answer"""
29
+ enum_lower_value: NotRequired[str]
30
+ r"""lower value of enum answer"""
31
+ enum_upper_value: NotRequired[str]
32
+ r"""upper value of enum answer"""
33
+ lower_inclusive: NotRequired[bool]
34
+ r"""Value indicating if lower value is inclusive"""
35
+ upper_inclusive: NotRequired[bool]
36
+ r"""Value indicating if upper value is inclusive"""
37
+ partial_min: NotRequired[int]
38
+ r"""Partial minimum"""
39
+ partial_max: NotRequired[int]
40
+ r"""Partial maximim"""
41
+
42
+
43
+ class SchemasAnswer(BaseModel):
44
+ id: Optional[str] = None
45
+ r"""ID of the answer"""
46
+
47
+ depth: Optional[int] = None
48
+ r"""depth of the answer"""
49
+
50
+ is_invisible: Annotated[Optional[bool], pydantic.Field(alias="isInvisible")] = None
51
+ r"""Flag indicating if answer is visible"""
52
+
53
+ text: Optional[str] = None
54
+ r"""Text of the answer"""
55
+
56
+ image: Optional[Image] = None
57
+
58
+ concept_name: Annotated[Optional[str], pydantic.Field(alias="conceptName")] = None
59
+ r"""name of the answer"""
60
+
61
+ concept_id: Annotated[Optional[str], pydantic.Field(alias="conceptId")] = None
62
+ r"""Id of the answer"""
63
+
64
+ lower_value: Annotated[Optional[int], pydantic.Field(alias="lowerValue")] = None
65
+ r"""lower value of the answer"""
66
+
67
+ upper_value: Annotated[Optional[int], pydantic.Field(alias="upperValue")] = None
68
+ r"""upper value of the answer"""
69
+
70
+ enum_lower_value: Annotated[
71
+ Optional[str], pydantic.Field(alias="enumLowerValue")
72
+ ] = None
73
+ r"""lower value of enum answer"""
74
+
75
+ enum_upper_value: Annotated[
76
+ Optional[str], pydantic.Field(alias="enumUpperValue")
77
+ ] = None
78
+ r"""upper value of enum answer"""
79
+
80
+ lower_inclusive: Annotated[
81
+ Optional[bool], pydantic.Field(alias="lowerInclusive")
82
+ ] = None
83
+ r"""Value indicating if lower value is inclusive"""
84
+
85
+ upper_inclusive: Annotated[
86
+ Optional[bool], pydantic.Field(alias="upperInclusive")
87
+ ] = None
88
+ r"""Value indicating if upper value is inclusive"""
89
+
90
+ partial_min: Annotated[Optional[int], pydantic.Field(alias="partialMin")] = None
91
+ r"""Partial minimum"""
92
+
93
+ partial_max: Annotated[Optional[int], pydantic.Field(alias="partialMax")] = None
94
+ r"""Partial maximim"""
@@ -0,0 +1,35 @@
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 import Literal, Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ SchemasCustomAttributeType = Literal[
10
+ "STRING",
11
+ "INTEGER",
12
+ "BOOLEAN",
13
+ "DATETIME",
14
+ ]
15
+ r"""The custom attribute's type."""
16
+
17
+
18
+ class SchemasCustomAttributeTypedDict(TypedDict):
19
+ name: NotRequired[str]
20
+ r"""The custom attribute's name."""
21
+ value: NotRequired[str]
22
+ r"""The custom attribute's value."""
23
+ type: NotRequired[SchemasCustomAttributeType]
24
+ r"""The custom attribute's type."""
25
+
26
+
27
+ class SchemasCustomAttribute(BaseModel):
28
+ name: Optional[str] = None
29
+ r"""The custom attribute's name."""
30
+
31
+ value: Optional[str] = None
32
+ r"""The custom attribute's value."""
33
+
34
+ type: Optional[SchemasCustomAttributeType] = None
35
+ r"""The custom attribute's type."""
@@ -0,0 +1,27 @@
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
+ import pydantic
6
+ from typing import Optional
7
+ from typing_extensions import Annotated, NotRequired, TypedDict
8
+
9
+
10
+ class SchemasLinkTypedDict(TypedDict):
11
+ rel: NotRequired[str]
12
+ r"""Defines the relationship between a linked resource and the current document.<br><br>For example: self, prev, next or an object name such as 'user', 'folder' etc."""
13
+ href: NotRequired[str]
14
+ r"""The URL that specifies the link's destination."""
15
+ default: NotRequired[bool]
16
+ r"""Determines if this is a default link."""
17
+
18
+
19
+ class SchemasLink(BaseModel):
20
+ rel: Optional[str] = None
21
+ r"""Defines the relationship between a linked resource and the current document.<br><br>For example: self, prev, next or an object name such as 'user', 'folder' etc."""
22
+
23
+ href: Optional[str] = None
24
+ r"""The URL that specifies the link's destination."""
25
+
26
+ default: Annotated[Optional[bool], pydantic.Field(alias="_default")] = None
27
+ r"""Determines if this is a default link."""
@@ -0,0 +1,21 @@
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 import Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ class SchemasTagTypedDict(TypedDict):
10
+ id: NotRequired[str]
11
+ r"""The unique identifier for the tag."""
12
+ name: NotRequired[str]
13
+ r"""The name of the tag."""
14
+
15
+
16
+ class SchemasTag(BaseModel):
17
+ id: Optional[str] = None
18
+ r"""The unique identifier for the tag."""
19
+
20
+ name: Optional[str] = None
21
+ r"""The name of the tag."""
@@ -0,0 +1,75 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .schemas_tag import SchemasTag, SchemasTagTypedDict
5
+ from .schemas_taggroup import SchemasTagGroup, SchemasTagGroupTypedDict
6
+ from .userview import UserView, UserViewTypedDict
7
+ from datetime import datetime
8
+ from egain_api_python.types import BaseModel
9
+ import pydantic
10
+ from typing import List, Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class CreatedDateAndTimeTypedDict(TypedDict):
15
+ r"""Date the Tag Category was created."""
16
+
17
+ date_: datetime
18
+ r"""The date in the format <code>YYYY-MM-DDTHH:MM:SS</code>."""
19
+ user: NotRequired[UserViewTypedDict]
20
+
21
+
22
+ class CreatedDateAndTime(BaseModel):
23
+ r"""Date the Tag Category was created."""
24
+
25
+ date_: Annotated[datetime, pydantic.Field(alias="date")]
26
+ r"""The date in the format <code>YYYY-MM-DDTHH:MM:SS</code>."""
27
+
28
+ user: Optional[UserView] = None
29
+
30
+
31
+ class LastModifiedDateAndTimeTypedDict(TypedDict):
32
+ r"""Date of last modification."""
33
+
34
+ date_: datetime
35
+ r"""The date in the format <code>YYYY-MM-DDTHH:MM:SS</code>."""
36
+ user: NotRequired[UserViewTypedDict]
37
+
38
+
39
+ class LastModifiedDateAndTime(BaseModel):
40
+ r"""Date of last modification."""
41
+
42
+ date_: Annotated[datetime, pydantic.Field(alias="date")]
43
+ r"""The date in the format <code>YYYY-MM-DDTHH:MM:SS</code>."""
44
+
45
+ user: Optional[UserView] = None
46
+
47
+
48
+ class SchemasTagCategoryTypedDict(TypedDict):
49
+ name: NotRequired[str]
50
+ r"""name of the tag category."""
51
+ tag_group: NotRequired[List[SchemasTagGroupTypedDict]]
52
+ tag: NotRequired[List[SchemasTagTypedDict]]
53
+ created: NotRequired[CreatedDateAndTimeTypedDict]
54
+ r"""Date the Tag Category was created."""
55
+ last_modified: NotRequired[LastModifiedDateAndTimeTypedDict]
56
+ r"""Date of last modification."""
57
+
58
+
59
+ class SchemasTagCategory(BaseModel):
60
+ name: Optional[str] = None
61
+ r"""name of the tag category."""
62
+
63
+ tag_group: Annotated[
64
+ Optional[List[SchemasTagGroup]], pydantic.Field(alias="tagGroup")
65
+ ] = None
66
+
67
+ tag: Optional[List[SchemasTag]] = None
68
+
69
+ created: Optional[CreatedDateAndTime] = None
70
+ r"""Date the Tag Category was created."""
71
+
72
+ last_modified: Annotated[
73
+ Optional[LastModifiedDateAndTime], pydantic.Field(alias="lastModified")
74
+ ] = None
75
+ r"""Date of last modification."""
@@ -0,0 +1,31 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .schemas_tag import SchemasTag, SchemasTagTypedDict
5
+ from egain_api_python.types import BaseModel
6
+ import pydantic
7
+ from typing import List, Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class SchemasTagGroupTypedDict(TypedDict):
12
+ id: NotRequired[str]
13
+ r"""The unique identifier for the tag group."""
14
+ name: NotRequired[str]
15
+ r"""Name of the tag group."""
16
+ tag_group: NotRequired[List[SchemasTagGroupTypedDict]]
17
+ tag: NotRequired[List[SchemasTagTypedDict]]
18
+
19
+
20
+ class SchemasTagGroup(BaseModel):
21
+ id: Optional[str] = None
22
+ r"""The unique identifier for the tag group."""
23
+
24
+ name: Optional[str] = None
25
+ r"""Name of the tag group."""
26
+
27
+ tag_group: Annotated[
28
+ Optional[List[SchemasTagGroup]], pydantic.Field(alias="tagGroup")
29
+ ] = None
30
+
31
+ tag: Optional[List[SchemasTag]] = None
@@ -0,0 +1,19 @@
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 import List, Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ class SchemasTagsTypedDict(TypedDict):
10
+ id: NotRequired[str]
11
+ r"""Tag Category ID"""
12
+ tags: NotRequired[List[str]]
13
+
14
+
15
+ class SchemasTags(BaseModel):
16
+ id: Optional[str] = None
17
+ r"""Tag Category ID"""
18
+
19
+ tags: Optional[List[str]] = None
@@ -0,0 +1,17 @@
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 import Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ class SchemasWSErrorCommonDetailTypedDict(TypedDict):
10
+ key: str
11
+ value: NotRequired[str]
12
+
13
+
14
+ class SchemasWSErrorCommonDetail(BaseModel):
15
+ key: str
16
+
17
+ value: Optional[str] = None
@@ -0,0 +1,61 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .stringattributevalue import StringAttributeValue, StringAttributeValueTypedDict
5
+ from egain_api_python.types import BaseModel
6
+ import pydantic
7
+ from typing import Literal, Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ ValueType = Literal[
12
+ "String",
13
+ "Integer",
14
+ "Decimal",
15
+ "Date",
16
+ "Boolean",
17
+ ]
18
+ r"""The data type of the value of the attribute."""
19
+
20
+
21
+ class SearchFilterAttributeTypedDict(TypedDict):
22
+ r"""This includes the custom attributes that have been added to the portal for filtering."""
23
+
24
+ internal_name: NotRequired[str]
25
+ r"""The internal name of a custom attribute."""
26
+ external_name: NotRequired[str]
27
+ r"""The external or public name of a custom attribute."""
28
+ value_type: NotRequired[ValueType]
29
+ r"""The data type of the value of the attribute."""
30
+ is_enumerated: NotRequired[bool]
31
+ r"""Whether the valueType is enumerated."""
32
+ is_multiselect: NotRequired[bool]
33
+ r"""Whether the user can select multiple values."""
34
+ value: NotRequired[StringAttributeValueTypedDict]
35
+ r"""An attribute can have an external value such as a readable label, and an internal value such as a unique ID. This schema provides both the internal and external values for one attribute."""
36
+
37
+
38
+ class SearchFilterAttribute(BaseModel):
39
+ r"""This includes the custom attributes that have been added to the portal for filtering."""
40
+
41
+ internal_name: Annotated[Optional[str], pydantic.Field(alias="internalName")] = None
42
+ r"""The internal name of a custom attribute."""
43
+
44
+ external_name: Annotated[Optional[str], pydantic.Field(alias="externalName")] = None
45
+ r"""The external or public name of a custom attribute."""
46
+
47
+ value_type: Annotated[Optional[ValueType], pydantic.Field(alias="valueType")] = None
48
+ r"""The data type of the value of the attribute."""
49
+
50
+ is_enumerated: Annotated[Optional[bool], pydantic.Field(alias="isEnumerated")] = (
51
+ None
52
+ )
53
+ r"""Whether the valueType is enumerated."""
54
+
55
+ is_multiselect: Annotated[Optional[bool], pydantic.Field(alias="isMultiselect")] = (
56
+ None
57
+ )
58
+ r"""Whether the user can select multiple values."""
59
+
60
+ value: Optional[StringAttributeValue] = None
61
+ r"""An attribute can have an external value such as a readable label, and an internal value such as a unique ID. This schema provides both the internal and external values for one attribute."""
@@ -0,0 +1,108 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .acceptlanguage import AcceptLanguage
5
+ from .optionalarticleattributes import OptionalArticleAttributes
6
+ from egain_api_python.types import BaseModel
7
+ from egain_api_python.utils import (
8
+ FieldMetadata,
9
+ HeaderMetadata,
10
+ PathParamMetadata,
11
+ QueryParamMetadata,
12
+ )
13
+ import pydantic
14
+ from typing import Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ class SearchPriorToEscalationRequestTypedDict(TypedDict):
19
+ accept_language: AcceptLanguage
20
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
21
+ portal_id: str
22
+ 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."""
23
+ escalation_id: str
24
+ r"""The ID (uuid) of the customer escalation.
25
+
26
+ """
27
+ filter_articles_in_topic_tree: NotRequired[str]
28
+ r"""This parameter will restrict the search scope to the provided topic and it's sub topic."""
29
+ additional_attributes: NotRequired[OptionalArticleAttributes]
30
+ r"""The fields of the article to be returned."""
31
+ max_results: NotRequired[int]
32
+ r"""The \"maxResults\" parameter specifies the number of articles that should be included in the response.
33
+
34
+ It is only required when the escalation type is chat escalation.If not specified then default value 5 will be considered for chat escalation.
35
+
36
+ If the escalation type is email, the maximum results value specified in the portal settings for email escalation will be taken into consideration.
37
+
38
+ """
39
+ pagenum: NotRequired[int]
40
+ r"""Pagination parameter that specifies the page number of results to be returned. Used in conjunction with $pagesize."""
41
+ pagesize: NotRequired[int]
42
+ r"""Pagination parameter that specifies the number of results per page. Used in conjunction with $pagenum.<br>Valid range of 5-75<br>_Default value_: 25"""
43
+
44
+
45
+ class SearchPriorToEscalationRequest(BaseModel):
46
+ accept_language: Annotated[
47
+ AcceptLanguage,
48
+ pydantic.Field(alias="Accept-Language"),
49
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
50
+ ]
51
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
52
+
53
+ portal_id: Annotated[
54
+ str,
55
+ pydantic.Field(alias="portalID"),
56
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
57
+ ]
58
+ 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."""
59
+
60
+ escalation_id: Annotated[
61
+ str,
62
+ pydantic.Field(alias="escalationId"),
63
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
64
+ ]
65
+ r"""The ID (uuid) of the customer escalation.
66
+
67
+ """
68
+
69
+ filter_articles_in_topic_tree: Annotated[
70
+ Optional[str],
71
+ pydantic.Field(alias="filter[articles-in-topic-tree]"),
72
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
73
+ ] = None
74
+ r"""This parameter will restrict the search scope to the provided topic and it's sub topic."""
75
+
76
+ additional_attributes: Annotated[
77
+ Optional[OptionalArticleAttributes],
78
+ pydantic.Field(alias="additionalAttributes"),
79
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
80
+ ] = None
81
+ r"""The fields of the article to be returned."""
82
+
83
+ max_results: Annotated[
84
+ Optional[int],
85
+ pydantic.Field(alias="maxResults"),
86
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
87
+ ] = None
88
+ r"""The \"maxResults\" parameter specifies the number of articles that should be included in the response.
89
+
90
+ It is only required when the escalation type is chat escalation.If not specified then default value 5 will be considered for chat escalation.
91
+
92
+ If the escalation type is email, the maximum results value specified in the portal settings for email escalation will be taken into consideration.
93
+
94
+ """
95
+
96
+ pagenum: Annotated[
97
+ Optional[int],
98
+ pydantic.Field(alias="$pagenum"),
99
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
100
+ ] = 1
101
+ r"""Pagination parameter that specifies the page number of results to be returned. Used in conjunction with $pagesize."""
102
+
103
+ pagesize: Annotated[
104
+ Optional[int],
105
+ pydantic.Field(alias="$pagesize"),
106
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
107
+ ] = 25
108
+ r"""Pagination parameter that specifies the number of results per page. Used in conjunction with $pagenum.<br>Valid range of 5-75<br>_Default value_: 25"""