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,113 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .createdby import CreatedBy, CreatedByTypedDict
5
+ from .customattribute import CustomAttribute, CustomAttributeTypedDict
6
+ from .link import Link, LinkTypedDict
7
+ from .modifiedby import ModifiedBy, ModifiedByTypedDict
8
+ from egain_api_python.types import BaseModel
9
+ import pydantic
10
+ from typing import Any, List, Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class TopicTypedDict(TypedDict):
15
+ r"""This schema contains general information about the topic."""
16
+
17
+ id: str
18
+ r"""The alphanumeric ID of the topic.<br><br>A topic ID is composed of a 4-letter prefix, followed by a dash and 4-15 digits."""
19
+ name: Any
20
+ r"""The name of the topic."""
21
+ description: NotRequired[str]
22
+ r"""A description of the topic."""
23
+ article_count_in_topic: NotRequired[int]
24
+ r"""Number of articles in this topic."""
25
+ article_count_in_topic_tree: NotRequired[int]
26
+ r"""Number of articles in this topic and all sub-topics."""
27
+ created_by: NotRequired[CreatedByTypedDict]
28
+ created_date: NotRequired[str]
29
+ department_id: NotRequired[str]
30
+ r"""ID of the topic's department."""
31
+ image_url: NotRequired[str]
32
+ r"""The URL of an image to be associated with the topic."""
33
+ modified_by: NotRequired[ModifiedByTypedDict]
34
+ modified_date: NotRequired[str]
35
+ r"""The date on which the topic was last modified."""
36
+ child_count: NotRequired[int]
37
+ r"""Number of sub-topics below this topic."""
38
+ sub_topic_ids: NotRequired[List[str]]
39
+ r"""Array with the list of sub-topics. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
40
+ parent_topic_id: NotRequired[str]
41
+ r"""ID of the parent topic. -1 if it is the root topic. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
42
+ custom_attributes: NotRequired[List[CustomAttributeTypedDict]]
43
+ r"""Custom attributes for the Topic."""
44
+ topic_home_article_id: NotRequired[str]
45
+ r"""The ID of the article used as the home page of this topic. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
46
+ link: NotRequired[LinkTypedDict]
47
+ r"""Defines the relationship between this resource and another object."""
48
+
49
+
50
+ class Topic(BaseModel):
51
+ r"""This schema contains general information about the topic."""
52
+
53
+ id: str
54
+ r"""The alphanumeric ID of the topic.<br><br>A topic ID is composed of a 4-letter prefix, followed by a dash and 4-15 digits."""
55
+
56
+ name: Any
57
+ r"""The name of the topic."""
58
+
59
+ description: Optional[str] = None
60
+ r"""A description of the topic."""
61
+
62
+ article_count_in_topic: Annotated[
63
+ Optional[int], pydantic.Field(alias="articleCountInTopic")
64
+ ] = None
65
+ r"""Number of articles in this topic."""
66
+
67
+ article_count_in_topic_tree: Annotated[
68
+ Optional[int], pydantic.Field(alias="articleCountInTopicTree")
69
+ ] = None
70
+ r"""Number of articles in this topic and all sub-topics."""
71
+
72
+ created_by: Annotated[Optional[CreatedBy], pydantic.Field(alias="createdBy")] = None
73
+
74
+ created_date: Annotated[Optional[str], pydantic.Field(alias="createdDate")] = None
75
+
76
+ department_id: Annotated[Optional[str], pydantic.Field(alias="departmentId")] = None
77
+ r"""ID of the topic's department."""
78
+
79
+ image_url: Annotated[Optional[str], pydantic.Field(alias="imageUrl")] = None
80
+ r"""The URL of an image to be associated with the topic."""
81
+
82
+ modified_by: Annotated[Optional[ModifiedBy], pydantic.Field(alias="modifiedBy")] = (
83
+ None
84
+ )
85
+
86
+ modified_date: Annotated[Optional[str], pydantic.Field(alias="modifiedDate")] = None
87
+ r"""The date on which the topic was last modified."""
88
+
89
+ child_count: Annotated[Optional[int], pydantic.Field(alias="childCount")] = None
90
+ r"""Number of sub-topics below this topic."""
91
+
92
+ sub_topic_ids: Annotated[
93
+ Optional[List[str]], pydantic.Field(alias="subTopicIds")
94
+ ] = None
95
+ r"""Array with the list of sub-topics. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
96
+
97
+ parent_topic_id: Annotated[Optional[str], pydantic.Field(alias="parentTopicId")] = (
98
+ None
99
+ )
100
+ r"""ID of the parent topic. -1 if it is the root topic. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
101
+
102
+ custom_attributes: Annotated[
103
+ Optional[List[CustomAttribute]], pydantic.Field(alias="customAttributes")
104
+ ] = None
105
+ r"""Custom attributes for the Topic."""
106
+
107
+ topic_home_article_id: Annotated[
108
+ Optional[str], pydantic.Field(alias="topicHomeArticleId")
109
+ ] = None
110
+ r"""The ID of the article used as the home page of this topic. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
111
+
112
+ link: Optional[Link] = None
113
+ r"""Defines the relationship between this resource and another object."""
@@ -0,0 +1,20 @@
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
+ TopicAdditionalAttributes = Literal[
8
+ "description",
9
+ "createdBy.userName",
10
+ "createdBy.firstName",
11
+ "createdBy.lastName",
12
+ "createdBy.middleName",
13
+ "modifiedBy.userName",
14
+ "modifiedBy.firstName",
15
+ "modifiedBy.lastName",
16
+ "modifiedBy.middleName",
17
+ "imageUrl",
18
+ "textMetaData",
19
+ "all",
20
+ ]
@@ -0,0 +1,67 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from datetime import datetime
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 TopicAISearchResultTypedDict(TypedDict):
12
+ r"""This schema contains general information about the topic."""
13
+
14
+ name: str
15
+ r"""Name of Topic."""
16
+ id: str
17
+ article_count_in_topic: NotRequired[int]
18
+ r"""Number of articles within the topic."""
19
+ article_count_in_topic_tree: NotRequired[int]
20
+ r"""Number of articles in this topic and all sub-topics."""
21
+ created_by: NotRequired[int]
22
+ r"""The ID of the user that created this resource."""
23
+ created_date: NotRequired[datetime]
24
+ department_id: NotRequired[str]
25
+ last_modified_by: NotRequired[int]
26
+ r"""The ID of the user that modified this resource."""
27
+ last_modified_date: NotRequired[datetime]
28
+ child_count: NotRequired[int]
29
+
30
+
31
+ class TopicAISearchResult(BaseModel):
32
+ r"""This schema contains general information about the topic."""
33
+
34
+ name: str
35
+ r"""Name of Topic."""
36
+
37
+ id: str
38
+
39
+ article_count_in_topic: Annotated[
40
+ Optional[int], pydantic.Field(alias="articleCountInTopic")
41
+ ] = None
42
+ r"""Number of articles within the topic."""
43
+
44
+ article_count_in_topic_tree: Annotated[
45
+ Optional[int], pydantic.Field(alias="articleCountInTopicTree")
46
+ ] = None
47
+ r"""Number of articles in this topic and all sub-topics."""
48
+
49
+ created_by: Annotated[Optional[int], pydantic.Field(alias="createdBy")] = None
50
+ r"""The ID of the user that created this resource."""
51
+
52
+ created_date: Annotated[Optional[datetime], pydantic.Field(alias="createdDate")] = (
53
+ None
54
+ )
55
+
56
+ department_id: Annotated[Optional[str], pydantic.Field(alias="departmentId")] = None
57
+
58
+ last_modified_by: Annotated[
59
+ Optional[int], pydantic.Field(alias="lastModifiedBy")
60
+ ] = None
61
+ r"""The ID of the user that modified this resource."""
62
+
63
+ last_modified_date: Annotated[
64
+ Optional[datetime], pydantic.Field(alias="lastModifiedDate")
65
+ ] = None
66
+
67
+ child_count: Annotated[Optional[int], pydantic.Field(alias="childCount")] = None
@@ -0,0 +1,24 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .topicsummary import TopicSummary, TopicSummaryTypedDict
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 TopicBreadcrumbTypedDict(TypedDict):
12
+ r"""This schema contains one or more TopicSummary instances."""
13
+
14
+ topic_summary: NotRequired[List[TopicSummaryTypedDict]]
15
+ r"""An instance of TopicSummary."""
16
+
17
+
18
+ class TopicBreadcrumb(BaseModel):
19
+ r"""This schema contains one or more TopicSummary instances."""
20
+
21
+ topic_summary: Annotated[
22
+ Optional[List[TopicSummary]], pydantic.Field(alias="topicSummary")
23
+ ] = None
24
+ r"""An instance of TopicSummary."""
@@ -0,0 +1,26 @@
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 .topic import Topic, TopicTypedDict
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 TopicResultTypedDict(TypedDict):
13
+ r"""A TopicResult defines a response from any of the Topic APIs."""
14
+
15
+ topic: NotRequired[List[TopicTypedDict]]
16
+ pagination_info: NotRequired[PaginationInfoTypedDict]
17
+
18
+
19
+ class TopicResult(BaseModel):
20
+ r"""A TopicResult defines a response from any of the Topic APIs."""
21
+
22
+ topic: Optional[List[Topic]] = None
23
+
24
+ pagination_info: Annotated[
25
+ Optional[PaginationInfo], pydantic.Field(alias="paginationInfo")
26
+ ] = None
@@ -0,0 +1,31 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .link import Link, LinkTypedDict
5
+ from egain_api_python.types import BaseModel
6
+ from typing import Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class TopicSummaryTypedDict(TypedDict):
11
+ r"""This schema contains the topic ID and name of the topics. This is used by TopicBreadcrumb."""
12
+
13
+ id: NotRequired[str]
14
+ r"""The alphanumeric ID of the topic.<br><br>A topic ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
15
+ name: NotRequired[str]
16
+ r"""The name of the topic."""
17
+ link: NotRequired[LinkTypedDict]
18
+ r"""Defines the relationship between this resource and another object."""
19
+
20
+
21
+ class TopicSummary(BaseModel):
22
+ r"""This schema contains the topic ID and name of the topics. This is used by TopicBreadcrumb."""
23
+
24
+ id: Optional[str] = None
25
+ r"""The alphanumeric ID of the topic.<br><br>A topic ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
26
+
27
+ name: Optional[str] = None
28
+ r"""The name of the topic."""
29
+
30
+ link: Optional[Link] = None
31
+ r"""Defines the relationship between this resource and another object."""
@@ -0,0 +1,27 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .topic import Topic, TopicTypedDict
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 TopicTreeNodeTypedDict(TypedDict):
12
+ r"""This schema contains general information about the TopicTree."""
13
+
14
+ topic: NotRequired[TopicTypedDict]
15
+ r"""This schema contains general information about the topic."""
16
+ topic_tree: NotRequired[List[TopicTreeNodeTypedDict]]
17
+
18
+
19
+ class TopicTreeNode(BaseModel):
20
+ r"""This schema contains general information about the TopicTree."""
21
+
22
+ topic: Optional[Topic] = None
23
+ r"""This schema contains general information about the topic."""
24
+
25
+ topic_tree: Annotated[
26
+ Optional[List[TopicTreeNode]], pydantic.Field(alias="topicTree")
27
+ ] = None
@@ -0,0 +1,28 @@
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 .topictreenode import TopicTreeNode, TopicTreeNodeTypedDict
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 TopicTreeResultTypedDict(TypedDict):
13
+ r"""This schema contains the result of topic tree"""
14
+
15
+ topic_tree: NotRequired[List[TopicTreeNodeTypedDict]]
16
+ pagination_info: NotRequired[PaginationInfoTypedDict]
17
+
18
+
19
+ class TopicTreeResult(BaseModel):
20
+ r"""This schema contains the result of topic tree"""
21
+
22
+ topic_tree: Annotated[
23
+ Optional[List[TopicTreeNode]], pydantic.Field(alias="topicTree")
24
+ ] = None
25
+
26
+ pagination_info: Annotated[
27
+ Optional[PaginationInfo], pydantic.Field(alias="paginationInfo")
28
+ ] = None
@@ -0,0 +1,55 @@
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 (
7
+ FieldMetadata,
8
+ HeaderMetadata,
9
+ PathParamMetadata,
10
+ QueryParamMetadata,
11
+ )
12
+ import pydantic
13
+ from typing import Optional
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class UnsubscribeArticleRequestTypedDict(TypedDict):
18
+ accept_language: AcceptLanguage
19
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
20
+ portal_id: str
21
+ 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."""
22
+ article_id: str
23
+ 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."""
24
+ unsubscription_token: NotRequired[str]
25
+ r"""An encrypted token that contains information about \"object/userId/userType/userProfileId\". This is used to unsubscribe the user from Article change notifications sent via email, without necessitating that the user be logged into the eGain application."""
26
+
27
+
28
+ class UnsubscribeArticleRequest(BaseModel):
29
+ accept_language: Annotated[
30
+ AcceptLanguage,
31
+ pydantic.Field(alias="Accept-Language"),
32
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
33
+ ]
34
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
35
+
36
+ portal_id: Annotated[
37
+ str,
38
+ pydantic.Field(alias="portalID"),
39
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
40
+ ]
41
+ 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."""
42
+
43
+ article_id: Annotated[
44
+ str,
45
+ pydantic.Field(alias="articleID"),
46
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
47
+ ]
48
+ 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."""
49
+
50
+ unsubscription_token: Annotated[
51
+ Optional[str],
52
+ pydantic.Field(alias="unsubscriptionToken"),
53
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
54
+ ] = None
55
+ r"""An encrypted token that contains information about \"object/userId/userType/userProfileId\". This is used to unsubscribe the user from Article change notifications sent via email, without necessitating that the user be logged into the eGain application."""
@@ -0,0 +1,36 @@
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, QueryParamMetadata
7
+ import io
8
+ import pydantic
9
+ from typing import IO, Union
10
+ from typing_extensions import Annotated, TypedDict
11
+
12
+
13
+ class UploadAttachmentRequestTypedDict(TypedDict):
14
+ accept_language: AcceptLanguage
15
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
16
+ signature: str
17
+ r"""Signature data to upload attachment."""
18
+ request_body: Union[bytes, IO[bytes], io.BufferedReader]
19
+
20
+
21
+ class UploadAttachmentRequest(BaseModel):
22
+ accept_language: Annotated[
23
+ AcceptLanguage,
24
+ pydantic.Field(alias="Accept-Language"),
25
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
26
+ ]
27
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
28
+
29
+ signature: Annotated[
30
+ str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
31
+ ]
32
+ r"""Signature data to upload attachment."""
33
+
34
+ request_body: Annotated[
35
+ Union[bytes, IO[bytes], io.BufferedReader], FieldMetadata(request=True)
36
+ ]
@@ -0,0 +1,44 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .role import Role, RoleTypedDict
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 UserDetailsTypedDict(TypedDict):
12
+ r"""Success"""
13
+
14
+ id: NotRequired[str]
15
+ r"""The numerical ID of the User"""
16
+ roles: NotRequired[List[RoleTypedDict]]
17
+ r"""Roles of the User"""
18
+ first_name: NotRequired[str]
19
+ r"""First Name of the User"""
20
+ last_name: NotRequired[str]
21
+ r"""Last Name of the User"""
22
+ has_email_configured: NotRequired[bool]
23
+ r"""Indicates if user has email"""
24
+
25
+
26
+ class UserDetails(BaseModel):
27
+ r"""Success"""
28
+
29
+ id: Optional[str] = None
30
+ r"""The numerical ID of the User"""
31
+
32
+ roles: Optional[List[Role]] = None
33
+ r"""Roles of the User"""
34
+
35
+ first_name: Annotated[Optional[str], pydantic.Field(alias="firstName")] = None
36
+ r"""First Name of the User"""
37
+
38
+ last_name: Annotated[Optional[str], pydantic.Field(alias="lastName")] = None
39
+ r"""Last Name of the User"""
40
+
41
+ has_email_configured: Annotated[
42
+ Optional[bool], pydantic.Field(alias="hasEmailConfigured")
43
+ ] = None
44
+ r"""Indicates if user has email"""
@@ -0,0 +1,33 @@
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 UserProfileTypedDict(TypedDict):
11
+ id: NotRequired[str]
12
+ r"""The Readable ID of the user profile.<br>
13
+
14
+ """
15
+ name: NotRequired[str]
16
+ r"""Name given to the user profile"""
17
+ is_last_used_in_portal: NotRequired[bool]
18
+ r"""Indicates if the profile was the last one used by the current user in the portal."""
19
+
20
+
21
+ class UserProfile(BaseModel):
22
+ id: Optional[str] = None
23
+ r"""The Readable ID of the user profile.<br>
24
+
25
+ """
26
+
27
+ name: Optional[str] = None
28
+ r"""Name given to the user profile"""
29
+
30
+ is_last_used_in_portal: Annotated[
31
+ Optional[bool], pydantic.Field(alias="isLastUsedInPortal")
32
+ ] = None
33
+ r"""Indicates if the profile was the last one used by the current user in the portal."""
@@ -0,0 +1,21 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .userprofile import UserProfile, UserProfileTypedDict
5
+ from egain_api_python.types import BaseModel
6
+ from typing import List, Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class UserProfilesTypedDict(TypedDict):
11
+ r"""Success"""
12
+
13
+ profile: NotRequired[List[UserProfileTypedDict]]
14
+ r"""User profiles assigend to user."""
15
+
16
+
17
+ class UserProfiles(BaseModel):
18
+ r"""Success"""
19
+
20
+ profile: Optional[List[UserProfile]] = None
21
+ r"""User profiles assigend to user."""
@@ -0,0 +1,33 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .link import Link, LinkTypedDict
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 UserViewTypedDict(TypedDict):
12
+ link: NotRequired[List[LinkTypedDict]]
13
+ r"""The link to the user."""
14
+ first_name: NotRequired[str]
15
+ r"""The first name of the user."""
16
+ last_name: NotRequired[str]
17
+ r"""The last name of the user."""
18
+ id: NotRequired[str]
19
+ r"""The ID of the user."""
20
+
21
+
22
+ class UserView(BaseModel):
23
+ link: Optional[List[Link]] = None
24
+ r"""The link to the user."""
25
+
26
+ first_name: Annotated[Optional[str], pydantic.Field(alias="firstName")] = None
27
+ r"""The first name of the user."""
28
+
29
+ last_name: Annotated[Optional[str], pydantic.Field(alias="lastName")] = None
30
+ r"""The last name of the user."""
31
+
32
+ id: Optional[str] = None
33
+ r"""The ID of the user."""
@@ -0,0 +1,58 @@
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
+ ValidateImportContentType = Literal[
11
+ "AWS S3 bucket",
12
+ "Shared file path",
13
+ ]
14
+ r"""Type of data source"""
15
+
16
+
17
+ class ValidateImportContentCredentialsTypedDict(TypedDict):
18
+ access_key: NotRequired[str]
19
+ secret_key: NotRequired[str]
20
+
21
+
22
+ class ValidateImportContentCredentials(BaseModel):
23
+ access_key: Annotated[Optional[str], pydantic.Field(alias="accessKey")] = None
24
+
25
+ secret_key: Annotated[Optional[str], pydantic.Field(alias="secretKey")] = None
26
+
27
+
28
+ class ValidateImportContentDataSourceTypedDict(TypedDict):
29
+ type: ValidateImportContentType
30
+ r"""Type of data source"""
31
+ path: str
32
+ r"""Path of the data source"""
33
+ region: NotRequired[str]
34
+ r"""Region of the data source"""
35
+ credentials: NotRequired[ValidateImportContentCredentialsTypedDict]
36
+
37
+
38
+ class ValidateImportContentDataSource(BaseModel):
39
+ type: ValidateImportContentType
40
+ r"""Type of data source"""
41
+
42
+ path: str
43
+ r"""Path of the data source"""
44
+
45
+ region: Optional[str] = None
46
+ r"""Region of the data source"""
47
+
48
+ credentials: Optional[ValidateImportContentCredentials] = None
49
+
50
+
51
+ class ValidateImportContentTypedDict(TypedDict):
52
+ data_source: ValidateImportContentDataSourceTypedDict
53
+
54
+
55
+ class ValidateImportContent(BaseModel):
56
+ data_source: Annotated[
57
+ ValidateImportContentDataSource, pydantic.Field(alias="dataSource")
58
+ ]