@blezgo/api-sdk 0.1.0 → 0.1.2

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 (766) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/account/client.d.ts +1 -1
  3. package/dist/account/client.d.ts.map +1 -1
  4. package/dist/account/generated.d.ts +214 -214
  5. package/dist/account/generated.d.ts.map +1 -1
  6. package/dist/account/index.d.ts +1 -1
  7. package/dist/account/index.d.ts.map +1 -1
  8. package/dist/account/index.js +1 -1
  9. package/dist/account/index.js.map +1 -1
  10. package/dist/activity/client.d.ts +3 -0
  11. package/dist/activity/client.d.ts.map +1 -0
  12. package/dist/activity/client.js +3 -0
  13. package/dist/activity/client.js.map +1 -0
  14. package/dist/activity/generated.d.ts +1754 -0
  15. package/dist/activity/generated.d.ts.map +1 -0
  16. package/dist/activity/generated.js +6 -0
  17. package/dist/activity/generated.js.map +1 -0
  18. package/dist/activity/index.d.ts +2 -0
  19. package/dist/activity/index.d.ts.map +1 -0
  20. package/dist/activity/index.js +2 -0
  21. package/dist/activity/index.js.map +1 -0
  22. package/dist/addon/client.d.ts +3 -0
  23. package/dist/addon/client.d.ts.map +1 -0
  24. package/dist/addon/client.js +3 -0
  25. package/dist/addon/client.js.map +1 -0
  26. package/dist/addon/generated.d.ts +4750 -0
  27. package/dist/addon/generated.d.ts.map +1 -0
  28. package/dist/addon/generated.js +6 -0
  29. package/dist/addon/generated.js.map +1 -0
  30. package/dist/addon/index.d.ts +2 -0
  31. package/dist/addon/index.d.ts.map +1 -0
  32. package/dist/addon/index.js +2 -0
  33. package/dist/addon/index.js.map +1 -0
  34. package/dist/admin/client.d.ts +1 -1
  35. package/dist/admin/client.d.ts.map +1 -1
  36. package/dist/admin/generated.d.ts +87 -87
  37. package/dist/admin/generated.d.ts.map +1 -1
  38. package/dist/admin/index.d.ts +1 -1
  39. package/dist/admin/index.d.ts.map +1 -1
  40. package/dist/admin/index.js +1 -1
  41. package/dist/admin/index.js.map +1 -1
  42. package/dist/affiliate/client.d.ts +3 -0
  43. package/dist/affiliate/client.d.ts.map +1 -0
  44. package/dist/affiliate/client.js +3 -0
  45. package/dist/affiliate/client.js.map +1 -0
  46. package/dist/affiliate/generated.d.ts +4785 -0
  47. package/dist/affiliate/generated.d.ts.map +1 -0
  48. package/dist/affiliate/generated.js +6 -0
  49. package/dist/affiliate/generated.js.map +1 -0
  50. package/dist/affiliate/index.d.ts +2 -0
  51. package/dist/affiliate/index.d.ts.map +1 -0
  52. package/dist/affiliate/index.js +2 -0
  53. package/dist/affiliate/index.js.map +1 -0
  54. package/dist/analytics/client.d.ts +3 -0
  55. package/dist/analytics/client.d.ts.map +1 -0
  56. package/dist/analytics/client.js +3 -0
  57. package/dist/analytics/client.js.map +1 -0
  58. package/dist/analytics/generated.d.ts +1566 -0
  59. package/dist/analytics/generated.d.ts.map +1 -0
  60. package/dist/analytics/generated.js +6 -0
  61. package/dist/analytics/generated.js.map +1 -0
  62. package/dist/analytics/index.d.ts +2 -0
  63. package/dist/analytics/index.d.ts.map +1 -0
  64. package/dist/analytics/index.js +2 -0
  65. package/dist/analytics/index.js.map +1 -0
  66. package/dist/announcements/client.d.ts +3 -0
  67. package/dist/announcements/client.d.ts.map +1 -0
  68. package/dist/announcements/client.js +3 -0
  69. package/dist/announcements/client.js.map +1 -0
  70. package/dist/announcements/generated.d.ts +2922 -0
  71. package/dist/announcements/generated.d.ts.map +1 -0
  72. package/dist/announcements/generated.js +6 -0
  73. package/dist/announcements/generated.js.map +1 -0
  74. package/dist/announcements/index.d.ts +2 -0
  75. package/dist/announcements/index.d.ts.map +1 -0
  76. package/dist/announcements/index.js +2 -0
  77. package/dist/announcements/index.js.map +1 -0
  78. package/dist/apikeys/client.d.ts +3 -0
  79. package/dist/apikeys/client.d.ts.map +1 -0
  80. package/dist/apikeys/client.js +3 -0
  81. package/dist/apikeys/client.js.map +1 -0
  82. package/dist/apikeys/generated.d.ts +2053 -0
  83. package/dist/apikeys/generated.d.ts.map +1 -0
  84. package/dist/apikeys/generated.js +6 -0
  85. package/dist/apikeys/generated.js.map +1 -0
  86. package/dist/apikeys/index.d.ts +2 -0
  87. package/dist/apikeys/index.d.ts.map +1 -0
  88. package/dist/apikeys/index.js +2 -0
  89. package/dist/apikeys/index.js.map +1 -0
  90. package/dist/assistance/client.d.ts +3 -0
  91. package/dist/assistance/client.d.ts.map +1 -0
  92. package/dist/assistance/client.js +3 -0
  93. package/dist/assistance/client.js.map +1 -0
  94. package/dist/assistance/generated.d.ts +869 -0
  95. package/dist/assistance/generated.d.ts.map +1 -0
  96. package/dist/assistance/generated.js +6 -0
  97. package/dist/assistance/generated.js.map +1 -0
  98. package/dist/assistance/index.d.ts +2 -0
  99. package/dist/assistance/index.d.ts.map +1 -0
  100. package/dist/assistance/index.js +2 -0
  101. package/dist/assistance/index.js.map +1 -0
  102. package/dist/authentication/client.d.ts +1 -1
  103. package/dist/authentication/client.d.ts.map +1 -1
  104. package/dist/authentication/generated.d.ts +91 -91
  105. package/dist/authentication/generated.d.ts.map +1 -1
  106. package/dist/authentication/index.d.ts +1 -1
  107. package/dist/authentication/index.d.ts.map +1 -1
  108. package/dist/authentication/index.js +1 -1
  109. package/dist/authentication/index.js.map +1 -1
  110. package/dist/blog/client.d.ts +3 -0
  111. package/dist/blog/client.d.ts.map +1 -0
  112. package/dist/blog/client.js +3 -0
  113. package/dist/blog/client.js.map +1 -0
  114. package/dist/blog/generated.d.ts +12567 -0
  115. package/dist/blog/generated.d.ts.map +1 -0
  116. package/dist/blog/generated.js +6 -0
  117. package/dist/blog/generated.js.map +1 -0
  118. package/dist/blog/index.d.ts +2 -0
  119. package/dist/blog/index.d.ts.map +1 -0
  120. package/dist/blog/index.js +2 -0
  121. package/dist/blog/index.js.map +1 -0
  122. package/dist/bundle/client.d.ts +3 -0
  123. package/dist/bundle/client.d.ts.map +1 -0
  124. package/dist/bundle/client.js +3 -0
  125. package/dist/bundle/client.js.map +1 -0
  126. package/dist/bundle/generated.d.ts +2692 -0
  127. package/dist/bundle/generated.d.ts.map +1 -0
  128. package/dist/bundle/generated.js +6 -0
  129. package/dist/bundle/generated.js.map +1 -0
  130. package/dist/bundle/index.d.ts +2 -0
  131. package/dist/bundle/index.d.ts.map +1 -0
  132. package/dist/bundle/index.js +2 -0
  133. package/dist/bundle/index.js.map +1 -0
  134. package/dist/cache/client.d.ts +1 -1
  135. package/dist/cache/client.d.ts.map +1 -1
  136. package/dist/cache/generated.d.ts +24 -24
  137. package/dist/cache/generated.d.ts.map +1 -1
  138. package/dist/cache/index.d.ts +1 -1
  139. package/dist/cache/index.d.ts.map +1 -1
  140. package/dist/cache/index.js +1 -1
  141. package/dist/cache/index.js.map +1 -1
  142. package/dist/calendar/client.d.ts +3 -0
  143. package/dist/calendar/client.d.ts.map +1 -0
  144. package/dist/calendar/client.js +3 -0
  145. package/dist/calendar/client.js.map +1 -0
  146. package/dist/calendar/generated.d.ts +1895 -0
  147. package/dist/calendar/generated.d.ts.map +1 -0
  148. package/dist/calendar/generated.js +6 -0
  149. package/dist/calendar/generated.js.map +1 -0
  150. package/dist/calendar/index.d.ts +2 -0
  151. package/dist/calendar/index.d.ts.map +1 -0
  152. package/dist/calendar/index.js +2 -0
  153. package/dist/calendar/index.js.map +1 -0
  154. package/dist/campaigns/client.d.ts +3 -0
  155. package/dist/campaigns/client.d.ts.map +1 -0
  156. package/dist/campaigns/client.js +3 -0
  157. package/dist/campaigns/client.js.map +1 -0
  158. package/dist/campaigns/generated.d.ts +5465 -0
  159. package/dist/campaigns/generated.d.ts.map +1 -0
  160. package/dist/campaigns/generated.js +6 -0
  161. package/dist/campaigns/generated.js.map +1 -0
  162. package/dist/campaigns/index.d.ts +2 -0
  163. package/dist/campaigns/index.d.ts.map +1 -0
  164. package/dist/campaigns/index.js +2 -0
  165. package/dist/campaigns/index.js.map +1 -0
  166. package/dist/cart/client.d.ts +3 -0
  167. package/dist/cart/client.d.ts.map +1 -0
  168. package/dist/cart/client.js +3 -0
  169. package/dist/cart/client.js.map +1 -0
  170. package/dist/cart/generated.d.ts +1552 -0
  171. package/dist/cart/generated.d.ts.map +1 -0
  172. package/dist/cart/generated.js +6 -0
  173. package/dist/cart/generated.js.map +1 -0
  174. package/dist/cart/index.d.ts +2 -0
  175. package/dist/cart/index.d.ts.map +1 -0
  176. package/dist/cart/index.js +2 -0
  177. package/dist/cart/index.js.map +1 -0
  178. package/dist/changelog/client.d.ts +3 -0
  179. package/dist/changelog/client.d.ts.map +1 -0
  180. package/dist/changelog/client.js +3 -0
  181. package/dist/changelog/client.js.map +1 -0
  182. package/dist/changelog/generated.d.ts +5619 -0
  183. package/dist/changelog/generated.d.ts.map +1 -0
  184. package/dist/changelog/generated.js +6 -0
  185. package/dist/changelog/generated.js.map +1 -0
  186. package/dist/changelog/index.d.ts +2 -0
  187. package/dist/changelog/index.d.ts.map +1 -0
  188. package/dist/changelog/index.js +2 -0
  189. package/dist/changelog/index.js.map +1 -0
  190. package/dist/channel/client.d.ts +3 -0
  191. package/dist/channel/client.d.ts.map +1 -0
  192. package/dist/channel/client.js +3 -0
  193. package/dist/channel/client.js.map +1 -0
  194. package/dist/channel/generated.d.ts +7136 -0
  195. package/dist/channel/generated.d.ts.map +1 -0
  196. package/dist/channel/generated.js +6 -0
  197. package/dist/channel/generated.js.map +1 -0
  198. package/dist/channel/index.d.ts +2 -0
  199. package/dist/channel/index.d.ts.map +1 -0
  200. package/dist/channel/index.js +2 -0
  201. package/dist/channel/index.js.map +1 -0
  202. package/dist/company/client.d.ts +3 -0
  203. package/dist/company/client.d.ts.map +1 -0
  204. package/dist/company/client.js +3 -0
  205. package/dist/company/client.js.map +1 -0
  206. package/dist/company/generated.d.ts +3964 -0
  207. package/dist/company/generated.d.ts.map +1 -0
  208. package/dist/company/generated.js +6 -0
  209. package/dist/company/generated.js.map +1 -0
  210. package/dist/company/index.d.ts +2 -0
  211. package/dist/company/index.d.ts.map +1 -0
  212. package/dist/company/index.js +2 -0
  213. package/dist/company/index.js.map +1 -0
  214. package/dist/conference/client.d.ts +3 -0
  215. package/dist/conference/client.d.ts.map +1 -0
  216. package/dist/conference/client.js +3 -0
  217. package/dist/conference/client.js.map +1 -0
  218. package/dist/conference/generated.d.ts +2761 -0
  219. package/dist/conference/generated.d.ts.map +1 -0
  220. package/dist/conference/generated.js +6 -0
  221. package/dist/conference/generated.js.map +1 -0
  222. package/dist/conference/index.d.ts +2 -0
  223. package/dist/conference/index.d.ts.map +1 -0
  224. package/dist/conference/index.js +2 -0
  225. package/dist/conference/index.js.map +1 -0
  226. package/dist/config/client.d.ts +1 -1
  227. package/dist/config/client.d.ts.map +1 -1
  228. package/dist/config/generated.d.ts +62 -62
  229. package/dist/config/generated.d.ts.map +1 -1
  230. package/dist/config/index.d.ts +1 -1
  231. package/dist/config/index.d.ts.map +1 -1
  232. package/dist/config/index.js +1 -1
  233. package/dist/config/index.js.map +1 -1
  234. package/dist/content/client.d.ts +3 -0
  235. package/dist/content/client.d.ts.map +1 -0
  236. package/dist/content/client.js +3 -0
  237. package/dist/content/client.js.map +1 -0
  238. package/dist/content/generated.d.ts +17424 -0
  239. package/dist/content/generated.d.ts.map +1 -0
  240. package/dist/content/generated.js +6 -0
  241. package/dist/content/generated.js.map +1 -0
  242. package/dist/content/index.d.ts +2 -0
  243. package/dist/content/index.d.ts.map +1 -0
  244. package/dist/content/index.js +2 -0
  245. package/dist/content/index.js.map +1 -0
  246. package/dist/cookies/client.d.ts +3 -0
  247. package/dist/cookies/client.d.ts.map +1 -0
  248. package/dist/cookies/client.js +3 -0
  249. package/dist/cookies/client.js.map +1 -0
  250. package/dist/cookies/generated.d.ts +2669 -0
  251. package/dist/cookies/generated.d.ts.map +1 -0
  252. package/dist/cookies/generated.js +6 -0
  253. package/dist/cookies/generated.js.map +1 -0
  254. package/dist/cookies/index.d.ts +2 -0
  255. package/dist/cookies/index.d.ts.map +1 -0
  256. package/dist/cookies/index.js +2 -0
  257. package/dist/cookies/index.js.map +1 -0
  258. package/dist/courses/client.d.ts +3 -0
  259. package/dist/courses/client.d.ts.map +1 -0
  260. package/dist/courses/client.js +3 -0
  261. package/dist/courses/client.js.map +1 -0
  262. package/dist/courses/generated.d.ts +4939 -0
  263. package/dist/courses/generated.d.ts.map +1 -0
  264. package/dist/courses/generated.js +6 -0
  265. package/dist/courses/generated.js.map +1 -0
  266. package/dist/courses/index.d.ts +2 -0
  267. package/dist/courses/index.d.ts.map +1 -0
  268. package/dist/courses/index.js +2 -0
  269. package/dist/courses/index.js.map +1 -0
  270. package/dist/custom/client.d.ts +3 -0
  271. package/dist/custom/client.d.ts.map +1 -0
  272. package/dist/custom/client.js +3 -0
  273. package/dist/custom/client.js.map +1 -0
  274. package/dist/custom/generated.d.ts +4377 -0
  275. package/dist/custom/generated.d.ts.map +1 -0
  276. package/dist/custom/generated.js +6 -0
  277. package/dist/custom/generated.js.map +1 -0
  278. package/dist/custom/index.d.ts +2 -0
  279. package/dist/custom/index.d.ts.map +1 -0
  280. package/dist/custom/index.js +2 -0
  281. package/dist/custom/index.js.map +1 -0
  282. package/dist/dashboard/client.d.ts +1 -1
  283. package/dist/dashboard/client.d.ts.map +1 -1
  284. package/dist/dashboard/generated.d.ts +137 -137
  285. package/dist/dashboard/generated.d.ts.map +1 -1
  286. package/dist/dashboard/index.d.ts +1 -1
  287. package/dist/dashboard/index.d.ts.map +1 -1
  288. package/dist/dashboard/index.js +1 -1
  289. package/dist/dashboard/index.js.map +1 -1
  290. package/dist/elasticsearch/client.d.ts +3 -0
  291. package/dist/elasticsearch/client.d.ts.map +1 -0
  292. package/dist/elasticsearch/client.js +3 -0
  293. package/dist/elasticsearch/client.js.map +1 -0
  294. package/dist/elasticsearch/generated.d.ts +5650 -0
  295. package/dist/elasticsearch/generated.d.ts.map +1 -0
  296. package/dist/elasticsearch/generated.js +6 -0
  297. package/dist/elasticsearch/generated.js.map +1 -0
  298. package/dist/elasticsearch/index.d.ts +2 -0
  299. package/dist/elasticsearch/index.d.ts.map +1 -0
  300. package/dist/elasticsearch/index.js +2 -0
  301. package/dist/elasticsearch/index.js.map +1 -0
  302. package/dist/enrollments/client.d.ts +3 -0
  303. package/dist/enrollments/client.d.ts.map +1 -0
  304. package/dist/enrollments/client.js +3 -0
  305. package/dist/enrollments/client.js.map +1 -0
  306. package/dist/enrollments/generated.d.ts +1284 -0
  307. package/dist/enrollments/generated.d.ts.map +1 -0
  308. package/dist/enrollments/generated.js +6 -0
  309. package/dist/enrollments/generated.js.map +1 -0
  310. package/dist/enrollments/index.d.ts +2 -0
  311. package/dist/enrollments/index.d.ts.map +1 -0
  312. package/dist/enrollments/index.js +2 -0
  313. package/dist/enrollments/index.js.map +1 -0
  314. package/dist/errors/client.d.ts +1 -1
  315. package/dist/errors/client.d.ts.map +1 -1
  316. package/dist/errors/generated.d.ts +21 -21
  317. package/dist/errors/generated.d.ts.map +1 -1
  318. package/dist/errors/index.d.ts +1 -1
  319. package/dist/errors/index.d.ts.map +1 -1
  320. package/dist/errors/index.js +1 -1
  321. package/dist/errors/index.js.map +1 -1
  322. package/dist/eventconfig/client.d.ts +3 -0
  323. package/dist/eventconfig/client.d.ts.map +1 -0
  324. package/dist/eventconfig/client.js +3 -0
  325. package/dist/eventconfig/client.js.map +1 -0
  326. package/dist/eventconfig/generated.d.ts +2782 -0
  327. package/dist/eventconfig/generated.d.ts.map +1 -0
  328. package/dist/eventconfig/generated.js +6 -0
  329. package/dist/eventconfig/generated.js.map +1 -0
  330. package/dist/eventconfig/index.d.ts +2 -0
  331. package/dist/eventconfig/index.d.ts.map +1 -0
  332. package/dist/eventconfig/index.js +2 -0
  333. package/dist/eventconfig/index.js.map +1 -0
  334. package/dist/funnels/client.d.ts +3 -0
  335. package/dist/funnels/client.d.ts.map +1 -0
  336. package/dist/funnels/client.js +3 -0
  337. package/dist/funnels/client.js.map +1 -0
  338. package/dist/funnels/generated.d.ts +5231 -0
  339. package/dist/funnels/generated.d.ts.map +1 -0
  340. package/dist/funnels/generated.js +6 -0
  341. package/dist/funnels/generated.js.map +1 -0
  342. package/dist/funnels/index.d.ts +2 -0
  343. package/dist/funnels/index.d.ts.map +1 -0
  344. package/dist/funnels/index.js +2 -0
  345. package/dist/funnels/index.js.map +1 -0
  346. package/dist/gamification/client.d.ts +3 -0
  347. package/dist/gamification/client.d.ts.map +1 -0
  348. package/dist/gamification/client.js +3 -0
  349. package/dist/gamification/client.js.map +1 -0
  350. package/dist/gamification/generated.d.ts +4396 -0
  351. package/dist/gamification/generated.d.ts.map +1 -0
  352. package/dist/gamification/generated.js +6 -0
  353. package/dist/gamification/generated.js.map +1 -0
  354. package/dist/gamification/index.d.ts +2 -0
  355. package/dist/gamification/index.d.ts.map +1 -0
  356. package/dist/gamification/index.js +2 -0
  357. package/dist/gamification/index.js.map +1 -0
  358. package/dist/impersonation/client.d.ts +3 -0
  359. package/dist/impersonation/client.d.ts.map +1 -0
  360. package/dist/impersonation/client.js +3 -0
  361. package/dist/impersonation/client.js.map +1 -0
  362. package/dist/impersonation/generated.d.ts +469 -0
  363. package/dist/impersonation/generated.d.ts.map +1 -0
  364. package/dist/impersonation/generated.js +6 -0
  365. package/dist/impersonation/generated.js.map +1 -0
  366. package/dist/impersonation/index.d.ts +2 -0
  367. package/dist/impersonation/index.d.ts.map +1 -0
  368. package/dist/impersonation/index.js +2 -0
  369. package/dist/impersonation/index.js.map +1 -0
  370. package/dist/inbox/client.d.ts +3 -0
  371. package/dist/inbox/client.d.ts.map +1 -0
  372. package/dist/inbox/client.js +3 -0
  373. package/dist/inbox/client.js.map +1 -0
  374. package/dist/inbox/generated.d.ts +7813 -0
  375. package/dist/inbox/generated.d.ts.map +1 -0
  376. package/dist/inbox/generated.js +6 -0
  377. package/dist/inbox/generated.js.map +1 -0
  378. package/dist/inbox/index.d.ts +2 -0
  379. package/dist/inbox/index.d.ts.map +1 -0
  380. package/dist/inbox/index.js +2 -0
  381. package/dist/inbox/index.js.map +1 -0
  382. package/dist/index.d.ts +68 -14
  383. package/dist/index.d.ts.map +1 -1
  384. package/dist/index.js +68 -14
  385. package/dist/index.js.map +1 -1
  386. package/dist/internal/client.d.ts +3 -0
  387. package/dist/internal/client.d.ts.map +1 -0
  388. package/dist/internal/client.js +3 -0
  389. package/dist/internal/client.js.map +1 -0
  390. package/dist/internal/generated.d.ts +626 -0
  391. package/dist/internal/generated.d.ts.map +1 -0
  392. package/dist/internal/generated.js +6 -0
  393. package/dist/internal/generated.js.map +1 -0
  394. package/dist/internal/index.d.ts +2 -0
  395. package/dist/internal/index.d.ts.map +1 -0
  396. package/dist/internal/index.js +2 -0
  397. package/dist/internal/index.js.map +1 -0
  398. package/dist/internationalization/client.d.ts +1 -1
  399. package/dist/internationalization/client.d.ts.map +1 -1
  400. package/dist/internationalization/generated.d.ts +21 -21
  401. package/dist/internationalization/generated.d.ts.map +1 -1
  402. package/dist/internationalization/index.d.ts +1 -1
  403. package/dist/internationalization/index.d.ts.map +1 -1
  404. package/dist/internationalization/index.js +1 -1
  405. package/dist/internationalization/index.js.map +1 -1
  406. package/dist/invitations/client.d.ts +1 -1
  407. package/dist/invitations/client.d.ts.map +1 -1
  408. package/dist/invitations/generated.d.ts +120 -120
  409. package/dist/invitations/generated.d.ts.map +1 -1
  410. package/dist/invitations/index.d.ts +1 -1
  411. package/dist/invitations/index.d.ts.map +1 -1
  412. package/dist/invitations/index.js +1 -1
  413. package/dist/invitations/index.js.map +1 -1
  414. package/dist/meetings/client.d.ts +3 -0
  415. package/dist/meetings/client.d.ts.map +1 -0
  416. package/dist/meetings/client.js +3 -0
  417. package/dist/meetings/client.js.map +1 -0
  418. package/dist/meetings/generated.d.ts +1800 -0
  419. package/dist/meetings/generated.d.ts.map +1 -0
  420. package/dist/meetings/generated.js +6 -0
  421. package/dist/meetings/generated.js.map +1 -0
  422. package/dist/meetings/index.d.ts +2 -0
  423. package/dist/meetings/index.d.ts.map +1 -0
  424. package/dist/meetings/index.js +2 -0
  425. package/dist/meetings/index.js.map +1 -0
  426. package/dist/metas/client.d.ts +3 -0
  427. package/dist/metas/client.d.ts.map +1 -0
  428. package/dist/metas/client.js +3 -0
  429. package/dist/metas/client.js.map +1 -0
  430. package/dist/metas/generated.d.ts +8459 -0
  431. package/dist/metas/generated.d.ts.map +1 -0
  432. package/dist/metas/generated.js +6 -0
  433. package/dist/metas/generated.js.map +1 -0
  434. package/dist/metas/index.d.ts +2 -0
  435. package/dist/metas/index.d.ts.map +1 -0
  436. package/dist/metas/index.js +2 -0
  437. package/dist/metas/index.js.map +1 -0
  438. package/dist/notification/client.d.ts +3 -0
  439. package/dist/notification/client.d.ts.map +1 -0
  440. package/dist/notification/client.js +3 -0
  441. package/dist/notification/client.js.map +1 -0
  442. package/dist/notification/generated.d.ts +23762 -0
  443. package/dist/notification/generated.d.ts.map +1 -0
  444. package/dist/notification/generated.js +6 -0
  445. package/dist/notification/generated.js.map +1 -0
  446. package/dist/notification/index.d.ts +2 -0
  447. package/dist/notification/index.d.ts.map +1 -0
  448. package/dist/notification/index.js +2 -0
  449. package/dist/notification/index.js.map +1 -0
  450. package/dist/notifications/client.d.ts +3 -0
  451. package/dist/notifications/client.d.ts.map +1 -0
  452. package/dist/notifications/client.js +3 -0
  453. package/dist/notifications/client.js.map +1 -0
  454. package/dist/notifications/generated.d.ts +2020 -0
  455. package/dist/notifications/generated.d.ts.map +1 -0
  456. package/dist/notifications/generated.js +6 -0
  457. package/dist/notifications/generated.js.map +1 -0
  458. package/dist/notifications/index.d.ts +2 -0
  459. package/dist/notifications/index.d.ts.map +1 -0
  460. package/dist/notifications/index.js +2 -0
  461. package/dist/notifications/index.js.map +1 -0
  462. package/dist/onboarding/client.d.ts +3 -0
  463. package/dist/onboarding/client.d.ts.map +1 -0
  464. package/dist/onboarding/client.js +3 -0
  465. package/dist/onboarding/client.js.map +1 -0
  466. package/dist/onboarding/generated.d.ts +3404 -0
  467. package/dist/onboarding/generated.d.ts.map +1 -0
  468. package/dist/onboarding/generated.js +6 -0
  469. package/dist/onboarding/generated.js.map +1 -0
  470. package/dist/onboarding/index.d.ts +2 -0
  471. package/dist/onboarding/index.d.ts.map +1 -0
  472. package/dist/onboarding/index.js +2 -0
  473. package/dist/onboarding/index.js.map +1 -0
  474. package/dist/packages/client.d.ts +3 -0
  475. package/dist/packages/client.d.ts.map +1 -0
  476. package/dist/packages/client.js +3 -0
  477. package/dist/packages/client.js.map +1 -0
  478. package/dist/packages/generated.d.ts +2812 -0
  479. package/dist/packages/generated.d.ts.map +1 -0
  480. package/dist/packages/generated.js +6 -0
  481. package/dist/packages/generated.js.map +1 -0
  482. package/dist/packages/index.d.ts +2 -0
  483. package/dist/packages/index.d.ts.map +1 -0
  484. package/dist/packages/index.js +2 -0
  485. package/dist/packages/index.js.map +1 -0
  486. package/dist/payments/client.d.ts +3 -0
  487. package/dist/payments/client.d.ts.map +1 -0
  488. package/dist/payments/client.js +3 -0
  489. package/dist/payments/client.js.map +1 -0
  490. package/dist/payments/generated.d.ts +21207 -0
  491. package/dist/payments/generated.d.ts.map +1 -0
  492. package/dist/payments/generated.js +6 -0
  493. package/dist/payments/generated.js.map +1 -0
  494. package/dist/payments/index.d.ts +2 -0
  495. package/dist/payments/index.d.ts.map +1 -0
  496. package/dist/payments/index.js +2 -0
  497. package/dist/payments/index.js.map +1 -0
  498. package/dist/payouts/client.d.ts +3 -0
  499. package/dist/payouts/client.d.ts.map +1 -0
  500. package/dist/payouts/client.js +3 -0
  501. package/dist/payouts/client.js.map +1 -0
  502. package/dist/payouts/generated.d.ts +15067 -0
  503. package/dist/payouts/generated.d.ts.map +1 -0
  504. package/dist/payouts/generated.js +6 -0
  505. package/dist/payouts/generated.js.map +1 -0
  506. package/dist/payouts/index.d.ts +2 -0
  507. package/dist/payouts/index.d.ts.map +1 -0
  508. package/dist/payouts/index.js +2 -0
  509. package/dist/payouts/index.js.map +1 -0
  510. package/dist/plans/client.d.ts +3 -0
  511. package/dist/plans/client.d.ts.map +1 -0
  512. package/dist/plans/client.js +3 -0
  513. package/dist/plans/client.js.map +1 -0
  514. package/dist/plans/generated.d.ts +1944 -0
  515. package/dist/plans/generated.d.ts.map +1 -0
  516. package/dist/plans/generated.js +6 -0
  517. package/dist/plans/generated.js.map +1 -0
  518. package/dist/plans/index.d.ts +2 -0
  519. package/dist/plans/index.d.ts.map +1 -0
  520. package/dist/plans/index.js +2 -0
  521. package/dist/plans/index.js.map +1 -0
  522. package/dist/pricing/client.d.ts +3 -0
  523. package/dist/pricing/client.d.ts.map +1 -0
  524. package/dist/pricing/client.js +3 -0
  525. package/dist/pricing/client.js.map +1 -0
  526. package/dist/pricing/generated.d.ts +2364 -0
  527. package/dist/pricing/generated.d.ts.map +1 -0
  528. package/dist/pricing/generated.js +6 -0
  529. package/dist/pricing/generated.js.map +1 -0
  530. package/dist/pricing/index.d.ts +2 -0
  531. package/dist/pricing/index.d.ts.map +1 -0
  532. package/dist/pricing/index.js +2 -0
  533. package/dist/pricing/index.js.map +1 -0
  534. package/dist/products/client.d.ts +3 -0
  535. package/dist/products/client.d.ts.map +1 -0
  536. package/dist/products/client.js +3 -0
  537. package/dist/products/client.js.map +1 -0
  538. package/dist/products/generated.d.ts +9678 -0
  539. package/dist/products/generated.d.ts.map +1 -0
  540. package/dist/products/generated.js +6 -0
  541. package/dist/products/generated.js.map +1 -0
  542. package/dist/products/index.d.ts +2 -0
  543. package/dist/products/index.d.ts.map +1 -0
  544. package/dist/products/index.js +2 -0
  545. package/dist/products/index.js.map +1 -0
  546. package/dist/profile/client.d.ts +3 -0
  547. package/dist/profile/client.d.ts.map +1 -0
  548. package/dist/profile/client.js +3 -0
  549. package/dist/profile/client.js.map +1 -0
  550. package/dist/profile/generated.d.ts +7005 -0
  551. package/dist/profile/generated.d.ts.map +1 -0
  552. package/dist/profile/generated.js +6 -0
  553. package/dist/profile/generated.js.map +1 -0
  554. package/dist/profile/index.d.ts +2 -0
  555. package/dist/profile/index.d.ts.map +1 -0
  556. package/dist/profile/index.js +2 -0
  557. package/dist/profile/index.js.map +1 -0
  558. package/dist/reasons/client.d.ts +3 -0
  559. package/dist/reasons/client.d.ts.map +1 -0
  560. package/dist/reasons/client.js +3 -0
  561. package/dist/reasons/client.js.map +1 -0
  562. package/dist/reasons/generated.d.ts +1913 -0
  563. package/dist/reasons/generated.d.ts.map +1 -0
  564. package/dist/reasons/generated.js +6 -0
  565. package/dist/reasons/generated.js.map +1 -0
  566. package/dist/reasons/index.d.ts +2 -0
  567. package/dist/reasons/index.d.ts.map +1 -0
  568. package/dist/reasons/index.js +2 -0
  569. package/dist/reasons/index.js.map +1 -0
  570. package/dist/registration/client.d.ts +1 -1
  571. package/dist/registration/client.d.ts.map +1 -1
  572. package/dist/registration/generated.d.ts +170 -170
  573. package/dist/registration/generated.d.ts.map +1 -1
  574. package/dist/registration/index.d.ts +1 -1
  575. package/dist/registration/index.d.ts.map +1 -1
  576. package/dist/registration/index.js +1 -1
  577. package/dist/registration/index.js.map +1 -1
  578. package/dist/reviews/client.d.ts +3 -0
  579. package/dist/reviews/client.d.ts.map +1 -0
  580. package/dist/reviews/client.js +3 -0
  581. package/dist/reviews/client.js.map +1 -0
  582. package/dist/reviews/generated.d.ts +3020 -0
  583. package/dist/reviews/generated.d.ts.map +1 -0
  584. package/dist/reviews/generated.js +6 -0
  585. package/dist/reviews/generated.js.map +1 -0
  586. package/dist/reviews/index.d.ts +2 -0
  587. package/dist/reviews/index.d.ts.map +1 -0
  588. package/dist/reviews/index.js +2 -0
  589. package/dist/reviews/index.js.map +1 -0
  590. package/dist/role/client.d.ts +1 -1
  591. package/dist/role/client.d.ts.map +1 -1
  592. package/dist/role/generated.d.ts +220 -220
  593. package/dist/role/generated.d.ts.map +1 -1
  594. package/dist/role/index.d.ts +1 -1
  595. package/dist/role/index.d.ts.map +1 -1
  596. package/dist/role/index.js +1 -1
  597. package/dist/role/index.js.map +1 -1
  598. package/dist/scheduling/client.d.ts +3 -0
  599. package/dist/scheduling/client.d.ts.map +1 -0
  600. package/dist/scheduling/client.js +3 -0
  601. package/dist/scheduling/client.js.map +1 -0
  602. package/dist/scheduling/generated.d.ts +2016 -0
  603. package/dist/scheduling/generated.d.ts.map +1 -0
  604. package/dist/scheduling/generated.js +6 -0
  605. package/dist/scheduling/generated.js.map +1 -0
  606. package/dist/scheduling/index.d.ts +2 -0
  607. package/dist/scheduling/index.d.ts.map +1 -0
  608. package/dist/scheduling/index.js +2 -0
  609. package/dist/scheduling/index.js.map +1 -0
  610. package/dist/services/client.d.ts +3 -0
  611. package/dist/services/client.d.ts.map +1 -0
  612. package/dist/services/client.js +3 -0
  613. package/dist/services/client.js.map +1 -0
  614. package/dist/services/generated.d.ts +19185 -0
  615. package/dist/services/generated.d.ts.map +1 -0
  616. package/dist/services/generated.js +6 -0
  617. package/dist/services/generated.js.map +1 -0
  618. package/dist/services/index.d.ts +2 -0
  619. package/dist/services/index.d.ts.map +1 -0
  620. package/dist/services/index.js +2 -0
  621. package/dist/services/index.js.map +1 -0
  622. package/dist/sessions/client.d.ts +3 -0
  623. package/dist/sessions/client.d.ts.map +1 -0
  624. package/dist/sessions/client.js +3 -0
  625. package/dist/sessions/client.js.map +1 -0
  626. package/dist/sessions/generated.d.ts +2059 -0
  627. package/dist/sessions/generated.d.ts.map +1 -0
  628. package/dist/sessions/generated.js +6 -0
  629. package/dist/sessions/generated.js.map +1 -0
  630. package/dist/sessions/index.d.ts +2 -0
  631. package/dist/sessions/index.d.ts.map +1 -0
  632. package/dist/sessions/index.js +2 -0
  633. package/dist/sessions/index.js.map +1 -0
  634. package/dist/spaces/client.d.ts +3 -0
  635. package/dist/spaces/client.d.ts.map +1 -0
  636. package/dist/spaces/client.js +3 -0
  637. package/dist/spaces/client.js.map +1 -0
  638. package/dist/spaces/generated.d.ts +8813 -0
  639. package/dist/spaces/generated.d.ts.map +1 -0
  640. package/dist/spaces/generated.js +6 -0
  641. package/dist/spaces/generated.js.map +1 -0
  642. package/dist/spaces/index.d.ts +2 -0
  643. package/dist/spaces/index.d.ts.map +1 -0
  644. package/dist/spaces/index.js +2 -0
  645. package/dist/spaces/index.js.map +1 -0
  646. package/dist/storefront/client.d.ts +3 -0
  647. package/dist/storefront/client.d.ts.map +1 -0
  648. package/dist/storefront/client.js +3 -0
  649. package/dist/storefront/client.js.map +1 -0
  650. package/dist/storefront/generated.d.ts +1851 -0
  651. package/dist/storefront/generated.d.ts.map +1 -0
  652. package/dist/storefront/generated.js +6 -0
  653. package/dist/storefront/generated.js.map +1 -0
  654. package/dist/storefront/index.d.ts +2 -0
  655. package/dist/storefront/index.d.ts.map +1 -0
  656. package/dist/storefront/index.js +2 -0
  657. package/dist/storefront/index.js.map +1 -0
  658. package/dist/support/client.d.ts +3 -0
  659. package/dist/support/client.d.ts.map +1 -0
  660. package/dist/support/client.js +3 -0
  661. package/dist/support/client.js.map +1 -0
  662. package/dist/support/generated.d.ts +25017 -0
  663. package/dist/support/generated.d.ts.map +1 -0
  664. package/dist/support/generated.js +6 -0
  665. package/dist/support/generated.js.map +1 -0
  666. package/dist/support/index.d.ts +2 -0
  667. package/dist/support/index.d.ts.map +1 -0
  668. package/dist/support/index.js +2 -0
  669. package/dist/support/index.js.map +1 -0
  670. package/dist/sync/client.d.ts +3 -0
  671. package/dist/sync/client.d.ts.map +1 -0
  672. package/dist/sync/client.js +3 -0
  673. package/dist/sync/client.js.map +1 -0
  674. package/dist/sync/generated.d.ts +4919 -0
  675. package/dist/sync/generated.d.ts.map +1 -0
  676. package/dist/sync/generated.js +6 -0
  677. package/dist/sync/generated.js.map +1 -0
  678. package/dist/sync/index.d.ts +2 -0
  679. package/dist/sync/index.d.ts.map +1 -0
  680. package/dist/sync/index.js +2 -0
  681. package/dist/sync/index.js.map +1 -0
  682. package/dist/tenant/client.d.ts +1 -1
  683. package/dist/tenant/client.d.ts.map +1 -1
  684. package/dist/tenant/generated.d.ts +591 -591
  685. package/dist/tenant/generated.d.ts.map +1 -1
  686. package/dist/tenant/index.d.ts +1 -1
  687. package/dist/tenant/index.d.ts.map +1 -1
  688. package/dist/tenant/index.js +1 -1
  689. package/dist/tenant/index.js.map +1 -1
  690. package/dist/testimonials/client.d.ts +3 -0
  691. package/dist/testimonials/client.d.ts.map +1 -0
  692. package/dist/testimonials/client.js +3 -0
  693. package/dist/testimonials/client.js.map +1 -0
  694. package/dist/testimonials/generated.d.ts +2731 -0
  695. package/dist/testimonials/generated.d.ts.map +1 -0
  696. package/dist/testimonials/generated.js +6 -0
  697. package/dist/testimonials/generated.js.map +1 -0
  698. package/dist/testimonials/index.d.ts +2 -0
  699. package/dist/testimonials/index.d.ts.map +1 -0
  700. package/dist/testimonials/index.js +2 -0
  701. package/dist/testimonials/index.js.map +1 -0
  702. package/dist/tests/client.d.ts +3 -0
  703. package/dist/tests/client.d.ts.map +1 -0
  704. package/dist/tests/client.js +3 -0
  705. package/dist/tests/client.js.map +1 -0
  706. package/dist/tests/generated.d.ts +6071 -0
  707. package/dist/tests/generated.d.ts.map +1 -0
  708. package/dist/tests/generated.js +6 -0
  709. package/dist/tests/generated.js.map +1 -0
  710. package/dist/tests/index.d.ts +2 -0
  711. package/dist/tests/index.d.ts.map +1 -0
  712. package/dist/tests/index.js +2 -0
  713. package/dist/tests/index.js.map +1 -0
  714. package/dist/tokens/client.d.ts +1 -1
  715. package/dist/tokens/client.d.ts.map +1 -1
  716. package/dist/tokens/generated.d.ts +64 -64
  717. package/dist/tokens/generated.d.ts.map +1 -1
  718. package/dist/tokens/index.d.ts +1 -1
  719. package/dist/tokens/index.d.ts.map +1 -1
  720. package/dist/tokens/index.js +1 -1
  721. package/dist/tokens/index.js.map +1 -1
  722. package/dist/uploads/client.d.ts +3 -0
  723. package/dist/uploads/client.d.ts.map +1 -0
  724. package/dist/uploads/client.js +3 -0
  725. package/dist/uploads/client.js.map +1 -0
  726. package/dist/uploads/generated.d.ts +1831 -0
  727. package/dist/uploads/generated.d.ts.map +1 -0
  728. package/dist/uploads/generated.js +6 -0
  729. package/dist/uploads/generated.js.map +1 -0
  730. package/dist/uploads/index.d.ts +2 -0
  731. package/dist/uploads/index.d.ts.map +1 -0
  732. package/dist/uploads/index.js +2 -0
  733. package/dist/uploads/index.js.map +1 -0
  734. package/dist/upsell/client.d.ts +3 -0
  735. package/dist/upsell/client.d.ts.map +1 -0
  736. package/dist/upsell/client.js +3 -0
  737. package/dist/upsell/client.js.map +1 -0
  738. package/dist/upsell/generated.d.ts +2459 -0
  739. package/dist/upsell/generated.d.ts.map +1 -0
  740. package/dist/upsell/generated.js +6 -0
  741. package/dist/upsell/generated.js.map +1 -0
  742. package/dist/upsell/index.d.ts +2 -0
  743. package/dist/upsell/index.d.ts.map +1 -0
  744. package/dist/upsell/index.js +2 -0
  745. package/dist/upsell/index.js.map +1 -0
  746. package/dist/user/client.d.ts +1 -1
  747. package/dist/user/client.d.ts.map +1 -1
  748. package/dist/user/generated.d.ts +72 -72
  749. package/dist/user/generated.d.ts.map +1 -1
  750. package/dist/user/index.d.ts +1 -1
  751. package/dist/user/index.d.ts.map +1 -1
  752. package/dist/user/index.js +1 -1
  753. package/dist/user/index.js.map +1 -1
  754. package/dist/webinars/client.d.ts +3 -0
  755. package/dist/webinars/client.d.ts.map +1 -0
  756. package/dist/webinars/client.js +3 -0
  757. package/dist/webinars/client.js.map +1 -0
  758. package/dist/webinars/generated.d.ts +1846 -0
  759. package/dist/webinars/generated.d.ts.map +1 -0
  760. package/dist/webinars/generated.js +6 -0
  761. package/dist/webinars/generated.js.map +1 -0
  762. package/dist/webinars/index.d.ts +2 -0
  763. package/dist/webinars/index.d.ts.map +1 -0
  764. package/dist/webinars/index.js +2 -0
  765. package/dist/webinars/index.js.map +1 -0
  766. package/package.json +354 -19
@@ -0,0 +1,4396 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/v1/gamification/events": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ get?: never;
14
+ put?: never;
15
+ /**
16
+ * Submit Gamification Event
17
+ * @description Submit a course activity event for gamification processing.
18
+ *
19
+ * **For**: Authenticated users completing course activities
20
+ * **Purpose**: Records user activities (video watched, quiz passed, etc.) and triggers
21
+ * XP/badge awards asynchronously via Celery. Events are processed in background for
22
+ * real-time performance.
23
+ *
24
+ * **Example Request Body**:
25
+ * ```json
26
+ * {
27
+ * "course_id": 100,
28
+ * "schedule_id": 501,
29
+ * "content_type_id": 3,
30
+ * "event_code": "video_completed",
31
+ * "payload": {
32
+ * "spent_time": 300.5,
33
+ * "progress_percent": 100,
34
+ * "current_position": 300.5
35
+ * }
36
+ * }
37
+ * ```
38
+ *
39
+ * **Required Fields**: course_id, event_code
40
+ * **Optional Fields**: schedule_id, content_type_id, payload
41
+ * **Rate Limit**: 100 requests per minute
42
+ *
43
+ * **Supported Event Codes**:
44
+ * - video_started, video_progress, video_completed
45
+ * - quiz_started, quiz_submitted, quiz_passed, quiz_perfect
46
+ * - assignment_submitted, assessment_submitted
47
+ * - content_marked_done, course_completed, daily_streak
48
+ *
49
+ * **Notes**:
50
+ * - user_id is automatically extracted from JWT token (don't send in request body)
51
+ * - org_id is automatically extracted from X-Api-Key header (don't send in request body)
52
+ * - Events are processed asynchronously - endpoint returns immediately
53
+ * - Actual point/badge awards happen in background task
54
+ */
55
+ post: operations["createGamificationEvent"];
56
+ delete?: never;
57
+ options?: never;
58
+ head?: never;
59
+ patch?: never;
60
+ trace?: never;
61
+ };
62
+ "/v1/gamification/courses/{course_id}/progress": {
63
+ parameters: {
64
+ query?: never;
65
+ header?: never;
66
+ path?: never;
67
+ cookie?: never;
68
+ };
69
+ /**
70
+ * Get User Progress
71
+ * @description Get authenticated user's gamification progress for a specific course.
72
+ *
73
+ * **For**: Authenticated users viewing their own course progress
74
+ * **Purpose**: Returns comprehensive gamification stats including points, badges,
75
+ * leaderboard rank, learning speed, and streak information
76
+ *
77
+ * **Response Includes**:
78
+ * - Total XP points earned and possible
79
+ * - Normalized score (percentage)
80
+ * - Course completion percentage
81
+ * - Number of activities completed
82
+ * - Badges earned with details
83
+ * - Learning speed (XP per day)
84
+ * - Current and longest learning streaks
85
+ * - Leaderboard rank position
86
+ * - Last activity timestamp
87
+ *
88
+ * **Notes**:
89
+ * - user_id is automatically extracted from JWT token
90
+ * - Returns 404 if user has never enrolled in the course
91
+ * - Progress is updated in real-time as events are processed
92
+ */
93
+ get: operations["getUserCourseProgress"];
94
+ put?: never;
95
+ post?: never;
96
+ delete?: never;
97
+ options?: never;
98
+ head?: never;
99
+ patch?: never;
100
+ trace?: never;
101
+ };
102
+ "/v1/gamification/courses/{course_id}/leaderboard": {
103
+ parameters: {
104
+ query?: never;
105
+ header?: never;
106
+ path?: never;
107
+ cookie?: never;
108
+ };
109
+ /**
110
+ * Get Course Leaderboard
111
+ * @description Get course leaderboard with optional user rank.
112
+ *
113
+ * **For**: Authenticated users viewing course leaderboard
114
+ * **Purpose**: Shows top performers in a course with two ranking modes:
115
+ * - Normalized: Ranked by (points_earned / points_possible * 100)
116
+ * - Speed: Ranked by learning speed (XP per day)
117
+ *
118
+ * **Query Parameters**:
119
+ * - mode: 'normalized' (default) or 'speed'
120
+ * - limit: Number of top entries to return (1-100, default 10)
121
+ * - include_my_rank: Include authenticated user's rank even if not in top N
122
+ *
123
+ * **Response Includes**:
124
+ * - Top N users with rank, points, score, badges
125
+ * - Current user's rank (if include_my_rank=true)
126
+ * - Total participants in course
127
+ *
128
+ * **Ranking Modes**:
129
+ * - **Normalized**: Fair comparison regardless of course size - shows who completed
130
+ * the most relative to what's available
131
+ * - **Speed**: Shows fastest learners - useful for time-sensitive courses
132
+ *
133
+ * **Notes**:
134
+ * - Leaderboard updates hourly via background task
135
+ * - User's own rank is always included in response (if enrolled)
136
+ */
137
+ get: operations["getCourseLeaderboard"];
138
+ put?: never;
139
+ post?: never;
140
+ delete?: never;
141
+ options?: never;
142
+ head?: never;
143
+ patch?: never;
144
+ trace?: never;
145
+ };
146
+ "/v1/gamification/badges": {
147
+ parameters: {
148
+ query?: never;
149
+ header?: never;
150
+ path?: never;
151
+ cookie?: never;
152
+ };
153
+ /**
154
+ * Get User Badges
155
+ * @description Get all badges earned by the authenticated user.
156
+ *
157
+ * **For**: Authenticated users viewing their earned badges
158
+ * **Purpose**: Returns list of all badges earned across courses or for a specific course
159
+ *
160
+ * **Query Parameters**:
161
+ * - course_id: Optional - filter badges from specific course only
162
+ * - status: 'active' (default) or 'all' (includes expired/revoked)
163
+ *
164
+ * **Response Includes**:
165
+ * - Total badge count
166
+ * - Badge details (code, title, description, icon, type, tier)
167
+ * - Course association (if course-specific)
168
+ * - Earned timestamp
169
+ * - Status (active, expired, revoked)
170
+ *
171
+ * **Badge Types**:
172
+ * - **Achievement**: One-time accomplishments (First Video, Quiz Master)
173
+ * - **Progression**: Streak milestones (7-Day Streak, 30-Day Streak)
174
+ * - **Medal**: Top performer recognition (Top 3 in Course)
175
+ * - **Tier**: Level-based (Bronze/Silver/Gold Learner)
176
+ *
177
+ * **Notes**:
178
+ * - user_id is automatically extracted from JWT token
179
+ * - Badges are sorted by most recently earned first
180
+ */
181
+ get: operations["listCourseUserBadges"];
182
+ put?: never;
183
+ post?: never;
184
+ delete?: never;
185
+ options?: never;
186
+ head?: never;
187
+ patch?: never;
188
+ trace?: never;
189
+ };
190
+ "/v1/gamification/badges/catalog": {
191
+ parameters: {
192
+ query?: never;
193
+ header?: never;
194
+ path?: never;
195
+ cookie?: never;
196
+ };
197
+ /**
198
+ * Get All Badges
199
+ * @description Get all available gamification badges from the catalog.
200
+ *
201
+ * **For**: Authenticated users and admins
202
+ * **Purpose**: Displays the complete catalog of available badges that can be earned
203
+ * through course activities. Useful for showing users what achievements are possible.
204
+ *
205
+ * **Query Parameters**:
206
+ * - badge_type: Optional - filter by badge type (achievement, progression, medal, tier)
207
+ * - is_active: Boolean (default true) - show only active badges
208
+ *
209
+ * **Response Includes**:
210
+ * - Total badge count
211
+ * - Badge details (code, title, description, icon, type, tier, display order)
212
+ *
213
+ * **Badge Types**:
214
+ * - **achievement**: One-time accomplishments (First Video, Quiz Master, Perfect Score)
215
+ * - **progression**: Streak milestones (7-Day Streak, 30-Day Streak)
216
+ * - **medal**: Top performer recognition (Top 3 in Course)
217
+ * - **tier**: Level-based (Bronze/Silver/Gold Learner based on XP)
218
+ *
219
+ * **Authentication**: Required (JWT token)
220
+ * **Headers**: X-Api-Key (org_id), Authorization (user_id)
221
+ *
222
+ * **Notes**:
223
+ * - Badges are system-wide (MSD table - no org_id filtering)
224
+ * - Badges are sorted by display_order
225
+ * - This endpoint shows available badges, not earned badges (use /badges for earned)
226
+ */
227
+ get: operations["listBadgeCatalog"];
228
+ put?: never;
229
+ post?: never;
230
+ delete?: never;
231
+ options?: never;
232
+ head?: never;
233
+ patch?: never;
234
+ trace?: never;
235
+ };
236
+ "/v1/gamification/rules": {
237
+ parameters: {
238
+ query?: never;
239
+ header?: never;
240
+ path?: never;
241
+ cookie?: never;
242
+ };
243
+ get?: never;
244
+ put?: never;
245
+ /**
246
+ * Create Gamification Rule
247
+ * @description Create a new gamification rule for course activities (Admin only).
248
+ *
249
+ * **For**: Admins configuring course gamification
250
+ * **Purpose**: Creates rules that define what points/badges are awarded when users
251
+ * complete specific course activities. Supports multiple rules for the same activity
252
+ * with different conditions (e.g., video_progress at 50%, 75%, 100%).
253
+ *
254
+ * **Example Request Body**:
255
+ * ```json
256
+ * {
257
+ * "course_id": 100,
258
+ * "schedule_id": 501,
259
+ * "event_code": "video_progress",
260
+ * "reward_type": "points",
261
+ * "points_value": 10,
262
+ * "condition_type": "min_score",
263
+ * "condition_value": {"min_progress": 100},
264
+ * "priority": 10
265
+ * }
266
+ * ```
267
+ *
268
+ * **Required Fields**: course_id, event_code, reward_type
269
+ * **Conditional Fields**:
270
+ * - points_value: Required if reward_type is "points" or "both"
271
+ * - badge_id: Required if reward_type is "badge" or "both"
272
+ *
273
+ * **Reward Types**:
274
+ * - **points**: Award XP points only
275
+ * - **badge**: Award badge only
276
+ * - **both**: Award both points and badge
277
+ *
278
+ * **Condition Types**:
279
+ * - **always**: Award every time event occurs
280
+ * - **min_score**: Requires minimum score (condition_value: {"min_score": 80})
281
+ * - **first_attempt**: Award only on first attempt
282
+ * - **perfect_score**: Requires 100% score
283
+ * - **time_based**: Time-based conditions (condition_value: {"max_duration": 300})
284
+ *
285
+ * **Multiple Rules Example**:
286
+ * Create 3 rules for the same activity with different thresholds:
287
+ * ```json
288
+ * [
289
+ * {"event_code": "video_progress", "condition_value": {"min_progress": 50}, "points_value": 5, "priority": 1},
290
+ * {"event_code": "video_progress", "condition_value": {"min_progress": 75}, "points_value": 8, "priority": 2},
291
+ * {"event_code": "video_progress", "condition_value": {"min_progress": 100}, "points_value": 10, "badge_id": 3, "priority": 3}
292
+ * ]
293
+ * ```
294
+ *
295
+ * **Rate Limit**: 100 requests per minute
296
+ *
297
+ * **Authentication**: Required (Admin JWT token)
298
+ * **Headers**: X-Api-Key (org_id), Authorization (admin user_id)
299
+ *
300
+ * **Notes**:
301
+ * - Rules are evaluated by priority (higher priority = evaluated first)
302
+ * - Multiple rules can match the same event (useful for progressive rewards)
303
+ * - org_id is automatically extracted from X-Api-Key header (don't send in request body)
304
+ * - created_by is automatically set from JWT token (don't send in request body)
305
+ */
306
+ post: operations["createGamificationRule"];
307
+ delete?: never;
308
+ options?: never;
309
+ head?: never;
310
+ patch?: never;
311
+ trace?: never;
312
+ };
313
+ "/v1/gamification/platform/progress": {
314
+ parameters: {
315
+ query?: never;
316
+ header?: never;
317
+ path?: never;
318
+ cookie?: never;
319
+ };
320
+ /**
321
+ * Get Platform Progress
322
+ * @description Get user's platform progress (XP, level, tier, badges, streaks).
323
+ *
324
+ * **For**: Authenticated users viewing their own progress
325
+ * **Purpose**: Retrieve comprehensive platform gamification progress including:
326
+ * - 3-tier XP system (lifetime, seasonal, competitive)
327
+ * - Platform level (1-50) and tier (bronze, silver, gold, platinum, legend)
328
+ * - Badge counts and streak statistics
329
+ *
330
+ * **Example Response**:
331
+ * ```json
332
+ * {
333
+ * "status": "success",
334
+ * "data": {
335
+ * "user_id": 123,
336
+ * "platform_level": 15,
337
+ * "tier": "silver",
338
+ * "lifetime_xp": 12500,
339
+ * "seasonal_xp": 3200,
340
+ * "competitive_xp_weekly": 450,
341
+ * "competitive_xp_monthly": 1800,
342
+ * "total_badges_earned": 8,
343
+ * "current_streak_days": 7,
344
+ * "longest_streak_days": 21
345
+ * }
346
+ * }
347
+ * ```
348
+ *
349
+ * **Auth**: Requires `gamification.view.own` permission
350
+ * **Note**: user_id automatically extracted from JWT token
351
+ */
352
+ get: operations["getPlatformProgress"];
353
+ put?: never;
354
+ post?: never;
355
+ delete?: never;
356
+ options?: never;
357
+ head?: never;
358
+ patch?: never;
359
+ trace?: never;
360
+ };
361
+ "/v1/gamification/platform/leaderboard": {
362
+ parameters: {
363
+ query?: never;
364
+ header?: never;
365
+ path?: never;
366
+ cookie?: never;
367
+ };
368
+ /**
369
+ * Get Platform Leaderboard
370
+ * @description Get platform leaderboard with user's position.
371
+ *
372
+ * **For**: Authenticated users viewing leaderboards
373
+ * **Purpose**: Retrieve leaderboard rankings for seasonal, monthly, or weekly competition
374
+ *
375
+ * **Query Parameters**:
376
+ * - leaderboard_type: seasonal | monthly | weekly
377
+ * - limit: Max entries (1-1000, default 100)
378
+ *
379
+ * **Example Response**:
380
+ * ```json
381
+ * {
382
+ * "status": "success",
383
+ * "data": {
384
+ * "leaderboard_type": "seasonal",
385
+ * "top_entries": [
386
+ * {
387
+ * "rank_position": 1,
388
+ * "user_id": 456,
389
+ * "xp_value": 15000,
390
+ * "platform_level": 25,
391
+ * "badges_earned": 12
392
+ * }
393
+ * ],
394
+ * "user_position": {
395
+ * "rank_position": 42,
396
+ * "user_id": 123,
397
+ * "xp_value": 3200
398
+ * }
399
+ * }
400
+ * }
401
+ * ```
402
+ *
403
+ * **Auth**: Requires `gamification_leaderboard.view.own` permission
404
+ * **Leaderboard Types**:
405
+ * - seasonal: Resets quarterly (uses seasonal_xp)
406
+ * - monthly: Resets monthly (uses competitive_xp_monthly)
407
+ * - weekly: Resets weekly on Monday (uses competitive_xp_weekly)
408
+ */
409
+ get: operations["getPlatformLeaderboard"];
410
+ put?: never;
411
+ post?: never;
412
+ delete?: never;
413
+ options?: never;
414
+ head?: never;
415
+ patch?: never;
416
+ trace?: never;
417
+ };
418
+ "/v1/gamification/platform/badges": {
419
+ parameters: {
420
+ query?: never;
421
+ header?: never;
422
+ path?: never;
423
+ cookie?: never;
424
+ };
425
+ /**
426
+ * Get User Badges
427
+ * @description Get user's earned badges.
428
+ *
429
+ * **For**: Authenticated users viewing their badges
430
+ * **Purpose**: Retrieve all badges earned by user with filtering options
431
+ *
432
+ * **Query Parameters**:
433
+ * - status: active (default) | expired | revoked
434
+ * - product_type: course | test | webinar | custom_module (optional)
435
+ *
436
+ * **Example Response**:
437
+ * ```json
438
+ * {
439
+ * "status": "success",
440
+ * "data": {
441
+ * "badges": [
442
+ * {
443
+ * "badge_id": 5,
444
+ * "earned_at": "2026-01-01T10:30:00Z",
445
+ * "status": "active",
446
+ * "product_type": "course",
447
+ * "product_id": 100
448
+ * }
449
+ * ],
450
+ * "total_count": 8,
451
+ * "active_count": 7,
452
+ * "revoked_count": 1
453
+ * }
454
+ * }
455
+ * ```
456
+ *
457
+ * **Auth**: Requires `gamification_badge.view.own` permission
458
+ * **Badge Status**:
459
+ * - active: Currently active badges
460
+ * - expired: Badges that have expired (time-limited badges)
461
+ * - revoked: Badges revoked due to fraud
462
+ */
463
+ get: operations["listUserBadges"];
464
+ put?: never;
465
+ post?: never;
466
+ delete?: never;
467
+ options?: never;
468
+ head?: never;
469
+ patch?: never;
470
+ trace?: never;
471
+ };
472
+ "/v1/gamification/platform/events": {
473
+ parameters: {
474
+ query?: never;
475
+ header?: never;
476
+ path?: never;
477
+ cookie?: never;
478
+ };
479
+ get?: never;
480
+ put?: never;
481
+ /**
482
+ * Submit Platform Event
483
+ * @description Submit platform gamification event (async processing).
484
+ *
485
+ * **For**: Authenticated users or system triggering gamification events
486
+ * **Purpose**: Submit activity events for XP/badge awards (processed asynchronously via Celery)
487
+ *
488
+ * **Example Request Body**:
489
+ * ```json
490
+ * {
491
+ * "event_code": "course_completed",
492
+ * "source_type": "course",
493
+ * "source_id": 100,
494
+ * "xp_amount": 500,
495
+ * "payload": {
496
+ * "completion_time_hours": 12.5,
497
+ * "final_score": 95
498
+ * }
499
+ * }
500
+ * ```
501
+ *
502
+ * **Required Fields**: event_code, source_type, source_id
503
+ * **Optional Fields**: xp_amount, payload
504
+ * **Rate Limit**: 200 requests per minute
505
+ *
506
+ * **Supported Event Codes**:
507
+ * - course_completed, test_passed, webinar_attended
508
+ * - module_completed, quest_completed, challenge_completed
509
+ * - first_login, streak_milestone, level_up
510
+ *
511
+ * **Notes**:
512
+ * - user_id automatically extracted from JWT
513
+ * - Events processed asynchronously in background
514
+ * - Endpoint returns immediately with event_id
515
+ * - Actual XP/badge awards happen via Celery task
516
+ */
517
+ post: operations["createPlatformEvent"];
518
+ delete?: never;
519
+ options?: never;
520
+ head?: never;
521
+ patch?: never;
522
+ trace?: never;
523
+ };
524
+ "/v1/gamification/admin/xp/awards": {
525
+ parameters: {
526
+ query?: never;
527
+ header?: never;
528
+ path?: never;
529
+ cookie?: never;
530
+ };
531
+ get?: never;
532
+ put?: never;
533
+ /**
534
+ * Admin Award Xp
535
+ * @description Manually award XP to user (admin override).
536
+ *
537
+ * **For**: Platform/org admins compensating users or fixing errors
538
+ * **Purpose**: Award XP outside normal event flow with audit trail
539
+ *
540
+ * **Example Request Body**:
541
+ * ```json
542
+ * {
543
+ * "target_user_id": 456,
544
+ * "xp_amount": 5000,
545
+ * "reason": "Compensation for system error on 2026-01-01",
546
+ * "source": "admin_compensation"
547
+ * }
548
+ * ```
549
+ *
550
+ * **Business Rules**:
551
+ * - XP awarded to all 3 tiers (lifetime, seasonal, competitive)
552
+ * - Level recalculated automatically
553
+ * - Admin user ID logged for audit
554
+ * - Cannot award negative XP (use rollback endpoint instead)
555
+ *
556
+ * **Auth**: Requires `gamification.manage.all` permission
557
+ * **Rate Limit**: 100 requests per minute
558
+ * **Audit**: All manual awards logged with admin_id and reason
559
+ */
560
+ post: operations["adminCreateXPAward"];
561
+ delete?: never;
562
+ options?: never;
563
+ head?: never;
564
+ patch?: never;
565
+ trace?: never;
566
+ };
567
+ "/v1/gamification/admin/xp/rollbacks": {
568
+ parameters: {
569
+ query?: never;
570
+ header?: never;
571
+ path?: never;
572
+ cookie?: never;
573
+ };
574
+ get?: never;
575
+ put?: never;
576
+ /**
577
+ * Admin Rollback Xp
578
+ * @description Rollback XP from user (fraud remediation).
579
+ *
580
+ * **For**: Platform/org admins handling fraud cases
581
+ * **Purpose**: Remove fraudulently earned XP with full audit trail
582
+ *
583
+ * **Example Request Body**:
584
+ * ```json
585
+ * {
586
+ * "target_user_id": 789,
587
+ * "xp_amount": 50000,
588
+ * "reason": "Automated bot detected completing 100 courses in 1 hour. IP: 192.168.1.1. Ticket: FRAUD-2026-001",
589
+ * "reference_ids": {
590
+ * "activity_log_ids": [1001, 1002, 1003],
591
+ * "event_ids": ["evt_abc123", "evt_def456"]
592
+ * }
593
+ * }
594
+ * ```
595
+ *
596
+ * **Business Rules**:
597
+ * - XP deducted from all 3 tiers (proportionally)
598
+ * - Level recalculated (may downgrade user)
599
+ * - Level-based badges NOT auto-revoked (use badge revoke endpoint)
600
+ * - Cannot rollback more XP than user has (will floor at 0)
601
+ * - Creates rollback audit log entry
602
+ *
603
+ * **Auth**: Requires `gamification.admin.rollback` permission
604
+ * **Rate Limit**: 50 requests per minute (fraud operations are slower)
605
+ * **Audit**: Full rollback logged with admin_id, reason, reference_ids
606
+ * **Note**: Requires detailed reason (min 10 chars) for compliance
607
+ */
608
+ post: operations["adminCreateXPRollback"];
609
+ delete?: never;
610
+ options?: never;
611
+ head?: never;
612
+ patch?: never;
613
+ trace?: never;
614
+ };
615
+ "/v1/gamification/admin/badges/awards": {
616
+ parameters: {
617
+ query?: never;
618
+ header?: never;
619
+ path?: never;
620
+ cookie?: never;
621
+ };
622
+ get?: never;
623
+ put?: never;
624
+ /**
625
+ * Admin Award Badge
626
+ * @description Manually award badge to user (admin override).
627
+ *
628
+ * **For**: Platform/org admins compensating users or special recognition
629
+ * **Purpose**: Award badge outside normal eligibility flow with audit trail
630
+ *
631
+ * **Example Request Body**:
632
+ * ```json
633
+ * {
634
+ * "target_user_id": 456,
635
+ * "badge_id": 10,
636
+ * "reason": "Special recognition for community contributions",
637
+ * "product_type": null,
638
+ * "product_id": null
639
+ * }
640
+ * ```
641
+ *
642
+ * **Business Rules**:
643
+ * - Bypasses normal eligibility checks
644
+ * - Can award same badge multiple times (e.g., course completion badges)
645
+ * - Admin user ID logged for audit
646
+ * - Optional product association for context
647
+ *
648
+ * **Auth**: Requires `gamification.manage.all` permission
649
+ * **Rate Limit**: 100 requests per minute
650
+ * **Audit**: All manual awards logged with admin_id and reason
651
+ */
652
+ post: operations["adminCreateBadgeAward"];
653
+ delete?: never;
654
+ options?: never;
655
+ head?: never;
656
+ patch?: never;
657
+ trace?: never;
658
+ };
659
+ "/v1/gamification/admin/badges/revocations": {
660
+ parameters: {
661
+ query?: never;
662
+ header?: never;
663
+ path?: never;
664
+ cookie?: never;
665
+ };
666
+ get?: never;
667
+ put?: never;
668
+ /**
669
+ * Admin Revoke Badge
670
+ * @description Revoke badge from user (fraud remediation).
671
+ *
672
+ * **For**: Platform/org admins handling fraud cases
673
+ * **Purpose**: Remove fraudulently earned badge with full audit trail
674
+ *
675
+ * **Example Request Body**:
676
+ * ```json
677
+ * {
678
+ * "target_user_id": 789,
679
+ * "badge_id": 15,
680
+ * "reason": "Badge earned through fraudulent course completion. User completed 50 hours of content in 1 hour. Ticket: FRAUD-2026-002"
681
+ * }
682
+ * ```
683
+ *
684
+ * **Business Rules**:
685
+ * - Revokes ALL instances of badge for user (if awarded multiple times)
686
+ * - Sets status to 'revoked' (not deleted - audit trail)
687
+ * - Creates rollback audit log entry
688
+ * - Does NOT automatically rollback XP (use XP rollback endpoint)
689
+ *
690
+ * **Auth**: Requires `gamification.admin.rollback` permission
691
+ * **Rate Limit**: 50 requests per minute
692
+ * **Audit**: Full revocation logged with admin_id, reason
693
+ * **Note**: Requires detailed reason (min 10 chars) for compliance
694
+ */
695
+ post: operations["adminCreateBadgeRevocation"];
696
+ delete?: never;
697
+ options?: never;
698
+ head?: never;
699
+ patch?: never;
700
+ trace?: never;
701
+ };
702
+ "/v1/gamification/admin/policies": {
703
+ parameters: {
704
+ query?: never;
705
+ header?: never;
706
+ path?: never;
707
+ cookie?: never;
708
+ };
709
+ /**
710
+ * Get Org Gamification Policy
711
+ * @description Get organization's gamification policy configuration.
712
+ *
713
+ * **For**: Platform/org admins reviewing gamification settings
714
+ * **Purpose**: Retrieve all gamification feature flags and settings for org
715
+ *
716
+ * **Example Response**:
717
+ * ```json
718
+ * {
719
+ * "status": "success",
720
+ * "data": {
721
+ * "org_id": 100,
722
+ * "gamification_enabled": 1,
723
+ * "allow_global_leaderboards": 0,
724
+ * "allow_cross_org_competition": 0,
725
+ * "allow_public_profiles": 0,
726
+ * "allow_nft_badges": 0,
727
+ * "leaderboard_visibility": "org_only",
728
+ * "badge_visibility": "org_only",
729
+ * "xp_multiplier": 1.0,
730
+ * "max_daily_xp": 10000,
731
+ * "require_admin_approval_for_rewards": 1,
732
+ * "privacy_mode": "strict"
733
+ * }
734
+ * }
735
+ * ```
736
+ *
737
+ * **Auth**: Requires `gamification.admin.policy` permission
738
+ * **Purpose**: View current privacy and feature settings
739
+ * **Note**: Policy auto-created with restrictive defaults if not exists
740
+ */
741
+ get: operations["getOrgGamificationPolicy"];
742
+ put?: never;
743
+ post?: never;
744
+ delete?: never;
745
+ options?: never;
746
+ head?: never;
747
+ /**
748
+ * Update Org Gamification Policy
749
+ * @description Update organization's gamification policy configuration.
750
+ *
751
+ * **For**: Platform/org admins configuring gamification features
752
+ * **Purpose**: Update feature flags and settings (all fields optional)
753
+ *
754
+ * **Example Request Body**:
755
+ * ```json
756
+ * {
757
+ * "gamification_enabled": 1,
758
+ * "allow_global_leaderboards": 1,
759
+ * "leaderboard_visibility": "org_only",
760
+ * "xp_multiplier": 1.5,
761
+ * "privacy_mode": "moderate"
762
+ * }
763
+ * ```
764
+ *
765
+ * **Business Rules**:
766
+ * - Only provided fields are updated (PATCH-like behavior)
767
+ * - Visibility: global | org_only | private
768
+ * - Privacy mode: strict | moderate | open
769
+ * - XP multiplier affects all future XP awards
770
+ * - Changes take effect immediately (cache invalidated)
771
+ *
772
+ * **Auth**: Requires `gamification.admin.policy` permission
773
+ * **Rate Limit**: 20 requests per minute (config changes are infrequent)
774
+ * **Audit**: All policy changes logged with admin_id
775
+ * **Note**: Invalid visibility/privacy values will be rejected
776
+ */
777
+ patch: operations["updateOrgGamificationPolicy"];
778
+ trace?: never;
779
+ };
780
+ }
781
+ export type webhooks = Record<string, never>;
782
+ export interface components {
783
+ schemas: {
784
+ /** Body_adminCreateXPAward */
785
+ Body_adminCreateXPAward: {
786
+ /**
787
+ * Target User Id
788
+ * @description User ID to award XP to
789
+ */
790
+ target_user_id: number;
791
+ /**
792
+ * Xp Amount
793
+ * @description XP amount (1-100000)
794
+ */
795
+ xp_amount: number;
796
+ /**
797
+ * Reason
798
+ * @description Reason for manual XP award
799
+ */
800
+ reason: string;
801
+ /**
802
+ * Source
803
+ * @description Source identifier
804
+ * @default admin_manual
805
+ */
806
+ source: string;
807
+ };
808
+ /** Body_adminCreateBadgeAward */
809
+ Body_adminCreateBadgeAward: {
810
+ /**
811
+ * Target User Id
812
+ * @description User ID to award badge to
813
+ */
814
+ target_user_id: number;
815
+ /**
816
+ * Badge Id
817
+ * @description Badge ID to award
818
+ */
819
+ badge_id: number;
820
+ /**
821
+ * Reason
822
+ * @description Reason for manual badge award
823
+ */
824
+ reason: string;
825
+ /**
826
+ * Product Type
827
+ * @description Product type (course, test, webinar, custom_module)
828
+ */
829
+ product_type?: string | null;
830
+ /**
831
+ * Product Id
832
+ * @description Product ID
833
+ */
834
+ product_id?: number | null;
835
+ };
836
+ /** Body_adminCreateBadgeRevocation */
837
+ Body_adminCreateBadgeRevocation: {
838
+ /**
839
+ * Target User Id
840
+ * @description User ID to revoke badge from
841
+ */
842
+ target_user_id: number;
843
+ /**
844
+ * Badge Id
845
+ * @description Badge ID to revoke
846
+ */
847
+ badge_id: number;
848
+ /**
849
+ * Reason
850
+ * @description Detailed reason for revocation
851
+ */
852
+ reason: string;
853
+ };
854
+ /**
855
+ * CreateGamificationRuleRequest
856
+ * @description Request model for creating gamification rules
857
+ */
858
+ CreateGamificationRuleRequest: {
859
+ /**
860
+ * Course Id
861
+ * @description Course ID
862
+ */
863
+ course_id: number;
864
+ /**
865
+ * Schedule Id
866
+ * @description Schedule ID (specific content item)
867
+ */
868
+ schedule_id?: number | null;
869
+ /**
870
+ * Content Type Id
871
+ * @description Content type ID
872
+ */
873
+ content_type_id?: number | null;
874
+ /**
875
+ * Event Code
876
+ * @description Event code (e.g., video_completed, quiz_passed)
877
+ */
878
+ event_code: string;
879
+ /**
880
+ * Reward Type
881
+ * @description Reward type: points, badge, or both
882
+ */
883
+ reward_type: string;
884
+ /**
885
+ * Points Value
886
+ * @description Points to award (required if reward_type is points or both)
887
+ */
888
+ points_value?: number | null;
889
+ /**
890
+ * Badge Id
891
+ * @description Badge ID to award (required if reward_type is badge or both)
892
+ */
893
+ badge_id?: number | null;
894
+ /**
895
+ * Condition Type
896
+ * @description Condition type: always, min_score, first_attempt, perfect_score, time_based
897
+ * @default always
898
+ */
899
+ condition_type: string;
900
+ /**
901
+ * Condition Value
902
+ * @description Condition value (JSON object, e.g., {'min_score': 80})
903
+ */
904
+ condition_value?: {
905
+ [key: string]: unknown;
906
+ } | null;
907
+ /**
908
+ * Max Awards Per User
909
+ * @description Maximum times this rule can be awarded to a user
910
+ */
911
+ max_awards_per_user?: number | null;
912
+ /**
913
+ * Cooldown Hours
914
+ * @description Cooldown period in hours between awards
915
+ */
916
+ cooldown_hours?: number | null;
917
+ /**
918
+ * Expires At
919
+ * @description Expiration date/time for this rule
920
+ */
921
+ expires_at?: string | null;
922
+ /**
923
+ * Priority
924
+ * @description Rule priority (higher = evaluated first)
925
+ * @default 0
926
+ */
927
+ priority: number;
928
+ /**
929
+ * Is Active
930
+ * @description Whether rule is active
931
+ * @default true
932
+ */
933
+ is_active: boolean;
934
+ };
935
+ Extensions: {
936
+ /** @example GENERIC_ERROR */
937
+ message_code?: string;
938
+ /** @example [] */
939
+ invalid_params?: components["schemas"]["InvalidParam"][];
940
+ extra_data?: Record<string, never> | null;
941
+ /** @example Detailed debug information */
942
+ debug?: string | null;
943
+ };
944
+ /**
945
+ * GamificationEventRequest
946
+ * @description Request model for submitting gamification events
947
+ */
948
+ GamificationEventRequest: {
949
+ /**
950
+ * Course Id
951
+ * @description Course ID
952
+ */
953
+ course_id: number;
954
+ /**
955
+ * Schedule Id
956
+ * @description Schedule ID (specific content item)
957
+ */
958
+ schedule_id?: number | null;
959
+ /**
960
+ * Content Type Id
961
+ * @description Content type ID
962
+ */
963
+ content_type_id?: number | null;
964
+ /**
965
+ * Event Code
966
+ * @description Event code (e.g., video_completed, quiz_passed)
967
+ */
968
+ event_code: string;
969
+ /**
970
+ * Payload
971
+ * @description Event payload data
972
+ * @default {}
973
+ */
974
+ payload: {
975
+ [key: string]: unknown;
976
+ } | null;
977
+ };
978
+ /**
979
+ * @example {
980
+ * "status": "success",
981
+ * "message": "Operation successful",
982
+ * "message_code": "api_suc_20001",
983
+ * "data": {},
984
+ * "metadata": {
985
+ * "timestamp": "2026-03-26T10:00:00.000Z",
986
+ * "requestId": "07e22004-cb60-4dfc-bc9c-b6f99664dca1",
987
+ * "traceId": "a9f1204c-bb82-41de-b234-7c3a9e120000",
988
+ * "version": "v1",
989
+ * "executionTime": 42,
990
+ * "language": "en-US"
991
+ * }
992
+ * }
993
+ */
994
+ StandardResponse: {
995
+ /** @example success */
996
+ status?: string;
997
+ data?: Record<string, never> | null;
998
+ /** @example Operation successful */
999
+ message?: string | null;
1000
+ /** @example api_suc_20001 */
1001
+ message_code?: string | null;
1002
+ metadata?: Record<string, never> | null;
1003
+ error?: components["schemas"]["ErrorResponse"];
1004
+ };
1005
+ /** Body_updateOrgGamificationPolicy */
1006
+ Body_updateOrgGamificationPolicy: {
1007
+ /**
1008
+ * Gamification Enabled
1009
+ * @description Enable/disable gamification (0/1)
1010
+ */
1011
+ gamification_enabled?: number | null;
1012
+ /**
1013
+ * Allow Global Leaderboards
1014
+ * @description Allow global leaderboards (0/1)
1015
+ */
1016
+ allow_global_leaderboards?: number | null;
1017
+ /**
1018
+ * Allow Cross Org Competition
1019
+ * @description Allow cross-org competition (0/1)
1020
+ */
1021
+ allow_cross_org_competition?: number | null;
1022
+ /**
1023
+ * Allow Public Profiles
1024
+ * @description Allow public profiles (0/1)
1025
+ */
1026
+ allow_public_profiles?: number | null;
1027
+ /**
1028
+ * Allow Nft Badges
1029
+ * @description Allow NFT badges (0/1)
1030
+ */
1031
+ allow_nft_badges?: number | null;
1032
+ /**
1033
+ * Leaderboard Visibility
1034
+ * @description Visibility: global, org_only, private
1035
+ */
1036
+ leaderboard_visibility?: string | null;
1037
+ /**
1038
+ * Badge Visibility
1039
+ * @description Visibility: global, org_only, private
1040
+ */
1041
+ badge_visibility?: string | null;
1042
+ /**
1043
+ * Xp Multiplier
1044
+ * @description XP multiplier (0.5-2.0)
1045
+ */
1046
+ xp_multiplier?: number | null;
1047
+ /**
1048
+ * Max Daily Xp
1049
+ * @description Max daily XP cap
1050
+ */
1051
+ max_daily_xp?: number | null;
1052
+ /**
1053
+ * Require Admin Approval For Rewards
1054
+ * @description Require admin approval (0/1)
1055
+ */
1056
+ require_admin_approval_for_rewards?: number | null;
1057
+ /**
1058
+ * Privacy Mode
1059
+ * @description Privacy: strict, moderate, open
1060
+ */
1061
+ privacy_mode?: string | null;
1062
+ };
1063
+ ErrorResponse: {
1064
+ /** @example about:blank */
1065
+ type?: string;
1066
+ /** @example GENERIC_ERROR */
1067
+ code?: string;
1068
+ /** @example Client Error */
1069
+ title?: string;
1070
+ /** @example 400 */
1071
+ status?: number;
1072
+ /** @example An error occurred */
1073
+ detail?: string;
1074
+ /** @example /v1/cart/items */
1075
+ instance?: string;
1076
+ extensions?: components["schemas"]["Extensions"];
1077
+ };
1078
+ InvalidParam: {
1079
+ /** @example items[0].quantity */
1080
+ field?: string;
1081
+ /** @example Input should be greater than or equal to 1 */
1082
+ error?: string;
1083
+ };
1084
+ /** Body_createPlatformEvent */
1085
+ Body_createPlatformEvent: {
1086
+ /**
1087
+ * Event Code
1088
+ * @description Event code (e.g., course_completed, badge_earned)
1089
+ */
1090
+ event_code: string;
1091
+ /**
1092
+ * Source Type
1093
+ * @description Source type: course, test, webinar, custom_module, quest
1094
+ */
1095
+ source_type: string;
1096
+ /**
1097
+ * Source Id
1098
+ * @description Source ID (course_id, test_id, etc.)
1099
+ */
1100
+ source_id: number;
1101
+ /**
1102
+ * Xp Amount
1103
+ * @description Optional XP amount (calculated if not provided)
1104
+ */
1105
+ xp_amount?: number | null;
1106
+ /**
1107
+ * Payload
1108
+ * @description Additional event data
1109
+ */
1110
+ payload?: {
1111
+ [key: string]: unknown;
1112
+ } | null;
1113
+ };
1114
+ /** Body_adminCreateXPRollback */
1115
+ Body_adminCreateXPRollback: {
1116
+ /**
1117
+ * Target User Id
1118
+ * @description User ID to rollback XP from
1119
+ */
1120
+ target_user_id: number;
1121
+ /**
1122
+ * Xp Amount
1123
+ * @description XP amount to rollback
1124
+ */
1125
+ xp_amount: number;
1126
+ /**
1127
+ * Reason
1128
+ * @description Detailed reason for rollback
1129
+ */
1130
+ reason: string;
1131
+ /**
1132
+ * Reference Ids
1133
+ * @description Activity log IDs or event IDs that were fraudulent
1134
+ */
1135
+ reference_ids?: {
1136
+ [key: string]: unknown;
1137
+ } | null;
1138
+ };
1139
+ };
1140
+ responses: never;
1141
+ parameters: never;
1142
+ requestBodies: never;
1143
+ headers: never;
1144
+ pathItems: never;
1145
+ }
1146
+ export type $defs = Record<string, never>;
1147
+ export interface operations {
1148
+ createGamificationEvent: {
1149
+ parameters: {
1150
+ query?: never;
1151
+ header?: {
1152
+ authorization?: string | null;
1153
+ };
1154
+ path?: never;
1155
+ cookie?: never;
1156
+ };
1157
+ requestBody: {
1158
+ content: {
1159
+ "application/json": components["schemas"]["GamificationEventRequest"];
1160
+ };
1161
+ };
1162
+ responses: {
1163
+ /** @description Successful Response */
1164
+ 200: {
1165
+ headers: {
1166
+ [name: string]: unknown;
1167
+ };
1168
+ content: {
1169
+ "application/json": components["schemas"]["StandardResponse"];
1170
+ };
1171
+ };
1172
+ /** @description Bad Request */
1173
+ 400: {
1174
+ headers: {
1175
+ [name: string]: unknown;
1176
+ };
1177
+ content: {
1178
+ /**
1179
+ * @example {
1180
+ * "status": "error",
1181
+ * "message": "An error occurred",
1182
+ * "message_code": "GENERIC_ERROR",
1183
+ * "metadata": {
1184
+ * "timestamp": "2025-08-05T18:38:57Z",
1185
+ * "requestId": "uuid",
1186
+ * "traceId": "uuid",
1187
+ * "version": "v1",
1188
+ * "executionTime": 0,
1189
+ * "language": "en-US",
1190
+ * "links": [
1191
+ * {
1192
+ * "rel": "self",
1193
+ * "href": "/v1/cart/items",
1194
+ * "method": "POST"
1195
+ * }
1196
+ * ]
1197
+ * },
1198
+ * "error": {
1199
+ * "type": "https://{your-domain}/errors/client-error",
1200
+ * "code": "GENERIC_ERROR",
1201
+ * "title": "Client Error",
1202
+ * "status": 400,
1203
+ * "detail": "An error occurred",
1204
+ * "instance": "/v1/cart/items",
1205
+ * "extensions": {
1206
+ * "message_code": "GENERIC_ERROR",
1207
+ * "invalid_params": []
1208
+ * }
1209
+ * }
1210
+ * }
1211
+ */
1212
+ "application/json": components["schemas"]["StandardResponse"];
1213
+ };
1214
+ };
1215
+ /** @description Unprocessable Entity */
1216
+ 422: {
1217
+ headers: {
1218
+ [name: string]: unknown;
1219
+ };
1220
+ content: {
1221
+ /**
1222
+ * @example {
1223
+ * "status": "error",
1224
+ * "message": "One or more input fields are invalid",
1225
+ * "message_code": "INVALID_INPUT",
1226
+ * "metadata": {
1227
+ * "timestamp": "2025-08-05T18:38:57Z",
1228
+ * "requestId": "uuid",
1229
+ * "traceId": "uuid",
1230
+ * "version": "v1",
1231
+ * "executionTime": 0,
1232
+ * "language": "en-US",
1233
+ * "links": [
1234
+ * {
1235
+ * "rel": "self",
1236
+ * "href": "/v1/cart/items",
1237
+ * "method": "POST"
1238
+ * }
1239
+ * ]
1240
+ * },
1241
+ * "error": {
1242
+ * "type": "https://{your-domain}/errors/invalid-input",
1243
+ * "code": "INVALID_INPUT",
1244
+ * "title": "Invalid Input",
1245
+ * "status": 422,
1246
+ * "detail": "One or more input fields are invalid",
1247
+ * "instance": "/v1/cart/items",
1248
+ * "extensions": {
1249
+ * "message_code": "INVALID_INPUT",
1250
+ * "invalid_params": [
1251
+ * {
1252
+ * "field": "items[0].quantity",
1253
+ * "error": "Input should be greater than or equal to 1"
1254
+ * }
1255
+ * ]
1256
+ * }
1257
+ * }
1258
+ * }
1259
+ */
1260
+ "application/json": components["schemas"]["StandardResponse"];
1261
+ };
1262
+ };
1263
+ /** @description Too Many Requests */
1264
+ 429: {
1265
+ headers: {
1266
+ [name: string]: unknown;
1267
+ };
1268
+ content: {
1269
+ /**
1270
+ * @example {
1271
+ * "status": "error",
1272
+ * "message": "Too many requests",
1273
+ * "message_code": "RATE_LIMIT_EXCEEDED",
1274
+ * "metadata": {
1275
+ * "timestamp": "2025-08-05T18:38:57Z",
1276
+ * "requestId": "uuid",
1277
+ * "traceId": "uuid",
1278
+ * "version": "v1",
1279
+ * "executionTime": 0,
1280
+ * "language": "en-US",
1281
+ * "links": [
1282
+ * {
1283
+ * "rel": "self",
1284
+ * "href": "/v1/cart/items",
1285
+ * "method": "POST"
1286
+ * }
1287
+ * ]
1288
+ * },
1289
+ * "error": {
1290
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
1291
+ * "code": "RATE_LIMIT_EXCEEDED",
1292
+ * "title": "Rate Limit Exceeded",
1293
+ * "status": 429,
1294
+ * "detail": "Too many requests",
1295
+ * "instance": "/v1/cart/items",
1296
+ * "extensions": {
1297
+ * "message_code": "RATE_LIMIT_EXCEEDED",
1298
+ * "invalid_params": []
1299
+ * }
1300
+ * }
1301
+ * }
1302
+ */
1303
+ "application/json": components["schemas"]["StandardResponse"];
1304
+ };
1305
+ };
1306
+ /** @description Internal Server Error */
1307
+ 500: {
1308
+ headers: {
1309
+ [name: string]: unknown;
1310
+ };
1311
+ content: {
1312
+ /**
1313
+ * @example {
1314
+ * "status": "error",
1315
+ * "message": "An unexpected error occurred",
1316
+ * "message_code": "SERVER_ERROR",
1317
+ * "metadata": {
1318
+ * "timestamp": "2025-08-05T18:38:57Z",
1319
+ * "requestId": "uuid",
1320
+ * "traceId": "uuid",
1321
+ * "version": "v1",
1322
+ * "executionTime": 0,
1323
+ * "language": "en-US",
1324
+ * "links": [
1325
+ * {
1326
+ * "rel": "self",
1327
+ * "href": "/v1/cart/items",
1328
+ * "method": "POST"
1329
+ * }
1330
+ * ]
1331
+ * },
1332
+ * "error": {
1333
+ * "type": "https://{your-domain}/errors/server-error",
1334
+ * "code": "SERVER_ERROR",
1335
+ * "title": "Server Error",
1336
+ * "status": 500,
1337
+ * "detail": "An unexpected error occurred",
1338
+ * "instance": "/v1/cart/items",
1339
+ * "extensions": {
1340
+ * "message_code": "SERVER_ERROR",
1341
+ * "invalid_params": []
1342
+ * }
1343
+ * }
1344
+ * }
1345
+ */
1346
+ "application/json": components["schemas"]["StandardResponse"];
1347
+ };
1348
+ };
1349
+ };
1350
+ };
1351
+ getUserCourseProgress: {
1352
+ parameters: {
1353
+ query?: never;
1354
+ header?: {
1355
+ authorization?: string | null;
1356
+ };
1357
+ path: {
1358
+ course_id: number;
1359
+ };
1360
+ cookie?: never;
1361
+ };
1362
+ requestBody?: never;
1363
+ responses: {
1364
+ /** @description Successful Response */
1365
+ 200: {
1366
+ headers: {
1367
+ [name: string]: unknown;
1368
+ };
1369
+ content: {
1370
+ "application/json": components["schemas"]["StandardResponse"];
1371
+ };
1372
+ };
1373
+ /** @description Bad Request */
1374
+ 400: {
1375
+ headers: {
1376
+ [name: string]: unknown;
1377
+ };
1378
+ content: {
1379
+ /**
1380
+ * @example {
1381
+ * "status": "error",
1382
+ * "message": "An error occurred",
1383
+ * "message_code": "GENERIC_ERROR",
1384
+ * "metadata": {
1385
+ * "timestamp": "2025-08-05T18:38:57Z",
1386
+ * "requestId": "uuid",
1387
+ * "traceId": "uuid",
1388
+ * "version": "v1",
1389
+ * "executionTime": 0,
1390
+ * "language": "en-US",
1391
+ * "links": [
1392
+ * {
1393
+ * "rel": "self",
1394
+ * "href": "/v1/cart/items",
1395
+ * "method": "POST"
1396
+ * }
1397
+ * ]
1398
+ * },
1399
+ * "error": {
1400
+ * "type": "https://{your-domain}/errors/client-error",
1401
+ * "code": "GENERIC_ERROR",
1402
+ * "title": "Client Error",
1403
+ * "status": 400,
1404
+ * "detail": "An error occurred",
1405
+ * "instance": "/v1/cart/items",
1406
+ * "extensions": {
1407
+ * "message_code": "GENERIC_ERROR",
1408
+ * "invalid_params": []
1409
+ * }
1410
+ * }
1411
+ * }
1412
+ */
1413
+ "application/json": components["schemas"]["StandardResponse"];
1414
+ };
1415
+ };
1416
+ /** @description Unprocessable Entity */
1417
+ 422: {
1418
+ headers: {
1419
+ [name: string]: unknown;
1420
+ };
1421
+ content: {
1422
+ /**
1423
+ * @example {
1424
+ * "status": "error",
1425
+ * "message": "One or more input fields are invalid",
1426
+ * "message_code": "INVALID_INPUT",
1427
+ * "metadata": {
1428
+ * "timestamp": "2025-08-05T18:38:57Z",
1429
+ * "requestId": "uuid",
1430
+ * "traceId": "uuid",
1431
+ * "version": "v1",
1432
+ * "executionTime": 0,
1433
+ * "language": "en-US",
1434
+ * "links": [
1435
+ * {
1436
+ * "rel": "self",
1437
+ * "href": "/v1/cart/items",
1438
+ * "method": "POST"
1439
+ * }
1440
+ * ]
1441
+ * },
1442
+ * "error": {
1443
+ * "type": "https://{your-domain}/errors/invalid-input",
1444
+ * "code": "INVALID_INPUT",
1445
+ * "title": "Invalid Input",
1446
+ * "status": 422,
1447
+ * "detail": "One or more input fields are invalid",
1448
+ * "instance": "/v1/cart/items",
1449
+ * "extensions": {
1450
+ * "message_code": "INVALID_INPUT",
1451
+ * "invalid_params": [
1452
+ * {
1453
+ * "field": "items[0].quantity",
1454
+ * "error": "Input should be greater than or equal to 1"
1455
+ * }
1456
+ * ]
1457
+ * }
1458
+ * }
1459
+ * }
1460
+ */
1461
+ "application/json": components["schemas"]["StandardResponse"];
1462
+ };
1463
+ };
1464
+ /** @description Too Many Requests */
1465
+ 429: {
1466
+ headers: {
1467
+ [name: string]: unknown;
1468
+ };
1469
+ content: {
1470
+ /**
1471
+ * @example {
1472
+ * "status": "error",
1473
+ * "message": "Too many requests",
1474
+ * "message_code": "RATE_LIMIT_EXCEEDED",
1475
+ * "metadata": {
1476
+ * "timestamp": "2025-08-05T18:38:57Z",
1477
+ * "requestId": "uuid",
1478
+ * "traceId": "uuid",
1479
+ * "version": "v1",
1480
+ * "executionTime": 0,
1481
+ * "language": "en-US",
1482
+ * "links": [
1483
+ * {
1484
+ * "rel": "self",
1485
+ * "href": "/v1/cart/items",
1486
+ * "method": "POST"
1487
+ * }
1488
+ * ]
1489
+ * },
1490
+ * "error": {
1491
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
1492
+ * "code": "RATE_LIMIT_EXCEEDED",
1493
+ * "title": "Rate Limit Exceeded",
1494
+ * "status": 429,
1495
+ * "detail": "Too many requests",
1496
+ * "instance": "/v1/cart/items",
1497
+ * "extensions": {
1498
+ * "message_code": "RATE_LIMIT_EXCEEDED",
1499
+ * "invalid_params": []
1500
+ * }
1501
+ * }
1502
+ * }
1503
+ */
1504
+ "application/json": components["schemas"]["StandardResponse"];
1505
+ };
1506
+ };
1507
+ /** @description Internal Server Error */
1508
+ 500: {
1509
+ headers: {
1510
+ [name: string]: unknown;
1511
+ };
1512
+ content: {
1513
+ /**
1514
+ * @example {
1515
+ * "status": "error",
1516
+ * "message": "An unexpected error occurred",
1517
+ * "message_code": "SERVER_ERROR",
1518
+ * "metadata": {
1519
+ * "timestamp": "2025-08-05T18:38:57Z",
1520
+ * "requestId": "uuid",
1521
+ * "traceId": "uuid",
1522
+ * "version": "v1",
1523
+ * "executionTime": 0,
1524
+ * "language": "en-US",
1525
+ * "links": [
1526
+ * {
1527
+ * "rel": "self",
1528
+ * "href": "/v1/cart/items",
1529
+ * "method": "POST"
1530
+ * }
1531
+ * ]
1532
+ * },
1533
+ * "error": {
1534
+ * "type": "https://{your-domain}/errors/server-error",
1535
+ * "code": "SERVER_ERROR",
1536
+ * "title": "Server Error",
1537
+ * "status": 500,
1538
+ * "detail": "An unexpected error occurred",
1539
+ * "instance": "/v1/cart/items",
1540
+ * "extensions": {
1541
+ * "message_code": "SERVER_ERROR",
1542
+ * "invalid_params": []
1543
+ * }
1544
+ * }
1545
+ * }
1546
+ */
1547
+ "application/json": components["schemas"]["StandardResponse"];
1548
+ };
1549
+ };
1550
+ };
1551
+ };
1552
+ getCourseLeaderboard: {
1553
+ parameters: {
1554
+ query?: {
1555
+ /** @description Leaderboard mode: normalized or speed */
1556
+ mode?: string;
1557
+ /** @description Number of entries (1-100) */
1558
+ limit?: number;
1559
+ /** @description Include authenticated user's rank */
1560
+ include_my_rank?: boolean;
1561
+ };
1562
+ header?: {
1563
+ authorization?: string | null;
1564
+ };
1565
+ path: {
1566
+ course_id: number;
1567
+ };
1568
+ cookie?: never;
1569
+ };
1570
+ requestBody?: never;
1571
+ responses: {
1572
+ /** @description Successful Response */
1573
+ 200: {
1574
+ headers: {
1575
+ [name: string]: unknown;
1576
+ };
1577
+ content: {
1578
+ "application/json": components["schemas"]["StandardResponse"];
1579
+ };
1580
+ };
1581
+ /** @description Bad Request */
1582
+ 400: {
1583
+ headers: {
1584
+ [name: string]: unknown;
1585
+ };
1586
+ content: {
1587
+ /**
1588
+ * @example {
1589
+ * "status": "error",
1590
+ * "message": "An error occurred",
1591
+ * "message_code": "GENERIC_ERROR",
1592
+ * "metadata": {
1593
+ * "timestamp": "2025-08-05T18:38:57Z",
1594
+ * "requestId": "uuid",
1595
+ * "traceId": "uuid",
1596
+ * "version": "v1",
1597
+ * "executionTime": 0,
1598
+ * "language": "en-US",
1599
+ * "links": [
1600
+ * {
1601
+ * "rel": "self",
1602
+ * "href": "/v1/cart/items",
1603
+ * "method": "POST"
1604
+ * }
1605
+ * ]
1606
+ * },
1607
+ * "error": {
1608
+ * "type": "https://{your-domain}/errors/client-error",
1609
+ * "code": "GENERIC_ERROR",
1610
+ * "title": "Client Error",
1611
+ * "status": 400,
1612
+ * "detail": "An error occurred",
1613
+ * "instance": "/v1/cart/items",
1614
+ * "extensions": {
1615
+ * "message_code": "GENERIC_ERROR",
1616
+ * "invalid_params": []
1617
+ * }
1618
+ * }
1619
+ * }
1620
+ */
1621
+ "application/json": components["schemas"]["StandardResponse"];
1622
+ };
1623
+ };
1624
+ /** @description Unprocessable Entity */
1625
+ 422: {
1626
+ headers: {
1627
+ [name: string]: unknown;
1628
+ };
1629
+ content: {
1630
+ /**
1631
+ * @example {
1632
+ * "status": "error",
1633
+ * "message": "One or more input fields are invalid",
1634
+ * "message_code": "INVALID_INPUT",
1635
+ * "metadata": {
1636
+ * "timestamp": "2025-08-05T18:38:57Z",
1637
+ * "requestId": "uuid",
1638
+ * "traceId": "uuid",
1639
+ * "version": "v1",
1640
+ * "executionTime": 0,
1641
+ * "language": "en-US",
1642
+ * "links": [
1643
+ * {
1644
+ * "rel": "self",
1645
+ * "href": "/v1/cart/items",
1646
+ * "method": "POST"
1647
+ * }
1648
+ * ]
1649
+ * },
1650
+ * "error": {
1651
+ * "type": "https://{your-domain}/errors/invalid-input",
1652
+ * "code": "INVALID_INPUT",
1653
+ * "title": "Invalid Input",
1654
+ * "status": 422,
1655
+ * "detail": "One or more input fields are invalid",
1656
+ * "instance": "/v1/cart/items",
1657
+ * "extensions": {
1658
+ * "message_code": "INVALID_INPUT",
1659
+ * "invalid_params": [
1660
+ * {
1661
+ * "field": "items[0].quantity",
1662
+ * "error": "Input should be greater than or equal to 1"
1663
+ * }
1664
+ * ]
1665
+ * }
1666
+ * }
1667
+ * }
1668
+ */
1669
+ "application/json": components["schemas"]["StandardResponse"];
1670
+ };
1671
+ };
1672
+ /** @description Too Many Requests */
1673
+ 429: {
1674
+ headers: {
1675
+ [name: string]: unknown;
1676
+ };
1677
+ content: {
1678
+ /**
1679
+ * @example {
1680
+ * "status": "error",
1681
+ * "message": "Too many requests",
1682
+ * "message_code": "RATE_LIMIT_EXCEEDED",
1683
+ * "metadata": {
1684
+ * "timestamp": "2025-08-05T18:38:57Z",
1685
+ * "requestId": "uuid",
1686
+ * "traceId": "uuid",
1687
+ * "version": "v1",
1688
+ * "executionTime": 0,
1689
+ * "language": "en-US",
1690
+ * "links": [
1691
+ * {
1692
+ * "rel": "self",
1693
+ * "href": "/v1/cart/items",
1694
+ * "method": "POST"
1695
+ * }
1696
+ * ]
1697
+ * },
1698
+ * "error": {
1699
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
1700
+ * "code": "RATE_LIMIT_EXCEEDED",
1701
+ * "title": "Rate Limit Exceeded",
1702
+ * "status": 429,
1703
+ * "detail": "Too many requests",
1704
+ * "instance": "/v1/cart/items",
1705
+ * "extensions": {
1706
+ * "message_code": "RATE_LIMIT_EXCEEDED",
1707
+ * "invalid_params": []
1708
+ * }
1709
+ * }
1710
+ * }
1711
+ */
1712
+ "application/json": components["schemas"]["StandardResponse"];
1713
+ };
1714
+ };
1715
+ /** @description Internal Server Error */
1716
+ 500: {
1717
+ headers: {
1718
+ [name: string]: unknown;
1719
+ };
1720
+ content: {
1721
+ /**
1722
+ * @example {
1723
+ * "status": "error",
1724
+ * "message": "An unexpected error occurred",
1725
+ * "message_code": "SERVER_ERROR",
1726
+ * "metadata": {
1727
+ * "timestamp": "2025-08-05T18:38:57Z",
1728
+ * "requestId": "uuid",
1729
+ * "traceId": "uuid",
1730
+ * "version": "v1",
1731
+ * "executionTime": 0,
1732
+ * "language": "en-US",
1733
+ * "links": [
1734
+ * {
1735
+ * "rel": "self",
1736
+ * "href": "/v1/cart/items",
1737
+ * "method": "POST"
1738
+ * }
1739
+ * ]
1740
+ * },
1741
+ * "error": {
1742
+ * "type": "https://{your-domain}/errors/server-error",
1743
+ * "code": "SERVER_ERROR",
1744
+ * "title": "Server Error",
1745
+ * "status": 500,
1746
+ * "detail": "An unexpected error occurred",
1747
+ * "instance": "/v1/cart/items",
1748
+ * "extensions": {
1749
+ * "message_code": "SERVER_ERROR",
1750
+ * "invalid_params": []
1751
+ * }
1752
+ * }
1753
+ * }
1754
+ */
1755
+ "application/json": components["schemas"]["StandardResponse"];
1756
+ };
1757
+ };
1758
+ };
1759
+ };
1760
+ listCourseUserBadges: {
1761
+ parameters: {
1762
+ query?: {
1763
+ /** @description Filter by course ID */
1764
+ course_id?: number | null;
1765
+ /** @description Badge status: active or all */
1766
+ status?: string;
1767
+ };
1768
+ header?: {
1769
+ authorization?: string | null;
1770
+ };
1771
+ path?: never;
1772
+ cookie?: never;
1773
+ };
1774
+ requestBody?: never;
1775
+ responses: {
1776
+ /** @description Successful Response */
1777
+ 200: {
1778
+ headers: {
1779
+ [name: string]: unknown;
1780
+ };
1781
+ content: {
1782
+ "application/json": components["schemas"]["StandardResponse"];
1783
+ };
1784
+ };
1785
+ /** @description Bad Request */
1786
+ 400: {
1787
+ headers: {
1788
+ [name: string]: unknown;
1789
+ };
1790
+ content: {
1791
+ /**
1792
+ * @example {
1793
+ * "status": "error",
1794
+ * "message": "An error occurred",
1795
+ * "message_code": "GENERIC_ERROR",
1796
+ * "metadata": {
1797
+ * "timestamp": "2025-08-05T18:38:57Z",
1798
+ * "requestId": "uuid",
1799
+ * "traceId": "uuid",
1800
+ * "version": "v1",
1801
+ * "executionTime": 0,
1802
+ * "language": "en-US",
1803
+ * "links": [
1804
+ * {
1805
+ * "rel": "self",
1806
+ * "href": "/v1/cart/items",
1807
+ * "method": "POST"
1808
+ * }
1809
+ * ]
1810
+ * },
1811
+ * "error": {
1812
+ * "type": "https://{your-domain}/errors/client-error",
1813
+ * "code": "GENERIC_ERROR",
1814
+ * "title": "Client Error",
1815
+ * "status": 400,
1816
+ * "detail": "An error occurred",
1817
+ * "instance": "/v1/cart/items",
1818
+ * "extensions": {
1819
+ * "message_code": "GENERIC_ERROR",
1820
+ * "invalid_params": []
1821
+ * }
1822
+ * }
1823
+ * }
1824
+ */
1825
+ "application/json": components["schemas"]["StandardResponse"];
1826
+ };
1827
+ };
1828
+ /** @description Unprocessable Entity */
1829
+ 422: {
1830
+ headers: {
1831
+ [name: string]: unknown;
1832
+ };
1833
+ content: {
1834
+ /**
1835
+ * @example {
1836
+ * "status": "error",
1837
+ * "message": "One or more input fields are invalid",
1838
+ * "message_code": "INVALID_INPUT",
1839
+ * "metadata": {
1840
+ * "timestamp": "2025-08-05T18:38:57Z",
1841
+ * "requestId": "uuid",
1842
+ * "traceId": "uuid",
1843
+ * "version": "v1",
1844
+ * "executionTime": 0,
1845
+ * "language": "en-US",
1846
+ * "links": [
1847
+ * {
1848
+ * "rel": "self",
1849
+ * "href": "/v1/cart/items",
1850
+ * "method": "POST"
1851
+ * }
1852
+ * ]
1853
+ * },
1854
+ * "error": {
1855
+ * "type": "https://{your-domain}/errors/invalid-input",
1856
+ * "code": "INVALID_INPUT",
1857
+ * "title": "Invalid Input",
1858
+ * "status": 422,
1859
+ * "detail": "One or more input fields are invalid",
1860
+ * "instance": "/v1/cart/items",
1861
+ * "extensions": {
1862
+ * "message_code": "INVALID_INPUT",
1863
+ * "invalid_params": [
1864
+ * {
1865
+ * "field": "items[0].quantity",
1866
+ * "error": "Input should be greater than or equal to 1"
1867
+ * }
1868
+ * ]
1869
+ * }
1870
+ * }
1871
+ * }
1872
+ */
1873
+ "application/json": components["schemas"]["StandardResponse"];
1874
+ };
1875
+ };
1876
+ /** @description Too Many Requests */
1877
+ 429: {
1878
+ headers: {
1879
+ [name: string]: unknown;
1880
+ };
1881
+ content: {
1882
+ /**
1883
+ * @example {
1884
+ * "status": "error",
1885
+ * "message": "Too many requests",
1886
+ * "message_code": "RATE_LIMIT_EXCEEDED",
1887
+ * "metadata": {
1888
+ * "timestamp": "2025-08-05T18:38:57Z",
1889
+ * "requestId": "uuid",
1890
+ * "traceId": "uuid",
1891
+ * "version": "v1",
1892
+ * "executionTime": 0,
1893
+ * "language": "en-US",
1894
+ * "links": [
1895
+ * {
1896
+ * "rel": "self",
1897
+ * "href": "/v1/cart/items",
1898
+ * "method": "POST"
1899
+ * }
1900
+ * ]
1901
+ * },
1902
+ * "error": {
1903
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
1904
+ * "code": "RATE_LIMIT_EXCEEDED",
1905
+ * "title": "Rate Limit Exceeded",
1906
+ * "status": 429,
1907
+ * "detail": "Too many requests",
1908
+ * "instance": "/v1/cart/items",
1909
+ * "extensions": {
1910
+ * "message_code": "RATE_LIMIT_EXCEEDED",
1911
+ * "invalid_params": []
1912
+ * }
1913
+ * }
1914
+ * }
1915
+ */
1916
+ "application/json": components["schemas"]["StandardResponse"];
1917
+ };
1918
+ };
1919
+ /** @description Internal Server Error */
1920
+ 500: {
1921
+ headers: {
1922
+ [name: string]: unknown;
1923
+ };
1924
+ content: {
1925
+ /**
1926
+ * @example {
1927
+ * "status": "error",
1928
+ * "message": "An unexpected error occurred",
1929
+ * "message_code": "SERVER_ERROR",
1930
+ * "metadata": {
1931
+ * "timestamp": "2025-08-05T18:38:57Z",
1932
+ * "requestId": "uuid",
1933
+ * "traceId": "uuid",
1934
+ * "version": "v1",
1935
+ * "executionTime": 0,
1936
+ * "language": "en-US",
1937
+ * "links": [
1938
+ * {
1939
+ * "rel": "self",
1940
+ * "href": "/v1/cart/items",
1941
+ * "method": "POST"
1942
+ * }
1943
+ * ]
1944
+ * },
1945
+ * "error": {
1946
+ * "type": "https://{your-domain}/errors/server-error",
1947
+ * "code": "SERVER_ERROR",
1948
+ * "title": "Server Error",
1949
+ * "status": 500,
1950
+ * "detail": "An unexpected error occurred",
1951
+ * "instance": "/v1/cart/items",
1952
+ * "extensions": {
1953
+ * "message_code": "SERVER_ERROR",
1954
+ * "invalid_params": []
1955
+ * }
1956
+ * }
1957
+ * }
1958
+ */
1959
+ "application/json": components["schemas"]["StandardResponse"];
1960
+ };
1961
+ };
1962
+ };
1963
+ };
1964
+ listBadgeCatalog: {
1965
+ parameters: {
1966
+ query?: {
1967
+ /** @description Filter by badge type: achievement, progression, medal, tier */
1968
+ badge_type?: string | null;
1969
+ /** @description Show only active badges */
1970
+ is_active?: boolean;
1971
+ };
1972
+ header?: {
1973
+ authorization?: string | null;
1974
+ };
1975
+ path?: never;
1976
+ cookie?: never;
1977
+ };
1978
+ requestBody?: never;
1979
+ responses: {
1980
+ /** @description Successful Response */
1981
+ 200: {
1982
+ headers: {
1983
+ [name: string]: unknown;
1984
+ };
1985
+ content: {
1986
+ "application/json": components["schemas"]["StandardResponse"];
1987
+ };
1988
+ };
1989
+ /** @description Bad Request */
1990
+ 400: {
1991
+ headers: {
1992
+ [name: string]: unknown;
1993
+ };
1994
+ content: {
1995
+ /**
1996
+ * @example {
1997
+ * "status": "error",
1998
+ * "message": "An error occurred",
1999
+ * "message_code": "GENERIC_ERROR",
2000
+ * "metadata": {
2001
+ * "timestamp": "2025-08-05T18:38:57Z",
2002
+ * "requestId": "uuid",
2003
+ * "traceId": "uuid",
2004
+ * "version": "v1",
2005
+ * "executionTime": 0,
2006
+ * "language": "en-US",
2007
+ * "links": [
2008
+ * {
2009
+ * "rel": "self",
2010
+ * "href": "/v1/cart/items",
2011
+ * "method": "POST"
2012
+ * }
2013
+ * ]
2014
+ * },
2015
+ * "error": {
2016
+ * "type": "https://{your-domain}/errors/client-error",
2017
+ * "code": "GENERIC_ERROR",
2018
+ * "title": "Client Error",
2019
+ * "status": 400,
2020
+ * "detail": "An error occurred",
2021
+ * "instance": "/v1/cart/items",
2022
+ * "extensions": {
2023
+ * "message_code": "GENERIC_ERROR",
2024
+ * "invalid_params": []
2025
+ * }
2026
+ * }
2027
+ * }
2028
+ */
2029
+ "application/json": components["schemas"]["StandardResponse"];
2030
+ };
2031
+ };
2032
+ /** @description Unprocessable Entity */
2033
+ 422: {
2034
+ headers: {
2035
+ [name: string]: unknown;
2036
+ };
2037
+ content: {
2038
+ /**
2039
+ * @example {
2040
+ * "status": "error",
2041
+ * "message": "One or more input fields are invalid",
2042
+ * "message_code": "INVALID_INPUT",
2043
+ * "metadata": {
2044
+ * "timestamp": "2025-08-05T18:38:57Z",
2045
+ * "requestId": "uuid",
2046
+ * "traceId": "uuid",
2047
+ * "version": "v1",
2048
+ * "executionTime": 0,
2049
+ * "language": "en-US",
2050
+ * "links": [
2051
+ * {
2052
+ * "rel": "self",
2053
+ * "href": "/v1/cart/items",
2054
+ * "method": "POST"
2055
+ * }
2056
+ * ]
2057
+ * },
2058
+ * "error": {
2059
+ * "type": "https://{your-domain}/errors/invalid-input",
2060
+ * "code": "INVALID_INPUT",
2061
+ * "title": "Invalid Input",
2062
+ * "status": 422,
2063
+ * "detail": "One or more input fields are invalid",
2064
+ * "instance": "/v1/cart/items",
2065
+ * "extensions": {
2066
+ * "message_code": "INVALID_INPUT",
2067
+ * "invalid_params": [
2068
+ * {
2069
+ * "field": "items[0].quantity",
2070
+ * "error": "Input should be greater than or equal to 1"
2071
+ * }
2072
+ * ]
2073
+ * }
2074
+ * }
2075
+ * }
2076
+ */
2077
+ "application/json": components["schemas"]["StandardResponse"];
2078
+ };
2079
+ };
2080
+ /** @description Too Many Requests */
2081
+ 429: {
2082
+ headers: {
2083
+ [name: string]: unknown;
2084
+ };
2085
+ content: {
2086
+ /**
2087
+ * @example {
2088
+ * "status": "error",
2089
+ * "message": "Too many requests",
2090
+ * "message_code": "RATE_LIMIT_EXCEEDED",
2091
+ * "metadata": {
2092
+ * "timestamp": "2025-08-05T18:38:57Z",
2093
+ * "requestId": "uuid",
2094
+ * "traceId": "uuid",
2095
+ * "version": "v1",
2096
+ * "executionTime": 0,
2097
+ * "language": "en-US",
2098
+ * "links": [
2099
+ * {
2100
+ * "rel": "self",
2101
+ * "href": "/v1/cart/items",
2102
+ * "method": "POST"
2103
+ * }
2104
+ * ]
2105
+ * },
2106
+ * "error": {
2107
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
2108
+ * "code": "RATE_LIMIT_EXCEEDED",
2109
+ * "title": "Rate Limit Exceeded",
2110
+ * "status": 429,
2111
+ * "detail": "Too many requests",
2112
+ * "instance": "/v1/cart/items",
2113
+ * "extensions": {
2114
+ * "message_code": "RATE_LIMIT_EXCEEDED",
2115
+ * "invalid_params": []
2116
+ * }
2117
+ * }
2118
+ * }
2119
+ */
2120
+ "application/json": components["schemas"]["StandardResponse"];
2121
+ };
2122
+ };
2123
+ /** @description Internal Server Error */
2124
+ 500: {
2125
+ headers: {
2126
+ [name: string]: unknown;
2127
+ };
2128
+ content: {
2129
+ /**
2130
+ * @example {
2131
+ * "status": "error",
2132
+ * "message": "An unexpected error occurred",
2133
+ * "message_code": "SERVER_ERROR",
2134
+ * "metadata": {
2135
+ * "timestamp": "2025-08-05T18:38:57Z",
2136
+ * "requestId": "uuid",
2137
+ * "traceId": "uuid",
2138
+ * "version": "v1",
2139
+ * "executionTime": 0,
2140
+ * "language": "en-US",
2141
+ * "links": [
2142
+ * {
2143
+ * "rel": "self",
2144
+ * "href": "/v1/cart/items",
2145
+ * "method": "POST"
2146
+ * }
2147
+ * ]
2148
+ * },
2149
+ * "error": {
2150
+ * "type": "https://{your-domain}/errors/server-error",
2151
+ * "code": "SERVER_ERROR",
2152
+ * "title": "Server Error",
2153
+ * "status": 500,
2154
+ * "detail": "An unexpected error occurred",
2155
+ * "instance": "/v1/cart/items",
2156
+ * "extensions": {
2157
+ * "message_code": "SERVER_ERROR",
2158
+ * "invalid_params": []
2159
+ * }
2160
+ * }
2161
+ * }
2162
+ */
2163
+ "application/json": components["schemas"]["StandardResponse"];
2164
+ };
2165
+ };
2166
+ };
2167
+ };
2168
+ createGamificationRule: {
2169
+ parameters: {
2170
+ query?: never;
2171
+ header?: {
2172
+ authorization?: string | null;
2173
+ };
2174
+ path?: never;
2175
+ cookie?: never;
2176
+ };
2177
+ requestBody: {
2178
+ content: {
2179
+ "application/json": components["schemas"]["CreateGamificationRuleRequest"];
2180
+ };
2181
+ };
2182
+ responses: {
2183
+ /** @description Successful Response */
2184
+ 201: {
2185
+ headers: {
2186
+ [name: string]: unknown;
2187
+ };
2188
+ content: {
2189
+ "application/json": components["schemas"]["StandardResponse"];
2190
+ };
2191
+ };
2192
+ /** @description Bad Request */
2193
+ 400: {
2194
+ headers: {
2195
+ [name: string]: unknown;
2196
+ };
2197
+ content: {
2198
+ /**
2199
+ * @example {
2200
+ * "status": "error",
2201
+ * "message": "An error occurred",
2202
+ * "message_code": "GENERIC_ERROR",
2203
+ * "metadata": {
2204
+ * "timestamp": "2025-08-05T18:38:57Z",
2205
+ * "requestId": "uuid",
2206
+ * "traceId": "uuid",
2207
+ * "version": "v1",
2208
+ * "executionTime": 0,
2209
+ * "language": "en-US",
2210
+ * "links": [
2211
+ * {
2212
+ * "rel": "self",
2213
+ * "href": "/v1/cart/items",
2214
+ * "method": "POST"
2215
+ * }
2216
+ * ]
2217
+ * },
2218
+ * "error": {
2219
+ * "type": "https://{your-domain}/errors/client-error",
2220
+ * "code": "GENERIC_ERROR",
2221
+ * "title": "Client Error",
2222
+ * "status": 400,
2223
+ * "detail": "An error occurred",
2224
+ * "instance": "/v1/cart/items",
2225
+ * "extensions": {
2226
+ * "message_code": "GENERIC_ERROR",
2227
+ * "invalid_params": []
2228
+ * }
2229
+ * }
2230
+ * }
2231
+ */
2232
+ "application/json": components["schemas"]["StandardResponse"];
2233
+ };
2234
+ };
2235
+ /** @description Unprocessable Entity */
2236
+ 422: {
2237
+ headers: {
2238
+ [name: string]: unknown;
2239
+ };
2240
+ content: {
2241
+ /**
2242
+ * @example {
2243
+ * "status": "error",
2244
+ * "message": "One or more input fields are invalid",
2245
+ * "message_code": "INVALID_INPUT",
2246
+ * "metadata": {
2247
+ * "timestamp": "2025-08-05T18:38:57Z",
2248
+ * "requestId": "uuid",
2249
+ * "traceId": "uuid",
2250
+ * "version": "v1",
2251
+ * "executionTime": 0,
2252
+ * "language": "en-US",
2253
+ * "links": [
2254
+ * {
2255
+ * "rel": "self",
2256
+ * "href": "/v1/cart/items",
2257
+ * "method": "POST"
2258
+ * }
2259
+ * ]
2260
+ * },
2261
+ * "error": {
2262
+ * "type": "https://{your-domain}/errors/invalid-input",
2263
+ * "code": "INVALID_INPUT",
2264
+ * "title": "Invalid Input",
2265
+ * "status": 422,
2266
+ * "detail": "One or more input fields are invalid",
2267
+ * "instance": "/v1/cart/items",
2268
+ * "extensions": {
2269
+ * "message_code": "INVALID_INPUT",
2270
+ * "invalid_params": [
2271
+ * {
2272
+ * "field": "items[0].quantity",
2273
+ * "error": "Input should be greater than or equal to 1"
2274
+ * }
2275
+ * ]
2276
+ * }
2277
+ * }
2278
+ * }
2279
+ */
2280
+ "application/json": components["schemas"]["StandardResponse"];
2281
+ };
2282
+ };
2283
+ /** @description Too Many Requests */
2284
+ 429: {
2285
+ headers: {
2286
+ [name: string]: unknown;
2287
+ };
2288
+ content: {
2289
+ /**
2290
+ * @example {
2291
+ * "status": "error",
2292
+ * "message": "Too many requests",
2293
+ * "message_code": "RATE_LIMIT_EXCEEDED",
2294
+ * "metadata": {
2295
+ * "timestamp": "2025-08-05T18:38:57Z",
2296
+ * "requestId": "uuid",
2297
+ * "traceId": "uuid",
2298
+ * "version": "v1",
2299
+ * "executionTime": 0,
2300
+ * "language": "en-US",
2301
+ * "links": [
2302
+ * {
2303
+ * "rel": "self",
2304
+ * "href": "/v1/cart/items",
2305
+ * "method": "POST"
2306
+ * }
2307
+ * ]
2308
+ * },
2309
+ * "error": {
2310
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
2311
+ * "code": "RATE_LIMIT_EXCEEDED",
2312
+ * "title": "Rate Limit Exceeded",
2313
+ * "status": 429,
2314
+ * "detail": "Too many requests",
2315
+ * "instance": "/v1/cart/items",
2316
+ * "extensions": {
2317
+ * "message_code": "RATE_LIMIT_EXCEEDED",
2318
+ * "invalid_params": []
2319
+ * }
2320
+ * }
2321
+ * }
2322
+ */
2323
+ "application/json": components["schemas"]["StandardResponse"];
2324
+ };
2325
+ };
2326
+ /** @description Internal Server Error */
2327
+ 500: {
2328
+ headers: {
2329
+ [name: string]: unknown;
2330
+ };
2331
+ content: {
2332
+ /**
2333
+ * @example {
2334
+ * "status": "error",
2335
+ * "message": "An unexpected error occurred",
2336
+ * "message_code": "SERVER_ERROR",
2337
+ * "metadata": {
2338
+ * "timestamp": "2025-08-05T18:38:57Z",
2339
+ * "requestId": "uuid",
2340
+ * "traceId": "uuid",
2341
+ * "version": "v1",
2342
+ * "executionTime": 0,
2343
+ * "language": "en-US",
2344
+ * "links": [
2345
+ * {
2346
+ * "rel": "self",
2347
+ * "href": "/v1/cart/items",
2348
+ * "method": "POST"
2349
+ * }
2350
+ * ]
2351
+ * },
2352
+ * "error": {
2353
+ * "type": "https://{your-domain}/errors/server-error",
2354
+ * "code": "SERVER_ERROR",
2355
+ * "title": "Server Error",
2356
+ * "status": 500,
2357
+ * "detail": "An unexpected error occurred",
2358
+ * "instance": "/v1/cart/items",
2359
+ * "extensions": {
2360
+ * "message_code": "SERVER_ERROR",
2361
+ * "invalid_params": []
2362
+ * }
2363
+ * }
2364
+ * }
2365
+ */
2366
+ "application/json": components["schemas"]["StandardResponse"];
2367
+ };
2368
+ };
2369
+ };
2370
+ };
2371
+ getPlatformProgress: {
2372
+ parameters: {
2373
+ query?: never;
2374
+ header?: {
2375
+ authorization?: string | null;
2376
+ };
2377
+ path?: never;
2378
+ cookie?: never;
2379
+ };
2380
+ requestBody?: never;
2381
+ responses: {
2382
+ /** @description Successful Response */
2383
+ 200: {
2384
+ headers: {
2385
+ [name: string]: unknown;
2386
+ };
2387
+ content: {
2388
+ "application/json": components["schemas"]["StandardResponse"];
2389
+ };
2390
+ };
2391
+ /** @description Bad Request */
2392
+ 400: {
2393
+ headers: {
2394
+ [name: string]: unknown;
2395
+ };
2396
+ content: {
2397
+ /**
2398
+ * @example {
2399
+ * "status": "error",
2400
+ * "message": "An error occurred",
2401
+ * "message_code": "GENERIC_ERROR",
2402
+ * "metadata": {
2403
+ * "timestamp": "2025-08-05T18:38:57Z",
2404
+ * "requestId": "uuid",
2405
+ * "traceId": "uuid",
2406
+ * "version": "v1",
2407
+ * "executionTime": 0,
2408
+ * "language": "en-US",
2409
+ * "links": [
2410
+ * {
2411
+ * "rel": "self",
2412
+ * "href": "/v1/cart/items",
2413
+ * "method": "POST"
2414
+ * }
2415
+ * ]
2416
+ * },
2417
+ * "error": {
2418
+ * "type": "https://{your-domain}/errors/client-error",
2419
+ * "code": "GENERIC_ERROR",
2420
+ * "title": "Client Error",
2421
+ * "status": 400,
2422
+ * "detail": "An error occurred",
2423
+ * "instance": "/v1/cart/items",
2424
+ * "extensions": {
2425
+ * "message_code": "GENERIC_ERROR",
2426
+ * "invalid_params": []
2427
+ * }
2428
+ * }
2429
+ * }
2430
+ */
2431
+ "application/json": components["schemas"]["StandardResponse"];
2432
+ };
2433
+ };
2434
+ /** @description Unprocessable Entity */
2435
+ 422: {
2436
+ headers: {
2437
+ [name: string]: unknown;
2438
+ };
2439
+ content: {
2440
+ /**
2441
+ * @example {
2442
+ * "status": "error",
2443
+ * "message": "One or more input fields are invalid",
2444
+ * "message_code": "INVALID_INPUT",
2445
+ * "metadata": {
2446
+ * "timestamp": "2025-08-05T18:38:57Z",
2447
+ * "requestId": "uuid",
2448
+ * "traceId": "uuid",
2449
+ * "version": "v1",
2450
+ * "executionTime": 0,
2451
+ * "language": "en-US",
2452
+ * "links": [
2453
+ * {
2454
+ * "rel": "self",
2455
+ * "href": "/v1/cart/items",
2456
+ * "method": "POST"
2457
+ * }
2458
+ * ]
2459
+ * },
2460
+ * "error": {
2461
+ * "type": "https://{your-domain}/errors/invalid-input",
2462
+ * "code": "INVALID_INPUT",
2463
+ * "title": "Invalid Input",
2464
+ * "status": 422,
2465
+ * "detail": "One or more input fields are invalid",
2466
+ * "instance": "/v1/cart/items",
2467
+ * "extensions": {
2468
+ * "message_code": "INVALID_INPUT",
2469
+ * "invalid_params": [
2470
+ * {
2471
+ * "field": "items[0].quantity",
2472
+ * "error": "Input should be greater than or equal to 1"
2473
+ * }
2474
+ * ]
2475
+ * }
2476
+ * }
2477
+ * }
2478
+ */
2479
+ "application/json": components["schemas"]["StandardResponse"];
2480
+ };
2481
+ };
2482
+ /** @description Too Many Requests */
2483
+ 429: {
2484
+ headers: {
2485
+ [name: string]: unknown;
2486
+ };
2487
+ content: {
2488
+ /**
2489
+ * @example {
2490
+ * "status": "error",
2491
+ * "message": "Too many requests",
2492
+ * "message_code": "RATE_LIMIT_EXCEEDED",
2493
+ * "metadata": {
2494
+ * "timestamp": "2025-08-05T18:38:57Z",
2495
+ * "requestId": "uuid",
2496
+ * "traceId": "uuid",
2497
+ * "version": "v1",
2498
+ * "executionTime": 0,
2499
+ * "language": "en-US",
2500
+ * "links": [
2501
+ * {
2502
+ * "rel": "self",
2503
+ * "href": "/v1/cart/items",
2504
+ * "method": "POST"
2505
+ * }
2506
+ * ]
2507
+ * },
2508
+ * "error": {
2509
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
2510
+ * "code": "RATE_LIMIT_EXCEEDED",
2511
+ * "title": "Rate Limit Exceeded",
2512
+ * "status": 429,
2513
+ * "detail": "Too many requests",
2514
+ * "instance": "/v1/cart/items",
2515
+ * "extensions": {
2516
+ * "message_code": "RATE_LIMIT_EXCEEDED",
2517
+ * "invalid_params": []
2518
+ * }
2519
+ * }
2520
+ * }
2521
+ */
2522
+ "application/json": components["schemas"]["StandardResponse"];
2523
+ };
2524
+ };
2525
+ /** @description Internal Server Error */
2526
+ 500: {
2527
+ headers: {
2528
+ [name: string]: unknown;
2529
+ };
2530
+ content: {
2531
+ /**
2532
+ * @example {
2533
+ * "status": "error",
2534
+ * "message": "An unexpected error occurred",
2535
+ * "message_code": "SERVER_ERROR",
2536
+ * "metadata": {
2537
+ * "timestamp": "2025-08-05T18:38:57Z",
2538
+ * "requestId": "uuid",
2539
+ * "traceId": "uuid",
2540
+ * "version": "v1",
2541
+ * "executionTime": 0,
2542
+ * "language": "en-US",
2543
+ * "links": [
2544
+ * {
2545
+ * "rel": "self",
2546
+ * "href": "/v1/cart/items",
2547
+ * "method": "POST"
2548
+ * }
2549
+ * ]
2550
+ * },
2551
+ * "error": {
2552
+ * "type": "https://{your-domain}/errors/server-error",
2553
+ * "code": "SERVER_ERROR",
2554
+ * "title": "Server Error",
2555
+ * "status": 500,
2556
+ * "detail": "An unexpected error occurred",
2557
+ * "instance": "/v1/cart/items",
2558
+ * "extensions": {
2559
+ * "message_code": "SERVER_ERROR",
2560
+ * "invalid_params": []
2561
+ * }
2562
+ * }
2563
+ * }
2564
+ */
2565
+ "application/json": components["schemas"]["StandardResponse"];
2566
+ };
2567
+ };
2568
+ };
2569
+ };
2570
+ getPlatformLeaderboard: {
2571
+ parameters: {
2572
+ query: {
2573
+ /** @description Type: seasonal, monthly, weekly */
2574
+ leaderboard_type: string;
2575
+ /** @description Max entries to return */
2576
+ limit?: number;
2577
+ };
2578
+ header?: {
2579
+ authorization?: string | null;
2580
+ };
2581
+ path?: never;
2582
+ cookie?: never;
2583
+ };
2584
+ requestBody?: never;
2585
+ responses: {
2586
+ /** @description Successful Response */
2587
+ 200: {
2588
+ headers: {
2589
+ [name: string]: unknown;
2590
+ };
2591
+ content: {
2592
+ "application/json": components["schemas"]["StandardResponse"];
2593
+ };
2594
+ };
2595
+ /** @description Bad Request */
2596
+ 400: {
2597
+ headers: {
2598
+ [name: string]: unknown;
2599
+ };
2600
+ content: {
2601
+ /**
2602
+ * @example {
2603
+ * "status": "error",
2604
+ * "message": "An error occurred",
2605
+ * "message_code": "GENERIC_ERROR",
2606
+ * "metadata": {
2607
+ * "timestamp": "2025-08-05T18:38:57Z",
2608
+ * "requestId": "uuid",
2609
+ * "traceId": "uuid",
2610
+ * "version": "v1",
2611
+ * "executionTime": 0,
2612
+ * "language": "en-US",
2613
+ * "links": [
2614
+ * {
2615
+ * "rel": "self",
2616
+ * "href": "/v1/cart/items",
2617
+ * "method": "POST"
2618
+ * }
2619
+ * ]
2620
+ * },
2621
+ * "error": {
2622
+ * "type": "https://{your-domain}/errors/client-error",
2623
+ * "code": "GENERIC_ERROR",
2624
+ * "title": "Client Error",
2625
+ * "status": 400,
2626
+ * "detail": "An error occurred",
2627
+ * "instance": "/v1/cart/items",
2628
+ * "extensions": {
2629
+ * "message_code": "GENERIC_ERROR",
2630
+ * "invalid_params": []
2631
+ * }
2632
+ * }
2633
+ * }
2634
+ */
2635
+ "application/json": components["schemas"]["StandardResponse"];
2636
+ };
2637
+ };
2638
+ /** @description Unprocessable Entity */
2639
+ 422: {
2640
+ headers: {
2641
+ [name: string]: unknown;
2642
+ };
2643
+ content: {
2644
+ /**
2645
+ * @example {
2646
+ * "status": "error",
2647
+ * "message": "One or more input fields are invalid",
2648
+ * "message_code": "INVALID_INPUT",
2649
+ * "metadata": {
2650
+ * "timestamp": "2025-08-05T18:38:57Z",
2651
+ * "requestId": "uuid",
2652
+ * "traceId": "uuid",
2653
+ * "version": "v1",
2654
+ * "executionTime": 0,
2655
+ * "language": "en-US",
2656
+ * "links": [
2657
+ * {
2658
+ * "rel": "self",
2659
+ * "href": "/v1/cart/items",
2660
+ * "method": "POST"
2661
+ * }
2662
+ * ]
2663
+ * },
2664
+ * "error": {
2665
+ * "type": "https://{your-domain}/errors/invalid-input",
2666
+ * "code": "INVALID_INPUT",
2667
+ * "title": "Invalid Input",
2668
+ * "status": 422,
2669
+ * "detail": "One or more input fields are invalid",
2670
+ * "instance": "/v1/cart/items",
2671
+ * "extensions": {
2672
+ * "message_code": "INVALID_INPUT",
2673
+ * "invalid_params": [
2674
+ * {
2675
+ * "field": "items[0].quantity",
2676
+ * "error": "Input should be greater than or equal to 1"
2677
+ * }
2678
+ * ]
2679
+ * }
2680
+ * }
2681
+ * }
2682
+ */
2683
+ "application/json": components["schemas"]["StandardResponse"];
2684
+ };
2685
+ };
2686
+ /** @description Too Many Requests */
2687
+ 429: {
2688
+ headers: {
2689
+ [name: string]: unknown;
2690
+ };
2691
+ content: {
2692
+ /**
2693
+ * @example {
2694
+ * "status": "error",
2695
+ * "message": "Too many requests",
2696
+ * "message_code": "RATE_LIMIT_EXCEEDED",
2697
+ * "metadata": {
2698
+ * "timestamp": "2025-08-05T18:38:57Z",
2699
+ * "requestId": "uuid",
2700
+ * "traceId": "uuid",
2701
+ * "version": "v1",
2702
+ * "executionTime": 0,
2703
+ * "language": "en-US",
2704
+ * "links": [
2705
+ * {
2706
+ * "rel": "self",
2707
+ * "href": "/v1/cart/items",
2708
+ * "method": "POST"
2709
+ * }
2710
+ * ]
2711
+ * },
2712
+ * "error": {
2713
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
2714
+ * "code": "RATE_LIMIT_EXCEEDED",
2715
+ * "title": "Rate Limit Exceeded",
2716
+ * "status": 429,
2717
+ * "detail": "Too many requests",
2718
+ * "instance": "/v1/cart/items",
2719
+ * "extensions": {
2720
+ * "message_code": "RATE_LIMIT_EXCEEDED",
2721
+ * "invalid_params": []
2722
+ * }
2723
+ * }
2724
+ * }
2725
+ */
2726
+ "application/json": components["schemas"]["StandardResponse"];
2727
+ };
2728
+ };
2729
+ /** @description Internal Server Error */
2730
+ 500: {
2731
+ headers: {
2732
+ [name: string]: unknown;
2733
+ };
2734
+ content: {
2735
+ /**
2736
+ * @example {
2737
+ * "status": "error",
2738
+ * "message": "An unexpected error occurred",
2739
+ * "message_code": "SERVER_ERROR",
2740
+ * "metadata": {
2741
+ * "timestamp": "2025-08-05T18:38:57Z",
2742
+ * "requestId": "uuid",
2743
+ * "traceId": "uuid",
2744
+ * "version": "v1",
2745
+ * "executionTime": 0,
2746
+ * "language": "en-US",
2747
+ * "links": [
2748
+ * {
2749
+ * "rel": "self",
2750
+ * "href": "/v1/cart/items",
2751
+ * "method": "POST"
2752
+ * }
2753
+ * ]
2754
+ * },
2755
+ * "error": {
2756
+ * "type": "https://{your-domain}/errors/server-error",
2757
+ * "code": "SERVER_ERROR",
2758
+ * "title": "Server Error",
2759
+ * "status": 500,
2760
+ * "detail": "An unexpected error occurred",
2761
+ * "instance": "/v1/cart/items",
2762
+ * "extensions": {
2763
+ * "message_code": "SERVER_ERROR",
2764
+ * "invalid_params": []
2765
+ * }
2766
+ * }
2767
+ * }
2768
+ */
2769
+ "application/json": components["schemas"]["StandardResponse"];
2770
+ };
2771
+ };
2772
+ };
2773
+ };
2774
+ listUserBadges: {
2775
+ parameters: {
2776
+ query?: {
2777
+ /** @description Badge status: active, expired, revoked */
2778
+ status?: string;
2779
+ /** @description Filter by product type */
2780
+ product_type?: string | null;
2781
+ };
2782
+ header?: {
2783
+ authorization?: string | null;
2784
+ };
2785
+ path?: never;
2786
+ cookie?: never;
2787
+ };
2788
+ requestBody?: never;
2789
+ responses: {
2790
+ /** @description Successful Response */
2791
+ 200: {
2792
+ headers: {
2793
+ [name: string]: unknown;
2794
+ };
2795
+ content: {
2796
+ "application/json": components["schemas"]["StandardResponse"];
2797
+ };
2798
+ };
2799
+ /** @description Bad Request */
2800
+ 400: {
2801
+ headers: {
2802
+ [name: string]: unknown;
2803
+ };
2804
+ content: {
2805
+ /**
2806
+ * @example {
2807
+ * "status": "error",
2808
+ * "message": "An error occurred",
2809
+ * "message_code": "GENERIC_ERROR",
2810
+ * "metadata": {
2811
+ * "timestamp": "2025-08-05T18:38:57Z",
2812
+ * "requestId": "uuid",
2813
+ * "traceId": "uuid",
2814
+ * "version": "v1",
2815
+ * "executionTime": 0,
2816
+ * "language": "en-US",
2817
+ * "links": [
2818
+ * {
2819
+ * "rel": "self",
2820
+ * "href": "/v1/cart/items",
2821
+ * "method": "POST"
2822
+ * }
2823
+ * ]
2824
+ * },
2825
+ * "error": {
2826
+ * "type": "https://{your-domain}/errors/client-error",
2827
+ * "code": "GENERIC_ERROR",
2828
+ * "title": "Client Error",
2829
+ * "status": 400,
2830
+ * "detail": "An error occurred",
2831
+ * "instance": "/v1/cart/items",
2832
+ * "extensions": {
2833
+ * "message_code": "GENERIC_ERROR",
2834
+ * "invalid_params": []
2835
+ * }
2836
+ * }
2837
+ * }
2838
+ */
2839
+ "application/json": components["schemas"]["StandardResponse"];
2840
+ };
2841
+ };
2842
+ /** @description Unprocessable Entity */
2843
+ 422: {
2844
+ headers: {
2845
+ [name: string]: unknown;
2846
+ };
2847
+ content: {
2848
+ /**
2849
+ * @example {
2850
+ * "status": "error",
2851
+ * "message": "One or more input fields are invalid",
2852
+ * "message_code": "INVALID_INPUT",
2853
+ * "metadata": {
2854
+ * "timestamp": "2025-08-05T18:38:57Z",
2855
+ * "requestId": "uuid",
2856
+ * "traceId": "uuid",
2857
+ * "version": "v1",
2858
+ * "executionTime": 0,
2859
+ * "language": "en-US",
2860
+ * "links": [
2861
+ * {
2862
+ * "rel": "self",
2863
+ * "href": "/v1/cart/items",
2864
+ * "method": "POST"
2865
+ * }
2866
+ * ]
2867
+ * },
2868
+ * "error": {
2869
+ * "type": "https://{your-domain}/errors/invalid-input",
2870
+ * "code": "INVALID_INPUT",
2871
+ * "title": "Invalid Input",
2872
+ * "status": 422,
2873
+ * "detail": "One or more input fields are invalid",
2874
+ * "instance": "/v1/cart/items",
2875
+ * "extensions": {
2876
+ * "message_code": "INVALID_INPUT",
2877
+ * "invalid_params": [
2878
+ * {
2879
+ * "field": "items[0].quantity",
2880
+ * "error": "Input should be greater than or equal to 1"
2881
+ * }
2882
+ * ]
2883
+ * }
2884
+ * }
2885
+ * }
2886
+ */
2887
+ "application/json": components["schemas"]["StandardResponse"];
2888
+ };
2889
+ };
2890
+ /** @description Too Many Requests */
2891
+ 429: {
2892
+ headers: {
2893
+ [name: string]: unknown;
2894
+ };
2895
+ content: {
2896
+ /**
2897
+ * @example {
2898
+ * "status": "error",
2899
+ * "message": "Too many requests",
2900
+ * "message_code": "RATE_LIMIT_EXCEEDED",
2901
+ * "metadata": {
2902
+ * "timestamp": "2025-08-05T18:38:57Z",
2903
+ * "requestId": "uuid",
2904
+ * "traceId": "uuid",
2905
+ * "version": "v1",
2906
+ * "executionTime": 0,
2907
+ * "language": "en-US",
2908
+ * "links": [
2909
+ * {
2910
+ * "rel": "self",
2911
+ * "href": "/v1/cart/items",
2912
+ * "method": "POST"
2913
+ * }
2914
+ * ]
2915
+ * },
2916
+ * "error": {
2917
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
2918
+ * "code": "RATE_LIMIT_EXCEEDED",
2919
+ * "title": "Rate Limit Exceeded",
2920
+ * "status": 429,
2921
+ * "detail": "Too many requests",
2922
+ * "instance": "/v1/cart/items",
2923
+ * "extensions": {
2924
+ * "message_code": "RATE_LIMIT_EXCEEDED",
2925
+ * "invalid_params": []
2926
+ * }
2927
+ * }
2928
+ * }
2929
+ */
2930
+ "application/json": components["schemas"]["StandardResponse"];
2931
+ };
2932
+ };
2933
+ /** @description Internal Server Error */
2934
+ 500: {
2935
+ headers: {
2936
+ [name: string]: unknown;
2937
+ };
2938
+ content: {
2939
+ /**
2940
+ * @example {
2941
+ * "status": "error",
2942
+ * "message": "An unexpected error occurred",
2943
+ * "message_code": "SERVER_ERROR",
2944
+ * "metadata": {
2945
+ * "timestamp": "2025-08-05T18:38:57Z",
2946
+ * "requestId": "uuid",
2947
+ * "traceId": "uuid",
2948
+ * "version": "v1",
2949
+ * "executionTime": 0,
2950
+ * "language": "en-US",
2951
+ * "links": [
2952
+ * {
2953
+ * "rel": "self",
2954
+ * "href": "/v1/cart/items",
2955
+ * "method": "POST"
2956
+ * }
2957
+ * ]
2958
+ * },
2959
+ * "error": {
2960
+ * "type": "https://{your-domain}/errors/server-error",
2961
+ * "code": "SERVER_ERROR",
2962
+ * "title": "Server Error",
2963
+ * "status": 500,
2964
+ * "detail": "An unexpected error occurred",
2965
+ * "instance": "/v1/cart/items",
2966
+ * "extensions": {
2967
+ * "message_code": "SERVER_ERROR",
2968
+ * "invalid_params": []
2969
+ * }
2970
+ * }
2971
+ * }
2972
+ */
2973
+ "application/json": components["schemas"]["StandardResponse"];
2974
+ };
2975
+ };
2976
+ };
2977
+ };
2978
+ createPlatformEvent: {
2979
+ parameters: {
2980
+ query?: never;
2981
+ header?: {
2982
+ authorization?: string | null;
2983
+ };
2984
+ path?: never;
2985
+ cookie?: never;
2986
+ };
2987
+ requestBody: {
2988
+ content: {
2989
+ "application/json": components["schemas"]["Body_createPlatformEvent"];
2990
+ };
2991
+ };
2992
+ responses: {
2993
+ /** @description Successful Response */
2994
+ 202: {
2995
+ headers: {
2996
+ [name: string]: unknown;
2997
+ };
2998
+ content: {
2999
+ "application/json": components["schemas"]["StandardResponse"];
3000
+ };
3001
+ };
3002
+ /** @description Bad Request */
3003
+ 400: {
3004
+ headers: {
3005
+ [name: string]: unknown;
3006
+ };
3007
+ content: {
3008
+ /**
3009
+ * @example {
3010
+ * "status": "error",
3011
+ * "message": "An error occurred",
3012
+ * "message_code": "GENERIC_ERROR",
3013
+ * "metadata": {
3014
+ * "timestamp": "2025-08-05T18:38:57Z",
3015
+ * "requestId": "uuid",
3016
+ * "traceId": "uuid",
3017
+ * "version": "v1",
3018
+ * "executionTime": 0,
3019
+ * "language": "en-US",
3020
+ * "links": [
3021
+ * {
3022
+ * "rel": "self",
3023
+ * "href": "/v1/cart/items",
3024
+ * "method": "POST"
3025
+ * }
3026
+ * ]
3027
+ * },
3028
+ * "error": {
3029
+ * "type": "https://{your-domain}/errors/client-error",
3030
+ * "code": "GENERIC_ERROR",
3031
+ * "title": "Client Error",
3032
+ * "status": 400,
3033
+ * "detail": "An error occurred",
3034
+ * "instance": "/v1/cart/items",
3035
+ * "extensions": {
3036
+ * "message_code": "GENERIC_ERROR",
3037
+ * "invalid_params": []
3038
+ * }
3039
+ * }
3040
+ * }
3041
+ */
3042
+ "application/json": components["schemas"]["StandardResponse"];
3043
+ };
3044
+ };
3045
+ /** @description Unprocessable Entity */
3046
+ 422: {
3047
+ headers: {
3048
+ [name: string]: unknown;
3049
+ };
3050
+ content: {
3051
+ /**
3052
+ * @example {
3053
+ * "status": "error",
3054
+ * "message": "One or more input fields are invalid",
3055
+ * "message_code": "INVALID_INPUT",
3056
+ * "metadata": {
3057
+ * "timestamp": "2025-08-05T18:38:57Z",
3058
+ * "requestId": "uuid",
3059
+ * "traceId": "uuid",
3060
+ * "version": "v1",
3061
+ * "executionTime": 0,
3062
+ * "language": "en-US",
3063
+ * "links": [
3064
+ * {
3065
+ * "rel": "self",
3066
+ * "href": "/v1/cart/items",
3067
+ * "method": "POST"
3068
+ * }
3069
+ * ]
3070
+ * },
3071
+ * "error": {
3072
+ * "type": "https://{your-domain}/errors/invalid-input",
3073
+ * "code": "INVALID_INPUT",
3074
+ * "title": "Invalid Input",
3075
+ * "status": 422,
3076
+ * "detail": "One or more input fields are invalid",
3077
+ * "instance": "/v1/cart/items",
3078
+ * "extensions": {
3079
+ * "message_code": "INVALID_INPUT",
3080
+ * "invalid_params": [
3081
+ * {
3082
+ * "field": "items[0].quantity",
3083
+ * "error": "Input should be greater than or equal to 1"
3084
+ * }
3085
+ * ]
3086
+ * }
3087
+ * }
3088
+ * }
3089
+ */
3090
+ "application/json": components["schemas"]["StandardResponse"];
3091
+ };
3092
+ };
3093
+ /** @description Too Many Requests */
3094
+ 429: {
3095
+ headers: {
3096
+ [name: string]: unknown;
3097
+ };
3098
+ content: {
3099
+ /**
3100
+ * @example {
3101
+ * "status": "error",
3102
+ * "message": "Too many requests",
3103
+ * "message_code": "RATE_LIMIT_EXCEEDED",
3104
+ * "metadata": {
3105
+ * "timestamp": "2025-08-05T18:38:57Z",
3106
+ * "requestId": "uuid",
3107
+ * "traceId": "uuid",
3108
+ * "version": "v1",
3109
+ * "executionTime": 0,
3110
+ * "language": "en-US",
3111
+ * "links": [
3112
+ * {
3113
+ * "rel": "self",
3114
+ * "href": "/v1/cart/items",
3115
+ * "method": "POST"
3116
+ * }
3117
+ * ]
3118
+ * },
3119
+ * "error": {
3120
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
3121
+ * "code": "RATE_LIMIT_EXCEEDED",
3122
+ * "title": "Rate Limit Exceeded",
3123
+ * "status": 429,
3124
+ * "detail": "Too many requests",
3125
+ * "instance": "/v1/cart/items",
3126
+ * "extensions": {
3127
+ * "message_code": "RATE_LIMIT_EXCEEDED",
3128
+ * "invalid_params": []
3129
+ * }
3130
+ * }
3131
+ * }
3132
+ */
3133
+ "application/json": components["schemas"]["StandardResponse"];
3134
+ };
3135
+ };
3136
+ /** @description Internal Server Error */
3137
+ 500: {
3138
+ headers: {
3139
+ [name: string]: unknown;
3140
+ };
3141
+ content: {
3142
+ /**
3143
+ * @example {
3144
+ * "status": "error",
3145
+ * "message": "An unexpected error occurred",
3146
+ * "message_code": "SERVER_ERROR",
3147
+ * "metadata": {
3148
+ * "timestamp": "2025-08-05T18:38:57Z",
3149
+ * "requestId": "uuid",
3150
+ * "traceId": "uuid",
3151
+ * "version": "v1",
3152
+ * "executionTime": 0,
3153
+ * "language": "en-US",
3154
+ * "links": [
3155
+ * {
3156
+ * "rel": "self",
3157
+ * "href": "/v1/cart/items",
3158
+ * "method": "POST"
3159
+ * }
3160
+ * ]
3161
+ * },
3162
+ * "error": {
3163
+ * "type": "https://{your-domain}/errors/server-error",
3164
+ * "code": "SERVER_ERROR",
3165
+ * "title": "Server Error",
3166
+ * "status": 500,
3167
+ * "detail": "An unexpected error occurred",
3168
+ * "instance": "/v1/cart/items",
3169
+ * "extensions": {
3170
+ * "message_code": "SERVER_ERROR",
3171
+ * "invalid_params": []
3172
+ * }
3173
+ * }
3174
+ * }
3175
+ */
3176
+ "application/json": components["schemas"]["StandardResponse"];
3177
+ };
3178
+ };
3179
+ };
3180
+ };
3181
+ adminCreateXPAward: {
3182
+ parameters: {
3183
+ query?: never;
3184
+ header?: {
3185
+ authorization?: string | null;
3186
+ };
3187
+ path?: never;
3188
+ cookie?: never;
3189
+ };
3190
+ requestBody: {
3191
+ content: {
3192
+ "application/json": components["schemas"]["Body_adminCreateXPAward"];
3193
+ };
3194
+ };
3195
+ responses: {
3196
+ /** @description Successful Response */
3197
+ 200: {
3198
+ headers: {
3199
+ [name: string]: unknown;
3200
+ };
3201
+ content: {
3202
+ "application/json": components["schemas"]["StandardResponse"];
3203
+ };
3204
+ };
3205
+ /** @description Bad Request */
3206
+ 400: {
3207
+ headers: {
3208
+ [name: string]: unknown;
3209
+ };
3210
+ content: {
3211
+ /**
3212
+ * @example {
3213
+ * "status": "error",
3214
+ * "message": "An error occurred",
3215
+ * "message_code": "GENERIC_ERROR",
3216
+ * "metadata": {
3217
+ * "timestamp": "2025-08-05T18:38:57Z",
3218
+ * "requestId": "uuid",
3219
+ * "traceId": "uuid",
3220
+ * "version": "v1",
3221
+ * "executionTime": 0,
3222
+ * "language": "en-US",
3223
+ * "links": [
3224
+ * {
3225
+ * "rel": "self",
3226
+ * "href": "/v1/cart/items",
3227
+ * "method": "POST"
3228
+ * }
3229
+ * ]
3230
+ * },
3231
+ * "error": {
3232
+ * "type": "https://{your-domain}/errors/client-error",
3233
+ * "code": "GENERIC_ERROR",
3234
+ * "title": "Client Error",
3235
+ * "status": 400,
3236
+ * "detail": "An error occurred",
3237
+ * "instance": "/v1/cart/items",
3238
+ * "extensions": {
3239
+ * "message_code": "GENERIC_ERROR",
3240
+ * "invalid_params": []
3241
+ * }
3242
+ * }
3243
+ * }
3244
+ */
3245
+ "application/json": components["schemas"]["StandardResponse"];
3246
+ };
3247
+ };
3248
+ /** @description Unprocessable Entity */
3249
+ 422: {
3250
+ headers: {
3251
+ [name: string]: unknown;
3252
+ };
3253
+ content: {
3254
+ /**
3255
+ * @example {
3256
+ * "status": "error",
3257
+ * "message": "One or more input fields are invalid",
3258
+ * "message_code": "INVALID_INPUT",
3259
+ * "metadata": {
3260
+ * "timestamp": "2025-08-05T18:38:57Z",
3261
+ * "requestId": "uuid",
3262
+ * "traceId": "uuid",
3263
+ * "version": "v1",
3264
+ * "executionTime": 0,
3265
+ * "language": "en-US",
3266
+ * "links": [
3267
+ * {
3268
+ * "rel": "self",
3269
+ * "href": "/v1/cart/items",
3270
+ * "method": "POST"
3271
+ * }
3272
+ * ]
3273
+ * },
3274
+ * "error": {
3275
+ * "type": "https://{your-domain}/errors/invalid-input",
3276
+ * "code": "INVALID_INPUT",
3277
+ * "title": "Invalid Input",
3278
+ * "status": 422,
3279
+ * "detail": "One or more input fields are invalid",
3280
+ * "instance": "/v1/cart/items",
3281
+ * "extensions": {
3282
+ * "message_code": "INVALID_INPUT",
3283
+ * "invalid_params": [
3284
+ * {
3285
+ * "field": "items[0].quantity",
3286
+ * "error": "Input should be greater than or equal to 1"
3287
+ * }
3288
+ * ]
3289
+ * }
3290
+ * }
3291
+ * }
3292
+ */
3293
+ "application/json": components["schemas"]["StandardResponse"];
3294
+ };
3295
+ };
3296
+ /** @description Too Many Requests */
3297
+ 429: {
3298
+ headers: {
3299
+ [name: string]: unknown;
3300
+ };
3301
+ content: {
3302
+ /**
3303
+ * @example {
3304
+ * "status": "error",
3305
+ * "message": "Too many requests",
3306
+ * "message_code": "RATE_LIMIT_EXCEEDED",
3307
+ * "metadata": {
3308
+ * "timestamp": "2025-08-05T18:38:57Z",
3309
+ * "requestId": "uuid",
3310
+ * "traceId": "uuid",
3311
+ * "version": "v1",
3312
+ * "executionTime": 0,
3313
+ * "language": "en-US",
3314
+ * "links": [
3315
+ * {
3316
+ * "rel": "self",
3317
+ * "href": "/v1/cart/items",
3318
+ * "method": "POST"
3319
+ * }
3320
+ * ]
3321
+ * },
3322
+ * "error": {
3323
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
3324
+ * "code": "RATE_LIMIT_EXCEEDED",
3325
+ * "title": "Rate Limit Exceeded",
3326
+ * "status": 429,
3327
+ * "detail": "Too many requests",
3328
+ * "instance": "/v1/cart/items",
3329
+ * "extensions": {
3330
+ * "message_code": "RATE_LIMIT_EXCEEDED",
3331
+ * "invalid_params": []
3332
+ * }
3333
+ * }
3334
+ * }
3335
+ */
3336
+ "application/json": components["schemas"]["StandardResponse"];
3337
+ };
3338
+ };
3339
+ /** @description Internal Server Error */
3340
+ 500: {
3341
+ headers: {
3342
+ [name: string]: unknown;
3343
+ };
3344
+ content: {
3345
+ /**
3346
+ * @example {
3347
+ * "status": "error",
3348
+ * "message": "An unexpected error occurred",
3349
+ * "message_code": "SERVER_ERROR",
3350
+ * "metadata": {
3351
+ * "timestamp": "2025-08-05T18:38:57Z",
3352
+ * "requestId": "uuid",
3353
+ * "traceId": "uuid",
3354
+ * "version": "v1",
3355
+ * "executionTime": 0,
3356
+ * "language": "en-US",
3357
+ * "links": [
3358
+ * {
3359
+ * "rel": "self",
3360
+ * "href": "/v1/cart/items",
3361
+ * "method": "POST"
3362
+ * }
3363
+ * ]
3364
+ * },
3365
+ * "error": {
3366
+ * "type": "https://{your-domain}/errors/server-error",
3367
+ * "code": "SERVER_ERROR",
3368
+ * "title": "Server Error",
3369
+ * "status": 500,
3370
+ * "detail": "An unexpected error occurred",
3371
+ * "instance": "/v1/cart/items",
3372
+ * "extensions": {
3373
+ * "message_code": "SERVER_ERROR",
3374
+ * "invalid_params": []
3375
+ * }
3376
+ * }
3377
+ * }
3378
+ */
3379
+ "application/json": components["schemas"]["StandardResponse"];
3380
+ };
3381
+ };
3382
+ };
3383
+ };
3384
+ adminCreateXPRollback: {
3385
+ parameters: {
3386
+ query?: never;
3387
+ header?: {
3388
+ authorization?: string | null;
3389
+ };
3390
+ path?: never;
3391
+ cookie?: never;
3392
+ };
3393
+ requestBody: {
3394
+ content: {
3395
+ "application/json": components["schemas"]["Body_adminCreateXPRollback"];
3396
+ };
3397
+ };
3398
+ responses: {
3399
+ /** @description Successful Response */
3400
+ 200: {
3401
+ headers: {
3402
+ [name: string]: unknown;
3403
+ };
3404
+ content: {
3405
+ "application/json": components["schemas"]["StandardResponse"];
3406
+ };
3407
+ };
3408
+ /** @description Bad Request */
3409
+ 400: {
3410
+ headers: {
3411
+ [name: string]: unknown;
3412
+ };
3413
+ content: {
3414
+ /**
3415
+ * @example {
3416
+ * "status": "error",
3417
+ * "message": "An error occurred",
3418
+ * "message_code": "GENERIC_ERROR",
3419
+ * "metadata": {
3420
+ * "timestamp": "2025-08-05T18:38:57Z",
3421
+ * "requestId": "uuid",
3422
+ * "traceId": "uuid",
3423
+ * "version": "v1",
3424
+ * "executionTime": 0,
3425
+ * "language": "en-US",
3426
+ * "links": [
3427
+ * {
3428
+ * "rel": "self",
3429
+ * "href": "/v1/cart/items",
3430
+ * "method": "POST"
3431
+ * }
3432
+ * ]
3433
+ * },
3434
+ * "error": {
3435
+ * "type": "https://{your-domain}/errors/client-error",
3436
+ * "code": "GENERIC_ERROR",
3437
+ * "title": "Client Error",
3438
+ * "status": 400,
3439
+ * "detail": "An error occurred",
3440
+ * "instance": "/v1/cart/items",
3441
+ * "extensions": {
3442
+ * "message_code": "GENERIC_ERROR",
3443
+ * "invalid_params": []
3444
+ * }
3445
+ * }
3446
+ * }
3447
+ */
3448
+ "application/json": components["schemas"]["StandardResponse"];
3449
+ };
3450
+ };
3451
+ /** @description Unprocessable Entity */
3452
+ 422: {
3453
+ headers: {
3454
+ [name: string]: unknown;
3455
+ };
3456
+ content: {
3457
+ /**
3458
+ * @example {
3459
+ * "status": "error",
3460
+ * "message": "One or more input fields are invalid",
3461
+ * "message_code": "INVALID_INPUT",
3462
+ * "metadata": {
3463
+ * "timestamp": "2025-08-05T18:38:57Z",
3464
+ * "requestId": "uuid",
3465
+ * "traceId": "uuid",
3466
+ * "version": "v1",
3467
+ * "executionTime": 0,
3468
+ * "language": "en-US",
3469
+ * "links": [
3470
+ * {
3471
+ * "rel": "self",
3472
+ * "href": "/v1/cart/items",
3473
+ * "method": "POST"
3474
+ * }
3475
+ * ]
3476
+ * },
3477
+ * "error": {
3478
+ * "type": "https://{your-domain}/errors/invalid-input",
3479
+ * "code": "INVALID_INPUT",
3480
+ * "title": "Invalid Input",
3481
+ * "status": 422,
3482
+ * "detail": "One or more input fields are invalid",
3483
+ * "instance": "/v1/cart/items",
3484
+ * "extensions": {
3485
+ * "message_code": "INVALID_INPUT",
3486
+ * "invalid_params": [
3487
+ * {
3488
+ * "field": "items[0].quantity",
3489
+ * "error": "Input should be greater than or equal to 1"
3490
+ * }
3491
+ * ]
3492
+ * }
3493
+ * }
3494
+ * }
3495
+ */
3496
+ "application/json": components["schemas"]["StandardResponse"];
3497
+ };
3498
+ };
3499
+ /** @description Too Many Requests */
3500
+ 429: {
3501
+ headers: {
3502
+ [name: string]: unknown;
3503
+ };
3504
+ content: {
3505
+ /**
3506
+ * @example {
3507
+ * "status": "error",
3508
+ * "message": "Too many requests",
3509
+ * "message_code": "RATE_LIMIT_EXCEEDED",
3510
+ * "metadata": {
3511
+ * "timestamp": "2025-08-05T18:38:57Z",
3512
+ * "requestId": "uuid",
3513
+ * "traceId": "uuid",
3514
+ * "version": "v1",
3515
+ * "executionTime": 0,
3516
+ * "language": "en-US",
3517
+ * "links": [
3518
+ * {
3519
+ * "rel": "self",
3520
+ * "href": "/v1/cart/items",
3521
+ * "method": "POST"
3522
+ * }
3523
+ * ]
3524
+ * },
3525
+ * "error": {
3526
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
3527
+ * "code": "RATE_LIMIT_EXCEEDED",
3528
+ * "title": "Rate Limit Exceeded",
3529
+ * "status": 429,
3530
+ * "detail": "Too many requests",
3531
+ * "instance": "/v1/cart/items",
3532
+ * "extensions": {
3533
+ * "message_code": "RATE_LIMIT_EXCEEDED",
3534
+ * "invalid_params": []
3535
+ * }
3536
+ * }
3537
+ * }
3538
+ */
3539
+ "application/json": components["schemas"]["StandardResponse"];
3540
+ };
3541
+ };
3542
+ /** @description Internal Server Error */
3543
+ 500: {
3544
+ headers: {
3545
+ [name: string]: unknown;
3546
+ };
3547
+ content: {
3548
+ /**
3549
+ * @example {
3550
+ * "status": "error",
3551
+ * "message": "An unexpected error occurred",
3552
+ * "message_code": "SERVER_ERROR",
3553
+ * "metadata": {
3554
+ * "timestamp": "2025-08-05T18:38:57Z",
3555
+ * "requestId": "uuid",
3556
+ * "traceId": "uuid",
3557
+ * "version": "v1",
3558
+ * "executionTime": 0,
3559
+ * "language": "en-US",
3560
+ * "links": [
3561
+ * {
3562
+ * "rel": "self",
3563
+ * "href": "/v1/cart/items",
3564
+ * "method": "POST"
3565
+ * }
3566
+ * ]
3567
+ * },
3568
+ * "error": {
3569
+ * "type": "https://{your-domain}/errors/server-error",
3570
+ * "code": "SERVER_ERROR",
3571
+ * "title": "Server Error",
3572
+ * "status": 500,
3573
+ * "detail": "An unexpected error occurred",
3574
+ * "instance": "/v1/cart/items",
3575
+ * "extensions": {
3576
+ * "message_code": "SERVER_ERROR",
3577
+ * "invalid_params": []
3578
+ * }
3579
+ * }
3580
+ * }
3581
+ */
3582
+ "application/json": components["schemas"]["StandardResponse"];
3583
+ };
3584
+ };
3585
+ };
3586
+ };
3587
+ adminCreateBadgeAward: {
3588
+ parameters: {
3589
+ query?: never;
3590
+ header?: {
3591
+ authorization?: string | null;
3592
+ };
3593
+ path?: never;
3594
+ cookie?: never;
3595
+ };
3596
+ requestBody: {
3597
+ content: {
3598
+ "application/json": components["schemas"]["Body_adminCreateBadgeAward"];
3599
+ };
3600
+ };
3601
+ responses: {
3602
+ /** @description Successful Response */
3603
+ 201: {
3604
+ headers: {
3605
+ [name: string]: unknown;
3606
+ };
3607
+ content: {
3608
+ "application/json": components["schemas"]["StandardResponse"];
3609
+ };
3610
+ };
3611
+ /** @description Bad Request */
3612
+ 400: {
3613
+ headers: {
3614
+ [name: string]: unknown;
3615
+ };
3616
+ content: {
3617
+ /**
3618
+ * @example {
3619
+ * "status": "error",
3620
+ * "message": "An error occurred",
3621
+ * "message_code": "GENERIC_ERROR",
3622
+ * "metadata": {
3623
+ * "timestamp": "2025-08-05T18:38:57Z",
3624
+ * "requestId": "uuid",
3625
+ * "traceId": "uuid",
3626
+ * "version": "v1",
3627
+ * "executionTime": 0,
3628
+ * "language": "en-US",
3629
+ * "links": [
3630
+ * {
3631
+ * "rel": "self",
3632
+ * "href": "/v1/cart/items",
3633
+ * "method": "POST"
3634
+ * }
3635
+ * ]
3636
+ * },
3637
+ * "error": {
3638
+ * "type": "https://{your-domain}/errors/client-error",
3639
+ * "code": "GENERIC_ERROR",
3640
+ * "title": "Client Error",
3641
+ * "status": 400,
3642
+ * "detail": "An error occurred",
3643
+ * "instance": "/v1/cart/items",
3644
+ * "extensions": {
3645
+ * "message_code": "GENERIC_ERROR",
3646
+ * "invalid_params": []
3647
+ * }
3648
+ * }
3649
+ * }
3650
+ */
3651
+ "application/json": components["schemas"]["StandardResponse"];
3652
+ };
3653
+ };
3654
+ /** @description Unprocessable Entity */
3655
+ 422: {
3656
+ headers: {
3657
+ [name: string]: unknown;
3658
+ };
3659
+ content: {
3660
+ /**
3661
+ * @example {
3662
+ * "status": "error",
3663
+ * "message": "One or more input fields are invalid",
3664
+ * "message_code": "INVALID_INPUT",
3665
+ * "metadata": {
3666
+ * "timestamp": "2025-08-05T18:38:57Z",
3667
+ * "requestId": "uuid",
3668
+ * "traceId": "uuid",
3669
+ * "version": "v1",
3670
+ * "executionTime": 0,
3671
+ * "language": "en-US",
3672
+ * "links": [
3673
+ * {
3674
+ * "rel": "self",
3675
+ * "href": "/v1/cart/items",
3676
+ * "method": "POST"
3677
+ * }
3678
+ * ]
3679
+ * },
3680
+ * "error": {
3681
+ * "type": "https://{your-domain}/errors/invalid-input",
3682
+ * "code": "INVALID_INPUT",
3683
+ * "title": "Invalid Input",
3684
+ * "status": 422,
3685
+ * "detail": "One or more input fields are invalid",
3686
+ * "instance": "/v1/cart/items",
3687
+ * "extensions": {
3688
+ * "message_code": "INVALID_INPUT",
3689
+ * "invalid_params": [
3690
+ * {
3691
+ * "field": "items[0].quantity",
3692
+ * "error": "Input should be greater than or equal to 1"
3693
+ * }
3694
+ * ]
3695
+ * }
3696
+ * }
3697
+ * }
3698
+ */
3699
+ "application/json": components["schemas"]["StandardResponse"];
3700
+ };
3701
+ };
3702
+ /** @description Too Many Requests */
3703
+ 429: {
3704
+ headers: {
3705
+ [name: string]: unknown;
3706
+ };
3707
+ content: {
3708
+ /**
3709
+ * @example {
3710
+ * "status": "error",
3711
+ * "message": "Too many requests",
3712
+ * "message_code": "RATE_LIMIT_EXCEEDED",
3713
+ * "metadata": {
3714
+ * "timestamp": "2025-08-05T18:38:57Z",
3715
+ * "requestId": "uuid",
3716
+ * "traceId": "uuid",
3717
+ * "version": "v1",
3718
+ * "executionTime": 0,
3719
+ * "language": "en-US",
3720
+ * "links": [
3721
+ * {
3722
+ * "rel": "self",
3723
+ * "href": "/v1/cart/items",
3724
+ * "method": "POST"
3725
+ * }
3726
+ * ]
3727
+ * },
3728
+ * "error": {
3729
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
3730
+ * "code": "RATE_LIMIT_EXCEEDED",
3731
+ * "title": "Rate Limit Exceeded",
3732
+ * "status": 429,
3733
+ * "detail": "Too many requests",
3734
+ * "instance": "/v1/cart/items",
3735
+ * "extensions": {
3736
+ * "message_code": "RATE_LIMIT_EXCEEDED",
3737
+ * "invalid_params": []
3738
+ * }
3739
+ * }
3740
+ * }
3741
+ */
3742
+ "application/json": components["schemas"]["StandardResponse"];
3743
+ };
3744
+ };
3745
+ /** @description Internal Server Error */
3746
+ 500: {
3747
+ headers: {
3748
+ [name: string]: unknown;
3749
+ };
3750
+ content: {
3751
+ /**
3752
+ * @example {
3753
+ * "status": "error",
3754
+ * "message": "An unexpected error occurred",
3755
+ * "message_code": "SERVER_ERROR",
3756
+ * "metadata": {
3757
+ * "timestamp": "2025-08-05T18:38:57Z",
3758
+ * "requestId": "uuid",
3759
+ * "traceId": "uuid",
3760
+ * "version": "v1",
3761
+ * "executionTime": 0,
3762
+ * "language": "en-US",
3763
+ * "links": [
3764
+ * {
3765
+ * "rel": "self",
3766
+ * "href": "/v1/cart/items",
3767
+ * "method": "POST"
3768
+ * }
3769
+ * ]
3770
+ * },
3771
+ * "error": {
3772
+ * "type": "https://{your-domain}/errors/server-error",
3773
+ * "code": "SERVER_ERROR",
3774
+ * "title": "Server Error",
3775
+ * "status": 500,
3776
+ * "detail": "An unexpected error occurred",
3777
+ * "instance": "/v1/cart/items",
3778
+ * "extensions": {
3779
+ * "message_code": "SERVER_ERROR",
3780
+ * "invalid_params": []
3781
+ * }
3782
+ * }
3783
+ * }
3784
+ */
3785
+ "application/json": components["schemas"]["StandardResponse"];
3786
+ };
3787
+ };
3788
+ };
3789
+ };
3790
+ adminCreateBadgeRevocation: {
3791
+ parameters: {
3792
+ query?: never;
3793
+ header?: {
3794
+ authorization?: string | null;
3795
+ };
3796
+ path?: never;
3797
+ cookie?: never;
3798
+ };
3799
+ requestBody: {
3800
+ content: {
3801
+ "application/json": components["schemas"]["Body_adminCreateBadgeRevocation"];
3802
+ };
3803
+ };
3804
+ responses: {
3805
+ /** @description Successful Response */
3806
+ 200: {
3807
+ headers: {
3808
+ [name: string]: unknown;
3809
+ };
3810
+ content: {
3811
+ "application/json": components["schemas"]["StandardResponse"];
3812
+ };
3813
+ };
3814
+ /** @description Bad Request */
3815
+ 400: {
3816
+ headers: {
3817
+ [name: string]: unknown;
3818
+ };
3819
+ content: {
3820
+ /**
3821
+ * @example {
3822
+ * "status": "error",
3823
+ * "message": "An error occurred",
3824
+ * "message_code": "GENERIC_ERROR",
3825
+ * "metadata": {
3826
+ * "timestamp": "2025-08-05T18:38:57Z",
3827
+ * "requestId": "uuid",
3828
+ * "traceId": "uuid",
3829
+ * "version": "v1",
3830
+ * "executionTime": 0,
3831
+ * "language": "en-US",
3832
+ * "links": [
3833
+ * {
3834
+ * "rel": "self",
3835
+ * "href": "/v1/cart/items",
3836
+ * "method": "POST"
3837
+ * }
3838
+ * ]
3839
+ * },
3840
+ * "error": {
3841
+ * "type": "https://{your-domain}/errors/client-error",
3842
+ * "code": "GENERIC_ERROR",
3843
+ * "title": "Client Error",
3844
+ * "status": 400,
3845
+ * "detail": "An error occurred",
3846
+ * "instance": "/v1/cart/items",
3847
+ * "extensions": {
3848
+ * "message_code": "GENERIC_ERROR",
3849
+ * "invalid_params": []
3850
+ * }
3851
+ * }
3852
+ * }
3853
+ */
3854
+ "application/json": components["schemas"]["StandardResponse"];
3855
+ };
3856
+ };
3857
+ /** @description Unprocessable Entity */
3858
+ 422: {
3859
+ headers: {
3860
+ [name: string]: unknown;
3861
+ };
3862
+ content: {
3863
+ /**
3864
+ * @example {
3865
+ * "status": "error",
3866
+ * "message": "One or more input fields are invalid",
3867
+ * "message_code": "INVALID_INPUT",
3868
+ * "metadata": {
3869
+ * "timestamp": "2025-08-05T18:38:57Z",
3870
+ * "requestId": "uuid",
3871
+ * "traceId": "uuid",
3872
+ * "version": "v1",
3873
+ * "executionTime": 0,
3874
+ * "language": "en-US",
3875
+ * "links": [
3876
+ * {
3877
+ * "rel": "self",
3878
+ * "href": "/v1/cart/items",
3879
+ * "method": "POST"
3880
+ * }
3881
+ * ]
3882
+ * },
3883
+ * "error": {
3884
+ * "type": "https://{your-domain}/errors/invalid-input",
3885
+ * "code": "INVALID_INPUT",
3886
+ * "title": "Invalid Input",
3887
+ * "status": 422,
3888
+ * "detail": "One or more input fields are invalid",
3889
+ * "instance": "/v1/cart/items",
3890
+ * "extensions": {
3891
+ * "message_code": "INVALID_INPUT",
3892
+ * "invalid_params": [
3893
+ * {
3894
+ * "field": "items[0].quantity",
3895
+ * "error": "Input should be greater than or equal to 1"
3896
+ * }
3897
+ * ]
3898
+ * }
3899
+ * }
3900
+ * }
3901
+ */
3902
+ "application/json": components["schemas"]["StandardResponse"];
3903
+ };
3904
+ };
3905
+ /** @description Too Many Requests */
3906
+ 429: {
3907
+ headers: {
3908
+ [name: string]: unknown;
3909
+ };
3910
+ content: {
3911
+ /**
3912
+ * @example {
3913
+ * "status": "error",
3914
+ * "message": "Too many requests",
3915
+ * "message_code": "RATE_LIMIT_EXCEEDED",
3916
+ * "metadata": {
3917
+ * "timestamp": "2025-08-05T18:38:57Z",
3918
+ * "requestId": "uuid",
3919
+ * "traceId": "uuid",
3920
+ * "version": "v1",
3921
+ * "executionTime": 0,
3922
+ * "language": "en-US",
3923
+ * "links": [
3924
+ * {
3925
+ * "rel": "self",
3926
+ * "href": "/v1/cart/items",
3927
+ * "method": "POST"
3928
+ * }
3929
+ * ]
3930
+ * },
3931
+ * "error": {
3932
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
3933
+ * "code": "RATE_LIMIT_EXCEEDED",
3934
+ * "title": "Rate Limit Exceeded",
3935
+ * "status": 429,
3936
+ * "detail": "Too many requests",
3937
+ * "instance": "/v1/cart/items",
3938
+ * "extensions": {
3939
+ * "message_code": "RATE_LIMIT_EXCEEDED",
3940
+ * "invalid_params": []
3941
+ * }
3942
+ * }
3943
+ * }
3944
+ */
3945
+ "application/json": components["schemas"]["StandardResponse"];
3946
+ };
3947
+ };
3948
+ /** @description Internal Server Error */
3949
+ 500: {
3950
+ headers: {
3951
+ [name: string]: unknown;
3952
+ };
3953
+ content: {
3954
+ /**
3955
+ * @example {
3956
+ * "status": "error",
3957
+ * "message": "An unexpected error occurred",
3958
+ * "message_code": "SERVER_ERROR",
3959
+ * "metadata": {
3960
+ * "timestamp": "2025-08-05T18:38:57Z",
3961
+ * "requestId": "uuid",
3962
+ * "traceId": "uuid",
3963
+ * "version": "v1",
3964
+ * "executionTime": 0,
3965
+ * "language": "en-US",
3966
+ * "links": [
3967
+ * {
3968
+ * "rel": "self",
3969
+ * "href": "/v1/cart/items",
3970
+ * "method": "POST"
3971
+ * }
3972
+ * ]
3973
+ * },
3974
+ * "error": {
3975
+ * "type": "https://{your-domain}/errors/server-error",
3976
+ * "code": "SERVER_ERROR",
3977
+ * "title": "Server Error",
3978
+ * "status": 500,
3979
+ * "detail": "An unexpected error occurred",
3980
+ * "instance": "/v1/cart/items",
3981
+ * "extensions": {
3982
+ * "message_code": "SERVER_ERROR",
3983
+ * "invalid_params": []
3984
+ * }
3985
+ * }
3986
+ * }
3987
+ */
3988
+ "application/json": components["schemas"]["StandardResponse"];
3989
+ };
3990
+ };
3991
+ };
3992
+ };
3993
+ getOrgGamificationPolicy: {
3994
+ parameters: {
3995
+ query?: never;
3996
+ header?: {
3997
+ authorization?: string | null;
3998
+ };
3999
+ path?: never;
4000
+ cookie?: never;
4001
+ };
4002
+ requestBody?: never;
4003
+ responses: {
4004
+ /** @description Successful Response */
4005
+ 200: {
4006
+ headers: {
4007
+ [name: string]: unknown;
4008
+ };
4009
+ content: {
4010
+ "application/json": components["schemas"]["StandardResponse"];
4011
+ };
4012
+ };
4013
+ /** @description Bad Request */
4014
+ 400: {
4015
+ headers: {
4016
+ [name: string]: unknown;
4017
+ };
4018
+ content: {
4019
+ /**
4020
+ * @example {
4021
+ * "status": "error",
4022
+ * "message": "An error occurred",
4023
+ * "message_code": "GENERIC_ERROR",
4024
+ * "metadata": {
4025
+ * "timestamp": "2025-08-05T18:38:57Z",
4026
+ * "requestId": "uuid",
4027
+ * "traceId": "uuid",
4028
+ * "version": "v1",
4029
+ * "executionTime": 0,
4030
+ * "language": "en-US",
4031
+ * "links": [
4032
+ * {
4033
+ * "rel": "self",
4034
+ * "href": "/v1/cart/items",
4035
+ * "method": "POST"
4036
+ * }
4037
+ * ]
4038
+ * },
4039
+ * "error": {
4040
+ * "type": "https://{your-domain}/errors/client-error",
4041
+ * "code": "GENERIC_ERROR",
4042
+ * "title": "Client Error",
4043
+ * "status": 400,
4044
+ * "detail": "An error occurred",
4045
+ * "instance": "/v1/cart/items",
4046
+ * "extensions": {
4047
+ * "message_code": "GENERIC_ERROR",
4048
+ * "invalid_params": []
4049
+ * }
4050
+ * }
4051
+ * }
4052
+ */
4053
+ "application/json": components["schemas"]["StandardResponse"];
4054
+ };
4055
+ };
4056
+ /** @description Unprocessable Entity */
4057
+ 422: {
4058
+ headers: {
4059
+ [name: string]: unknown;
4060
+ };
4061
+ content: {
4062
+ /**
4063
+ * @example {
4064
+ * "status": "error",
4065
+ * "message": "One or more input fields are invalid",
4066
+ * "message_code": "INVALID_INPUT",
4067
+ * "metadata": {
4068
+ * "timestamp": "2025-08-05T18:38:57Z",
4069
+ * "requestId": "uuid",
4070
+ * "traceId": "uuid",
4071
+ * "version": "v1",
4072
+ * "executionTime": 0,
4073
+ * "language": "en-US",
4074
+ * "links": [
4075
+ * {
4076
+ * "rel": "self",
4077
+ * "href": "/v1/cart/items",
4078
+ * "method": "POST"
4079
+ * }
4080
+ * ]
4081
+ * },
4082
+ * "error": {
4083
+ * "type": "https://{your-domain}/errors/invalid-input",
4084
+ * "code": "INVALID_INPUT",
4085
+ * "title": "Invalid Input",
4086
+ * "status": 422,
4087
+ * "detail": "One or more input fields are invalid",
4088
+ * "instance": "/v1/cart/items",
4089
+ * "extensions": {
4090
+ * "message_code": "INVALID_INPUT",
4091
+ * "invalid_params": [
4092
+ * {
4093
+ * "field": "items[0].quantity",
4094
+ * "error": "Input should be greater than or equal to 1"
4095
+ * }
4096
+ * ]
4097
+ * }
4098
+ * }
4099
+ * }
4100
+ */
4101
+ "application/json": components["schemas"]["StandardResponse"];
4102
+ };
4103
+ };
4104
+ /** @description Too Many Requests */
4105
+ 429: {
4106
+ headers: {
4107
+ [name: string]: unknown;
4108
+ };
4109
+ content: {
4110
+ /**
4111
+ * @example {
4112
+ * "status": "error",
4113
+ * "message": "Too many requests",
4114
+ * "message_code": "RATE_LIMIT_EXCEEDED",
4115
+ * "metadata": {
4116
+ * "timestamp": "2025-08-05T18:38:57Z",
4117
+ * "requestId": "uuid",
4118
+ * "traceId": "uuid",
4119
+ * "version": "v1",
4120
+ * "executionTime": 0,
4121
+ * "language": "en-US",
4122
+ * "links": [
4123
+ * {
4124
+ * "rel": "self",
4125
+ * "href": "/v1/cart/items",
4126
+ * "method": "POST"
4127
+ * }
4128
+ * ]
4129
+ * },
4130
+ * "error": {
4131
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
4132
+ * "code": "RATE_LIMIT_EXCEEDED",
4133
+ * "title": "Rate Limit Exceeded",
4134
+ * "status": 429,
4135
+ * "detail": "Too many requests",
4136
+ * "instance": "/v1/cart/items",
4137
+ * "extensions": {
4138
+ * "message_code": "RATE_LIMIT_EXCEEDED",
4139
+ * "invalid_params": []
4140
+ * }
4141
+ * }
4142
+ * }
4143
+ */
4144
+ "application/json": components["schemas"]["StandardResponse"];
4145
+ };
4146
+ };
4147
+ /** @description Internal Server Error */
4148
+ 500: {
4149
+ headers: {
4150
+ [name: string]: unknown;
4151
+ };
4152
+ content: {
4153
+ /**
4154
+ * @example {
4155
+ * "status": "error",
4156
+ * "message": "An unexpected error occurred",
4157
+ * "message_code": "SERVER_ERROR",
4158
+ * "metadata": {
4159
+ * "timestamp": "2025-08-05T18:38:57Z",
4160
+ * "requestId": "uuid",
4161
+ * "traceId": "uuid",
4162
+ * "version": "v1",
4163
+ * "executionTime": 0,
4164
+ * "language": "en-US",
4165
+ * "links": [
4166
+ * {
4167
+ * "rel": "self",
4168
+ * "href": "/v1/cart/items",
4169
+ * "method": "POST"
4170
+ * }
4171
+ * ]
4172
+ * },
4173
+ * "error": {
4174
+ * "type": "https://{your-domain}/errors/server-error",
4175
+ * "code": "SERVER_ERROR",
4176
+ * "title": "Server Error",
4177
+ * "status": 500,
4178
+ * "detail": "An unexpected error occurred",
4179
+ * "instance": "/v1/cart/items",
4180
+ * "extensions": {
4181
+ * "message_code": "SERVER_ERROR",
4182
+ * "invalid_params": []
4183
+ * }
4184
+ * }
4185
+ * }
4186
+ */
4187
+ "application/json": components["schemas"]["StandardResponse"];
4188
+ };
4189
+ };
4190
+ };
4191
+ };
4192
+ updateOrgGamificationPolicy: {
4193
+ parameters: {
4194
+ query?: never;
4195
+ header?: {
4196
+ authorization?: string | null;
4197
+ };
4198
+ path?: never;
4199
+ cookie?: never;
4200
+ };
4201
+ requestBody?: {
4202
+ content: {
4203
+ "application/json": components["schemas"]["Body_updateOrgGamificationPolicy"];
4204
+ };
4205
+ };
4206
+ responses: {
4207
+ /** @description Successful Response */
4208
+ 200: {
4209
+ headers: {
4210
+ [name: string]: unknown;
4211
+ };
4212
+ content: {
4213
+ "application/json": components["schemas"]["StandardResponse"];
4214
+ };
4215
+ };
4216
+ /** @description Bad Request */
4217
+ 400: {
4218
+ headers: {
4219
+ [name: string]: unknown;
4220
+ };
4221
+ content: {
4222
+ /**
4223
+ * @example {
4224
+ * "status": "error",
4225
+ * "message": "An error occurred",
4226
+ * "message_code": "GENERIC_ERROR",
4227
+ * "metadata": {
4228
+ * "timestamp": "2025-08-05T18:38:57Z",
4229
+ * "requestId": "uuid",
4230
+ * "traceId": "uuid",
4231
+ * "version": "v1",
4232
+ * "executionTime": 0,
4233
+ * "language": "en-US",
4234
+ * "links": [
4235
+ * {
4236
+ * "rel": "self",
4237
+ * "href": "/v1/cart/items",
4238
+ * "method": "POST"
4239
+ * }
4240
+ * ]
4241
+ * },
4242
+ * "error": {
4243
+ * "type": "https://{your-domain}/errors/client-error",
4244
+ * "code": "GENERIC_ERROR",
4245
+ * "title": "Client Error",
4246
+ * "status": 400,
4247
+ * "detail": "An error occurred",
4248
+ * "instance": "/v1/cart/items",
4249
+ * "extensions": {
4250
+ * "message_code": "GENERIC_ERROR",
4251
+ * "invalid_params": []
4252
+ * }
4253
+ * }
4254
+ * }
4255
+ */
4256
+ "application/json": components["schemas"]["StandardResponse"];
4257
+ };
4258
+ };
4259
+ /** @description Unprocessable Entity */
4260
+ 422: {
4261
+ headers: {
4262
+ [name: string]: unknown;
4263
+ };
4264
+ content: {
4265
+ /**
4266
+ * @example {
4267
+ * "status": "error",
4268
+ * "message": "One or more input fields are invalid",
4269
+ * "message_code": "INVALID_INPUT",
4270
+ * "metadata": {
4271
+ * "timestamp": "2025-08-05T18:38:57Z",
4272
+ * "requestId": "uuid",
4273
+ * "traceId": "uuid",
4274
+ * "version": "v1",
4275
+ * "executionTime": 0,
4276
+ * "language": "en-US",
4277
+ * "links": [
4278
+ * {
4279
+ * "rel": "self",
4280
+ * "href": "/v1/cart/items",
4281
+ * "method": "POST"
4282
+ * }
4283
+ * ]
4284
+ * },
4285
+ * "error": {
4286
+ * "type": "https://{your-domain}/errors/invalid-input",
4287
+ * "code": "INVALID_INPUT",
4288
+ * "title": "Invalid Input",
4289
+ * "status": 422,
4290
+ * "detail": "One or more input fields are invalid",
4291
+ * "instance": "/v1/cart/items",
4292
+ * "extensions": {
4293
+ * "message_code": "INVALID_INPUT",
4294
+ * "invalid_params": [
4295
+ * {
4296
+ * "field": "items[0].quantity",
4297
+ * "error": "Input should be greater than or equal to 1"
4298
+ * }
4299
+ * ]
4300
+ * }
4301
+ * }
4302
+ * }
4303
+ */
4304
+ "application/json": components["schemas"]["StandardResponse"];
4305
+ };
4306
+ };
4307
+ /** @description Too Many Requests */
4308
+ 429: {
4309
+ headers: {
4310
+ [name: string]: unknown;
4311
+ };
4312
+ content: {
4313
+ /**
4314
+ * @example {
4315
+ * "status": "error",
4316
+ * "message": "Too many requests",
4317
+ * "message_code": "RATE_LIMIT_EXCEEDED",
4318
+ * "metadata": {
4319
+ * "timestamp": "2025-08-05T18:38:57Z",
4320
+ * "requestId": "uuid",
4321
+ * "traceId": "uuid",
4322
+ * "version": "v1",
4323
+ * "executionTime": 0,
4324
+ * "language": "en-US",
4325
+ * "links": [
4326
+ * {
4327
+ * "rel": "self",
4328
+ * "href": "/v1/cart/items",
4329
+ * "method": "POST"
4330
+ * }
4331
+ * ]
4332
+ * },
4333
+ * "error": {
4334
+ * "type": "https://{your-domain}/errors/rate-limit-exceeded",
4335
+ * "code": "RATE_LIMIT_EXCEEDED",
4336
+ * "title": "Rate Limit Exceeded",
4337
+ * "status": 429,
4338
+ * "detail": "Too many requests",
4339
+ * "instance": "/v1/cart/items",
4340
+ * "extensions": {
4341
+ * "message_code": "RATE_LIMIT_EXCEEDED",
4342
+ * "invalid_params": []
4343
+ * }
4344
+ * }
4345
+ * }
4346
+ */
4347
+ "application/json": components["schemas"]["StandardResponse"];
4348
+ };
4349
+ };
4350
+ /** @description Internal Server Error */
4351
+ 500: {
4352
+ headers: {
4353
+ [name: string]: unknown;
4354
+ };
4355
+ content: {
4356
+ /**
4357
+ * @example {
4358
+ * "status": "error",
4359
+ * "message": "An unexpected error occurred",
4360
+ * "message_code": "SERVER_ERROR",
4361
+ * "metadata": {
4362
+ * "timestamp": "2025-08-05T18:38:57Z",
4363
+ * "requestId": "uuid",
4364
+ * "traceId": "uuid",
4365
+ * "version": "v1",
4366
+ * "executionTime": 0,
4367
+ * "language": "en-US",
4368
+ * "links": [
4369
+ * {
4370
+ * "rel": "self",
4371
+ * "href": "/v1/cart/items",
4372
+ * "method": "POST"
4373
+ * }
4374
+ * ]
4375
+ * },
4376
+ * "error": {
4377
+ * "type": "https://{your-domain}/errors/server-error",
4378
+ * "code": "SERVER_ERROR",
4379
+ * "title": "Server Error",
4380
+ * "status": 500,
4381
+ * "detail": "An unexpected error occurred",
4382
+ * "instance": "/v1/cart/items",
4383
+ * "extensions": {
4384
+ * "message_code": "SERVER_ERROR",
4385
+ * "invalid_params": []
4386
+ * }
4387
+ * }
4388
+ * }
4389
+ */
4390
+ "application/json": components["schemas"]["StandardResponse"];
4391
+ };
4392
+ };
4393
+ };
4394
+ };
4395
+ }
4396
+ //# sourceMappingURL=generated.d.ts.map