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,37 @@
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 ModifiedByTypedDict(TypedDict):
11
+ id: NotRequired[str]
12
+ r"""The ID of the user that modified this resource."""
13
+ user_name: NotRequired[str]
14
+ r"""The resource modifier's username."""
15
+ first_name: NotRequired[str]
16
+ r"""The resource modifier's first name."""
17
+ middle_name: NotRequired[str]
18
+ r"""The resource modifier's middle name."""
19
+ last_name: NotRequired[str]
20
+ r"""The resource modifier's last name."""
21
+
22
+
23
+ class ModifiedBy(BaseModel):
24
+ id: Optional[str] = None
25
+ r"""The ID of the user that modified this resource."""
26
+
27
+ user_name: Annotated[Optional[str], pydantic.Field(alias="userName")] = None
28
+ r"""The resource modifier's username."""
29
+
30
+ first_name: Annotated[Optional[str], pydantic.Field(alias="firstName")] = None
31
+ r"""The resource modifier's first name."""
32
+
33
+ middle_name: Annotated[Optional[str], pydantic.Field(alias="middleName")] = None
34
+ r"""The resource modifier's middle name."""
35
+
36
+ last_name: Annotated[Optional[str], pydantic.Field(alias="lastName")] = None
37
+ r"""The resource modifier's last name."""
@@ -0,0 +1,78 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .attachmentforcreatesuggestion import (
5
+ AttachmentForCreateSuggestion,
6
+ AttachmentForCreateSuggestionTypedDict,
7
+ )
8
+ from .customattribute import CustomAttribute, CustomAttributeTypedDict
9
+ from .link import Link, LinkTypedDict
10
+ from egain_api_python.types import BaseModel
11
+ import pydantic
12
+ from typing import List, Optional
13
+ from typing_extensions import Annotated, NotRequired, TypedDict
14
+
15
+
16
+ class ModifySuggestionAttachmentsTypedDict(TypedDict):
17
+ r"""Details of Attachments for the Suggestion."""
18
+
19
+ attachment: NotRequired[List[AttachmentForCreateSuggestionTypedDict]]
20
+ r"""The list of Attachments.<br><br>Required if <code>content</code> and <code>Attachments.unlink</code> are both _not_ provided."""
21
+ unlink: NotRequired[List[LinkTypedDict]]
22
+ r"""If provided with references to Attachments, <code>unlink</code> removes the Attachment from the Suggestion.<br><br>If the Attachment has no associated objects, it will be deleted.<br><br>Required if <code>content</code> and <code>Attachments.Attachment</code> are both _not_ provided."""
23
+
24
+
25
+ class ModifySuggestionAttachments(BaseModel):
26
+ r"""Details of Attachments for the Suggestion."""
27
+
28
+ attachment: Optional[List[AttachmentForCreateSuggestion]] = None
29
+ r"""The list of Attachments.<br><br>Required if <code>content</code> and <code>Attachments.unlink</code> are both _not_ provided."""
30
+
31
+ unlink: Optional[List[Link]] = None
32
+ r"""If provided with references to Attachments, <code>unlink</code> removes the Attachment from the Suggestion.<br><br>If the Attachment has no associated objects, it will be deleted.<br><br>Required if <code>content</code> and <code>Attachments.Attachment</code> are both _not_ provided."""
33
+
34
+
35
+ class ModifySuggestionTypedDict(TypedDict):
36
+ r"""This schema contains information about modifying a Suggestion."""
37
+
38
+ id: str
39
+ r"""The ID of the Suggestion. A Suggestion ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
40
+ modified_date: str
41
+ r"""The date on which the Suggestion was last modified."""
42
+ name: NotRequired[str]
43
+ r"""The name of the Suggestion."""
44
+ description: NotRequired[str]
45
+ r"""The description of the Suggestion."""
46
+ content: NotRequired[str]
47
+ r"""The content of the Suggestion."""
48
+ attachments: NotRequired[ModifySuggestionAttachmentsTypedDict]
49
+ r"""Details of Attachments for the Suggestion."""
50
+ custom_attributes: NotRequired[List[CustomAttributeTypedDict]]
51
+ r"""Custom Attributes of the Suggestion."""
52
+
53
+
54
+ class ModifySuggestion(BaseModel):
55
+ r"""This schema contains information about modifying a Suggestion."""
56
+
57
+ id: str
58
+ r"""The ID of the Suggestion. A Suggestion ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
59
+
60
+ modified_date: Annotated[str, pydantic.Field(alias="modifiedDate")]
61
+ r"""The date on which the Suggestion was last modified."""
62
+
63
+ name: Optional[str] = None
64
+ r"""The name of the Suggestion."""
65
+
66
+ description: Optional[str] = None
67
+ r"""The description of the Suggestion."""
68
+
69
+ content: Optional[str] = None
70
+ r"""The content of the Suggestion."""
71
+
72
+ attachments: Optional[ModifySuggestionAttachments] = None
73
+ r"""Details of Attachments for the Suggestion."""
74
+
75
+ custom_attributes: Annotated[
76
+ Optional[List[CustomAttribute]], pydantic.Field(alias="customAttributes")
77
+ ] = None
78
+ r"""Custom Attributes of the Suggestion."""
@@ -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 .modifysuggestion import ModifySuggestion, ModifySuggestionTypedDict
6
+ from egain_api_python.types import BaseModel
7
+ from egain_api_python.utils import (
8
+ FieldMetadata,
9
+ HeaderMetadata,
10
+ PathParamMetadata,
11
+ RequestMetadata,
12
+ )
13
+ import pydantic
14
+ from typing import Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ class ModifySuggestionsRequestTypedDict(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
+ modify_suggestion: NotRequired[ModifySuggestionTypedDict]
24
+
25
+
26
+ class ModifySuggestionsRequest(BaseModel):
27
+ accept_language: Annotated[
28
+ AcceptLanguage,
29
+ pydantic.Field(alias="Accept-Language"),
30
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
31
+ ]
32
+ r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
33
+
34
+ portal_id: Annotated[
35
+ str,
36
+ pydantic.Field(alias="portalID"),
37
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
38
+ ]
39
+ 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."""
40
+
41
+ modify_suggestion: Annotated[
42
+ Optional[ModifySuggestion],
43
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
44
+ ] = None
@@ -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
+ OptionalArticleAttributes = Literal[
8
+ "articleMacro",
9
+ "availabilityDate",
10
+ "averageRating",
11
+ "contentText",
12
+ "orderNumber",
13
+ "suggestionType",
14
+ "timesRated",
15
+ "availableEditions",
16
+ "articleTypeAttributes",
17
+ "milestone",
18
+ "all",
19
+ ]
20
+ r"""The fields of the article to be returned."""
@@ -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
+ Order = Literal[
8
+ "asc",
9
+ "desc",
10
+ ]
@@ -0,0 +1,37 @@
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 OwnedByTypedDict(TypedDict):
11
+ id: NotRequired[str]
12
+ r"""The ID of the user that owns this resource."""
13
+ user_name: NotRequired[str]
14
+ r"""The resource owner's username."""
15
+ first_name: NotRequired[str]
16
+ r"""The resource owner's first name."""
17
+ middle_name: NotRequired[str]
18
+ r"""The resource owner's middle name."""
19
+ last_name: NotRequired[str]
20
+ r"""The resource owner's last name."""
21
+
22
+
23
+ class OwnedBy(BaseModel):
24
+ id: Optional[str] = None
25
+ r"""The ID of the user that owns this resource."""
26
+
27
+ user_name: Annotated[Optional[str], pydantic.Field(alias="userName")] = None
28
+ r"""The resource owner's username."""
29
+
30
+ first_name: Annotated[Optional[str], pydantic.Field(alias="firstName")] = None
31
+ r"""The resource owner's first name."""
32
+
33
+ middle_name: Annotated[Optional[str], pydantic.Field(alias="middleName")] = None
34
+ r"""The resource owner's middle name."""
35
+
36
+ last_name: Annotated[Optional[str], pydantic.Field(alias="lastName")] = None
37
+ r"""The resource owner's last name."""
@@ -0,0 +1,32 @@
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 List, Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class PaginationInfoTypedDict(TypedDict):
11
+ count: int
12
+ r"""The total number of pages."""
13
+ pagenum: int
14
+ r"""The page number requested. Page numbers start from 1."""
15
+ pagesize: int
16
+ r"""The number of objects requested per page. The maximum number of objects per page is 75."""
17
+ link: NotRequired[List[LinkTypedDict]]
18
+ r"""Can include the *prev* and *next* link."""
19
+
20
+
21
+ class PaginationInfo(BaseModel):
22
+ count: int
23
+ r"""The total number of pages."""
24
+
25
+ pagenum: int
26
+ r"""The page number requested. Page numbers start from 1."""
27
+
28
+ pagesize: int
29
+ r"""The number of objects requested per page. The maximum number of objects per page is 75."""
30
+
31
+ link: Optional[List[Link]] = None
32
+ r"""Can include the *prev* and *next* link."""
@@ -0,0 +1,46 @@
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, PathParamMetadata
6
+ from typing_extensions import Annotated, TypedDict
7
+
8
+
9
+ PATCH_IMPORT_CONTENT_VALIDATION_OP_SERVERS = [
10
+ # Production Server
11
+ "https://${API_DOMAIN}/knowledge/contentmgr/v4",
12
+ ]
13
+
14
+
15
+ class PatchImportContentValidationRequestTypedDict(TypedDict):
16
+ job_id: str
17
+ r"""**Job ID Parameter**
18
+
19
+ The unique identifier for the import or validation job. This ID was returned when the job was created via the Import or Validate API.
20
+
21
+ **Format:** UUID v4 (e.g., 7A84B875-6F75-4C7B-B137-0632B62DB0BD)
22
+
23
+ **Example Usage:**
24
+ ```bash
25
+ GET /import/content/7A84B875-6F75-4C7B-B137-0632B62DB0BD/status
26
+ ```
27
+
28
+ """
29
+
30
+
31
+ class PatchImportContentValidationRequest(BaseModel):
32
+ job_id: Annotated[
33
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
34
+ ]
35
+ r"""**Job ID Parameter**
36
+
37
+ The unique identifier for the import or validation job. This ID was returned when the job was created via the Import or Validate API.
38
+
39
+ **Format:** UUID v4 (e.g., 7A84B875-6F75-4C7B-B137-0632B62DB0BD)
40
+
41
+ **Example Usage:**
42
+ ```bash
43
+ GET /import/content/7A84B875-6F75-4C7B-B137-0632B62DB0BD/status
44
+ ```
45
+
46
+ """
@@ -0,0 +1,67 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .publishview import PublishView, PublishViewTypedDict
5
+ from .tagcategory import TagCategory, TagCategoryTypedDict
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 PersonalizationAccessTagsTypedDict(TypedDict):
13
+ tag_category: NotRequired[List[TagCategoryTypedDict]]
14
+ r"""An array of tag categories. Note that the total number of tag categories cannot exceed 20."""
15
+
16
+
17
+ class PersonalizationAccessTags(BaseModel):
18
+ tag_category: Annotated[
19
+ Optional[List[TagCategory]], pydantic.Field(alias="tagCategory")
20
+ ] = None
21
+ r"""An array of tag categories. Note that the total number of tag categories cannot exceed 20."""
22
+
23
+
24
+ class FiltersTypedDict(TypedDict):
25
+ tag_category: NotRequired[List[TagCategoryTypedDict]]
26
+ r"""An array of tag categories. Note that the total number of tag categories cannot exceed 20."""
27
+
28
+
29
+ class Filters(BaseModel):
30
+ tag_category: Annotated[
31
+ Optional[List[TagCategory]], pydantic.Field(alias="tagCategory")
32
+ ] = None
33
+ r"""An array of tag categories. Note that the total number of tag categories cannot exceed 20."""
34
+
35
+
36
+ class PublishViewsTypedDict(TypedDict):
37
+ publish_view: NotRequired[List[PublishViewTypedDict]]
38
+ r"""Publish views allow authors to tailor the contents of an article to different audiences by controlling visibility of certain article content using tags.<br><br>The total number of publish views is limited to 20."""
39
+
40
+
41
+ class PublishViews(BaseModel):
42
+ publish_view: Annotated[
43
+ Optional[List[PublishView]], pydantic.Field(alias="publishView")
44
+ ] = None
45
+ r"""Publish views allow authors to tailor the contents of an article to different audiences by controlling visibility of certain article content using tags.<br><br>The total number of publish views is limited to 20."""
46
+
47
+
48
+ class PersonalizationTypedDict(TypedDict):
49
+ r"""Personalization allows the filtering of search results and controls the access to articles and article editions."""
50
+
51
+ access_tags: NotRequired[PersonalizationAccessTagsTypedDict]
52
+ filters: NotRequired[FiltersTypedDict]
53
+ publish_views: NotRequired[PublishViewsTypedDict]
54
+
55
+
56
+ class Personalization(BaseModel):
57
+ r"""Personalization allows the filtering of search results and controls the access to articles and article editions."""
58
+
59
+ access_tags: Annotated[
60
+ Optional[PersonalizationAccessTags], pydantic.Field(alias="accessTags")
61
+ ] = None
62
+
63
+ filters: Optional[Filters] = None
64
+
65
+ publish_views: Annotated[
66
+ Optional[PublishViews], pydantic.Field(alias="publishViews")
67
+ ] = None
@@ -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
+ import pydantic
6
+ from typing import Optional
7
+ from typing_extensions import Annotated, NotRequired, TypedDict
8
+
9
+
10
+ class PhoneTypedDict(TypedDict):
11
+ r"""Phone"""
12
+
13
+ phone_no: NotRequired[str]
14
+ r"""Phone number of customer"""
15
+
16
+
17
+ class Phone(BaseModel):
18
+ r"""Phone"""
19
+
20
+ phone_no: Annotated[Optional[str], pydantic.Field(alias="phoneNo")] = None
21
+ r"""Phone number of customer"""
@@ -0,0 +1,102 @@
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 .kblanguages import KbLanguages, KbLanguagesTypedDict
6
+ from .link import Link, LinkTypedDict
7
+ from .modifiedby import ModifiedBy, ModifiedByTypedDict
8
+ from .portalsettings import PortalSettings, PortalSettingsTypedDict
9
+ from egain_api_python.types import BaseModel
10
+ import pydantic
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class PortalTypedDict(TypedDict):
16
+ id: str
17
+ r"""The alphanumeric ID of the portal.<br><br>A topic ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
18
+ name: str
19
+ r"""The name of the portal."""
20
+ department_id: NotRequired[str]
21
+ r"""The ID of the department."""
22
+ description: NotRequired[str]
23
+ r"""The description of the portal."""
24
+ default_content_language_id: NotRequired[str]
25
+ r"""The default ID of the language for the portal content."""
26
+ default_content_language_code: NotRequired[str]
27
+ r"""The IETF code of the default language for the portal content."""
28
+ created_by: NotRequired[CreatedByTypedDict]
29
+ created_date: NotRequired[str]
30
+ r"""The date that the portal was created."""
31
+ modified_by: NotRequired[ModifiedByTypedDict]
32
+ modified_date: NotRequired[str]
33
+ r"""The date on which the portal was last modified."""
34
+ is_structured_authoring_enabled: NotRequired[bool]
35
+ r"""Indicates if Structured Authoring is enabled for the portal."""
36
+ enable_draft_search_in_portal: NotRequired[bool]
37
+ r"""Indicates if Enable Portal Search for Draft and Staging Articles is enabled for the portal."""
38
+ portal_settings: NotRequired[PortalSettingsTypedDict]
39
+ r"""The settings for this portal."""
40
+ kb_languages: NotRequired[KbLanguagesTypedDict]
41
+ r"""KB languages"""
42
+ link: NotRequired[LinkTypedDict]
43
+ r"""Defines the relationship between this resource and another object."""
44
+
45
+
46
+ class Portal(BaseModel):
47
+ id: str
48
+ r"""The alphanumeric ID of the portal.<br><br>A topic ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
49
+
50
+ name: str
51
+ r"""The name of the portal."""
52
+
53
+ department_id: Annotated[Optional[str], pydantic.Field(alias="departmentId")] = None
54
+ r"""The ID of the department."""
55
+
56
+ description: Optional[str] = None
57
+ r"""The description of the portal."""
58
+
59
+ default_content_language_id: Annotated[
60
+ Optional[str], pydantic.Field(alias="defaultContentLanguageId")
61
+ ] = None
62
+ r"""The default ID of the language for the portal content."""
63
+
64
+ default_content_language_code: Annotated[
65
+ Optional[str], pydantic.Field(alias="defaultContentLanguageCode")
66
+ ] = None
67
+ r"""The IETF code of the default language for the portal content."""
68
+
69
+ created_by: Annotated[Optional[CreatedBy], pydantic.Field(alias="createdBy")] = None
70
+
71
+ created_date: Annotated[Optional[str], pydantic.Field(alias="createdDate")] = None
72
+ r"""The date that the portal was created."""
73
+
74
+ modified_by: Annotated[Optional[ModifiedBy], pydantic.Field(alias="modifiedBy")] = (
75
+ None
76
+ )
77
+
78
+ modified_date: Annotated[Optional[str], pydantic.Field(alias="modifiedDate")] = None
79
+ r"""The date on which the portal was last modified."""
80
+
81
+ is_structured_authoring_enabled: Annotated[
82
+ Optional[bool], pydantic.Field(alias="isStructuredAuthoringEnabled")
83
+ ] = None
84
+ r"""Indicates if Structured Authoring is enabled for the portal."""
85
+
86
+ enable_draft_search_in_portal: Annotated[
87
+ Optional[bool], pydantic.Field(alias="enableDraftSearchInPortal")
88
+ ] = None
89
+ r"""Indicates if Enable Portal Search for Draft and Staging Articles is enabled for the portal."""
90
+
91
+ portal_settings: Annotated[
92
+ Optional[PortalSettings], pydantic.Field(alias="portalSettings")
93
+ ] = None
94
+ r"""The settings for this portal."""
95
+
96
+ kb_languages: Annotated[
97
+ Optional[KbLanguages], pydantic.Field(alias="kbLanguages")
98
+ ] = None
99
+ r"""KB languages"""
100
+
101
+ link: Optional[Link] = None
102
+ r"""Defines the relationship between this resource and another object."""
@@ -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 .portal import Portal, PortalTypedDict
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 PortalResultTypedDict(TypedDict):
13
+ r"""Success"""
14
+
15
+ portal: NotRequired[List[PortalTypedDict]]
16
+ r"""portals"""
17
+ pagination_info: NotRequired[PaginationInfoTypedDict]
18
+
19
+
20
+ class PortalResult(BaseModel):
21
+ r"""Success"""
22
+
23
+ portal: Optional[List[Portal]] = None
24
+ r"""portals"""
25
+
26
+ pagination_info: Annotated[
27
+ Optional[PaginationInfo], pydantic.Field(alias="paginationInfo")
28
+ ] = None