@ikonintegration/module-config-api 2.0.5 → 2.0.7

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 (2) hide show
  1. package/Api.ts +1365 -15
  2. package/package.json +2 -2
package/Api.ts CHANGED
@@ -1335,7 +1335,390 @@ export interface TenantRequestBody {
1335
1335
 
1336
1336
  /** List of tenants response */
1337
1337
  export interface TenantListResponse {
1338
- tenants: TenantResponse[]
1338
+ tenants: {
1339
+ /**
1340
+ * User who created the tenant record
1341
+ * @example "admin@example.com"
1342
+ */
1343
+ createdBy?: string
1344
+ /**
1345
+ * Timestamp when the tenant was created
1346
+ * @example 1717000000000
1347
+ */
1348
+ createdOn: number
1349
+ /**
1350
+ * User who last updated the tenant record
1351
+ * @example "admin@example.com"
1352
+ */
1353
+ updatedBy?: string
1354
+ /**
1355
+ * Timestamp of last update
1356
+ * @example 1717000000000
1357
+ */
1358
+ updatedOn?: number
1359
+ /**
1360
+ * Unique identifier of the tenant
1361
+ * @example "tenant456"
1362
+ */
1363
+ id: string
1364
+ /**
1365
+ * Customer ID this tenant belongs to
1366
+ * @example "customer123"
1367
+ */
1368
+ customerID: string
1369
+ /**
1370
+ * Tenant name
1371
+ * @example "ACME Tenant"
1372
+ */
1373
+ name?: string
1374
+ /**
1375
+ * Whether to include in dashboards
1376
+ * @example true
1377
+ */
1378
+ includeInDashboards?: boolean
1379
+ /**
1380
+ * Commission payment type
1381
+ * @example "percentage"
1382
+ */
1383
+ commissionPayType?: string
1384
+ /**
1385
+ * Whether org manager can enroll by session
1386
+ * @example false
1387
+ */
1388
+ orgMgrCanEnrolBySession?: boolean
1389
+ /**
1390
+ * Warning configuration before invitation expiration
1391
+ * @example [{"warningID":"warn1","template":"template1","period":7}]
1392
+ */
1393
+ warningInvitationExpiration?: {
1394
+ warningID?: string
1395
+ template?: string
1396
+ period?: number
1397
+ }[]
1398
+ /**
1399
+ * IDM admin role ID
1400
+ * @example "role_admin"
1401
+ */
1402
+ idmAdminRoleID?: string
1403
+ /**
1404
+ * IDM user role ID
1405
+ * @example "role_user"
1406
+ */
1407
+ idmUserRoleID?: string
1408
+ /**
1409
+ * IDM super admin role ID
1410
+ * @example "role_super_admin"
1411
+ */
1412
+ idmSuperAdminRoleID?: string
1413
+ /**
1414
+ * IDM reviewer role ID
1415
+ * @example "role_reviewer"
1416
+ */
1417
+ idmReviewerRoleID?: string
1418
+ /**
1419
+ * IDM training admin role ID
1420
+ * @example "role_training_admin"
1421
+ */
1422
+ idmTrainingAdminRoleID?: string
1423
+ /**
1424
+ * IDM auditor role ID
1425
+ * @example "role_auditor"
1426
+ */
1427
+ idmAuditorRoleID?: string
1428
+ /**
1429
+ * IDM API key
1430
+ * @example "idm_key_123"
1431
+ */
1432
+ idmKey?: string
1433
+ /**
1434
+ * IDM secret
1435
+ * @example "idm_secret_456"
1436
+ */
1437
+ idmSecret?: string
1438
+ /**
1439
+ * Shared module organization API key
1440
+ * @example "org_api_key"
1441
+ */
1442
+ sharedModuleOrganizationAPIKey?: string
1443
+ /**
1444
+ * Shared module auditing API key
1445
+ * @example "audit_api_key"
1446
+ */
1447
+ sharedModuleAuditingAPIKey?: string
1448
+ /**
1449
+ * Shared module license API key
1450
+ * @example "license_api_key"
1451
+ */
1452
+ sharedModuleLicenseAPIKey?: string
1453
+ /**
1454
+ * Shared module classroom API key
1455
+ * @example "classroom_api_key"
1456
+ */
1457
+ sharedModuleClassroomAPIKey?: string
1458
+ /**
1459
+ * Shared module config API key
1460
+ * @example "config_api_key"
1461
+ */
1462
+ sharedModuleConfigAPIKey?: string
1463
+ /**
1464
+ * Whether to show application filter
1465
+ * @example true
1466
+ */
1467
+ showApplicationFilter?: boolean
1468
+ /**
1469
+ * Admin email recipient(s)
1470
+ * @example "admin@example.com"
1471
+ */
1472
+ mailerAdminRecipient?: string | string[]
1473
+ /**
1474
+ * BCC email address
1475
+ * @example "bcc@example.com"
1476
+ */
1477
+ mailerBCC?: string
1478
+ /**
1479
+ * Email sender address
1480
+ * @example "noreply@example.com"
1481
+ */
1482
+ mailerSender?: string
1483
+ /**
1484
+ * System admin email recipient(s)
1485
+ * @example "sysadmin@example.com"
1486
+ */
1487
+ mailerSysAdminRecipient?: string | string[]
1488
+ /**
1489
+ * Email templates configuration
1490
+ * @example {}
1491
+ */
1492
+ mailerTemplates?: any
1493
+ /**
1494
+ * Billing email recipient
1495
+ * @example "billing@example.com"
1496
+ */
1497
+ mailerBillingRecipient?: string
1498
+ /**
1499
+ * List of disabled email types
1500
+ * @example ["reminder","notification"]
1501
+ */
1502
+ disabledEmails?: string[]
1503
+ /**
1504
+ * Whether to notify admins
1505
+ * @example true
1506
+ */
1507
+ notifyAdmins?: boolean
1508
+ /**
1509
+ * Organization contact information
1510
+ * @example {"email":"contact@example.com","phoneNumber":"+1234567890"}
1511
+ */
1512
+ organizationContactDisplay?: {
1513
+ email?: string
1514
+ phoneNumber?: string
1515
+ }
1516
+ /**
1517
+ * Organization name
1518
+ * @example "ACME Organization"
1519
+ */
1520
+ organizationName?: string
1521
+ /**
1522
+ * Organization application URL
1523
+ * @example "https://app.example.com"
1524
+ */
1525
+ organizationApplicationURL?: string
1526
+ /**
1527
+ * Organization registration text
1528
+ * @example "Register now"
1529
+ */
1530
+ organizationRegText?: string
1531
+ /**
1532
+ * Organization registration checkbox text
1533
+ * @example "I agree to terms"
1534
+ */
1535
+ organizationRegCheckboxText?: string
1536
+ /**
1537
+ * Refund policy URL
1538
+ * @example "https://example.com/refund"
1539
+ */
1540
+ refundPolicyURL?: string
1541
+ /**
1542
+ * Organization application logo URL
1543
+ * @example "https://example.com/logo.png"
1544
+ */
1545
+ organizationApplicationLogo?: string
1546
+ /**
1547
+ * Days before invitation expires
1548
+ * @example 30
1549
+ */
1550
+ organizationExpireInvitationAfter?: number
1551
+ /**
1552
+ * Whether to CC org admin in invitations
1553
+ * @example false
1554
+ */
1555
+ orgModCCOrgAdminInInvitations?: boolean
1556
+ /**
1557
+ * Whether to replicate membership
1558
+ * @example false
1559
+ */
1560
+ orgModReplicateMembership?: boolean
1561
+ /**
1562
+ * Tax rate percentage
1563
+ * @example 5
1564
+ */
1565
+ taxRate?: number
1566
+ /**
1567
+ * Tenant timezone
1568
+ * @example "America/Vancouver"
1569
+ */
1570
+ timezone?: string
1571
+ /**
1572
+ * Certificate number mask format
1573
+ * @example "CERT-####"
1574
+ */
1575
+ certNumberMaskFormat?: string
1576
+ /**
1577
+ * Certificate number mode
1578
+ * @example "auto"
1579
+ */
1580
+ certNumberMode?: string
1581
+ /**
1582
+ * Course certificate number mask format
1583
+ * @example "COURSE-####"
1584
+ */
1585
+ courseCertNumberMaskFormat?: string
1586
+ /**
1587
+ * Course certificate number mode
1588
+ * @example "auto"
1589
+ */
1590
+ courseCertNumberMode?: string
1591
+ /**
1592
+ * List of enabled user filters
1593
+ * @example ["active","pending"]
1594
+ */
1595
+ enabledUsersFilter?: string[]
1596
+ /**
1597
+ * Optional user search filters
1598
+ * @example []
1599
+ */
1600
+ optionalUserSearchFilters?: any[]
1601
+ /**
1602
+ * Menu display options configuration
1603
+ * @example {}
1604
+ */
1605
+ menuDisplayOptions?: any
1606
+ /**
1607
+ * Settings display options configuration
1608
+ * @example {}
1609
+ */
1610
+ settingsDisplayOptions?: any
1611
+ /**
1612
+ * Custom registration configuration
1613
+ * @example {}
1614
+ */
1615
+ customRegistration?: any
1616
+ /**
1617
+ * List of enabled report types
1618
+ * @example ["user","certification"]
1619
+ */
1620
+ reportTypes?: string[]
1621
+ /**
1622
+ * UI theme key
1623
+ * @example "default"
1624
+ */
1625
+ uiThemeKey?: string
1626
+ /**
1627
+ * Discount help text
1628
+ * @example "Enter discount code"
1629
+ */
1630
+ discountHelpText?: string
1631
+ /**
1632
+ * Whether organization module is disabled
1633
+ * @example false
1634
+ */
1635
+ orgModDisabled?: boolean
1636
+ /**
1637
+ * Discount policy configuration
1638
+ * @example {"employerCUs":["CU1","CU2"],"discountPercent":10}
1639
+ */
1640
+ discountPolicy?: {
1641
+ employerCUs?: string[]
1642
+ discountPercent?: number
1643
+ }
1644
+ /**
1645
+ * IDM instructor role ID
1646
+ * @example "role_instructor"
1647
+ */
1648
+ idmInstructorRoleID?: string
1649
+ /**
1650
+ * Whether organizations are disabled
1651
+ * @example false
1652
+ */
1653
+ organizationsDisabled?: boolean
1654
+ /**
1655
+ * Organization member profile configuration
1656
+ * @example {}
1657
+ */
1658
+ organizationMemberProfile?: {
1659
+ sections?: {
1660
+ name?: string
1661
+ beforeRow?: number
1662
+ fields?: any
1663
+ }[]
1664
+ } | null
1665
+ /**
1666
+ * Whether organization module employee mode is enabled
1667
+ * @example false
1668
+ */
1669
+ orgModEmployeeMode?: boolean
1670
+ /**
1671
+ * Whether organization self-registration is allowed
1672
+ * @example false
1673
+ */
1674
+ orgModAllowOrgSelfRegistration?: boolean
1675
+ /**
1676
+ * Whether to use product suffix on transactions
1677
+ * @example false
1678
+ */
1679
+ licModUseProdSuffixOnTx?: boolean
1680
+ /**
1681
+ * Whether license module vaulting is enabled
1682
+ * @example false
1683
+ */
1684
+ licModVaultingEnabled?: boolean
1685
+ /**
1686
+ * Whether license module purchase is enabled
1687
+ * @example false
1688
+ */
1689
+ licModPurchaseEnabled?: boolean
1690
+ /**
1691
+ * License module purchase message
1692
+ * @example "Purchase available"
1693
+ */
1694
+ licModPurchaseMessage?: string
1695
+ /**
1696
+ * Webhook URL for successful purchase
1697
+ * @example "https://example.com/webhook/success"
1698
+ */
1699
+ purchaseWebhookSuccess?: string
1700
+ /**
1701
+ * Webhook URL for failed purchase
1702
+ * @example "https://example.com/webhook/fail"
1703
+ */
1704
+ purchaseWebhookFail?: string
1705
+ /**
1706
+ * Webhook URL for refund
1707
+ * @example "https://example.com/webhook/refund"
1708
+ */
1709
+ purchaseWebhookRefund?: string
1710
+ /**
1711
+ * UI configuration
1712
+ * @example {"banner":{"type":"info","content":"Welcome"}}
1713
+ */
1714
+ ui?: {
1715
+ banner?: {
1716
+ type?: string
1717
+ content?: string
1718
+ }
1719
+ profileAlertMessage?: string
1720
+ }
1721
+ }[]
1339
1722
  }
1340
1723
 
1341
1724
  /** Training provider response object */
@@ -1418,7 +1801,53 @@ export interface TrainingProviderRequestBody {
1418
1801
 
1419
1802
  /** List of training providers response */
1420
1803
  export interface TrainingProviderListResponse {
1421
- trainingProviders: TrainingProviderResponse[]
1804
+ trainingProviders: {
1805
+ /**
1806
+ * User who created the training provider record
1807
+ * @example "admin@example.com"
1808
+ */
1809
+ createdBy?: string
1810
+ /**
1811
+ * Timestamp when the training provider was created
1812
+ * @example 1717000000000
1813
+ */
1814
+ createdOn: number
1815
+ /**
1816
+ * User who last updated the training provider record
1817
+ * @example "admin@example.com"
1818
+ */
1819
+ updatedBy?: string
1820
+ /**
1821
+ * Timestamp of last update
1822
+ * @example 1717000000000
1823
+ */
1824
+ updatedOn?: number
1825
+ /**
1826
+ * Unique identifier of the training provider
1827
+ * @example "tp456"
1828
+ */
1829
+ id: string
1830
+ /**
1831
+ * Customer ID this training provider belongs to
1832
+ * @example "customer123"
1833
+ */
1834
+ customerID: string
1835
+ /**
1836
+ * Training provider name
1837
+ * @example "ACME Training"
1838
+ */
1839
+ name?: string
1840
+ /**
1841
+ * Training provider URL
1842
+ * @example "https://training.example.com"
1843
+ */
1844
+ url?: string
1845
+ /**
1846
+ * Whether the training provider is disabled
1847
+ * @example false
1848
+ */
1849
+ isDisabled?: boolean
1850
+ }[]
1422
1851
  }
1423
1852
 
1424
1853
  /** Tile permissions response object */
@@ -1718,7 +2147,131 @@ export interface RequirementRequestBody {
1718
2147
 
1719
2148
  /** List of requirements response */
1720
2149
  export interface RequirementListResponse {
1721
- requirements: RequirementResponse[]
2150
+ requirements: {
2151
+ /**
2152
+ * User who created the requirement record
2153
+ * @example "admin@example.com"
2154
+ */
2155
+ createdBy?: string
2156
+ /**
2157
+ * Timestamp when the requirement was created
2158
+ * @example 1717000000000
2159
+ */
2160
+ createdOn: number
2161
+ /**
2162
+ * User who last updated the requirement record
2163
+ * @example "admin@example.com"
2164
+ */
2165
+ updatedBy?: string
2166
+ /**
2167
+ * Timestamp of last update
2168
+ * @example 1717000000000
2169
+ */
2170
+ updatedOn?: number
2171
+ /**
2172
+ * Unique identifier of the requirement
2173
+ * @example "req456"
2174
+ */
2175
+ id: string
2176
+ /**
2177
+ * Customer ID this requirement belongs to
2178
+ * @example "customer123"
2179
+ */
2180
+ customerID: string
2181
+ /**
2182
+ * Display order of the requirement
2183
+ * @example 1
2184
+ */
2185
+ order?: number
2186
+ /**
2187
+ * Requirement name
2188
+ * @example "First Aid Training"
2189
+ */
2190
+ name?: string
2191
+ /**
2192
+ * Internal name for the requirement
2193
+ * @example "first_aid_training"
2194
+ */
2195
+ internalName?: string
2196
+ /**
2197
+ * Short description for card display
2198
+ * @example "Basic first aid certification"
2199
+ */
2200
+ cardDescription?: string
2201
+ /**
2202
+ * Detailed name of the requirement
2203
+ * @example "Standard First Aid & CPR Level C"
2204
+ */
2205
+ detailedName?: string
2206
+ /**
2207
+ * List of matching criteria
2208
+ * @example [{"type":"course","id":"course123"}]
2209
+ */
2210
+ matches?: any[]
2211
+ /**
2212
+ * Number of elective matches required
2213
+ * @example 2
2214
+ */
2215
+ matchesElectiveCount?: number
2216
+ /**
2217
+ * Detailed description of the requirement
2218
+ * @example "This requirement covers basic first aid and CPR training."
2219
+ */
2220
+ detailedDescription?: string
2221
+ /** List of accepted training providers for this equivalence */
2222
+ acceptedProviders?: {
2223
+ /**
2224
+ * Training provider ID
2225
+ * @example "tp123"
2226
+ */
2227
+ trainingProviderID: string
2228
+ /**
2229
+ * Type of training provider
2230
+ * @example "online"
2231
+ */
2232
+ type: string
2233
+ /**
2234
+ * Link to launch training
2235
+ * @example "https://trainingprovider.com/launch"
2236
+ */
2237
+ launchLink?: string
2238
+ /**
2239
+ * Unique identifier for the accepted provider
2240
+ * @example "ap123"
2241
+ */
2242
+ id?: string
2243
+ /**
2244
+ * Optional name for the accepted provider
2245
+ * @example "Provider Name"
2246
+ */
2247
+ optionalName?: string
2248
+ /**
2249
+ * Whether to display the launch link
2250
+ * @example true
2251
+ */
2252
+ displayLink?: boolean
2253
+ /**
2254
+ * Optional link for more information
2255
+ * @example "https://trainingprovider.com/info"
2256
+ */
2257
+ optionalLink?: string
2258
+ /**
2259
+ * Whether the training has an expiration date
2260
+ * @example false
2261
+ */
2262
+ hasExpirationDate?: boolean
2263
+ /**
2264
+ * Whether the training has an issued date
2265
+ * @example true
2266
+ */
2267
+ hasIssuedDate?: boolean
2268
+ /**
2269
+ * Maximum number of files that can be uploaded for this provider
2270
+ * @example 5
2271
+ */
2272
+ maxFiles?: number
2273
+ }[]
2274
+ }[]
1722
2275
  }
1723
2276
 
1724
2277
  /** Equivalence response object */
@@ -1957,7 +2510,131 @@ export interface EquivalenceRequestBody {
1957
2510
 
1958
2511
  /** List of equivalences response */
1959
2512
  export interface EquivalenceListResponse {
1960
- equivalences: EquivalenceResponse[]
2513
+ equivalences: {
2514
+ /**
2515
+ * User who created the equivalence record
2516
+ * @example "admin@example.com"
2517
+ */
2518
+ createdBy?: string
2519
+ /**
2520
+ * Timestamp when the equivalence was created
2521
+ * @example 1717000000000
2522
+ */
2523
+ createdOn: number
2524
+ /**
2525
+ * User who last updated the equivalence record
2526
+ * @example "admin@example.com"
2527
+ */
2528
+ updatedBy?: string
2529
+ /**
2530
+ * Timestamp of last update
2531
+ * @example 1717000000000
2532
+ */
2533
+ updatedOn?: number
2534
+ /**
2535
+ * Unique identifier of the equivalence
2536
+ * @example "eq456"
2537
+ */
2538
+ id: string
2539
+ /**
2540
+ * Customer ID this equivalence belongs to
2541
+ * @example "customer123"
2542
+ */
2543
+ customerID: string
2544
+ /**
2545
+ * Display order of the equivalence
2546
+ * @example 1
2547
+ */
2548
+ order?: number
2549
+ /**
2550
+ * Equivalence name
2551
+ * @example "First Aid Equivalence"
2552
+ */
2553
+ name?: string
2554
+ /**
2555
+ * Internal name for the equivalence
2556
+ * @example "first_aid_equiv"
2557
+ */
2558
+ internalName?: string
2559
+ /**
2560
+ * Short description for card display
2561
+ * @example "Equivalent first aid certification"
2562
+ */
2563
+ cardDescription?: string
2564
+ /**
2565
+ * Detailed name of the equivalence
2566
+ * @example "Standard First Aid Equivalence"
2567
+ */
2568
+ detailedName?: string
2569
+ /**
2570
+ * Detailed description of the equivalence
2571
+ * @example "This equivalence covers alternative first aid certifications."
2572
+ */
2573
+ detailedDescription?: string
2574
+ /**
2575
+ * List of matching criteria
2576
+ * @example [{"type":"course","id":"course123"}]
2577
+ */
2578
+ matches?: any[]
2579
+ /**
2580
+ * Number of elective matches required
2581
+ * @example 2
2582
+ */
2583
+ matchesElectiveCount?: number
2584
+ /** List of accepted training providers for this equivalence */
2585
+ acceptedProviders?: {
2586
+ /**
2587
+ * Training provider ID
2588
+ * @example "tp123"
2589
+ */
2590
+ trainingProviderID: string
2591
+ /**
2592
+ * Type of training provider
2593
+ * @example "online"
2594
+ */
2595
+ type: string
2596
+ /**
2597
+ * Link to launch training
2598
+ * @example "https://trainingprovider.com/launch"
2599
+ */
2600
+ launchLink?: string
2601
+ /**
2602
+ * Unique identifier for the accepted provider
2603
+ * @example "ap123"
2604
+ */
2605
+ id?: string
2606
+ /**
2607
+ * Optional name for the accepted provider
2608
+ * @example "Provider Name"
2609
+ */
2610
+ optionalName?: string
2611
+ /**
2612
+ * Whether to display the launch link
2613
+ * @example true
2614
+ */
2615
+ displayLink?: boolean
2616
+ /**
2617
+ * Optional link for more information
2618
+ * @example "https://trainingprovider.com/info"
2619
+ */
2620
+ optionalLink?: string
2621
+ /**
2622
+ * Whether the training has an expiration date
2623
+ * @example false
2624
+ */
2625
+ hasExpirationDate?: boolean
2626
+ /**
2627
+ * Whether the training has an issued date
2628
+ * @example true
2629
+ */
2630
+ hasIssuedDate?: boolean
2631
+ /**
2632
+ * Maximum number of files that can be uploaded for this provider
2633
+ * @example 5
2634
+ */
2635
+ maxFiles?: number
2636
+ }[]
2637
+ }[]
1961
2638
  }
1962
2639
 
1963
2640
  /** Course provider response object */
@@ -2030,7 +2707,48 @@ export interface CourseProviderRequestBody {
2030
2707
 
2031
2708
  /** List of course providers response */
2032
2709
  export interface CourseProviderListResponse {
2033
- courseProviders: CourseProviderResponse[]
2710
+ courseProviders: {
2711
+ /**
2712
+ * User who created the course provider record
2713
+ * @example "admin@example.com"
2714
+ */
2715
+ createdBy?: string
2716
+ /**
2717
+ * Timestamp when the course provider was created
2718
+ * @example 1717000000000
2719
+ */
2720
+ createdOn: number
2721
+ /**
2722
+ * User who last updated the course provider record
2723
+ * @example "admin@example.com"
2724
+ */
2725
+ updatedBy?: string
2726
+ /**
2727
+ * Timestamp of last update
2728
+ * @example 1717000000000
2729
+ */
2730
+ updatedOn?: number
2731
+ /**
2732
+ * Unique identifier of the course provider
2733
+ * @example "cp123"
2734
+ */
2735
+ id: string
2736
+ /**
2737
+ * Type of course provider
2738
+ * @example "online"
2739
+ */
2740
+ type?: string
2741
+ /**
2742
+ * List of online template IDs
2743
+ * @example ["template1","template2"]
2744
+ */
2745
+ onlineTemplateIDs?: string[]
2746
+ /**
2747
+ * Provider configuration object
2748
+ * @example {"name":"Provider Name","url":"https://provider.com"}
2749
+ */
2750
+ provider?: any
2751
+ }[]
2034
2752
  }
2035
2753
 
2036
2754
  /** FAQ response object */
@@ -2082,7 +2800,7 @@ export interface FaqResponse {
2082
2800
  answer?: string
2083
2801
  }
2084
2802
 
2085
- export interface InputKcyv6Zl1B3H {
2803
+ export interface Input23C2Moswbx {
2086
2804
  /**
2087
2805
  * Tenant ID this FAQ belongs to
2088
2806
  * @example "tenant456"
@@ -2105,7 +2823,7 @@ export interface InputKcyv6Zl1B3H {
2105
2823
  answer?: string
2106
2824
  }
2107
2825
 
2108
- export interface InputGoxi3Hq6E8F {
2826
+ export interface InputLbgyyk4E26 {
2109
2827
  /**
2110
2828
  * Tenant ID this FAQ belongs to
2111
2829
  * @example "tenant456"
@@ -2130,7 +2848,53 @@ export interface InputGoxi3Hq6E8F {
2130
2848
 
2131
2849
  /** List of FAQs response */
2132
2850
  export interface FaqListResponse {
2133
- faqs: FaqResponse[]
2851
+ faqs: {
2852
+ /**
2853
+ * User who created the FAQ record
2854
+ * @example "admin@example.com"
2855
+ */
2856
+ createdBy?: string
2857
+ /**
2858
+ * Timestamp when the FAQ was created
2859
+ * @example 1717000000000
2860
+ */
2861
+ createdOn: number
2862
+ /**
2863
+ * User who last updated the FAQ record
2864
+ * @example "admin@example.com"
2865
+ */
2866
+ updatedBy?: string
2867
+ /**
2868
+ * Timestamp of last update
2869
+ * @example 1717000000000
2870
+ */
2871
+ updatedOn?: number
2872
+ /**
2873
+ * Unique identifier of the FAQ
2874
+ * @example "faq789"
2875
+ */
2876
+ id: string
2877
+ /**
2878
+ * Tenant ID this FAQ belongs to
2879
+ * @example "tenant456"
2880
+ */
2881
+ tenantID: string
2882
+ /**
2883
+ * FAQ section/category
2884
+ * @example "General"
2885
+ */
2886
+ section?: string
2887
+ /**
2888
+ * FAQ question
2889
+ * @example "How do I register?"
2890
+ */
2891
+ question?: string
2892
+ /**
2893
+ * FAQ answer
2894
+ * @example "You can register by clicking the sign up button."
2895
+ */
2896
+ answer?: string
2897
+ }[]
2134
2898
  }
2135
2899
 
2136
2900
  /** Certification response object */
@@ -2541,7 +3305,217 @@ export interface CertificationRequestBody {
2541
3305
 
2542
3306
  /** List of certifications response */
2543
3307
  export interface CertificationListResponse {
2544
- certifications: CertificationResponse[]
3308
+ certifications: {
3309
+ /**
3310
+ * User who created the certification record
3311
+ * @example "admin@example.com"
3312
+ */
3313
+ createdBy?: string
3314
+ /**
3315
+ * Timestamp when the certification was created
3316
+ * @example 1717000000000
3317
+ */
3318
+ createdOn: number
3319
+ /**
3320
+ * User who last updated the certification record
3321
+ * @example "admin@example.com"
3322
+ */
3323
+ updatedBy?: string
3324
+ /**
3325
+ * Timestamp of last update
3326
+ * @example 1717000000000
3327
+ */
3328
+ updatedOn?: number
3329
+ /**
3330
+ * Unique identifier of the certification
3331
+ * @example "cert789"
3332
+ */
3333
+ id?: string
3334
+ /**
3335
+ * Customer ID this certification belongs to
3336
+ * @example "customer123"
3337
+ */
3338
+ customerID?: string
3339
+ /**
3340
+ * Tenant ID this certification belongs to
3341
+ * @example "tenant456"
3342
+ */
3343
+ tenantID?: string
3344
+ /**
3345
+ * Type of certification engine
3346
+ * @example "standard"
3347
+ */
3348
+ certificationEngineType?: string
3349
+ /**
3350
+ * Array of requirement ID arrays (nested structure for requirement groups)
3351
+ * @example [["req1","req2"],["req3"]]
3352
+ */
3353
+ requirementsIDs?: string[][]
3354
+ /**
3355
+ * Certification locked by another certification
3356
+ * @example ["cert123"]
3357
+ */
3358
+ lockedBy?: string[]
3359
+ /**
3360
+ * Certification superseded by another certification
3361
+ * @example ["cert456"]
3362
+ */
3363
+ superseededBy?: string[]
3364
+ /**
3365
+ * Allow renewal before expiry (in days)
3366
+ * @example 30
3367
+ */
3368
+ allowRenewalBefore?: number
3369
+ /**
3370
+ * Allow renewal before expiry (in months)
3371
+ * @example 1
3372
+ */
3373
+ allowRenewalBeforeInMonths?: number
3374
+ /** Warning remaining days configuration */
3375
+ warningRemainingDays?: {
3376
+ /**
3377
+ * Email template ID
3378
+ * @example "warning-template"
3379
+ */
3380
+ template?: string
3381
+ /**
3382
+ * Period in days
3383
+ * @example 15
3384
+ */
3385
+ period?: number
3386
+ }[]
3387
+ /**
3388
+ * Validity period in days
3389
+ * @example 365
3390
+ */
3391
+ validityPeriod?: number
3392
+ /**
3393
+ * Validity period in months
3394
+ * @example 12
3395
+ */
3396
+ validityPeriodInMonths?: number
3397
+ /**
3398
+ * Requirement ID for validity
3399
+ * @example "req123"
3400
+ */
3401
+ validityRequirementID?: string
3402
+ /** Warning threshold for incomplete certification */
3403
+ warningIncompleteCertificationDays?: {
3404
+ /**
3405
+ * Email template ID
3406
+ * @example "incomplete-template"
3407
+ */
3408
+ template?: string
3409
+ /**
3410
+ * Period in days
3411
+ * @example 7
3412
+ */
3413
+ period?: number
3414
+ }[]
3415
+ /**
3416
+ * Whether publishing is enabled
3417
+ * @example true
3418
+ */
3419
+ isPublishEnabled?: boolean
3420
+ /** Array of trigger configurations */
3421
+ triggers?: any[]
3422
+ /**
3423
+ * Points required for certification
3424
+ * @example 100
3425
+ */
3426
+ pointsRequired?: number
3427
+ /**
3428
+ * Type of certificate
3429
+ * @example "digital"
3430
+ */
3431
+ certificateType?: string
3432
+ /**
3433
+ * Certificate template identifier
3434
+ * @example "template1"
3435
+ */
3436
+ certificateTemplate?: string
3437
+ /**
3438
+ * Certificate number mask format
3439
+ * @example "CERT-####"
3440
+ */
3441
+ certNumberMaskFormat?: string
3442
+ /**
3443
+ * Certificate number generation mode
3444
+ * @example "sequential"
3445
+ */
3446
+ certNumberMode?: string
3447
+ /**
3448
+ * Initial certificate number
3449
+ * @example "1000"
3450
+ */
3451
+ certNumberInitialNumber?: string
3452
+ /**
3453
+ * Set completion using requirement ID
3454
+ * @example "req123"
3455
+ */
3456
+ setCompletionUsingRequirement?: string
3457
+ /** Application configuration */
3458
+ application?: any
3459
+ /** Renewal configuration */
3460
+ renewal?: any
3461
+ /**
3462
+ * Commission value
3463
+ * @example 50
3464
+ */
3465
+ commissionValue?: number
3466
+ /**
3467
+ * Commission percentage
3468
+ * @example 10
3469
+ */
3470
+ commissionPercent?: number
3471
+ /**
3472
+ * Commission payment mode
3473
+ * @example 10
3474
+ */
3475
+ commissionPaymentMode?: number
3476
+ /**
3477
+ * Commission assignment mode
3478
+ * @example 10
3479
+ */
3480
+ commissionAssignMode?: number
3481
+ /**
3482
+ * Array of disabled email types
3483
+ * @example ["reminder","expiry"]
3484
+ */
3485
+ disabledEmails?: string[]
3486
+ /**
3487
+ * Whether to notify admins
3488
+ * @example true
3489
+ */
3490
+ notifyAdmins?: boolean
3491
+ /**
3492
+ * Days before entering maintenance
3493
+ * @example 30
3494
+ */
3495
+ enterMaintenanceDays?: number
3496
+ /**
3497
+ * Certification title
3498
+ * @example "Safety Certification"
3499
+ */
3500
+ title?: string
3501
+ /**
3502
+ * Certification description
3503
+ * @example "Basic safety certification for operators"
3504
+ */
3505
+ description?: string
3506
+ /**
3507
+ * Short description
3508
+ * @example "Safety cert"
3509
+ */
3510
+ shortDescription?: string
3511
+ /**
3512
+ * UI terminology
3513
+ * @example "Certification"
3514
+ */
3515
+ uiTerm?: string
3516
+ /** UI configuration */
3517
+ ui?: any
3518
+ }[]
2545
3519
  }
2546
3520
 
2547
3521
  /** Course response object */
@@ -3129,7 +4103,286 @@ export interface CourseBookResponse {
3129
4103
 
3130
4104
  /** List of courses response */
3131
4105
  export interface CourseListResponse {
3132
- courses: CourseResponse[]
4106
+ courses: {
4107
+ /**
4108
+ * User who created the course record
4109
+ * @example "admin@example.com"
4110
+ */
4111
+ createdBy?: string
4112
+ /**
4113
+ * Timestamp when the course was created
4114
+ * @example 1717000000000
4115
+ */
4116
+ createdOn: number
4117
+ /**
4118
+ * User who last updated the course record
4119
+ * @example "admin@example.com"
4120
+ */
4121
+ updatedBy?: string
4122
+ /**
4123
+ * Timestamp of last update
4124
+ * @example 1717000000000
4125
+ */
4126
+ updatedOn?: number
4127
+ /**
4128
+ * Unique identifier of the course
4129
+ * @example "course123"
4130
+ */
4131
+ id: string
4132
+ /**
4133
+ * Certification ID this course belongs to
4134
+ * @example "cert789"
4135
+ */
4136
+ certificationID: string
4137
+ /**
4138
+ * Tenant ID
4139
+ * @example "tenant456"
4140
+ */
4141
+ tenantID?: string
4142
+ /**
4143
+ * Customer ID
4144
+ * @example "customer123"
4145
+ */
4146
+ customerID?: string
4147
+ /**
4148
+ * Product ID
4149
+ * @example "prod123"
4150
+ */
4151
+ productID?: string
4152
+ /**
4153
+ * Cool down period in days (can be array or single number)
4154
+ * @example 30
4155
+ */
4156
+ coolDownPeriod?: number[] | number
4157
+ /** Cool down policy configuration */
4158
+ coolDownPolicy?: any
4159
+ /**
4160
+ * Materials product ID
4161
+ * @example "mat123"
4162
+ */
4163
+ materialsProductID?: string
4164
+ /**
4165
+ * Maximum retry attempts
4166
+ * @example 3
4167
+ */
4168
+ maxRetry?: number
4169
+ /**
4170
+ * Array of requirement IDs
4171
+ * @example ["req1","req2"]
4172
+ */
4173
+ requirementsIDs?: string[]
4174
+ /**
4175
+ * Whether required on renewal
4176
+ * @example false
4177
+ */
4178
+ requiredOnRenew?: boolean
4179
+ /**
4180
+ * Validity period in days
4181
+ * @example 365
4182
+ */
4183
+ validityPeriod?: number
4184
+ /**
4185
+ * Validity period in months
4186
+ * @example 12
4187
+ */
4188
+ validityPeriodInMonths?: number
4189
+ /**
4190
+ * Validity period in years
4191
+ * @example 1
4192
+ */
4193
+ validityPeriodInYears?: number
4194
+ /** Array of webhook URLs */
4195
+ webhooks?: string[]
4196
+ /**
4197
+ * Whether retake is allowed
4198
+ * @example true
4199
+ */
4200
+ isRetakeAllowed?: boolean
4201
+ /**
4202
+ * Whether student uploads are allowed
4203
+ * @example false
4204
+ */
4205
+ allowStudentUploads?: boolean
4206
+ /**
4207
+ * Allow if any requirement is met
4208
+ * @example false
4209
+ */
4210
+ allowIfAnyRequirementMet?: boolean
4211
+ /** Array of course fail webhook URLs */
4212
+ courseFailWebhooks?: string[]
4213
+ /**
4214
+ * Whether to lock after failure
4215
+ * @example false
4216
+ */
4217
+ lockAfterFailure?: boolean
4218
+ /**
4219
+ * Agreement ID
4220
+ * @example "agr123"
4221
+ */
4222
+ agreementID?: string
4223
+ /**
4224
+ * Whether course is mandatory
4225
+ * @example false
4226
+ */
4227
+ isMandatory?: boolean
4228
+ /**
4229
+ * Points awarded for course
4230
+ * @example 0
4231
+ */
4232
+ points?: number
4233
+ /** Array of course books */
4234
+ courseBooks?: {
4235
+ /**
4236
+ * File ID
4237
+ * @example "file123"
4238
+ */
4239
+ fileID: string
4240
+ /**
4241
+ * File name
4242
+ * @example "course-book.pdf"
4243
+ */
4244
+ fileName: string
4245
+ /**
4246
+ * Whether to attach to email
4247
+ * @example true
4248
+ */
4249
+ attachToEmail?: boolean
4250
+ }[]
4251
+ /**
4252
+ * Course certificate type
4253
+ * @example "digital"
4254
+ */
4255
+ courseCertificateType?: string
4256
+ /**
4257
+ * Course certificate template
4258
+ * @example "template1"
4259
+ */
4260
+ courseCertificateTemplate?: string
4261
+ /**
4262
+ * Course certificate number mask format
4263
+ * @example "CERT-####"
4264
+ */
4265
+ courseCertNumberMaskFormat?: string
4266
+ /**
4267
+ * Course certificate number mode
4268
+ * @example "sequential"
4269
+ */
4270
+ courseCertNumberMode?: string
4271
+ /**
4272
+ * Initial course certificate number
4273
+ * @example "1000"
4274
+ */
4275
+ courseCertNumberInitialNumber?: string
4276
+ /**
4277
+ * Whether to reuse certificate number
4278
+ * @example false
4279
+ */
4280
+ reuseCertNumber?: boolean
4281
+ /**
4282
+ * Warning for due payment remaining days
4283
+ * @example 7
4284
+ */
4285
+ warningDuePaymentRemainingDays?: number
4286
+ /** Warning remaining days configuration */
4287
+ warningRemainingDays?: {
4288
+ /**
4289
+ * Email template ID
4290
+ * @example "warning-template"
4291
+ */
4292
+ template: string
4293
+ /**
4294
+ * Period in days
4295
+ * @example 15
4296
+ */
4297
+ period: number
4298
+ }[]
4299
+ /** Online warning remaining days configuration */
4300
+ onlineWarningRemainingDays?: {
4301
+ /**
4302
+ * Email template ID
4303
+ * @example "online-warning-template"
4304
+ */
4305
+ template: string
4306
+ /**
4307
+ * Period in days
4308
+ * @example 10
4309
+ */
4310
+ period: number
4311
+ }[]
4312
+ /**
4313
+ * Email complement text
4314
+ * @example "Additional information"
4315
+ */
4316
+ emailComplement?: string
4317
+ /** Email templates configuration */
4318
+ emailTemplates?: {
4319
+ /**
4320
+ * Course passed email template
4321
+ * @example "passed-template"
4322
+ */
4323
+ coursePassed?: string | null
4324
+ /**
4325
+ * Course failed email template
4326
+ * @example "failed-template"
4327
+ */
4328
+ courseFailed?: string | null
4329
+ }
4330
+ /**
4331
+ * Display name
4332
+ * @example "Safety Training Course"
4333
+ */
4334
+ displayName?: string
4335
+ /**
4336
+ * Card description
4337
+ * @example "Basic safety training"
4338
+ */
4339
+ cardDescription?: string
4340
+ /**
4341
+ * Course description
4342
+ * @example "Comprehensive safety training course"
4343
+ */
4344
+ description?: string
4345
+ /**
4346
+ * UI terminology
4347
+ * @example "Course"
4348
+ */
4349
+ uiTerm?: string
4350
+ /**
4351
+ * UI logo URL
4352
+ * @example "https://example.com/logo.png"
4353
+ */
4354
+ uiLogo?: string
4355
+ /**
4356
+ * Calendar color
4357
+ * @example "#FF5733"
4358
+ */
4359
+ calendarColor?: string
4360
+ /**
4361
+ * Whether to show collapsed
4362
+ * @example false
4363
+ */
4364
+ showCollapsed?: boolean
4365
+ /**
4366
+ * Pass UI term
4367
+ * @example "Passed"
4368
+ */
4369
+ passUiTerm?: string
4370
+ /**
4371
+ * Fail UI term
4372
+ * @example "Failed"
4373
+ */
4374
+ failUiTerm?: string
4375
+ /**
4376
+ * Course type
4377
+ * @example "COURSE"
4378
+ */
4379
+ courseType?: string
4380
+ /**
4381
+ * Prevent launch if completed
4382
+ * @example false
4383
+ */
4384
+ preventLaunchIfCompleted?: boolean
4385
+ }[]
3133
4386
  }
3134
4387
 
3135
4388
  /** Cert equivalence response object */
@@ -3212,7 +4465,53 @@ export interface CertEquivalenceRequestBody {
3212
4465
 
3213
4466
  /** List of cert equivalences response */
3214
4467
  export interface CertEquivalenceListResponse {
3215
- certEquivalences: CertEquivalenceResponse[]
4468
+ certEquivalences: {
4469
+ /**
4470
+ * User who created the cert equivalence record
4471
+ * @example "admin@example.com"
4472
+ */
4473
+ createdBy?: string
4474
+ /**
4475
+ * Timestamp when the cert equivalence was created
4476
+ * @example 1717000000000
4477
+ */
4478
+ createdOn: number
4479
+ /**
4480
+ * User who last updated the cert equivalence record
4481
+ * @example "admin@example.com"
4482
+ */
4483
+ updatedBy?: string
4484
+ /**
4485
+ * Timestamp of last update
4486
+ * @example 1717000000000
4487
+ */
4488
+ updatedOn?: number
4489
+ /**
4490
+ * Unique identifier of the equivalence
4491
+ * @example "equiv123"
4492
+ */
4493
+ id: string
4494
+ /**
4495
+ * Certification ID this equivalence belongs to
4496
+ * @example "cert789"
4497
+ */
4498
+ certificationID: string
4499
+ /**
4500
+ * Tenant ID
4501
+ * @example "tenant456"
4502
+ */
4503
+ tenantID?: string
4504
+ /**
4505
+ * Type of the equivalence
4506
+ * @example "INITIAL"
4507
+ */
4508
+ type: string
4509
+ /**
4510
+ * Whether the equivalence is disabled
4511
+ * @example false
4512
+ */
4513
+ isDisabled?: boolean
4514
+ }[]
3216
4515
  }
3217
4516
 
3218
4517
  /** Cert requirement response object */
@@ -3305,7 +4604,58 @@ export interface CertRequirementRequestBody {
3305
4604
 
3306
4605
  /** List of cert requirements response */
3307
4606
  export interface CertRequirementListResponse {
3308
- certRequirements: CertRequirementResponse[]
4607
+ certRequirements: {
4608
+ /**
4609
+ * User who created the cert requirement record
4610
+ * @example "admin@example.com"
4611
+ */
4612
+ createdBy?: string
4613
+ /**
4614
+ * Timestamp when the cert requirement was created
4615
+ * @example 1717000000000
4616
+ */
4617
+ createdOn: number
4618
+ /**
4619
+ * User who last updated the cert requirement record
4620
+ * @example "admin@example.com"
4621
+ */
4622
+ updatedBy?: string
4623
+ /**
4624
+ * Timestamp of last update
4625
+ * @example 1717000000000
4626
+ */
4627
+ updatedOn?: number
4628
+ /**
4629
+ * Unique identifier of the requirement
4630
+ * @example "req123"
4631
+ */
4632
+ id: string
4633
+ /**
4634
+ * Certification ID this requirement belongs to
4635
+ * @example "cert789"
4636
+ */
4637
+ certificationID: string
4638
+ /**
4639
+ * Tenant ID
4640
+ * @example "tenant456"
4641
+ */
4642
+ tenantID?: string
4643
+ /**
4644
+ * Section of the requirement
4645
+ * @example "Safety"
4646
+ */
4647
+ section?: string
4648
+ /**
4649
+ * Type of the requirement
4650
+ * @example "INITIAL"
4651
+ */
4652
+ type: string
4653
+ /**
4654
+ * Whether the requirement is disabled
4655
+ * @example false
4656
+ */
4657
+ isDisabled?: boolean
4658
+ }[]
3309
4659
  }
3310
4660
 
3311
4661
  export type GetCustomerData = CustomerResponse
@@ -3721,7 +5071,7 @@ export class HttpClient<SecurityDataType = unknown> {
3721
5071
 
3722
5072
  /**
3723
5073
  * @title No title
3724
- * @version 2.0.5
5074
+ * @version 2.0.7
3725
5075
  * @baseUrl http://localhost:8080
3726
5076
  * @contact Ikon Integration <ikon@ikonintegration.com> (http://example.com)
3727
5077
  */
@@ -4386,7 +5736,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
4386
5736
  * @request POST:/tenant/{tenantID}/faq/{faqID}
4387
5737
  * @secure
4388
5738
  */
4389
- createFaq: (tenantId: string, faqId: string, data: InputKcyv6Zl1B3H, params: RequestParams = {}) =>
5739
+ createFaq: (tenantId: string, faqId: string, data: Input23C2Moswbx, params: RequestParams = {}) =>
4390
5740
  this.request<CreateFaqData, CreateFaqError>({
4391
5741
  path: `/tenant/${tenantId}/faq/${faqId}`,
4392
5742
  method: 'POST',
@@ -4405,7 +5755,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
4405
5755
  * @request PUT:/tenant/{tenantID}/faq/{faqID}
4406
5756
  * @secure
4407
5757
  */
4408
- updateFaq: (tenantId: string, faqId: string, data: InputGoxi3Hq6E8F, params: RequestParams = {}) =>
5758
+ updateFaq: (tenantId: string, faqId: string, data: InputLbgyyk4E26, params: RequestParams = {}) =>
4409
5759
  this.request<UpdateFaqData, UpdateFaqError>({
4410
5760
  path: `/tenant/${tenantId}/faq/${faqId}`,
4411
5761
  method: 'PUT',