@blezgo/api-sdk 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/account/generated.d.ts +183 -183
  2. package/dist/account/generated.d.ts.map +1 -1
  3. package/dist/activity/generated.d.ts +82 -82
  4. package/dist/activity/generated.d.ts.map +1 -1
  5. package/dist/addon/generated.d.ts +88 -88
  6. package/dist/addon/generated.d.ts.map +1 -1
  7. package/dist/admin/generated.d.ts +42 -42
  8. package/dist/admin/generated.d.ts.map +1 -1
  9. package/dist/affiliate/generated.d.ts +97 -98
  10. package/dist/affiliate/generated.d.ts.map +1 -1
  11. package/dist/analytics/generated.d.ts +27 -27
  12. package/dist/analytics/generated.d.ts.map +1 -1
  13. package/dist/announcements/generated.d.ts +118 -118
  14. package/dist/announcements/generated.d.ts.map +1 -1
  15. package/dist/apikeys/generated.d.ts +46 -46
  16. package/dist/apikeys/generated.d.ts.map +1 -1
  17. package/dist/assistance/generated.d.ts +24 -24
  18. package/dist/assistance/generated.d.ts.map +1 -1
  19. package/dist/authentication/generated.d.ts +73 -73
  20. package/dist/authentication/generated.d.ts.map +1 -1
  21. package/dist/blog/generated.d.ts +142 -142
  22. package/dist/blog/generated.d.ts.map +1 -1
  23. package/dist/bundle/generated.d.ts +124 -124
  24. package/dist/bundle/generated.d.ts.map +1 -1
  25. package/dist/cache/generated.d.ts +32 -32
  26. package/dist/cache/generated.d.ts.map +1 -1
  27. package/dist/calendar/generated.d.ts +59 -59
  28. package/dist/calendar/generated.d.ts.map +1 -1
  29. package/dist/campaigns/generated.d.ts +151 -151
  30. package/dist/campaigns/generated.d.ts.map +1 -1
  31. package/dist/cart/generated.d.ts +41 -41
  32. package/dist/cart/generated.d.ts.map +1 -1
  33. package/dist/changelog/generated.d.ts +90 -90
  34. package/dist/changelog/generated.d.ts.map +1 -1
  35. package/dist/channel/generated.d.ts +256 -256
  36. package/dist/channel/generated.d.ts.map +1 -1
  37. package/dist/company/generated.d.ts +73 -73
  38. package/dist/company/generated.d.ts.map +1 -1
  39. package/dist/conference/generated.d.ts +160 -160
  40. package/dist/conference/generated.d.ts.map +1 -1
  41. package/dist/config/generated.d.ts +57 -57
  42. package/dist/config/generated.d.ts.map +1 -1
  43. package/dist/content/generated.d.ts +620 -620
  44. package/dist/content/generated.d.ts.map +1 -1
  45. package/dist/cookies/generated.d.ts +85 -85
  46. package/dist/cookies/generated.d.ts.map +1 -1
  47. package/dist/courses/generated.d.ts +381 -381
  48. package/dist/courses/generated.d.ts.map +1 -1
  49. package/dist/custom/generated.d.ts +103 -103
  50. package/dist/custom/generated.d.ts.map +1 -1
  51. package/dist/dashboard/generated.d.ts +148 -148
  52. package/dist/dashboard/generated.d.ts.map +1 -1
  53. package/dist/elasticsearch/generated.d.ts +37 -37
  54. package/dist/elasticsearch/generated.d.ts.map +1 -1
  55. package/dist/enrollments/generated.d.ts +21 -21
  56. package/dist/enrollments/generated.d.ts.map +1 -1
  57. package/dist/errors/generated.d.ts +21 -21
  58. package/dist/errors/generated.d.ts.map +1 -1
  59. package/dist/eventconfig/generated.d.ts +88 -88
  60. package/dist/eventconfig/generated.d.ts.map +1 -1
  61. package/dist/funnels/generated.d.ts +124 -125
  62. package/dist/funnels/generated.d.ts.map +1 -1
  63. package/dist/gamification/generated.d.ts +151 -151
  64. package/dist/gamification/generated.d.ts.map +1 -1
  65. package/dist/impersonation/generated.d.ts +33 -33
  66. package/dist/impersonation/generated.d.ts.map +1 -1
  67. package/dist/inbox/generated.d.ts +154 -154
  68. package/dist/inbox/generated.d.ts.map +1 -1
  69. package/dist/internal/generated.d.ts +21 -21
  70. package/dist/internal/generated.d.ts.map +1 -1
  71. package/dist/internationalization/generated.d.ts +23 -23
  72. package/dist/internationalization/generated.d.ts.map +1 -1
  73. package/dist/invitations/generated.d.ts +107 -107
  74. package/dist/invitations/generated.d.ts.map +1 -1
  75. package/dist/meetings/generated.d.ts +332 -332
  76. package/dist/meetings/generated.d.ts.map +1 -1
  77. package/dist/metas/generated.d.ts +200 -200
  78. package/dist/metas/generated.d.ts.map +1 -1
  79. package/dist/notification/generated.d.ts +279 -279
  80. package/dist/notification/generated.d.ts.map +1 -1
  81. package/dist/notifications/generated.d.ts +21 -21
  82. package/dist/notifications/generated.d.ts.map +1 -1
  83. package/dist/onboarding/generated.d.ts +95 -95
  84. package/dist/onboarding/generated.d.ts.map +1 -1
  85. package/dist/packages/generated.d.ts +77 -77
  86. package/dist/packages/generated.d.ts.map +1 -1
  87. package/dist/payments/generated.d.ts +628 -631
  88. package/dist/payments/generated.d.ts.map +1 -1
  89. package/dist/payouts/generated.d.ts +21 -21
  90. package/dist/payouts/generated.d.ts.map +1 -1
  91. package/dist/plans/generated.d.ts +405 -405
  92. package/dist/plans/generated.d.ts.map +1 -1
  93. package/dist/pricing/generated.d.ts +75 -75
  94. package/dist/pricing/generated.d.ts.map +1 -1
  95. package/dist/products/generated.d.ts +420 -420
  96. package/dist/products/generated.d.ts.map +1 -1
  97. package/dist/profile/generated.d.ts +310 -310
  98. package/dist/profile/generated.d.ts.map +1 -1
  99. package/dist/reasons/generated.d.ts +64 -64
  100. package/dist/reasons/generated.d.ts.map +1 -1
  101. package/dist/registration/generated.d.ts +163 -163
  102. package/dist/registration/generated.d.ts.map +1 -1
  103. package/dist/reviews/generated.d.ts +47 -47
  104. package/dist/reviews/generated.d.ts.map +1 -1
  105. package/dist/role/generated.d.ts +944 -446
  106. package/dist/role/generated.d.ts.map +1 -1
  107. package/dist/scheduling/generated.d.ts +76 -76
  108. package/dist/scheduling/generated.d.ts.map +1 -1
  109. package/dist/services/generated.d.ts +1119 -1119
  110. package/dist/services/generated.d.ts.map +1 -1
  111. package/dist/sessions/generated.d.ts +313 -313
  112. package/dist/sessions/generated.d.ts.map +1 -1
  113. package/dist/spaces/generated.d.ts +340 -340
  114. package/dist/spaces/generated.d.ts.map +1 -1
  115. package/dist/storefront/generated.d.ts +21 -21
  116. package/dist/storefront/generated.d.ts.map +1 -1
  117. package/dist/support/generated.d.ts +1624 -1624
  118. package/dist/support/generated.d.ts.map +1 -1
  119. package/dist/sync/generated.d.ts +176 -176
  120. package/dist/sync/generated.d.ts.map +1 -1
  121. package/dist/tenant/generated.d.ts +487 -487
  122. package/dist/tenant/generated.d.ts.map +1 -1
  123. package/dist/testimonials/generated.d.ts +86 -86
  124. package/dist/testimonials/generated.d.ts.map +1 -1
  125. package/dist/tests/generated.d.ts +456 -456
  126. package/dist/tests/generated.d.ts.map +1 -1
  127. package/dist/tokens/generated.d.ts +54 -54
  128. package/dist/tokens/generated.d.ts.map +1 -1
  129. package/dist/uploads/generated.d.ts +65 -65
  130. package/dist/uploads/generated.d.ts.map +1 -1
  131. package/dist/upsell/generated.d.ts +105 -105
  132. package/dist/upsell/generated.d.ts.map +1 -1
  133. package/dist/user/generated.d.ts +272 -527
  134. package/dist/user/generated.d.ts.map +1 -1
  135. package/dist/webinars/generated.d.ts +260 -260
  136. package/dist/webinars/generated.d.ts.map +1 -1
  137. package/package.json +1 -1
  138. package/test-commit.txt +1 -0
@@ -726,7 +726,7 @@ export interface paths {
726
726
  * ```
727
727
  *
728
728
  * **Authentication**: None (public endpoint for test info)
729
- * **Headers**: X-Api-Key (for org_id)
729
+ * **Headers**: Authorization: Bearer {token}
730
730
  *
731
731
  * **Response**:
732
732
  * - 200: Review settings retrieved
@@ -871,192 +871,166 @@ export type webhooks = Record<string, never>;
871
871
  export interface components {
872
872
  schemas: {
873
873
  /**
874
- * QuestionOptionCreate
875
- * @description Option for MCQ questions
874
+ * VariantItem
875
+ * @description Product variant (maps to product_variants_tbl)
876
876
  */
877
- QuestionOptionCreate: {
877
+ VariantItem: {
878
878
  /**
879
- * Option Text
880
- * @description Option text
879
+ * Name
880
+ * @description Variant display name
881
881
  */
882
- option_text: string;
882
+ name: string;
883
883
  /**
884
- * Is Correct
885
- * @description Whether this is correct answer
884
+ * Sku
885
+ * @description Stock Keeping Unit
886
+ */
887
+ sku?: string | null;
888
+ /**
889
+ * Attributes
890
+ * @description Custom attributes
891
+ */
892
+ attributes?: {
893
+ [key: string]: unknown;
894
+ } | null;
895
+ /**
896
+ * Is Default
897
+ * @description Set as default variant
886
898
  * @default false
887
899
  */
888
- is_correct: boolean;
900
+ is_default: boolean;
889
901
  /**
890
- * Display Order
891
- * @description Display order
902
+ * Track Inventory
903
+ * @description Track stock for this variant
904
+ * @default false
892
905
  */
893
- display_order?: number | null;
906
+ track_inventory: boolean;
894
907
  /**
895
- * Explanation
896
- * @description Explanation for this option
908
+ * Stock Quantity
909
+ * @description Initial stock
897
910
  */
898
- explanation?: string | null;
899
- };
900
- /**
901
- * ManualGradingSubmitRequest
902
- * @description Request model for submitting manual grading
903
- */
904
- ManualGradingSubmitRequest: {
911
+ stock_quantity?: number | null;
905
912
  /**
906
- * Marks Awarded
907
- * @description Marks awarded
913
+ * Allow Backorder
914
+ * @description Allow orders when out of stock
915
+ * @default false
908
916
  */
909
- marks_awarded: number;
917
+ allow_backorder: boolean;
910
918
  /**
911
- * Grader Feedback
912
- * @description Grader feedback
919
+ * Weight
920
+ * @description Weight in kg
913
921
  */
914
- grader_feedback?: string | null;
915
- };
916
- /**
917
- * QuestionCreateRequest
918
- * @description Request model for creating a question
919
- */
920
- QuestionCreateRequest: {
922
+ weight?: number | null;
921
923
  /**
922
- * Question Text
923
- * @description Question text
924
+ * Length
925
+ * @description Length in cm
924
926
  */
925
- question_text: string;
927
+ length?: number | null;
926
928
  /**
927
- * Question Type
928
- * @description Question type: mcq_single, mcq_multiple, true_false, fill_blank, essay, code, matching, ordering
929
+ * Width
930
+ * @description Width in cm
929
931
  */
930
- question_type: string;
932
+ width?: number | null;
931
933
  /**
932
- * Default Marks
933
- * @description Marks for correct answer
934
- * @default 1
934
+ * Height
935
+ * @description Height in cm
935
936
  */
936
- default_marks: number;
937
+ height?: number | null;
937
938
  /**
938
- * Negative Marks
939
- * @description Marks deducted for wrong answer
940
- * @default 0
939
+ * Display Order
940
+ * @description Display order
941
+ * @default 100
941
942
  */
942
- negative_marks: number;
943
+ display_order: number;
943
944
  /**
944
- * Difficulty Level
945
- * @description Difficulty: easy, medium, hard
945
+ * Metadata
946
+ * @description Flexible metadata
946
947
  */
947
- difficulty_level?: string | null;
948
+ metadata?: {
949
+ [key: string]: unknown;
950
+ } | null;
951
+ };
952
+ /**
953
+ * TestCreateRequest
954
+ * @description Request model for creating a test
955
+ */
956
+ app__models__tests__test_models__TestCreateRequest: {
948
957
  /**
949
- * Category Id
950
- * @description Question category ID
958
+ * Product Id
959
+ * @description External product ID (prod_xxx)
951
960
  */
952
- category_id?: number | null;
961
+ product_id: string;
953
962
  /**
954
- * Tags
955
- * @description List of tags
963
+ * Title
964
+ * @description Test title
956
965
  */
957
- tags?: string[] | null;
966
+ title: string;
958
967
  /**
959
- * Company Id
960
- * @description Company ID
968
+ * Description
969
+ * @description Test description
961
970
  */
962
- company_id?: number | null;
971
+ description?: string | null;
963
972
  /**
964
- * Options
965
- * @description Options for MCQ questions
973
+ * Total Marks
974
+ * @description Total marks for test
975
+ * @default 0
966
976
  */
967
- options?: components["schemas"]["QuestionOptionCreate"][] | null;
977
+ total_marks: number;
968
978
  /**
969
- * Code Language
970
- * @description Programming language (python, javascript, java, etc.)
979
+ * Passing Marks
980
+ * @description Minimum passing marks
971
981
  */
972
- code_language?: string | null;
982
+ passing_marks?: number | null;
973
983
  /**
974
- * Code Test Cases
975
- * @description Test cases for code evaluation
984
+ * Has Time Limit
985
+ * @description Whether test has time limit
986
+ * @default true
976
987
  */
977
- code_test_cases?: {
978
- [key: string]: unknown;
979
- } | null;
988
+ has_time_limit: boolean;
980
989
  /**
981
- * Code Time Limit Ms
982
- * @description Time limit in milliseconds
990
+ * Duration Minutes
991
+ * @description Test duration in minutes
983
992
  */
984
- code_time_limit_ms?: number | null;
993
+ duration_minutes?: number | null;
985
994
  /**
986
- * Code Memory Limit Kb
987
- * @description Memory limit in KB
995
+ * Max Attempts
996
+ * @description Maximum attempts allowed
988
997
  */
989
- code_memory_limit_kb?: number | null;
998
+ max_attempts?: number | null;
990
999
  /**
991
- * Code Starter Code
992
- * @description Starter code template
1000
+ * Randomize Questions
1001
+ * @description Randomize question order
1002
+ * @default false
993
1003
  */
994
- code_starter_code?: string | null;
1004
+ randomize_questions: boolean;
995
1005
  /**
996
- * Matching Pairs
997
- * @description Matching pairs data
1006
+ * Randomize Options
1007
+ * @description Randomize option order (MCQs)
1008
+ * @default false
998
1009
  */
999
- matching_pairs?: {
1000
- [key: string]: unknown;
1001
- }[] | null;
1010
+ randomize_options: boolean;
1002
1011
  /**
1003
- * Ordering Items
1004
- * @description Ordering items data
1012
+ * Enable Proctoring
1013
+ * @description Enable proctoring features
1014
+ * @default false
1005
1015
  */
1006
- ordering_items?: {
1007
- [key: string]: unknown;
1008
- }[] | null;
1009
- };
1010
- /**
1011
- * TestCreateRequest
1012
- * @description Test creation request - inherits common fields, adds test-specific section
1013
- * @example {
1014
- * "identity": {
1015
- * "locale": "en-US",
1016
- * "title": "Python Programming Assessment"
1017
- * },
1018
- * "pricing": {
1019
- * "product_price": {
1020
- * "amount": 500,
1021
- * "currency": "INR",
1022
- * "price_type": "one_time"
1023
- * }
1024
- * },
1025
- * "product": {
1026
- * "is_digital": true,
1027
- * "status": "draft",
1028
- * "visibility": "public"
1029
- * },
1030
- * "test": {
1031
- * "duration_minutes": 90,
1032
- * "has_time_limit": true,
1033
- * "max_attempts": 3,
1034
- * "passing_marks": 60,
1035
- * "total_marks": 100
1036
- * }
1037
- * }
1038
- */
1039
- TestCreateRequest: {
1040
- /** @description Base product configuration */
1041
- product: components["schemas"]["ProductSection"];
1042
- /** @description Localized content (title, description) */
1043
- identity: components["schemas"]["IdentitySection"];
1044
- /** @description Pre-uploaded image IDs */
1045
- media?: components["schemas"]["MediaSection"] | null;
1016
+ enable_proctoring: boolean;
1046
1017
  /**
1047
- * Tags
1048
- * @description Tag IDs to associate with product
1018
+ * Enable Browser Lockdown
1019
+ * @description Enable browser lockdown
1020
+ * @default false
1049
1021
  */
1050
- tags?: number[] | null;
1022
+ enable_browser_lockdown: boolean;
1051
1023
  /**
1052
- * Variants
1053
- * @description Product variants (optional)
1024
+ * Company Id
1025
+ * @description Company ID
1054
1026
  */
1055
- variants?: components["schemas"]["VariantItem"][] | null;
1056
- /** @description Pricing for product and variants */
1057
- pricing?: components["schemas"]["PricingSection"] | null;
1058
- /** @description Test-specific configuration */
1059
- test: components["schemas"]["TestSection"];
1027
+ company_id?: number | null;
1028
+ };
1029
+ InvalidParam: {
1030
+ /** @example items[0].quantity */
1031
+ field?: string;
1032
+ /** @example Input should be greater than or equal to 1 */
1033
+ error?: string;
1060
1034
  };
1061
1035
  /**
1062
1036
  * TestSection
@@ -1224,104 +1198,73 @@ export interface components {
1224
1198
  is_published: boolean;
1225
1199
  };
1226
1200
  /**
1227
- * ProductPrice
1228
- * @description Base product pricing (maps to product_pricings_tbl with variant_id=NULL)
1229
- */
1230
- ProductPrice: {
1231
- /**
1232
- * Price Type
1233
- * @description free, one_time, subscription, monthly_plan
1234
- */
1235
- price_type: string;
1236
- /**
1237
- * Currency
1238
- * @description Currency code: INR, USD, EUR, etc.
1239
- */
1240
- currency: string;
1241
- /**
1242
- * Amount
1243
- * @description Price amount
1244
- */
1245
- amount: number;
1246
- /**
1247
- * Compare At Amount
1248
- * @description Original/strike-through price
1249
- */
1250
- compare_at_amount?: number | null;
1201
+ * @example {
1202
+ * "status": "success",
1203
+ * "message": "Operation successful",
1204
+ * "message_code": "api_suc_20001",
1205
+ * "data": {},
1206
+ * "metadata": {
1207
+ * "timestamp": "2026-03-26T10:00:00.000Z",
1208
+ * "requestId": "07e22004-cb60-4dfc-bc9c-b6f99664dca1",
1209
+ * "traceId": "a9f1204c-bb82-41de-b234-7c3a9e120000",
1210
+ * "version": "v1",
1211
+ * "executionTime": 42,
1212
+ * "language": "en-US"
1213
+ * }
1214
+ * }
1215
+ */
1216
+ StandardResponse: {
1217
+ /** @example success */
1218
+ status?: string;
1219
+ data?: Record<string, never> | null;
1220
+ /** @example Operation successful */
1221
+ message?: string | null;
1222
+ /** @example api_suc_20001 */
1223
+ message_code?: string | null;
1224
+ metadata?: Record<string, never> | null;
1225
+ error?: components["schemas"]["ErrorResponse"];
1226
+ };
1227
+ /**
1228
+ * AnswerSubmitRequest
1229
+ * @description Request model for submitting an answer
1230
+ */
1231
+ AnswerSubmitRequest: {
1251
1232
  /**
1252
- * Interval
1253
- * @description day, week, month, year (for subscription)
1233
+ * Question Id
1234
+ * @description External question ID (que_xxx)
1254
1235
  */
1255
- interval?: string | null;
1236
+ question_id: string;
1256
1237
  /**
1257
- * Interval Count
1258
- * @description Number of intervals
1238
+ * Selected Option Ids
1239
+ * @description Selected option IDs for MCQ
1259
1240
  */
1260
- interval_count?: number | null;
1241
+ selected_option_ids?: string[] | null;
1261
1242
  /**
1262
- * Trial Period Days
1263
- * @description Free trial days
1243
+ * Answer Text
1244
+ * @description Text answer for essay/fill-blank
1264
1245
  */
1265
- trial_period_days?: number | null;
1246
+ answer_text?: string | null;
1266
1247
  /**
1267
- * Initial Amount
1268
- * @description First payment amount
1248
+ * Answer Code
1249
+ * @description Code answer for code questions
1269
1250
  */
1270
- initial_amount?: number | null;
1251
+ answer_code?: string | null;
1252
+ };
1253
+ /**
1254
+ * ManualGradingSubmitRequest
1255
+ * @description Request model for submitting manual grading
1256
+ */
1257
+ ManualGradingSubmitRequest: {
1271
1258
  /**
1272
- * Gateway
1273
- * @description stripe, razorpay, paypal, etc.
1259
+ * Marks Awarded
1260
+ * @description Marks awarded
1274
1261
  */
1275
- gateway?: string | null;
1262
+ marks_awarded: number;
1276
1263
  /**
1277
- * Requires Payment Method Upfront
1278
- * @description Require payment method before trial
1279
- * @default true
1264
+ * Grader Feedback
1265
+ * @description Grader feedback
1280
1266
  */
1281
- requires_payment_method_upfront: boolean;
1282
- };
1283
- ErrorResponse: {
1284
- /** @example about:blank */
1285
- type?: string;
1286
- /** @example GENERIC_ERROR */
1287
- code?: string;
1288
- /** @example Client Error */
1289
- title?: string;
1290
- /** @example 400 */
1291
- status?: number;
1292
- /** @example An error occurred */
1293
- detail?: string;
1294
- /** @example /v1/cart/items */
1295
- instance?: string;
1296
- extensions?: components["schemas"]["Extensions"];
1297
- };
1298
- /**
1299
- * TestUpdateRequest
1300
- * @description Request model for updating a test
1301
- */
1302
- TestUpdateRequest: {
1303
- /** Title */
1304
- title?: string | null;
1305
- /** Description */
1306
- description?: string | null;
1307
- /** Total Marks */
1308
- total_marks?: number | null;
1309
- /** Passing Marks */
1310
- passing_marks?: number | null;
1311
- /** Has Time Limit */
1312
- has_time_limit?: boolean | null;
1313
- /** Duration Minutes */
1314
- duration_minutes?: number | null;
1315
- /** Max Attempts */
1316
- max_attempts?: number | null;
1317
- /** Randomize Questions */
1318
- randomize_questions?: boolean | null;
1319
- /** Randomize Options */
1320
- randomize_options?: boolean | null;
1321
- /** Enable Proctoring */
1322
- enable_proctoring?: boolean | null;
1323
- /** Enable Browser Lockdown */
1324
- enable_browser_lockdown?: boolean | null;
1267
+ grader_feedback?: string | null;
1325
1268
  };
1326
1269
  /**
1327
1270
  * MediaItem
@@ -1395,66 +1338,42 @@ export interface components {
1395
1338
  is_primary: boolean;
1396
1339
  };
1397
1340
  /**
1398
- * MediaSection
1399
- * @description Product media files - direct media data
1400
- */
1401
- MediaSection: {
1402
- /**
1403
- * Media Items
1404
- * @description List of media files to attach to product
1405
- */
1406
- media_items?: components["schemas"]["MediaItem"][] | null;
1407
- };
1408
- /**
1409
- * ProductSection
1410
- * @description Base product fields (maps to product_tbl)
1341
+ * QuestionOptionCreate
1342
+ * @description Option for MCQ questions
1411
1343
  */
1412
- ProductSection: {
1413
- /**
1414
- * Visibility
1415
- * @description public, private, hidden, unlisted
1416
- * @default public
1417
- */
1418
- visibility: string;
1419
- /**
1420
- * Is Digital
1421
- * @description Digital product flag
1422
- * @default true
1423
- */
1424
- is_digital: boolean;
1425
- /**
1426
- * Company Id
1427
- * @description Multi-company support
1428
- */
1429
- company_id?: number | null;
1344
+ QuestionOptionCreate: {
1430
1345
  /**
1431
- * Status
1432
- * @description draft, published, archived, review_required, deleted
1433
- * @default draft
1346
+ * Option Text
1347
+ * @description Option text
1434
1348
  */
1435
- status: string;
1349
+ option_text: string;
1436
1350
  /**
1437
- * Is Org Level
1438
- * @description Org-level vs user-created product
1439
- * @default true
1351
+ * Is Correct
1352
+ * @description Whether this is correct answer
1353
+ * @default false
1440
1354
  */
1441
- is_org_level: boolean;
1355
+ is_correct: boolean;
1442
1356
  /**
1443
- * Staff Id
1444
- * @description Staff/instructor delivering product
1357
+ * Display Order
1358
+ * @description Display order
1445
1359
  */
1446
- staff_id?: number | null;
1360
+ display_order?: number | null;
1447
1361
  /**
1448
- * Owner Id
1449
- * @description Owner of the product
1362
+ * Explanation
1363
+ * @description Explanation for this option
1450
1364
  */
1451
- owner_id?: number | null;
1365
+ explanation?: string | null;
1366
+ };
1367
+ /**
1368
+ * MediaSection
1369
+ * @description Product media files - direct media data
1370
+ */
1371
+ MediaSection: {
1452
1372
  /**
1453
- * Featured
1454
- * @description Featured product flag
1455
- * @default false
1373
+ * Media Items
1374
+ * @description List of media files to attach to product
1456
1375
  */
1457
- featured: boolean;
1376
+ media_items?: components["schemas"]["MediaItem"][] | null;
1458
1377
  };
1459
1378
  Extensions: {
1460
1379
  /** @example GENERIC_ERROR */
@@ -1467,118 +1386,186 @@ export interface components {
1467
1386
  };
1468
1387
  /**
1469
1388
  * TestCreateRequest
1470
- * @description Request model for creating a test
1389
+ * @description Test creation request - inherits common fields, adds test-specific section
1390
+ * @example {
1391
+ * "identity": {
1392
+ * "locale": "en-US",
1393
+ * "title": "Python Programming Assessment"
1394
+ * },
1395
+ * "pricing": {
1396
+ * "product_price": {
1397
+ * "amount": 500,
1398
+ * "currency": "INR",
1399
+ * "price_type": "one_time"
1400
+ * }
1401
+ * },
1402
+ * "product": {
1403
+ * "is_digital": true,
1404
+ * "status": "draft",
1405
+ * "visibility": "public"
1406
+ * },
1407
+ * "test": {
1408
+ * "duration_minutes": 90,
1409
+ * "has_time_limit": true,
1410
+ * "max_attempts": 3,
1411
+ * "passing_marks": 60,
1412
+ * "total_marks": 100
1413
+ * }
1414
+ * }
1471
1415
  */
1472
- app__models__tests__test_models__TestCreateRequest: {
1473
- /**
1474
- * Product Id
1475
- * @description External product ID (prod_xxx)
1476
- */
1477
- product_id: string;
1416
+ TestCreateRequest: {
1417
+ /** @description Base product configuration */
1418
+ product: components["schemas"]["ProductSection"];
1419
+ /** @description Localized content (title, description) */
1420
+ identity: components["schemas"]["IdentitySection"];
1421
+ /** @description Pre-uploaded image IDs */
1422
+ media?: components["schemas"]["MediaSection"] | null;
1478
1423
  /**
1479
- * Title
1480
- * @description Test title
1424
+ * Tags
1425
+ * @description Tag IDs to associate with product
1481
1426
  */
1482
- title: string;
1427
+ tags?: number[] | null;
1483
1428
  /**
1484
- * Description
1485
- * @description Test description
1429
+ * Variants
1430
+ * @description Product variants (optional)
1486
1431
  */
1487
- description?: string | null;
1432
+ variants?: components["schemas"]["VariantItem"][] | null;
1433
+ /** @description Pricing for product and variants */
1434
+ pricing?: components["schemas"]["PricingSection"] | null;
1435
+ /** @description Test-specific configuration */
1436
+ test: components["schemas"]["TestSection"];
1437
+ };
1438
+ /**
1439
+ * IdentitySection
1440
+ * @description Localized product content (maps to product_identity_tbl)
1441
+ */
1442
+ IdentitySection: {
1488
1443
  /**
1489
- * Total Marks
1490
- * @description Total marks for test
1491
- * @default 0
1444
+ * Locale
1445
+ * @description Locale: en-US, es-PR, fr-FR, pt-BR, etc.
1446
+ * @default en-US
1492
1447
  */
1493
- total_marks: number;
1448
+ locale: string;
1494
1449
  /**
1495
- * Passing Marks
1496
- * @description Minimum passing marks
1450
+ * Title
1451
+ * @description Product title
1497
1452
  */
1498
- passing_marks?: number | null;
1453
+ title: string;
1499
1454
  /**
1500
- * Has Time Limit
1501
- * @description Whether test has time limit
1502
- * @default true
1455
+ * Subtitle
1456
+ * @description Product subtitle
1503
1457
  */
1504
- has_time_limit: boolean;
1458
+ subtitle?: string | null;
1505
1459
  /**
1506
- * Duration Minutes
1507
- * @description Test duration in minutes
1460
+ * Description
1461
+ * @description Full product description
1508
1462
  */
1509
- duration_minutes?: number | null;
1463
+ description?: string | null;
1510
1464
  /**
1511
- * Max Attempts
1512
- * @description Maximum attempts allowed
1465
+ * Short Description
1466
+ * @description Short description for listings/previews
1513
1467
  */
1514
- max_attempts?: number | null;
1468
+ short_description?: string | null;
1469
+ };
1470
+ /**
1471
+ * QuestionCreateRequest
1472
+ * @description Request model for creating a question
1473
+ */
1474
+ QuestionCreateRequest: {
1515
1475
  /**
1516
- * Randomize Questions
1517
- * @description Randomize question order
1518
- * @default false
1476
+ * Question Text
1477
+ * @description Question text
1519
1478
  */
1520
- randomize_questions: boolean;
1479
+ question_text: string;
1521
1480
  /**
1522
- * Randomize Options
1523
- * @description Randomize option order (MCQs)
1524
- * @default false
1481
+ * Question Type
1482
+ * @description Question type: mcq_single, mcq_multiple, true_false, fill_blank, essay, code, matching, ordering
1525
1483
  */
1526
- randomize_options: boolean;
1484
+ question_type: string;
1527
1485
  /**
1528
- * Enable Proctoring
1529
- * @description Enable proctoring features
1530
- * @default false
1486
+ * Default Marks
1487
+ * @description Marks for correct answer
1488
+ * @default 1
1531
1489
  */
1532
- enable_proctoring: boolean;
1490
+ default_marks: number;
1533
1491
  /**
1534
- * Enable Browser Lockdown
1535
- * @description Enable browser lockdown
1536
- * @default false
1492
+ * Negative Marks
1493
+ * @description Marks deducted for wrong answer
1494
+ * @default 0
1537
1495
  */
1538
- enable_browser_lockdown: boolean;
1496
+ negative_marks: number;
1497
+ /**
1498
+ * Difficulty Level
1499
+ * @description Difficulty: easy, medium, hard
1500
+ */
1501
+ difficulty_level?: string | null;
1502
+ /**
1503
+ * Category Id
1504
+ * @description Question category ID
1505
+ */
1506
+ category_id?: number | null;
1507
+ /**
1508
+ * Tags
1509
+ * @description List of tags
1510
+ */
1511
+ tags?: string[] | null;
1539
1512
  /**
1540
1513
  * Company Id
1541
1514
  * @description Company ID
1542
1515
  */
1543
1516
  company_id?: number | null;
1517
+ /**
1518
+ * Options
1519
+ * @description Options for MCQ questions
1520
+ */
1521
+ options?: components["schemas"]["QuestionOptionCreate"][] | null;
1522
+ /**
1523
+ * Code Language
1524
+ * @description Programming language (python, javascript, java, etc.)
1525
+ */
1526
+ code_language?: string | null;
1527
+ /**
1528
+ * Code Test Cases
1529
+ * @description Test cases for code evaluation
1530
+ */
1531
+ code_test_cases?: {
1532
+ [key: string]: unknown;
1533
+ } | null;
1534
+ /**
1535
+ * Code Time Limit Ms
1536
+ * @description Time limit in milliseconds
1537
+ */
1538
+ code_time_limit_ms?: number | null;
1539
+ /**
1540
+ * Code Memory Limit Kb
1541
+ * @description Memory limit in KB
1542
+ */
1543
+ code_memory_limit_kb?: number | null;
1544
+ /**
1545
+ * Code Starter Code
1546
+ * @description Starter code template
1547
+ */
1548
+ code_starter_code?: string | null;
1549
+ /**
1550
+ * Matching Pairs
1551
+ * @description Matching pairs data
1552
+ */
1553
+ matching_pairs?: {
1554
+ [key: string]: unknown;
1555
+ }[] | null;
1556
+ /**
1557
+ * Ordering Items
1558
+ * @description Ordering items data
1559
+ */
1560
+ ordering_items?: {
1561
+ [key: string]: unknown;
1562
+ }[] | null;
1544
1563
  };
1545
1564
  /**
1546
- * @example {
1547
- * "status": "success",
1548
- * "message": "Operation successful",
1549
- * "message_code": "api_suc_20001",
1550
- * "data": {},
1551
- * "metadata": {
1552
- * "timestamp": "2026-03-26T10:00:00.000Z",
1553
- * "requestId": "07e22004-cb60-4dfc-bc9c-b6f99664dca1",
1554
- * "traceId": "a9f1204c-bb82-41de-b234-7c3a9e120000",
1555
- * "version": "v1",
1556
- * "executionTime": 42,
1557
- * "language": "en-US"
1558
- * }
1559
- * }
1560
- */
1561
- StandardResponse: {
1562
- /** @example success */
1563
- status?: string;
1564
- data?: Record<string, never> | null;
1565
- /** @example Operation successful */
1566
- message?: string | null;
1567
- /** @example api_suc_20001 */
1568
- message_code?: string | null;
1569
- metadata?: Record<string, never> | null;
1570
- error?: components["schemas"]["ErrorResponse"];
1571
- };
1572
- /**
1573
- * VariantPrice
1574
- * @description Variant-specific pricing (maps to product_pricings_tbl with variant_id set)
1565
+ * ProductPrice
1566
+ * @description Base product pricing (maps to product_pricings_tbl with variant_id=NULL)
1575
1567
  */
1576
- VariantPrice: {
1577
- /**
1578
- * Variant Index
1579
- * @description Index in variants array (0-based)
1580
- */
1581
- variant_index: number;
1568
+ ProductPrice: {
1582
1569
  /**
1583
1570
  * Price Type
1584
1571
  * @description free, one_time, subscription, monthly_plan
@@ -1586,7 +1573,7 @@ export interface components {
1586
1573
  price_type: string;
1587
1574
  /**
1588
1575
  * Currency
1589
- * @description Currency code
1576
+ * @description Currency code: INR, USD, EUR, etc.
1590
1577
  */
1591
1578
  currency: string;
1592
1579
  /**
@@ -1601,7 +1588,7 @@ export interface components {
1601
1588
  compare_at_amount?: number | null;
1602
1589
  /**
1603
1590
  * Interval
1604
- * @description day, week, month, year
1591
+ * @description day, week, month, year (for subscription)
1605
1592
  */
1606
1593
  interval?: string | null;
1607
1594
  /**
@@ -1632,115 +1619,132 @@ export interface components {
1632
1619
  requires_payment_method_upfront: boolean;
1633
1620
  };
1634
1621
  /**
1635
- * IdentitySection
1636
- * @description Localized product content (maps to product_identity_tbl)
1622
+ * VariantPrice
1623
+ * @description Variant-specific pricing (maps to product_pricings_tbl with variant_id set)
1637
1624
  */
1638
- IdentitySection: {
1625
+ VariantPrice: {
1639
1626
  /**
1640
- * Locale
1641
- * @description Locale: en-US, es-PR, fr-FR, pt-BR, etc.
1642
- * @default en-US
1627
+ * Variant Index
1628
+ * @description Index in variants array (0-based)
1643
1629
  */
1644
- locale: string;
1630
+ variant_index: number;
1645
1631
  /**
1646
- * Title
1647
- * @description Product title
1632
+ * Price Type
1633
+ * @description free, one_time, subscription, monthly_plan
1648
1634
  */
1649
- title: string;
1635
+ price_type: string;
1650
1636
  /**
1651
- * Subtitle
1652
- * @description Product subtitle
1637
+ * Currency
1638
+ * @description Currency code
1653
1639
  */
1654
- subtitle?: string | null;
1640
+ currency: string;
1655
1641
  /**
1656
- * Description
1657
- * @description Full product description
1642
+ * Amount
1643
+ * @description Price amount
1658
1644
  */
1659
- description?: string | null;
1645
+ amount: number;
1660
1646
  /**
1661
- * Short Description
1662
- * @description Short description for listings/previews
1647
+ * Compare At Amount
1648
+ * @description Original/strike-through price
1663
1649
  */
1664
- short_description?: string | null;
1665
- };
1666
- /**
1667
- * VariantItem
1668
- * @description Product variant (maps to product_variants_tbl)
1669
- */
1670
- VariantItem: {
1650
+ compare_at_amount?: number | null;
1671
1651
  /**
1672
- * Name
1673
- * @description Variant display name
1652
+ * Interval
1653
+ * @description day, week, month, year
1674
1654
  */
1675
- name: string;
1655
+ interval?: string | null;
1676
1656
  /**
1677
- * Sku
1678
- * @description Stock Keeping Unit
1657
+ * Interval Count
1658
+ * @description Number of intervals
1679
1659
  */
1680
- sku?: string | null;
1660
+ interval_count?: number | null;
1681
1661
  /**
1682
- * Attributes
1683
- * @description Custom attributes
1662
+ * Trial Period Days
1663
+ * @description Free trial days
1684
1664
  */
1685
- attributes?: {
1686
- [key: string]: unknown;
1687
- } | null;
1665
+ trial_period_days?: number | null;
1688
1666
  /**
1689
- * Is Default
1690
- * @description Set as default variant
1691
- * @default false
1667
+ * Initial Amount
1668
+ * @description First payment amount
1692
1669
  */
1693
- is_default: boolean;
1670
+ initial_amount?: number | null;
1694
1671
  /**
1695
- * Track Inventory
1696
- * @description Track stock for this variant
1697
- * @default false
1672
+ * Gateway
1673
+ * @description stripe, razorpay, paypal, etc.
1698
1674
  */
1699
- track_inventory: boolean;
1675
+ gateway?: string | null;
1700
1676
  /**
1701
- * Stock Quantity
1702
- * @description Initial stock
1677
+ * Requires Payment Method Upfront
1678
+ * @description Require payment method before trial
1679
+ * @default true
1703
1680
  */
1704
- stock_quantity?: number | null;
1681
+ requires_payment_method_upfront: boolean;
1682
+ };
1683
+ ErrorResponse: {
1684
+ /** @example about:blank */
1685
+ type?: string;
1686
+ /** @example GENERIC_ERROR */
1687
+ code?: string;
1688
+ /** @example Client Error */
1689
+ title?: string;
1690
+ /** @example 400 */
1691
+ status?: number;
1692
+ /** @example An error occurred */
1693
+ detail?: string;
1694
+ /** @example /v1/cart/items */
1695
+ instance?: string;
1696
+ extensions?: components["schemas"]["Extensions"];
1697
+ };
1698
+ /**
1699
+ * ProductSection
1700
+ * @description Base product fields (maps to product_tbl)
1701
+ */
1702
+ ProductSection: {
1705
1703
  /**
1706
- * Allow Backorder
1707
- * @description Allow orders when out of stock
1708
- * @default false
1704
+ * Visibility
1705
+ * @description public, private, hidden, unlisted
1706
+ * @default public
1709
1707
  */
1710
- allow_backorder: boolean;
1708
+ visibility: string;
1711
1709
  /**
1712
- * Weight
1713
- * @description Weight in kg
1710
+ * Is Digital
1711
+ * @description Digital product flag
1712
+ * @default true
1714
1713
  */
1715
- weight?: number | null;
1714
+ is_digital: boolean;
1716
1715
  /**
1717
- * Length
1718
- * @description Length in cm
1716
+ * Company Id
1717
+ * @description Multi-company support
1719
1718
  */
1720
- length?: number | null;
1719
+ company_id?: number | null;
1721
1720
  /**
1722
- * Width
1723
- * @description Width in cm
1721
+ * Status
1722
+ * @description draft, published, archived, review_required, deleted
1723
+ * @default draft
1724
1724
  */
1725
- width?: number | null;
1725
+ status: string;
1726
1726
  /**
1727
- * Height
1728
- * @description Height in cm
1727
+ * Is Org Level
1728
+ * @description Org-level vs user-created product
1729
+ * @default true
1729
1730
  */
1730
- height?: number | null;
1731
+ is_org_level: boolean;
1731
1732
  /**
1732
- * Display Order
1733
- * @description Display order
1734
- * @default 100
1733
+ * Staff Id
1734
+ * @description Staff/instructor delivering product
1735
1735
  */
1736
- display_order: number;
1736
+ staff_id?: number | null;
1737
1737
  /**
1738
- * Metadata
1739
- * @description Flexible metadata
1738
+ * Owner Id
1739
+ * @description Owner of the product
1740
1740
  */
1741
- metadata?: {
1742
- [key: string]: unknown;
1743
- } | null;
1741
+ owner_id?: number | null;
1742
+ /**
1743
+ * Featured
1744
+ * @description Featured product flag
1745
+ * @default false
1746
+ */
1747
+ featured: boolean;
1744
1748
  };
1745
1749
  /**
1746
1750
  * PricingSection
@@ -1756,36 +1760,32 @@ export interface components {
1756
1760
  variant_prices?: components["schemas"]["VariantPrice"][] | null;
1757
1761
  };
1758
1762
  /**
1759
- * AnswerSubmitRequest
1760
- * @description Request model for submitting an answer
1763
+ * TestUpdateRequest
1764
+ * @description Request model for updating a test
1761
1765
  */
1762
- AnswerSubmitRequest: {
1763
- /**
1764
- * Question Id
1765
- * @description External question ID (que_xxx)
1766
- */
1767
- question_id: string;
1768
- /**
1769
- * Selected Option Ids
1770
- * @description Selected option IDs for MCQ
1771
- */
1772
- selected_option_ids?: string[] | null;
1773
- /**
1774
- * Answer Text
1775
- * @description Text answer for essay/fill-blank
1776
- */
1777
- answer_text?: string | null;
1778
- /**
1779
- * Answer Code
1780
- * @description Code answer for code questions
1781
- */
1782
- answer_code?: string | null;
1783
- };
1784
- InvalidParam: {
1785
- /** @example items[0].quantity */
1786
- field?: string;
1787
- /** @example Input should be greater than or equal to 1 */
1788
- error?: string;
1766
+ TestUpdateRequest: {
1767
+ /** Title */
1768
+ title?: string | null;
1769
+ /** Description */
1770
+ description?: string | null;
1771
+ /** Total Marks */
1772
+ total_marks?: number | null;
1773
+ /** Passing Marks */
1774
+ passing_marks?: number | null;
1775
+ /** Has Time Limit */
1776
+ has_time_limit?: boolean | null;
1777
+ /** Duration Minutes */
1778
+ duration_minutes?: number | null;
1779
+ /** Max Attempts */
1780
+ max_attempts?: number | null;
1781
+ /** Randomize Questions */
1782
+ randomize_questions?: boolean | null;
1783
+ /** Randomize Options */
1784
+ randomize_options?: boolean | null;
1785
+ /** Enable Proctoring */
1786
+ enable_proctoring?: boolean | null;
1787
+ /** Enable Browser Lockdown */
1788
+ enable_browser_lockdown?: boolean | null;
1789
1789
  };
1790
1790
  };
1791
1791
  responses: never;