@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.
- package/CHANGELOG.md +1 -1
- package/dist/account/client.d.ts +1 -1
- package/dist/account/client.d.ts.map +1 -1
- package/dist/account/generated.d.ts +214 -214
- package/dist/account/generated.d.ts.map +1 -1
- package/dist/account/index.d.ts +1 -1
- package/dist/account/index.d.ts.map +1 -1
- package/dist/account/index.js +1 -1
- package/dist/account/index.js.map +1 -1
- package/dist/activity/client.d.ts +3 -0
- package/dist/activity/client.d.ts.map +1 -0
- package/dist/activity/client.js +3 -0
- package/dist/activity/client.js.map +1 -0
- package/dist/activity/generated.d.ts +1754 -0
- package/dist/activity/generated.d.ts.map +1 -0
- package/dist/activity/generated.js +6 -0
- package/dist/activity/generated.js.map +1 -0
- package/dist/activity/index.d.ts +2 -0
- package/dist/activity/index.d.ts.map +1 -0
- package/dist/activity/index.js +2 -0
- package/dist/activity/index.js.map +1 -0
- package/dist/addon/client.d.ts +3 -0
- package/dist/addon/client.d.ts.map +1 -0
- package/dist/addon/client.js +3 -0
- package/dist/addon/client.js.map +1 -0
- package/dist/addon/generated.d.ts +4750 -0
- package/dist/addon/generated.d.ts.map +1 -0
- package/dist/addon/generated.js +6 -0
- package/dist/addon/generated.js.map +1 -0
- package/dist/addon/index.d.ts +2 -0
- package/dist/addon/index.d.ts.map +1 -0
- package/dist/addon/index.js +2 -0
- package/dist/addon/index.js.map +1 -0
- package/dist/admin/client.d.ts +1 -1
- package/dist/admin/client.d.ts.map +1 -1
- package/dist/admin/generated.d.ts +87 -87
- package/dist/admin/generated.d.ts.map +1 -1
- package/dist/admin/index.d.ts +1 -1
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/affiliate/client.d.ts +3 -0
- package/dist/affiliate/client.d.ts.map +1 -0
- package/dist/affiliate/client.js +3 -0
- package/dist/affiliate/client.js.map +1 -0
- package/dist/affiliate/generated.d.ts +4785 -0
- package/dist/affiliate/generated.d.ts.map +1 -0
- package/dist/affiliate/generated.js +6 -0
- package/dist/affiliate/generated.js.map +1 -0
- package/dist/affiliate/index.d.ts +2 -0
- package/dist/affiliate/index.d.ts.map +1 -0
- package/dist/affiliate/index.js +2 -0
- package/dist/affiliate/index.js.map +1 -0
- package/dist/analytics/client.d.ts +3 -0
- package/dist/analytics/client.d.ts.map +1 -0
- package/dist/analytics/client.js +3 -0
- package/dist/analytics/client.js.map +1 -0
- package/dist/analytics/generated.d.ts +1566 -0
- package/dist/analytics/generated.d.ts.map +1 -0
- package/dist/analytics/generated.js +6 -0
- package/dist/analytics/generated.js.map +1 -0
- package/dist/analytics/index.d.ts +2 -0
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/index.js +2 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/announcements/client.d.ts +3 -0
- package/dist/announcements/client.d.ts.map +1 -0
- package/dist/announcements/client.js +3 -0
- package/dist/announcements/client.js.map +1 -0
- package/dist/announcements/generated.d.ts +2922 -0
- package/dist/announcements/generated.d.ts.map +1 -0
- package/dist/announcements/generated.js +6 -0
- package/dist/announcements/generated.js.map +1 -0
- package/dist/announcements/index.d.ts +2 -0
- package/dist/announcements/index.d.ts.map +1 -0
- package/dist/announcements/index.js +2 -0
- package/dist/announcements/index.js.map +1 -0
- package/dist/apikeys/client.d.ts +3 -0
- package/dist/apikeys/client.d.ts.map +1 -0
- package/dist/apikeys/client.js +3 -0
- package/dist/apikeys/client.js.map +1 -0
- package/dist/apikeys/generated.d.ts +2053 -0
- package/dist/apikeys/generated.d.ts.map +1 -0
- package/dist/apikeys/generated.js +6 -0
- package/dist/apikeys/generated.js.map +1 -0
- package/dist/apikeys/index.d.ts +2 -0
- package/dist/apikeys/index.d.ts.map +1 -0
- package/dist/apikeys/index.js +2 -0
- package/dist/apikeys/index.js.map +1 -0
- package/dist/assistance/client.d.ts +3 -0
- package/dist/assistance/client.d.ts.map +1 -0
- package/dist/assistance/client.js +3 -0
- package/dist/assistance/client.js.map +1 -0
- package/dist/assistance/generated.d.ts +869 -0
- package/dist/assistance/generated.d.ts.map +1 -0
- package/dist/assistance/generated.js +6 -0
- package/dist/assistance/generated.js.map +1 -0
- package/dist/assistance/index.d.ts +2 -0
- package/dist/assistance/index.d.ts.map +1 -0
- package/dist/assistance/index.js +2 -0
- package/dist/assistance/index.js.map +1 -0
- package/dist/authentication/client.d.ts +1 -1
- package/dist/authentication/client.d.ts.map +1 -1
- package/dist/authentication/generated.d.ts +91 -91
- package/dist/authentication/generated.d.ts.map +1 -1
- package/dist/authentication/index.d.ts +1 -1
- package/dist/authentication/index.d.ts.map +1 -1
- package/dist/authentication/index.js +1 -1
- package/dist/authentication/index.js.map +1 -1
- package/dist/blog/client.d.ts +3 -0
- package/dist/blog/client.d.ts.map +1 -0
- package/dist/blog/client.js +3 -0
- package/dist/blog/client.js.map +1 -0
- package/dist/blog/generated.d.ts +12567 -0
- package/dist/blog/generated.d.ts.map +1 -0
- package/dist/blog/generated.js +6 -0
- package/dist/blog/generated.js.map +1 -0
- package/dist/blog/index.d.ts +2 -0
- package/dist/blog/index.d.ts.map +1 -0
- package/dist/blog/index.js +2 -0
- package/dist/blog/index.js.map +1 -0
- package/dist/bundle/client.d.ts +3 -0
- package/dist/bundle/client.d.ts.map +1 -0
- package/dist/bundle/client.js +3 -0
- package/dist/bundle/client.js.map +1 -0
- package/dist/bundle/generated.d.ts +2692 -0
- package/dist/bundle/generated.d.ts.map +1 -0
- package/dist/bundle/generated.js +6 -0
- package/dist/bundle/generated.js.map +1 -0
- package/dist/bundle/index.d.ts +2 -0
- package/dist/bundle/index.d.ts.map +1 -0
- package/dist/bundle/index.js +2 -0
- package/dist/bundle/index.js.map +1 -0
- package/dist/cache/client.d.ts +1 -1
- package/dist/cache/client.d.ts.map +1 -1
- package/dist/cache/generated.d.ts +24 -24
- package/dist/cache/generated.d.ts.map +1 -1
- package/dist/cache/index.d.ts +1 -1
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +1 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/calendar/client.d.ts +3 -0
- package/dist/calendar/client.d.ts.map +1 -0
- package/dist/calendar/client.js +3 -0
- package/dist/calendar/client.js.map +1 -0
- package/dist/calendar/generated.d.ts +1895 -0
- package/dist/calendar/generated.d.ts.map +1 -0
- package/dist/calendar/generated.js +6 -0
- package/dist/calendar/generated.js.map +1 -0
- package/dist/calendar/index.d.ts +2 -0
- package/dist/calendar/index.d.ts.map +1 -0
- package/dist/calendar/index.js +2 -0
- package/dist/calendar/index.js.map +1 -0
- package/dist/campaigns/client.d.ts +3 -0
- package/dist/campaigns/client.d.ts.map +1 -0
- package/dist/campaigns/client.js +3 -0
- package/dist/campaigns/client.js.map +1 -0
- package/dist/campaigns/generated.d.ts +5465 -0
- package/dist/campaigns/generated.d.ts.map +1 -0
- package/dist/campaigns/generated.js +6 -0
- package/dist/campaigns/generated.js.map +1 -0
- package/dist/campaigns/index.d.ts +2 -0
- package/dist/campaigns/index.d.ts.map +1 -0
- package/dist/campaigns/index.js +2 -0
- package/dist/campaigns/index.js.map +1 -0
- package/dist/cart/client.d.ts +3 -0
- package/dist/cart/client.d.ts.map +1 -0
- package/dist/cart/client.js +3 -0
- package/dist/cart/client.js.map +1 -0
- package/dist/cart/generated.d.ts +1552 -0
- package/dist/cart/generated.d.ts.map +1 -0
- package/dist/cart/generated.js +6 -0
- package/dist/cart/generated.js.map +1 -0
- package/dist/cart/index.d.ts +2 -0
- package/dist/cart/index.d.ts.map +1 -0
- package/dist/cart/index.js +2 -0
- package/dist/cart/index.js.map +1 -0
- package/dist/changelog/client.d.ts +3 -0
- package/dist/changelog/client.d.ts.map +1 -0
- package/dist/changelog/client.js +3 -0
- package/dist/changelog/client.js.map +1 -0
- package/dist/changelog/generated.d.ts +5619 -0
- package/dist/changelog/generated.d.ts.map +1 -0
- package/dist/changelog/generated.js +6 -0
- package/dist/changelog/generated.js.map +1 -0
- package/dist/changelog/index.d.ts +2 -0
- package/dist/changelog/index.d.ts.map +1 -0
- package/dist/changelog/index.js +2 -0
- package/dist/changelog/index.js.map +1 -0
- package/dist/channel/client.d.ts +3 -0
- package/dist/channel/client.d.ts.map +1 -0
- package/dist/channel/client.js +3 -0
- package/dist/channel/client.js.map +1 -0
- package/dist/channel/generated.d.ts +7136 -0
- package/dist/channel/generated.d.ts.map +1 -0
- package/dist/channel/generated.js +6 -0
- package/dist/channel/generated.js.map +1 -0
- package/dist/channel/index.d.ts +2 -0
- package/dist/channel/index.d.ts.map +1 -0
- package/dist/channel/index.js +2 -0
- package/dist/channel/index.js.map +1 -0
- package/dist/company/client.d.ts +3 -0
- package/dist/company/client.d.ts.map +1 -0
- package/dist/company/client.js +3 -0
- package/dist/company/client.js.map +1 -0
- package/dist/company/generated.d.ts +3964 -0
- package/dist/company/generated.d.ts.map +1 -0
- package/dist/company/generated.js +6 -0
- package/dist/company/generated.js.map +1 -0
- package/dist/company/index.d.ts +2 -0
- package/dist/company/index.d.ts.map +1 -0
- package/dist/company/index.js +2 -0
- package/dist/company/index.js.map +1 -0
- package/dist/conference/client.d.ts +3 -0
- package/dist/conference/client.d.ts.map +1 -0
- package/dist/conference/client.js +3 -0
- package/dist/conference/client.js.map +1 -0
- package/dist/conference/generated.d.ts +2761 -0
- package/dist/conference/generated.d.ts.map +1 -0
- package/dist/conference/generated.js +6 -0
- package/dist/conference/generated.js.map +1 -0
- package/dist/conference/index.d.ts +2 -0
- package/dist/conference/index.d.ts.map +1 -0
- package/dist/conference/index.js +2 -0
- package/dist/conference/index.js.map +1 -0
- package/dist/config/client.d.ts +1 -1
- package/dist/config/client.d.ts.map +1 -1
- package/dist/config/generated.d.ts +62 -62
- package/dist/config/generated.d.ts.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/content/client.d.ts +3 -0
- package/dist/content/client.d.ts.map +1 -0
- package/dist/content/client.js +3 -0
- package/dist/content/client.js.map +1 -0
- package/dist/content/generated.d.ts +17424 -0
- package/dist/content/generated.d.ts.map +1 -0
- package/dist/content/generated.js +6 -0
- package/dist/content/generated.js.map +1 -0
- package/dist/content/index.d.ts +2 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +2 -0
- package/dist/content/index.js.map +1 -0
- package/dist/cookies/client.d.ts +3 -0
- package/dist/cookies/client.d.ts.map +1 -0
- package/dist/cookies/client.js +3 -0
- package/dist/cookies/client.js.map +1 -0
- package/dist/cookies/generated.d.ts +2669 -0
- package/dist/cookies/generated.d.ts.map +1 -0
- package/dist/cookies/generated.js +6 -0
- package/dist/cookies/generated.js.map +1 -0
- package/dist/cookies/index.d.ts +2 -0
- package/dist/cookies/index.d.ts.map +1 -0
- package/dist/cookies/index.js +2 -0
- package/dist/cookies/index.js.map +1 -0
- package/dist/courses/client.d.ts +3 -0
- package/dist/courses/client.d.ts.map +1 -0
- package/dist/courses/client.js +3 -0
- package/dist/courses/client.js.map +1 -0
- package/dist/courses/generated.d.ts +4939 -0
- package/dist/courses/generated.d.ts.map +1 -0
- package/dist/courses/generated.js +6 -0
- package/dist/courses/generated.js.map +1 -0
- package/dist/courses/index.d.ts +2 -0
- package/dist/courses/index.d.ts.map +1 -0
- package/dist/courses/index.js +2 -0
- package/dist/courses/index.js.map +1 -0
- package/dist/custom/client.d.ts +3 -0
- package/dist/custom/client.d.ts.map +1 -0
- package/dist/custom/client.js +3 -0
- package/dist/custom/client.js.map +1 -0
- package/dist/custom/generated.d.ts +4377 -0
- package/dist/custom/generated.d.ts.map +1 -0
- package/dist/custom/generated.js +6 -0
- package/dist/custom/generated.js.map +1 -0
- package/dist/custom/index.d.ts +2 -0
- package/dist/custom/index.d.ts.map +1 -0
- package/dist/custom/index.js +2 -0
- package/dist/custom/index.js.map +1 -0
- package/dist/dashboard/client.d.ts +1 -1
- package/dist/dashboard/client.d.ts.map +1 -1
- package/dist/dashboard/generated.d.ts +137 -137
- package/dist/dashboard/generated.d.ts.map +1 -1
- package/dist/dashboard/index.d.ts +1 -1
- package/dist/dashboard/index.d.ts.map +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/dashboard/index.js.map +1 -1
- package/dist/elasticsearch/client.d.ts +3 -0
- package/dist/elasticsearch/client.d.ts.map +1 -0
- package/dist/elasticsearch/client.js +3 -0
- package/dist/elasticsearch/client.js.map +1 -0
- package/dist/elasticsearch/generated.d.ts +5650 -0
- package/dist/elasticsearch/generated.d.ts.map +1 -0
- package/dist/elasticsearch/generated.js +6 -0
- package/dist/elasticsearch/generated.js.map +1 -0
- package/dist/elasticsearch/index.d.ts +2 -0
- package/dist/elasticsearch/index.d.ts.map +1 -0
- package/dist/elasticsearch/index.js +2 -0
- package/dist/elasticsearch/index.js.map +1 -0
- package/dist/enrollments/client.d.ts +3 -0
- package/dist/enrollments/client.d.ts.map +1 -0
- package/dist/enrollments/client.js +3 -0
- package/dist/enrollments/client.js.map +1 -0
- package/dist/enrollments/generated.d.ts +1284 -0
- package/dist/enrollments/generated.d.ts.map +1 -0
- package/dist/enrollments/generated.js +6 -0
- package/dist/enrollments/generated.js.map +1 -0
- package/dist/enrollments/index.d.ts +2 -0
- package/dist/enrollments/index.d.ts.map +1 -0
- package/dist/enrollments/index.js +2 -0
- package/dist/enrollments/index.js.map +1 -0
- package/dist/errors/client.d.ts +1 -1
- package/dist/errors/client.d.ts.map +1 -1
- package/dist/errors/generated.d.ts +21 -21
- package/dist/errors/generated.d.ts.map +1 -1
- package/dist/errors/index.d.ts +1 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/eventconfig/client.d.ts +3 -0
- package/dist/eventconfig/client.d.ts.map +1 -0
- package/dist/eventconfig/client.js +3 -0
- package/dist/eventconfig/client.js.map +1 -0
- package/dist/eventconfig/generated.d.ts +2782 -0
- package/dist/eventconfig/generated.d.ts.map +1 -0
- package/dist/eventconfig/generated.js +6 -0
- package/dist/eventconfig/generated.js.map +1 -0
- package/dist/eventconfig/index.d.ts +2 -0
- package/dist/eventconfig/index.d.ts.map +1 -0
- package/dist/eventconfig/index.js +2 -0
- package/dist/eventconfig/index.js.map +1 -0
- package/dist/funnels/client.d.ts +3 -0
- package/dist/funnels/client.d.ts.map +1 -0
- package/dist/funnels/client.js +3 -0
- package/dist/funnels/client.js.map +1 -0
- package/dist/funnels/generated.d.ts +5231 -0
- package/dist/funnels/generated.d.ts.map +1 -0
- package/dist/funnels/generated.js +6 -0
- package/dist/funnels/generated.js.map +1 -0
- package/dist/funnels/index.d.ts +2 -0
- package/dist/funnels/index.d.ts.map +1 -0
- package/dist/funnels/index.js +2 -0
- package/dist/funnels/index.js.map +1 -0
- package/dist/gamification/client.d.ts +3 -0
- package/dist/gamification/client.d.ts.map +1 -0
- package/dist/gamification/client.js +3 -0
- package/dist/gamification/client.js.map +1 -0
- package/dist/gamification/generated.d.ts +4396 -0
- package/dist/gamification/generated.d.ts.map +1 -0
- package/dist/gamification/generated.js +6 -0
- package/dist/gamification/generated.js.map +1 -0
- package/dist/gamification/index.d.ts +2 -0
- package/dist/gamification/index.d.ts.map +1 -0
- package/dist/gamification/index.js +2 -0
- package/dist/gamification/index.js.map +1 -0
- package/dist/impersonation/client.d.ts +3 -0
- package/dist/impersonation/client.d.ts.map +1 -0
- package/dist/impersonation/client.js +3 -0
- package/dist/impersonation/client.js.map +1 -0
- package/dist/impersonation/generated.d.ts +469 -0
- package/dist/impersonation/generated.d.ts.map +1 -0
- package/dist/impersonation/generated.js +6 -0
- package/dist/impersonation/generated.js.map +1 -0
- package/dist/impersonation/index.d.ts +2 -0
- package/dist/impersonation/index.d.ts.map +1 -0
- package/dist/impersonation/index.js +2 -0
- package/dist/impersonation/index.js.map +1 -0
- package/dist/inbox/client.d.ts +3 -0
- package/dist/inbox/client.d.ts.map +1 -0
- package/dist/inbox/client.js +3 -0
- package/dist/inbox/client.js.map +1 -0
- package/dist/inbox/generated.d.ts +7813 -0
- package/dist/inbox/generated.d.ts.map +1 -0
- package/dist/inbox/generated.js +6 -0
- package/dist/inbox/generated.js.map +1 -0
- package/dist/inbox/index.d.ts +2 -0
- package/dist/inbox/index.d.ts.map +1 -0
- package/dist/inbox/index.js +2 -0
- package/dist/inbox/index.js.map +1 -0
- package/dist/index.d.ts +68 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +68 -14
- package/dist/index.js.map +1 -1
- package/dist/internal/client.d.ts +3 -0
- package/dist/internal/client.d.ts.map +1 -0
- package/dist/internal/client.js +3 -0
- package/dist/internal/client.js.map +1 -0
- package/dist/internal/generated.d.ts +626 -0
- package/dist/internal/generated.d.ts.map +1 -0
- package/dist/internal/generated.js +6 -0
- package/dist/internal/generated.js.map +1 -0
- package/dist/internal/index.d.ts +2 -0
- package/dist/internal/index.d.ts.map +1 -0
- package/dist/internal/index.js +2 -0
- package/dist/internal/index.js.map +1 -0
- package/dist/internationalization/client.d.ts +1 -1
- package/dist/internationalization/client.d.ts.map +1 -1
- package/dist/internationalization/generated.d.ts +21 -21
- package/dist/internationalization/generated.d.ts.map +1 -1
- package/dist/internationalization/index.d.ts +1 -1
- package/dist/internationalization/index.d.ts.map +1 -1
- package/dist/internationalization/index.js +1 -1
- package/dist/internationalization/index.js.map +1 -1
- package/dist/invitations/client.d.ts +1 -1
- package/dist/invitations/client.d.ts.map +1 -1
- package/dist/invitations/generated.d.ts +120 -120
- package/dist/invitations/generated.d.ts.map +1 -1
- package/dist/invitations/index.d.ts +1 -1
- package/dist/invitations/index.d.ts.map +1 -1
- package/dist/invitations/index.js +1 -1
- package/dist/invitations/index.js.map +1 -1
- package/dist/meetings/client.d.ts +3 -0
- package/dist/meetings/client.d.ts.map +1 -0
- package/dist/meetings/client.js +3 -0
- package/dist/meetings/client.js.map +1 -0
- package/dist/meetings/generated.d.ts +1800 -0
- package/dist/meetings/generated.d.ts.map +1 -0
- package/dist/meetings/generated.js +6 -0
- package/dist/meetings/generated.js.map +1 -0
- package/dist/meetings/index.d.ts +2 -0
- package/dist/meetings/index.d.ts.map +1 -0
- package/dist/meetings/index.js +2 -0
- package/dist/meetings/index.js.map +1 -0
- package/dist/metas/client.d.ts +3 -0
- package/dist/metas/client.d.ts.map +1 -0
- package/dist/metas/client.js +3 -0
- package/dist/metas/client.js.map +1 -0
- package/dist/metas/generated.d.ts +8459 -0
- package/dist/metas/generated.d.ts.map +1 -0
- package/dist/metas/generated.js +6 -0
- package/dist/metas/generated.js.map +1 -0
- package/dist/metas/index.d.ts +2 -0
- package/dist/metas/index.d.ts.map +1 -0
- package/dist/metas/index.js +2 -0
- package/dist/metas/index.js.map +1 -0
- package/dist/notification/client.d.ts +3 -0
- package/dist/notification/client.d.ts.map +1 -0
- package/dist/notification/client.js +3 -0
- package/dist/notification/client.js.map +1 -0
- package/dist/notification/generated.d.ts +23762 -0
- package/dist/notification/generated.d.ts.map +1 -0
- package/dist/notification/generated.js +6 -0
- package/dist/notification/generated.js.map +1 -0
- package/dist/notification/index.d.ts +2 -0
- package/dist/notification/index.d.ts.map +1 -0
- package/dist/notification/index.js +2 -0
- package/dist/notification/index.js.map +1 -0
- package/dist/notifications/client.d.ts +3 -0
- package/dist/notifications/client.d.ts.map +1 -0
- package/dist/notifications/client.js +3 -0
- package/dist/notifications/client.js.map +1 -0
- package/dist/notifications/generated.d.ts +2020 -0
- package/dist/notifications/generated.d.ts.map +1 -0
- package/dist/notifications/generated.js +6 -0
- package/dist/notifications/generated.js.map +1 -0
- package/dist/notifications/index.d.ts +2 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +2 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/onboarding/client.d.ts +3 -0
- package/dist/onboarding/client.d.ts.map +1 -0
- package/dist/onboarding/client.js +3 -0
- package/dist/onboarding/client.js.map +1 -0
- package/dist/onboarding/generated.d.ts +3404 -0
- package/dist/onboarding/generated.d.ts.map +1 -0
- package/dist/onboarding/generated.js +6 -0
- package/dist/onboarding/generated.js.map +1 -0
- package/dist/onboarding/index.d.ts +2 -0
- package/dist/onboarding/index.d.ts.map +1 -0
- package/dist/onboarding/index.js +2 -0
- package/dist/onboarding/index.js.map +1 -0
- package/dist/packages/client.d.ts +3 -0
- package/dist/packages/client.d.ts.map +1 -0
- package/dist/packages/client.js +3 -0
- package/dist/packages/client.js.map +1 -0
- package/dist/packages/generated.d.ts +2812 -0
- package/dist/packages/generated.d.ts.map +1 -0
- package/dist/packages/generated.js +6 -0
- package/dist/packages/generated.js.map +1 -0
- package/dist/packages/index.d.ts +2 -0
- package/dist/packages/index.d.ts.map +1 -0
- package/dist/packages/index.js +2 -0
- package/dist/packages/index.js.map +1 -0
- package/dist/payments/client.d.ts +3 -0
- package/dist/payments/client.d.ts.map +1 -0
- package/dist/payments/client.js +3 -0
- package/dist/payments/client.js.map +1 -0
- package/dist/payments/generated.d.ts +21207 -0
- package/dist/payments/generated.d.ts.map +1 -0
- package/dist/payments/generated.js +6 -0
- package/dist/payments/generated.js.map +1 -0
- package/dist/payments/index.d.ts +2 -0
- package/dist/payments/index.d.ts.map +1 -0
- package/dist/payments/index.js +2 -0
- package/dist/payments/index.js.map +1 -0
- package/dist/payouts/client.d.ts +3 -0
- package/dist/payouts/client.d.ts.map +1 -0
- package/dist/payouts/client.js +3 -0
- package/dist/payouts/client.js.map +1 -0
- package/dist/payouts/generated.d.ts +15067 -0
- package/dist/payouts/generated.d.ts.map +1 -0
- package/dist/payouts/generated.js +6 -0
- package/dist/payouts/generated.js.map +1 -0
- package/dist/payouts/index.d.ts +2 -0
- package/dist/payouts/index.d.ts.map +1 -0
- package/dist/payouts/index.js +2 -0
- package/dist/payouts/index.js.map +1 -0
- package/dist/plans/client.d.ts +3 -0
- package/dist/plans/client.d.ts.map +1 -0
- package/dist/plans/client.js +3 -0
- package/dist/plans/client.js.map +1 -0
- package/dist/plans/generated.d.ts +1944 -0
- package/dist/plans/generated.d.ts.map +1 -0
- package/dist/plans/generated.js +6 -0
- package/dist/plans/generated.js.map +1 -0
- package/dist/plans/index.d.ts +2 -0
- package/dist/plans/index.d.ts.map +1 -0
- package/dist/plans/index.js +2 -0
- package/dist/plans/index.js.map +1 -0
- package/dist/pricing/client.d.ts +3 -0
- package/dist/pricing/client.d.ts.map +1 -0
- package/dist/pricing/client.js +3 -0
- package/dist/pricing/client.js.map +1 -0
- package/dist/pricing/generated.d.ts +2364 -0
- package/dist/pricing/generated.d.ts.map +1 -0
- package/dist/pricing/generated.js +6 -0
- package/dist/pricing/generated.js.map +1 -0
- package/dist/pricing/index.d.ts +2 -0
- package/dist/pricing/index.d.ts.map +1 -0
- package/dist/pricing/index.js +2 -0
- package/dist/pricing/index.js.map +1 -0
- package/dist/products/client.d.ts +3 -0
- package/dist/products/client.d.ts.map +1 -0
- package/dist/products/client.js +3 -0
- package/dist/products/client.js.map +1 -0
- package/dist/products/generated.d.ts +9678 -0
- package/dist/products/generated.d.ts.map +1 -0
- package/dist/products/generated.js +6 -0
- package/dist/products/generated.js.map +1 -0
- package/dist/products/index.d.ts +2 -0
- package/dist/products/index.d.ts.map +1 -0
- package/dist/products/index.js +2 -0
- package/dist/products/index.js.map +1 -0
- package/dist/profile/client.d.ts +3 -0
- package/dist/profile/client.d.ts.map +1 -0
- package/dist/profile/client.js +3 -0
- package/dist/profile/client.js.map +1 -0
- package/dist/profile/generated.d.ts +7005 -0
- package/dist/profile/generated.d.ts.map +1 -0
- package/dist/profile/generated.js +6 -0
- package/dist/profile/generated.js.map +1 -0
- package/dist/profile/index.d.ts +2 -0
- package/dist/profile/index.d.ts.map +1 -0
- package/dist/profile/index.js +2 -0
- package/dist/profile/index.js.map +1 -0
- package/dist/reasons/client.d.ts +3 -0
- package/dist/reasons/client.d.ts.map +1 -0
- package/dist/reasons/client.js +3 -0
- package/dist/reasons/client.js.map +1 -0
- package/dist/reasons/generated.d.ts +1913 -0
- package/dist/reasons/generated.d.ts.map +1 -0
- package/dist/reasons/generated.js +6 -0
- package/dist/reasons/generated.js.map +1 -0
- package/dist/reasons/index.d.ts +2 -0
- package/dist/reasons/index.d.ts.map +1 -0
- package/dist/reasons/index.js +2 -0
- package/dist/reasons/index.js.map +1 -0
- package/dist/registration/client.d.ts +1 -1
- package/dist/registration/client.d.ts.map +1 -1
- package/dist/registration/generated.d.ts +170 -170
- package/dist/registration/generated.d.ts.map +1 -1
- package/dist/registration/index.d.ts +1 -1
- package/dist/registration/index.d.ts.map +1 -1
- package/dist/registration/index.js +1 -1
- package/dist/registration/index.js.map +1 -1
- package/dist/reviews/client.d.ts +3 -0
- package/dist/reviews/client.d.ts.map +1 -0
- package/dist/reviews/client.js +3 -0
- package/dist/reviews/client.js.map +1 -0
- package/dist/reviews/generated.d.ts +3020 -0
- package/dist/reviews/generated.d.ts.map +1 -0
- package/dist/reviews/generated.js +6 -0
- package/dist/reviews/generated.js.map +1 -0
- package/dist/reviews/index.d.ts +2 -0
- package/dist/reviews/index.d.ts.map +1 -0
- package/dist/reviews/index.js +2 -0
- package/dist/reviews/index.js.map +1 -0
- package/dist/role/client.d.ts +1 -1
- package/dist/role/client.d.ts.map +1 -1
- package/dist/role/generated.d.ts +220 -220
- package/dist/role/generated.d.ts.map +1 -1
- package/dist/role/index.d.ts +1 -1
- package/dist/role/index.d.ts.map +1 -1
- package/dist/role/index.js +1 -1
- package/dist/role/index.js.map +1 -1
- package/dist/scheduling/client.d.ts +3 -0
- package/dist/scheduling/client.d.ts.map +1 -0
- package/dist/scheduling/client.js +3 -0
- package/dist/scheduling/client.js.map +1 -0
- package/dist/scheduling/generated.d.ts +2016 -0
- package/dist/scheduling/generated.d.ts.map +1 -0
- package/dist/scheduling/generated.js +6 -0
- package/dist/scheduling/generated.js.map +1 -0
- package/dist/scheduling/index.d.ts +2 -0
- package/dist/scheduling/index.d.ts.map +1 -0
- package/dist/scheduling/index.js +2 -0
- package/dist/scheduling/index.js.map +1 -0
- package/dist/services/client.d.ts +3 -0
- package/dist/services/client.d.ts.map +1 -0
- package/dist/services/client.js +3 -0
- package/dist/services/client.js.map +1 -0
- package/dist/services/generated.d.ts +19185 -0
- package/dist/services/generated.d.ts.map +1 -0
- package/dist/services/generated.js +6 -0
- package/dist/services/generated.js.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +2 -0
- package/dist/services/index.js.map +1 -0
- package/dist/sessions/client.d.ts +3 -0
- package/dist/sessions/client.d.ts.map +1 -0
- package/dist/sessions/client.js +3 -0
- package/dist/sessions/client.js.map +1 -0
- package/dist/sessions/generated.d.ts +2059 -0
- package/dist/sessions/generated.d.ts.map +1 -0
- package/dist/sessions/generated.js +6 -0
- package/dist/sessions/generated.js.map +1 -0
- package/dist/sessions/index.d.ts +2 -0
- package/dist/sessions/index.d.ts.map +1 -0
- package/dist/sessions/index.js +2 -0
- package/dist/sessions/index.js.map +1 -0
- package/dist/spaces/client.d.ts +3 -0
- package/dist/spaces/client.d.ts.map +1 -0
- package/dist/spaces/client.js +3 -0
- package/dist/spaces/client.js.map +1 -0
- package/dist/spaces/generated.d.ts +8813 -0
- package/dist/spaces/generated.d.ts.map +1 -0
- package/dist/spaces/generated.js +6 -0
- package/dist/spaces/generated.js.map +1 -0
- package/dist/spaces/index.d.ts +2 -0
- package/dist/spaces/index.d.ts.map +1 -0
- package/dist/spaces/index.js +2 -0
- package/dist/spaces/index.js.map +1 -0
- package/dist/storefront/client.d.ts +3 -0
- package/dist/storefront/client.d.ts.map +1 -0
- package/dist/storefront/client.js +3 -0
- package/dist/storefront/client.js.map +1 -0
- package/dist/storefront/generated.d.ts +1851 -0
- package/dist/storefront/generated.d.ts.map +1 -0
- package/dist/storefront/generated.js +6 -0
- package/dist/storefront/generated.js.map +1 -0
- package/dist/storefront/index.d.ts +2 -0
- package/dist/storefront/index.d.ts.map +1 -0
- package/dist/storefront/index.js +2 -0
- package/dist/storefront/index.js.map +1 -0
- package/dist/support/client.d.ts +3 -0
- package/dist/support/client.d.ts.map +1 -0
- package/dist/support/client.js +3 -0
- package/dist/support/client.js.map +1 -0
- package/dist/support/generated.d.ts +25017 -0
- package/dist/support/generated.d.ts.map +1 -0
- package/dist/support/generated.js +6 -0
- package/dist/support/generated.js.map +1 -0
- package/dist/support/index.d.ts +2 -0
- package/dist/support/index.d.ts.map +1 -0
- package/dist/support/index.js +2 -0
- package/dist/support/index.js.map +1 -0
- package/dist/sync/client.d.ts +3 -0
- package/dist/sync/client.d.ts.map +1 -0
- package/dist/sync/client.js +3 -0
- package/dist/sync/client.js.map +1 -0
- package/dist/sync/generated.d.ts +4919 -0
- package/dist/sync/generated.d.ts.map +1 -0
- package/dist/sync/generated.js +6 -0
- package/dist/sync/generated.js.map +1 -0
- package/dist/sync/index.d.ts +2 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +2 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/tenant/client.d.ts +1 -1
- package/dist/tenant/client.d.ts.map +1 -1
- package/dist/tenant/generated.d.ts +591 -591
- package/dist/tenant/generated.d.ts.map +1 -1
- package/dist/tenant/index.d.ts +1 -1
- package/dist/tenant/index.d.ts.map +1 -1
- package/dist/tenant/index.js +1 -1
- package/dist/tenant/index.js.map +1 -1
- package/dist/testimonials/client.d.ts +3 -0
- package/dist/testimonials/client.d.ts.map +1 -0
- package/dist/testimonials/client.js +3 -0
- package/dist/testimonials/client.js.map +1 -0
- package/dist/testimonials/generated.d.ts +2731 -0
- package/dist/testimonials/generated.d.ts.map +1 -0
- package/dist/testimonials/generated.js +6 -0
- package/dist/testimonials/generated.js.map +1 -0
- package/dist/testimonials/index.d.ts +2 -0
- package/dist/testimonials/index.d.ts.map +1 -0
- package/dist/testimonials/index.js +2 -0
- package/dist/testimonials/index.js.map +1 -0
- package/dist/tests/client.d.ts +3 -0
- package/dist/tests/client.d.ts.map +1 -0
- package/dist/tests/client.js +3 -0
- package/dist/tests/client.js.map +1 -0
- package/dist/tests/generated.d.ts +6071 -0
- package/dist/tests/generated.d.ts.map +1 -0
- package/dist/tests/generated.js +6 -0
- package/dist/tests/generated.js.map +1 -0
- package/dist/tests/index.d.ts +2 -0
- package/dist/tests/index.d.ts.map +1 -0
- package/dist/tests/index.js +2 -0
- package/dist/tests/index.js.map +1 -0
- package/dist/tokens/client.d.ts +1 -1
- package/dist/tokens/client.d.ts.map +1 -1
- package/dist/tokens/generated.d.ts +64 -64
- package/dist/tokens/generated.d.ts.map +1 -1
- package/dist/tokens/index.d.ts +1 -1
- package/dist/tokens/index.d.ts.map +1 -1
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/index.js.map +1 -1
- package/dist/uploads/client.d.ts +3 -0
- package/dist/uploads/client.d.ts.map +1 -0
- package/dist/uploads/client.js +3 -0
- package/dist/uploads/client.js.map +1 -0
- package/dist/uploads/generated.d.ts +1831 -0
- package/dist/uploads/generated.d.ts.map +1 -0
- package/dist/uploads/generated.js +6 -0
- package/dist/uploads/generated.js.map +1 -0
- package/dist/uploads/index.d.ts +2 -0
- package/dist/uploads/index.d.ts.map +1 -0
- package/dist/uploads/index.js +2 -0
- package/dist/uploads/index.js.map +1 -0
- package/dist/upsell/client.d.ts +3 -0
- package/dist/upsell/client.d.ts.map +1 -0
- package/dist/upsell/client.js +3 -0
- package/dist/upsell/client.js.map +1 -0
- package/dist/upsell/generated.d.ts +2459 -0
- package/dist/upsell/generated.d.ts.map +1 -0
- package/dist/upsell/generated.js +6 -0
- package/dist/upsell/generated.js.map +1 -0
- package/dist/upsell/index.d.ts +2 -0
- package/dist/upsell/index.d.ts.map +1 -0
- package/dist/upsell/index.js +2 -0
- package/dist/upsell/index.js.map +1 -0
- package/dist/user/client.d.ts +1 -1
- package/dist/user/client.d.ts.map +1 -1
- package/dist/user/generated.d.ts +72 -72
- package/dist/user/generated.d.ts.map +1 -1
- package/dist/user/index.d.ts +1 -1
- package/dist/user/index.d.ts.map +1 -1
- package/dist/user/index.js +1 -1
- package/dist/user/index.js.map +1 -1
- package/dist/webinars/client.d.ts +3 -0
- package/dist/webinars/client.d.ts.map +1 -0
- package/dist/webinars/client.js +3 -0
- package/dist/webinars/client.js.map +1 -0
- package/dist/webinars/generated.d.ts +1846 -0
- package/dist/webinars/generated.d.ts.map +1 -0
- package/dist/webinars/generated.js +6 -0
- package/dist/webinars/generated.js.map +1 -0
- package/dist/webinars/index.d.ts +2 -0
- package/dist/webinars/index.d.ts.map +1 -0
- package/dist/webinars/index.js +2 -0
- package/dist/webinars/index.js.map +1 -0
- 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
|