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,227 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .articleattachment import ArticleAttachment, ArticleAttachmentTypedDict
5
+ from .articletype import ArticleType, ArticleTypeTypedDict
6
+ from .createdby import CreatedBy, CreatedByTypedDict
7
+ from .customattribute import CustomAttribute, CustomAttributeTypedDict
8
+ from .edition import Edition, EditionTypedDict
9
+ from .languagecode import LanguageCode
10
+ from .link import Link, LinkTypedDict
11
+ from .modifiedby import ModifiedBy, ModifiedByTypedDict
12
+ from .ownedby import OwnedBy, OwnedByTypedDict
13
+ from .personalization import Personalization, PersonalizationTypedDict
14
+ from .relatedquestions import RelatedQuestions, RelatedQuestionsTypedDict
15
+ from .structuredauthoringfields import (
16
+ StructuredAuthoringFields,
17
+ StructuredAuthoringFieldsTypedDict,
18
+ )
19
+ from .workflow import Workflow, WorkflowTypedDict
20
+ from egain_api_python.types import BaseModel
21
+ import pydantic
22
+ from typing import List, Optional
23
+ from typing_extensions import Annotated, NotRequired, TypedDict
24
+
25
+
26
+ class ArticleWithEditionsTypedDict(TypedDict):
27
+ r"""Success"""
28
+
29
+ id: str
30
+ r"""The ID of the Article.<br>An Article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
31
+ created_by: CreatedByTypedDict
32
+ name: str
33
+ r"""The name of the Article."""
34
+ additional_info: NotRequired[str]
35
+ r"""Additional information about the Article. Max 1 KB."""
36
+ article_macro: NotRequired[str]
37
+ r"""The name of the macro associated with this Article."""
38
+ article_type: NotRequired[ArticleTypeTypedDict]
39
+ r"""The type of the Article and its attributes."""
40
+ article_keywords: NotRequired[str]
41
+ r"""A comma-separated list of keywords associated with this Article. 1 KB max size limit."""
42
+ article_summary: NotRequired[str]
43
+ r"""A brief summary of the Article, provided as metadata. 1 KB max size limit."""
44
+ attachments: NotRequired[List[ArticleAttachmentTypedDict]]
45
+ r"""The attachments of the Article.
46
+
47
+ """
48
+ availability_date: NotRequired[str]
49
+ r"""The date on which the Article version is available."""
50
+ available_editions: NotRequired[List[EditionTypedDict]]
51
+ r"""The editions of this Article that are available to the user."""
52
+ average_rating: NotRequired[float]
53
+ r"""The average rating of the Article."""
54
+ content: NotRequired[str]
55
+ r"""The Article content. The maximum allowed Article content size is 5 MB."""
56
+ content_text: NotRequired[str]
57
+ r"""The plaintext version of the Article content, which does not have the HTML tags and rich formatting present in *content*. The maximum allowed Article content size is 5 MB."""
58
+ modified_by: NotRequired[ModifiedByTypedDict]
59
+ owned_by: NotRequired[OwnedByTypedDict]
60
+ created_date: NotRequired[str]
61
+ custom_attributes: NotRequired[List[CustomAttributeTypedDict]]
62
+ r"""A list of custom attributes."""
63
+ department_id: NotRequired[str]
64
+ r"""ID of the Article's department."""
65
+ description: NotRequired[str]
66
+ r"""A description of the Article. The maximum allowed Article description size is 1 KB."""
67
+ expiration_date: NotRequired[str]
68
+ r"""Date of Article expiration if Article expires otherwise empty."""
69
+ image_url: NotRequired[str]
70
+ r"""The URL of an image to be associated with the Article."""
71
+ include_in_gen_ai: NotRequired[bool]
72
+ r"""Indicates whether the Article is included for Generative AI."""
73
+ is_subscribed: NotRequired[bool]
74
+ r"""Indicates whether the Article is subscribed for notifications."""
75
+ modified_date: NotRequired[str]
76
+ r"""The date on which the Article was last modified."""
77
+ language_code: NotRequired[LanguageCode]
78
+ r"""Language code of the resource's language."""
79
+ link: NotRequired[LinkTypedDict]
80
+ r"""Defines the relationship between this resource and another object."""
81
+ structured_authoring_fields: NotRequired[StructuredAuthoringFieldsTypedDict]
82
+ article_state: NotRequired[str]
83
+ r"""The Article's state."""
84
+ times_rated: NotRequired[int]
85
+ r"""The number of times that this Article has been rated."""
86
+ related_questions: NotRequired[RelatedQuestionsTypedDict]
87
+ r"""Related questions for the article."""
88
+ version_id: NotRequired[str]
89
+ r"""The ID of this version of the Article."""
90
+ workflow: NotRequired[WorkflowTypedDict]
91
+ r"""The Article's workflow."""
92
+ personalization: NotRequired[PersonalizationTypedDict]
93
+ r"""Personalization allows the filtering of search results and controls the access to articles and article editions."""
94
+
95
+
96
+ class ArticleWithEditions(BaseModel):
97
+ r"""Success"""
98
+
99
+ id: str
100
+ r"""The ID of the Article.<br>An Article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
101
+
102
+ created_by: Annotated[CreatedBy, pydantic.Field(alias="createdBy")]
103
+
104
+ name: str
105
+ r"""The name of the Article."""
106
+
107
+ additional_info: Annotated[
108
+ Optional[str], pydantic.Field(alias="additionalInfo")
109
+ ] = None
110
+ r"""Additional information about the Article. Max 1 KB."""
111
+
112
+ article_macro: Annotated[Optional[str], pydantic.Field(alias="articleMacro")] = None
113
+ r"""The name of the macro associated with this Article."""
114
+
115
+ article_type: Annotated[
116
+ Optional[ArticleType], pydantic.Field(alias="articleType")
117
+ ] = None
118
+ r"""The type of the Article and its attributes."""
119
+
120
+ article_keywords: Annotated[
121
+ Optional[str], pydantic.Field(alias="articleKeywords")
122
+ ] = None
123
+ r"""A comma-separated list of keywords associated with this Article. 1 KB max size limit."""
124
+
125
+ article_summary: Annotated[
126
+ Optional[str], pydantic.Field(alias="articleSummary")
127
+ ] = None
128
+ r"""A brief summary of the Article, provided as metadata. 1 KB max size limit."""
129
+
130
+ attachments: Optional[List[ArticleAttachment]] = None
131
+ r"""The attachments of the Article.
132
+
133
+ """
134
+
135
+ availability_date: Annotated[
136
+ Optional[str], pydantic.Field(alias="availabilityDate")
137
+ ] = None
138
+ r"""The date on which the Article version is available."""
139
+
140
+ available_editions: Annotated[
141
+ Optional[List[Edition]], pydantic.Field(alias="availableEditions")
142
+ ] = None
143
+ r"""The editions of this Article that are available to the user."""
144
+
145
+ average_rating: Annotated[
146
+ Optional[float], pydantic.Field(alias="averageRating")
147
+ ] = None
148
+ r"""The average rating of the Article."""
149
+
150
+ content: Optional[str] = None
151
+ r"""The Article content. The maximum allowed Article content size is 5 MB."""
152
+
153
+ content_text: Annotated[Optional[str], pydantic.Field(alias="contentText")] = None
154
+ r"""The plaintext version of the Article content, which does not have the HTML tags and rich formatting present in *content*. The maximum allowed Article content size is 5 MB."""
155
+
156
+ modified_by: Annotated[Optional[ModifiedBy], pydantic.Field(alias="modifiedBy")] = (
157
+ None
158
+ )
159
+
160
+ owned_by: Annotated[Optional[OwnedBy], pydantic.Field(alias="ownedBy")] = None
161
+
162
+ created_date: Annotated[Optional[str], pydantic.Field(alias="createdDate")] = None
163
+
164
+ custom_attributes: Annotated[
165
+ Optional[List[CustomAttribute]], pydantic.Field(alias="customAttributes")
166
+ ] = None
167
+ r"""A list of custom attributes."""
168
+
169
+ department_id: Annotated[Optional[str], pydantic.Field(alias="departmentID")] = None
170
+ r"""ID of the Article's department."""
171
+
172
+ description: Optional[str] = None
173
+ r"""A description of the Article. The maximum allowed Article description size is 1 KB."""
174
+
175
+ expiration_date: Annotated[
176
+ Optional[str], pydantic.Field(alias="expirationDate")
177
+ ] = None
178
+ r"""Date of Article expiration if Article expires otherwise empty."""
179
+
180
+ image_url: Annotated[Optional[str], pydantic.Field(alias="imageURL")] = None
181
+ r"""The URL of an image to be associated with the Article."""
182
+
183
+ include_in_gen_ai: Annotated[
184
+ Optional[bool], pydantic.Field(alias="includeInGenAI")
185
+ ] = None
186
+ r"""Indicates whether the Article is included for Generative AI."""
187
+
188
+ is_subscribed: Annotated[Optional[bool], pydantic.Field(alias="isSubscribed")] = (
189
+ None
190
+ )
191
+ r"""Indicates whether the Article is subscribed for notifications."""
192
+
193
+ modified_date: Annotated[Optional[str], pydantic.Field(alias="modifiedDate")] = None
194
+ r"""The date on which the Article was last modified."""
195
+
196
+ language_code: Annotated[
197
+ Optional[LanguageCode], pydantic.Field(alias="languageCode")
198
+ ] = None
199
+ r"""Language code of the resource's language."""
200
+
201
+ link: Optional[Link] = None
202
+ r"""Defines the relationship between this resource and another object."""
203
+
204
+ structured_authoring_fields: Annotated[
205
+ Optional[StructuredAuthoringFields],
206
+ pydantic.Field(alias="structuredAuthoringFields"),
207
+ ] = None
208
+
209
+ article_state: Annotated[Optional[str], pydantic.Field(alias="articleState")] = None
210
+ r"""The Article's state."""
211
+
212
+ times_rated: Annotated[Optional[int], pydantic.Field(alias="timesRated")] = None
213
+ r"""The number of times that this Article has been rated."""
214
+
215
+ related_questions: Annotated[
216
+ Optional[RelatedQuestions], pydantic.Field(alias="relatedQuestions")
217
+ ] = None
218
+ r"""Related questions for the article."""
219
+
220
+ version_id: Annotated[Optional[str], pydantic.Field(alias="versionId")] = None
221
+ r"""The ID of this version of the Article."""
222
+
223
+ workflow: Optional[Workflow] = None
224
+ r"""The Article's workflow."""
225
+
226
+ personalization: Optional[Personalization] = None
227
+ r"""Personalization allows the filtering of search results and controls the access to articles and article editions."""
@@ -0,0 +1,31 @@
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 AttachmentTypedDict(TypedDict):
11
+ r"""Success"""
12
+
13
+ alt_id: NotRequired[str]
14
+ r"""The ID of the attachment."""
15
+ name: NotRequired[str]
16
+ r"""The name of the attachment."""
17
+ content_url: NotRequired[str]
18
+ r"""The content URL to upload an attachment."""
19
+
20
+
21
+ class Attachment(BaseModel):
22
+ r"""Success"""
23
+
24
+ alt_id: Annotated[Optional[str], pydantic.Field(alias="altId")] = None
25
+ r"""The ID of the attachment."""
26
+
27
+ name: Optional[str] = None
28
+ r"""The name of the attachment."""
29
+
30
+ content_url: Annotated[Optional[str], pydantic.Field(alias="contentUrl")] = None
31
+ r"""The content URL to upload an attachment."""
@@ -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
+ AttachmentAdditionalAttributes = Literal[
8
+ "contentUrl",
9
+ "all",
10
+ ]
@@ -0,0 +1,57 @@
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 Literal, Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ AttachmentContentType = Literal[
12
+ "INTERNAL",
13
+ "EXTERNAL",
14
+ ]
15
+ r"""The type of attachment."""
16
+
17
+
18
+ class AttachmentContentTypedDict(TypedDict):
19
+ attachment_id: NotRequired[str]
20
+ r"""The ID of the attachment."""
21
+ name: NotRequired[str]
22
+ r"""The name of the attachment."""
23
+ size: NotRequired[int]
24
+ r"""The size of the attachment in bytes. The maximum size is limited to 25MB."""
25
+ type: NotRequired[AttachmentContentType]
26
+ r"""The type of attachment."""
27
+ attachment_content_type: NotRequired[str]
28
+ r"""The type of the content."""
29
+ streaming_url: NotRequired[str]
30
+ r"""The streaming URL of the attachment."""
31
+ link: NotRequired[LinkTypedDict]
32
+ r"""Defines the relationship between this resource and another object."""
33
+
34
+
35
+ class AttachmentContent(BaseModel):
36
+ attachment_id: Annotated[Optional[str], pydantic.Field(alias="attachmentId")] = None
37
+ r"""The ID of the attachment."""
38
+
39
+ name: Optional[str] = None
40
+ r"""The name of the attachment."""
41
+
42
+ size: Optional[int] = None
43
+ r"""The size of the attachment in bytes. The maximum size is limited to 25MB."""
44
+
45
+ type: Optional[AttachmentContentType] = None
46
+ r"""The type of attachment."""
47
+
48
+ attachment_content_type: Annotated[
49
+ Optional[str], pydantic.Field(alias="attachmentContentType")
50
+ ] = None
51
+ r"""The type of the content."""
52
+
53
+ streaming_url: Annotated[Optional[str], pydantic.Field(alias="streamingUrl")] = None
54
+ r"""The streaming URL of the attachment."""
55
+
56
+ link: Optional[Link] = None
57
+ r"""Defines the relationship between this resource and another object."""
@@ -0,0 +1,22 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .attachmentcontent import AttachmentContent, AttachmentContentTypedDict
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 AttachmentContentResultTypedDict(TypedDict):
12
+ r"""The returned attachment content."""
13
+
14
+ attachment_content: NotRequired[List[AttachmentContentTypedDict]]
15
+
16
+
17
+ class AttachmentContentResult(BaseModel):
18
+ r"""The returned attachment content."""
19
+
20
+ attachment_content: Annotated[
21
+ Optional[List[AttachmentContent]], pydantic.Field(alias="attachmentContent")
22
+ ] = None
@@ -0,0 +1,25 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from egain_api_python.types import BaseModel
5
+ import pydantic
6
+ from typing import Optional
7
+ from typing_extensions import Annotated, NotRequired, TypedDict
8
+
9
+
10
+ class AttachmentForCreateSuggestionTypedDict(TypedDict):
11
+ r"""This schema contains the definition of an Attachment."""
12
+
13
+ alt_id: NotRequired[str]
14
+ r"""The alternate Id of the Attachment that was obtained after calling **[Generate signed URL to upload an attachment](https://apidev.egain.com/api-catalog/core-filemgr/api-bundled/operation/generatePreUploadURL/)**.
15
+
16
+ """
17
+
18
+
19
+ class AttachmentForCreateSuggestion(BaseModel):
20
+ r"""This schema contains the definition of an Attachment."""
21
+
22
+ alt_id: Annotated[Optional[str], pydantic.Field(alias="altId")] = None
23
+ r"""The alternate Id of the Attachment that was obtained after calling **[Generate signed URL to upload an attachment](https://apidev.egain.com/api-catalog/core-filemgr/api-bundled/operation/generatePreUploadURL/)**.
24
+
25
+ """
@@ -0,0 +1,35 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .attachmentsummary import AttachmentSummary, AttachmentSummaryTypedDict
5
+ from .link import Link, LinkTypedDict
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 AttachmentsTypedDict(TypedDict):
13
+ r"""This schema contains the definition of Attachments."""
14
+
15
+ count: NotRequired[int]
16
+ r"""The number of Attachments in the list."""
17
+ link: NotRequired[LinkTypedDict]
18
+ r"""Defines the relationship between this resource and another object."""
19
+ attachments: NotRequired[List[AttachmentSummaryTypedDict]]
20
+ r"""The list of Attachments."""
21
+
22
+
23
+ class Attachments(BaseModel):
24
+ r"""This schema contains the definition of Attachments."""
25
+
26
+ count: Optional[int] = None
27
+ r"""The number of Attachments in the list."""
28
+
29
+ link: Optional[Link] = None
30
+ r"""Defines the relationship between this resource and another object."""
31
+
32
+ attachments: Annotated[
33
+ Optional[List[AttachmentSummary]], pydantic.Field(alias="Attachments")
34
+ ] = None
35
+ r"""The list of Attachments."""
@@ -0,0 +1,37 @@
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 Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class AttachmentSummaryTypedDict(TypedDict):
12
+ r"""Summary attributes for an Attachment."""
13
+
14
+ id: NotRequired[str]
15
+ r"""The ID of the Attachment."""
16
+ link: NotRequired[LinkTypedDict]
17
+ r"""Defines the relationship between this resource and another object."""
18
+ file_name: NotRequired[str]
19
+ r"""The name of the Attachment file.<li>This must not exceed 255 characters.</li>"""
20
+ size: NotRequired[int]
21
+ r"""The size of the Attachment.<li>Limited to 25MB.</li>"""
22
+
23
+
24
+ class AttachmentSummary(BaseModel):
25
+ r"""Summary attributes for an Attachment."""
26
+
27
+ id: Optional[str] = None
28
+ r"""The ID of the Attachment."""
29
+
30
+ link: Optional[Link] = None
31
+ r"""Defines the relationship between this resource and another object."""
32
+
33
+ file_name: Annotated[Optional[str], pydantic.Field(alias="fileName")] = None
34
+ r"""The name of the Attachment file.<li>This must not exceed 255 characters.</li>"""
35
+
36
+ size: Optional[int] = None
37
+ r"""The size of the Attachment.<li>Limited to 25MB.</li>"""
@@ -0,0 +1,20 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from egain_api_python.types import BaseModel
5
+ from typing_extensions import TypedDict
6
+
7
+
8
+ class AttachmentUploadTypedDict(TypedDict):
9
+ name: str
10
+ r"""The name of the attachment."""
11
+ size: int
12
+ r"""The size of the attachment in bytes. The maximum size is limited to 25MB."""
13
+
14
+
15
+ class AttachmentUpload(BaseModel):
16
+ name: str
17
+ r"""The name of the attachment."""
18
+
19
+ size: int
20
+ r"""The size of the attachment in bytes. The maximum size is limited to 25MB."""
@@ -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 AvertCustomerEscalationRequestTypedDict(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
+ escalation_id: str
17
+ r"""The ID (uuid) of the customer escalation.
18
+
19
+ """
20
+
21
+
22
+ class AvertCustomerEscalationRequest(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
+ escalation_id: Annotated[
38
+ str,
39
+ pydantic.Field(alias="escalationId"),
40
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
41
+ ]
42
+ r"""The ID (uuid) of the customer escalation.
43
+
44
+ """
@@ -0,0 +1,57 @@
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 BookmarkTypedDict(TypedDict):
11
+ resource_id: str
12
+ r"""The ID of the article or topic associated with this bookmark. A case ID or an article ID is composed of a 2-4 letter prefix, followed by a dash and 15 digits."""
13
+ portal_id: NotRequired[str]
14
+ r"""The ID of the portal associated with the bookmark.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 2-4 15 digits."""
15
+ id: NotRequired[str]
16
+ r"""The ID of the bookmark."""
17
+ bookmark_name: NotRequired[str]
18
+ r"""The name of the bookmark."""
19
+ resource_type: NotRequired[int]
20
+ r"""Determines the type of resource:
21
+ <li>1 - Article</li>
22
+ <li>2 - Topic</li>
23
+ <li>3 - External Content</li>
24
+ """
25
+ resource_name: NotRequired[str]
26
+ r"""The name of the resource associated with the bookmark.<br><br>This attribute is only available for article and topic bookmarks."""
27
+ external_content_id: NotRequired[str]
28
+ r"""The ID of the external content.<br><br>This attribute must be provided if <code>resourceType</code> is set to \"3 - External Content\"."""
29
+
30
+
31
+ class Bookmark(BaseModel):
32
+ resource_id: Annotated[str, pydantic.Field(alias="resourceId")]
33
+ r"""The ID of the article or topic associated with this bookmark. A case ID or an article ID is composed of a 2-4 letter prefix, followed by a dash and 15 digits."""
34
+
35
+ portal_id: Annotated[Optional[str], pydantic.Field(alias="portalId")] = None
36
+ r"""The ID of the portal associated with the bookmark.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 2-4 15 digits."""
37
+
38
+ id: Optional[str] = None
39
+ r"""The ID of the bookmark."""
40
+
41
+ bookmark_name: Annotated[Optional[str], pydantic.Field(alias="bookmarkName")] = None
42
+ r"""The name of the bookmark."""
43
+
44
+ resource_type: Annotated[Optional[int], pydantic.Field(alias="resourceType")] = None
45
+ r"""Determines the type of resource:
46
+ <li>1 - Article</li>
47
+ <li>2 - Topic</li>
48
+ <li>3 - External Content</li>
49
+ """
50
+
51
+ resource_name: Annotated[Optional[str], pydantic.Field(alias="resourceName")] = None
52
+ r"""The name of the resource associated with the bookmark.<br><br>This attribute is only available for article and topic bookmarks."""
53
+
54
+ external_content_id: Annotated[
55
+ Optional[str], pydantic.Field(alias="externalContentId")
56
+ ] = None
57
+ r"""The ID of the external content.<br><br>This attribute must be provided if <code>resourceType</code> is set to \"3 - External Content\"."""
@@ -0,0 +1,26 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .bookmark import Bookmark, BookmarkTypedDict
5
+ from .paginationinfo import PaginationInfo, PaginationInfoTypedDict
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 BookmarkResultTypedDict(TypedDict):
13
+ r"""One or more instances of Bookmark."""
14
+
15
+ bookmarks: NotRequired[List[BookmarkTypedDict]]
16
+ pagination_info: NotRequired[PaginationInfoTypedDict]
17
+
18
+
19
+ class BookmarkResult(BaseModel):
20
+ r"""One or more instances of Bookmark."""
21
+
22
+ bookmarks: Optional[List[Bookmark]] = None
23
+
24
+ pagination_info: Annotated[
25
+ Optional[PaginationInfo], pydantic.Field(alias="paginationInfo")
26
+ ] = None
@@ -0,0 +1,34 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .folderbreadcrumb import FolderBreadcrumb, FolderBreadcrumbTypedDict
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 BookmarkStatusTypedDict(TypedDict):
12
+ r"""Article Bookmark Status"""
13
+
14
+ is_bookmarked: bool
15
+ r"""Indicates whether the Article is bookmarked"""
16
+ bookmark_id: NotRequired[int]
17
+ r"""The ID of the Bookmark, if Article is bookmarked."""
18
+ folder_breadcrumb: NotRequired[FolderBreadcrumbTypedDict]
19
+ r"""This schema contains one or more FolderSummary instances."""
20
+
21
+
22
+ class BookmarkStatus(BaseModel):
23
+ r"""Article Bookmark Status"""
24
+
25
+ is_bookmarked: Annotated[bool, pydantic.Field(alias="isBookmarked")]
26
+ r"""Indicates whether the Article is bookmarked"""
27
+
28
+ bookmark_id: Annotated[Optional[int], pydantic.Field(alias="bookmarkID")] = None
29
+ r"""The ID of the Bookmark, if Article is bookmarked."""
30
+
31
+ folder_breadcrumb: Annotated[
32
+ Optional[FolderBreadcrumb], pydantic.Field(alias="folderBreadcrumb")
33
+ ] = None
34
+ r"""This schema contains one or more FolderSummary instances."""