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,101 @@
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 Literal, Optional
7
+ from typing_extensions import Annotated, NotRequired, TypedDict
8
+
9
+
10
+ SearchResultDocType = Literal[
11
+ "HTML",
12
+ "Doc",
13
+ "Pdf",
14
+ ]
15
+ r"""Format of the source document (HTML, Doc, or PDF)."""
16
+
17
+
18
+ SearchResultSource = Literal[
19
+ "eGain Article",
20
+ "eGain Attachment",
21
+ ]
22
+ r"""The repository or system where the content originated (e.g., eGain Article, eGain Attachment)."""
23
+
24
+
25
+ SnippetType = Literal[
26
+ "chunks",
27
+ "articleContent",
28
+ ]
29
+
30
+
31
+ class SearchResultLinkTypedDict(TypedDict):
32
+ r"""Defines the relationship between this resource and another object."""
33
+
34
+ rel: NotRequired[str]
35
+ r"""Defines the relationship between a linked resource and the current object. <br><br> For example: self, prev, next or an object name such as 'user', 'folder' etc."""
36
+ href: NotRequired[str]
37
+ r"""The URL that specifies the link's destination."""
38
+
39
+
40
+ class SearchResultLink(BaseModel):
41
+ r"""Defines the relationship between this resource and another object."""
42
+
43
+ rel: Optional[str] = None
44
+ r"""Defines the relationship between a linked resource and the current object. <br><br> For example: self, prev, next or an object name such as 'user', 'folder' etc."""
45
+
46
+ href: Optional[str] = None
47
+ r"""The URL that specifies the link's destination."""
48
+
49
+
50
+ class SearchResultTypedDict(TypedDict):
51
+ r"""Represents a single document or snippet returned by search, along with its metadata and relevance score."""
52
+
53
+ id: str
54
+ r"""The ID of the Article. <br><br> An Article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
55
+ name: str
56
+ r"""The name of the Article or source content."""
57
+ doc_type: SearchResultDocType
58
+ r"""Format of the source document (HTML, Doc, or PDF)."""
59
+ source: SearchResultSource
60
+ r"""The repository or system where the content originated (e.g., eGain Article, eGain Attachment)."""
61
+ snippet: str
62
+ r"""Retrieved text returned for the query. This may be a **chunk of an article** or the **entire article content** if the content is small enough."""
63
+ relevance_score: float
64
+ r"""Generated confidence score (0.0-1.0) for the snippet's relevance to the query."""
65
+ doc_name: NotRequired[str]
66
+ r"""Name of the attachment, if an attachment was used as the source content."""
67
+ snippet_type: NotRequired[SnippetType]
68
+ link: NotRequired[SearchResultLinkTypedDict]
69
+ r"""Defines the relationship between this resource and another object."""
70
+
71
+
72
+ class SearchResult(BaseModel):
73
+ r"""Represents a single document or snippet returned by search, along with its metadata and relevance score."""
74
+
75
+ id: str
76
+ r"""The ID of the Article. <br><br> An Article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
77
+
78
+ name: str
79
+ r"""The name of the Article or source content."""
80
+
81
+ doc_type: Annotated[SearchResultDocType, pydantic.Field(alias="docType")]
82
+ r"""Format of the source document (HTML, Doc, or PDF)."""
83
+
84
+ source: SearchResultSource
85
+ r"""The repository or system where the content originated (e.g., eGain Article, eGain Attachment)."""
86
+
87
+ snippet: str
88
+ r"""Retrieved text returned for the query. This may be a **chunk of an article** or the **entire article content** if the content is small enough."""
89
+
90
+ relevance_score: Annotated[float, pydantic.Field(alias="relevanceScore")]
91
+ r"""Generated confidence score (0.0-1.0) for the snippet's relevance to the query."""
92
+
93
+ doc_name: Annotated[Optional[str], pydantic.Field(alias="docName")] = None
94
+ r"""Name of the attachment, if an attachment was used as the source content."""
95
+
96
+ snippet_type: Annotated[
97
+ Optional[SnippetType], pydantic.Field(alias="snippetType")
98
+ ] = None
99
+
100
+ link: Optional[SearchResultLink] = None
101
+ r"""Defines the relationship between this resource and another object."""
@@ -0,0 +1,93 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .acceptlanguage import AcceptLanguage
5
+ from .order import Order
6
+ from .sortidname import SortIDName
7
+ from egain_api_python.types import BaseModel
8
+ from egain_api_python.utils import (
9
+ FieldMetadata,
10
+ HeaderMetadata,
11
+ PathParamMetadata,
12
+ QueryParamMetadata,
13
+ )
14
+ import pydantic
15
+ from typing import Literal, Optional
16
+ from typing_extensions import Annotated, NotRequired, TypedDict
17
+
18
+
19
+ FilterStatus = Literal[
20
+ "suggested",
21
+ "pending",
22
+ "declined",
23
+ "approved",
24
+ ]
25
+ r"""The search filter applied to the list of suggestions by a user."""
26
+
27
+
28
+ class SearchSuggestionRequestTypedDict(TypedDict):
29
+ accept_language: AcceptLanguage
30
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
31
+ portal_id: str
32
+ 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."""
33
+ filter_status: FilterStatus
34
+ r"""The search filter applied to the list of suggestions by a user."""
35
+ sort: NotRequired[SortIDName]
36
+ r"""Objects returned in server response are sorted based on the attribute supplied under $sort."""
37
+ order: NotRequired[Order]
38
+ r"""Common query parameter $order."""
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 SearchSuggestionRequest(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
+ filter_status: Annotated[
61
+ FilterStatus,
62
+ pydantic.Field(alias="filter[status]"),
63
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
64
+ ]
65
+ r"""The search filter applied to the list of suggestions by a user."""
66
+
67
+ sort: Annotated[
68
+ Optional[SortIDName],
69
+ pydantic.Field(alias="$sort"),
70
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
71
+ ] = None
72
+ r"""Objects returned in server response are sorted based on the attribute supplied under $sort."""
73
+
74
+ order: Annotated[
75
+ Optional[Order],
76
+ pydantic.Field(alias="$order"),
77
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
78
+ ] = None
79
+ r"""Common query parameter $order."""
80
+
81
+ pagenum: Annotated[
82
+ Optional[int],
83
+ pydantic.Field(alias="$pagenum"),
84
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
85
+ ] = 1
86
+ r"""Pagination parameter that specifies the page number of results to be returned. Used in conjunction with $pagesize."""
87
+
88
+ pagesize: Annotated[
89
+ Optional[int],
90
+ pydantic.Field(alias="$pagesize"),
91
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
92
+ ] = 25
93
+ 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"""
@@ -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
+ from egain_api_python.utils import FieldMetadata, SecurityMetadata
6
+ from typing import Optional
7
+ from typing_extensions import Annotated, NotRequired, TypedDict
8
+
9
+
10
+ class SecurityTypedDict(TypedDict):
11
+ access_token: NotRequired[str]
12
+
13
+
14
+ class Security(BaseModel):
15
+ access_token: Annotated[
16
+ Optional[str],
17
+ FieldMetadata(
18
+ security=SecurityMetadata(
19
+ scheme=True,
20
+ scheme_type="http",
21
+ sub_type="bearer",
22
+ field_name="Authorization",
23
+ )
24
+ ),
25
+ ] = None
@@ -0,0 +1,44 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .acceptlanguage import AcceptLanguage
5
+ from egain_api_python.types import BaseModel
6
+ from egain_api_python.utils import FieldMetadata, HeaderMetadata, PathParamMetadata
7
+ import pydantic
8
+ from typing_extensions import Annotated, TypedDict
9
+
10
+
11
+ class SelectUserProfileRequestTypedDict(TypedDict):
12
+ accept_language: AcceptLanguage
13
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
14
+ portal_id: str
15
+ 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."""
16
+ user_profile_id: str
17
+ r"""The ID of the user profile.
18
+
19
+ """
20
+
21
+
22
+ class SelectUserProfileRequest(BaseModel):
23
+ accept_language: Annotated[
24
+ AcceptLanguage,
25
+ pydantic.Field(alias="Accept-Language"),
26
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
27
+ ]
28
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
29
+
30
+ portal_id: Annotated[
31
+ str,
32
+ pydantic.Field(alias="portalID"),
33
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
34
+ ]
35
+ 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."""
36
+
37
+ user_profile_id: Annotated[
38
+ str,
39
+ pydantic.Field(alias="userProfileID"),
40
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
41
+ ]
42
+ r"""The ID of the user profile.
43
+
44
+ """
@@ -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 SessionContextVariableTypedDict(TypedDict):
10
+ name: NotRequired[str]
11
+ value: NotRequired[str]
12
+
13
+
14
+ class SessionContextVariable(BaseModel):
15
+ name: Optional[str] = None
16
+
17
+ value: Optional[str] = None
@@ -0,0 +1,32 @@
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 ShortURLTypedDict(TypedDict):
11
+ id: NotRequired[str]
12
+ r"""The alphanumeric ID of the short URL.<br><br>A topic ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
13
+ template_name: NotRequired[str]
14
+ r"""Name of template"""
15
+ short_url_name: NotRequired[str]
16
+ r"""Name of ShortURL"""
17
+ is_default: NotRequired[bool]
18
+
19
+
20
+ class ShortURL(BaseModel):
21
+ id: Optional[str] = None
22
+ r"""The alphanumeric ID of the short URL.<br><br>A topic ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
23
+
24
+ template_name: Annotated[Optional[str], pydantic.Field(alias="templateName")] = None
25
+ r"""Name of template"""
26
+
27
+ short_url_name: Annotated[Optional[str], pydantic.Field(alias="shortURLName")] = (
28
+ None
29
+ )
30
+ r"""Name of ShortURL"""
31
+
32
+ is_default: Annotated[Optional[bool], pydantic.Field(alias="isDefault")] = None
@@ -0,0 +1,10 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from typing import Literal
5
+
6
+
7
+ SortIDName = Literal[
8
+ "id",
9
+ "name",
10
+ ]
@@ -0,0 +1,11 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from typing import Literal
5
+
6
+
7
+ SortIDNameDepartment = Literal[
8
+ "id",
9
+ "name",
10
+ "departmentName",
11
+ ]
@@ -0,0 +1,26 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .milestone import Milestone, MilestoneTypedDict
5
+ from egain_api_python.types import BaseModel
6
+ from typing import Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class StageTypedDict(TypedDict):
11
+ r"""A stage in the Article's workflow."""
12
+
13
+ name: NotRequired[str]
14
+ r"""The name of the stage."""
15
+ milestone: NotRequired[MilestoneTypedDict]
16
+ r"""A resource's workflow milestone."""
17
+
18
+
19
+ class Stage(BaseModel):
20
+ r"""A stage in the Article's workflow."""
21
+
22
+ name: Optional[str] = None
23
+ r"""The name of the stage."""
24
+
25
+ milestone: Optional[Milestone] = None
26
+ r"""A resource's workflow milestone."""
@@ -0,0 +1,66 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .acceptlanguage import AcceptLanguage
5
+ from .mandatorylanguagequeryparameter import MandatoryLanguageQueryParameter
6
+ from .startescalationrequest import (
7
+ StartEscalationRequest,
8
+ StartEscalationRequestTypedDict,
9
+ )
10
+ from egain_api_python.types import BaseModel
11
+ from egain_api_python.utils import (
12
+ FieldMetadata,
13
+ HeaderMetadata,
14
+ PathParamMetadata,
15
+ QueryParamMetadata,
16
+ RequestMetadata,
17
+ )
18
+ import pydantic
19
+ from typing import Dict, List
20
+ from typing_extensions import Annotated, TypedDict
21
+
22
+
23
+ class StartCustomerEscalationRequestTypedDict(TypedDict):
24
+ accept_language: AcceptLanguage
25
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
26
+ portal_id: str
27
+ 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."""
28
+ language: MandatoryLanguageQueryParameter
29
+ r"""The language used for fetching the details of a resource. Resources available in different languages may differ from each other."""
30
+ start_escalation_request: StartEscalationRequestTypedDict
31
+
32
+
33
+ class StartCustomerEscalationRequest(BaseModel):
34
+ accept_language: Annotated[
35
+ AcceptLanguage,
36
+ pydantic.Field(alias="Accept-Language"),
37
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
38
+ ]
39
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
40
+
41
+ portal_id: Annotated[
42
+ str,
43
+ pydantic.Field(alias="portalID"),
44
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
45
+ ]
46
+ 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."""
47
+
48
+ language: Annotated[
49
+ MandatoryLanguageQueryParameter,
50
+ pydantic.Field(alias="$lang"),
51
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
52
+ ]
53
+ r"""The language used for fetching the details of a resource. Resources available in different languages may differ from each other."""
54
+
55
+ start_escalation_request: Annotated[
56
+ StartEscalationRequest,
57
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
58
+ ]
59
+
60
+
61
+ class StartCustomerEscalationResponseTypedDict(TypedDict):
62
+ headers: Dict[str, List[str]]
63
+
64
+
65
+ class StartCustomerEscalationResponse(BaseModel):
66
+ headers: Dict[str, List[str]]
@@ -0,0 +1,94 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .contacts import Contacts, ContactsTypedDict
5
+ from egain_api_python.types import BaseModel
6
+ from typing import Literal, Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class CustomerTypedDict(TypedDict):
11
+ r"""The contact point details of the customer who is starting the escalation."""
12
+
13
+ contacts: NotRequired[ContactsTypedDict]
14
+ r"""Contacts"""
15
+
16
+
17
+ class Customer(BaseModel):
18
+ r"""The contact point details of the customer who is starting the escalation."""
19
+
20
+ contacts: Optional[Contacts] = None
21
+ r"""Contacts"""
22
+
23
+
24
+ ChannelEnum = Literal["email",]
25
+ r"""The type of escalation
26
+
27
+ """
28
+
29
+
30
+ class CaptchaTypedDict(TypedDict):
31
+ r"""Only required when captcha is enabled for portal."""
32
+
33
+ response: str
34
+
35
+
36
+ class Captcha(BaseModel):
37
+ r"""Only required when captcha is enabled for portal."""
38
+
39
+ response: str
40
+
41
+
42
+ class StartEscalationRequestTypedDict(TypedDict):
43
+ subject: str
44
+ r"""The subject of the email message.
45
+
46
+ """
47
+ body: str
48
+ r"""The body of the email message.
49
+
50
+ """
51
+ channel: ChannelEnum
52
+ r"""The type of escalation
53
+
54
+ """
55
+ url: str
56
+ r"""The url of the page that the customer was viewing at the time when the ecalation started.
57
+
58
+ """
59
+ customer: NotRequired[CustomerTypedDict]
60
+ r"""The contact point details of the customer who is starting the escalation."""
61
+ captcha: NotRequired[CaptchaTypedDict]
62
+ r"""Only required when captcha is enabled for portal.
63
+
64
+ """
65
+
66
+
67
+ class StartEscalationRequest(BaseModel):
68
+ subject: str
69
+ r"""The subject of the email message.
70
+
71
+ """
72
+
73
+ body: str
74
+ r"""The body of the email message.
75
+
76
+ """
77
+
78
+ channel: ChannelEnum
79
+ r"""The type of escalation
80
+
81
+ """
82
+
83
+ url: str
84
+ r"""The url of the page that the customer was viewing at the time when the ecalation started.
85
+
86
+ """
87
+
88
+ customer: Optional[Customer] = None
89
+ r"""The contact point details of the customer who is starting the escalation."""
90
+
91
+ captcha: Optional[Captcha] = None
92
+ r"""Only required when captcha is enabled for portal.
93
+
94
+ """
@@ -0,0 +1,74 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .acceptlanguage import AcceptLanguage
5
+ from .ghsearchrequest import GHSearchRequest, GHSearchRequestTypedDict
6
+ from .ghsearchresult import GHSearchResult, GHSearchResultTypedDict
7
+ from .languagequeryparameter import LanguageQueryParameter
8
+ from egain_api_python.types import BaseModel
9
+ from egain_api_python.utils import (
10
+ FieldMetadata,
11
+ HeaderMetadata,
12
+ PathParamMetadata,
13
+ QueryParamMetadata,
14
+ RequestMetadata,
15
+ )
16
+ import pydantic
17
+ from typing import Dict, List, Optional
18
+ from typing_extensions import Annotated, NotRequired, TypedDict
19
+
20
+
21
+ class StartGHSearchRequestTypedDict(TypedDict):
22
+ accept_language: AcceptLanguage
23
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
24
+ portal_id: str
25
+ 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."""
26
+ gh_search_request: GHSearchRequestTypedDict
27
+ language: NotRequired[LanguageQueryParameter]
28
+ r"""The language that describes the details of a resource. Resources available in different languages may differ from each other.<li>If <code>lang</code> is not passed, then the portal's default language is used.</li>"""
29
+ gh_custom_additional_attributes: NotRequired[str]
30
+
31
+
32
+ class StartGHSearchRequest(BaseModel):
33
+ accept_language: Annotated[
34
+ AcceptLanguage,
35
+ pydantic.Field(alias="Accept-Language"),
36
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
37
+ ]
38
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
39
+
40
+ portal_id: Annotated[
41
+ str,
42
+ pydantic.Field(alias="portalID"),
43
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
44
+ ]
45
+ 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."""
46
+
47
+ gh_search_request: Annotated[
48
+ GHSearchRequest,
49
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
50
+ ]
51
+
52
+ language: Annotated[
53
+ Optional[LanguageQueryParameter],
54
+ pydantic.Field(alias="$lang"),
55
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
56
+ ] = None
57
+ r"""The language that describes the details of a resource. Resources available in different languages may differ from each other.<li>If <code>lang</code> is not passed, then the portal's default language is used.</li>"""
58
+
59
+ gh_custom_additional_attributes: Annotated[
60
+ Optional[str],
61
+ pydantic.Field(alias="ghCustomAdditionalAttributes"),
62
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
63
+ ] = None
64
+
65
+
66
+ class StartGHSearchResponseTypedDict(TypedDict):
67
+ headers: Dict[str, List[str]]
68
+ result: GHSearchResultTypedDict
69
+
70
+
71
+ class StartGHSearchResponse(BaseModel):
72
+ headers: Dict[str, List[str]]
73
+
74
+ result: GHSearchResult
@@ -0,0 +1,26 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .answer import Answer, AnswerTypedDict
5
+ from egain_api_python.types import BaseModel
6
+ from typing import List
7
+ from typing_extensions import TypedDict
8
+
9
+
10
+ class StartQuestionAndAnswerTypedDict(TypedDict):
11
+ r"""Questions and answers of the Casebase"""
12
+
13
+ id: str
14
+ r"""ID of question"""
15
+ answers: List[AnswerTypedDict]
16
+ r"""Answers of question"""
17
+
18
+
19
+ class StartQuestionAndAnswer(BaseModel):
20
+ r"""Questions and answers of the Casebase"""
21
+
22
+ id: str
23
+ r"""ID of question"""
24
+
25
+ answers: List[Answer]
26
+ r"""Answers of question"""