@digiteers/uloba3-sdk 4.0.7 → 4.0.9

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/dist/types.d.ts CHANGED
@@ -1277,6 +1277,85 @@ export interface paths {
1277
1277
  patch?: never;
1278
1278
  trace?: never;
1279
1279
  };
1280
+ '/api/accounts/{id}/jobs/analytics': {
1281
+ parameters: {
1282
+ query?: never;
1283
+ header?: never;
1284
+ path?: never;
1285
+ cookie?: never;
1286
+ };
1287
+ /**
1288
+ * Get account job analytics
1289
+ * @description Get aggregated analytics for all jobs in an account
1290
+ */
1291
+ get: {
1292
+ parameters: {
1293
+ query?: {
1294
+ /** @description Start date (ISO 8601) */
1295
+ start_date?: string;
1296
+ /** @description End date (ISO 8601) */
1297
+ end_date?: string;
1298
+ };
1299
+ header?: never;
1300
+ path: {
1301
+ /** @description Account ID */
1302
+ id: string;
1303
+ };
1304
+ cookie?: never;
1305
+ };
1306
+ requestBody?: never;
1307
+ responses: {
1308
+ /** @description Default Response */
1309
+ 200: {
1310
+ headers: {
1311
+ [name: string]: unknown;
1312
+ };
1313
+ content: {
1314
+ 'application/json': {
1315
+ /** Format: uuid */
1316
+ account_id: string;
1317
+ summary: {
1318
+ total_jobs: number;
1319
+ total_views: number;
1320
+ total_unique_views: number;
1321
+ total_applications: number;
1322
+ avg_views_per_job: number;
1323
+ avg_applications_per_job: number;
1324
+ overall_conversion_rate: number;
1325
+ };
1326
+ jobs: {
1327
+ /** Format: uuid */
1328
+ job_id: string;
1329
+ title: string;
1330
+ views: number;
1331
+ unique_views: number;
1332
+ applications: number;
1333
+ conversion_rate: number;
1334
+ }[];
1335
+ };
1336
+ };
1337
+ };
1338
+ /** @description Default Response */
1339
+ 500: {
1340
+ headers: {
1341
+ [name: string]: unknown;
1342
+ };
1343
+ content: {
1344
+ 'application/json': {
1345
+ error: string;
1346
+ };
1347
+ };
1348
+ };
1349
+ };
1350
+ };
1351
+ put?: never;
1352
+ post?: never;
1353
+ delete?: never;
1354
+ options?: never;
1355
+ head?: never;
1356
+ patch?: never;
1357
+ trace?: never;
1358
+ };
1280
1359
  '/api/accounts/{id}/restore': {
1281
1360
  parameters: {
1282
1361
  query?: never;
@@ -7266,6 +7345,227 @@ export interface paths {
7266
7345
  patch?: never;
7267
7346
  trace?: never;
7268
7347
  };
7348
+ '/api/jobs/{id}/analytics': {
7349
+ parameters: {
7350
+ query?: never;
7351
+ header?: never;
7352
+ path?: never;
7353
+ cookie?: never;
7354
+ };
7355
+ /**
7356
+ * Get job analytics
7357
+ * @description Get comprehensive analytics for a job including views, applications, and conversion rates
7358
+ */
7359
+ get: {
7360
+ parameters: {
7361
+ query?: {
7362
+ /** @description Start date (ISO 8601) */
7363
+ start_date?: string;
7364
+ /** @description End date (ISO 8601) */
7365
+ end_date?: string;
7366
+ };
7367
+ header?: never;
7368
+ path: {
7369
+ /** @description Job ID */
7370
+ id: string;
7371
+ };
7372
+ cookie?: never;
7373
+ };
7374
+ requestBody?: never;
7375
+ responses: {
7376
+ /** @description Default Response */
7377
+ 200: {
7378
+ headers: {
7379
+ [name: string]: unknown;
7380
+ };
7381
+ content: {
7382
+ 'application/json': {
7383
+ /** Format: uuid */
7384
+ job_id: string;
7385
+ applications: {
7386
+ /** @description Total number of applications */
7387
+ total: number;
7388
+ /** @description Number of submitted applications */
7389
+ submitted: number;
7390
+ };
7391
+ inquiries: {
7392
+ /** @description Total number of inquiries */
7393
+ total: number;
7394
+ /** @description Number of submitted inquiries */
7395
+ submitted: number;
7396
+ };
7397
+ all_time: {
7398
+ /** @description Total number of views in the period */
7399
+ views: number;
7400
+ /** @description Number of unique viewers */
7401
+ unique_views: number;
7402
+ /** @description Views from anonymous users */
7403
+ anonymous_views: number;
7404
+ /** @description Views from authenticated users */
7405
+ authenticated_views: number;
7406
+ } & {
7407
+ applications: number;
7408
+ /** @description Conversion rate as percentage */
7409
+ conversion_rate: number;
7410
+ };
7411
+ last_7_days: {
7412
+ /** @description Total number of views in the period */
7413
+ views: number;
7414
+ /** @description Number of unique viewers */
7415
+ unique_views: number;
7416
+ /** @description Views from anonymous users */
7417
+ anonymous_views: number;
7418
+ /** @description Views from authenticated users */
7419
+ authenticated_views: number;
7420
+ };
7421
+ last_30_days: {
7422
+ /** @description Total number of views in the period */
7423
+ views: number;
7424
+ /** @description Number of unique viewers */
7425
+ unique_views: number;
7426
+ /** @description Views from anonymous users */
7427
+ anonymous_views: number;
7428
+ /** @description Views from authenticated users */
7429
+ authenticated_views: number;
7430
+ };
7431
+ period?: {
7432
+ /** @description Total number of views in the period */
7433
+ views: number;
7434
+ /** @description Number of unique viewers */
7435
+ unique_views: number;
7436
+ /** @description Views from anonymous users */
7437
+ anonymous_views: number;
7438
+ /** @description Views from authenticated users */
7439
+ authenticated_views: number;
7440
+ };
7441
+ };
7442
+ };
7443
+ };
7444
+ /** @description Default Response */
7445
+ 404: {
7446
+ headers: {
7447
+ [name: string]: unknown;
7448
+ };
7449
+ content: {
7450
+ 'application/json': {
7451
+ error: string;
7452
+ };
7453
+ };
7454
+ };
7455
+ /** @description Default Response */
7456
+ 500: {
7457
+ headers: {
7458
+ [name: string]: unknown;
7459
+ };
7460
+ content: {
7461
+ 'application/json': {
7462
+ error: string;
7463
+ };
7464
+ };
7465
+ };
7466
+ };
7467
+ };
7468
+ put?: never;
7469
+ post?: never;
7470
+ delete?: never;
7471
+ options?: never;
7472
+ head?: never;
7473
+ patch?: never;
7474
+ trace?: never;
7475
+ };
7476
+ '/api/jobs/{id}/analytics/time-series': {
7477
+ parameters: {
7478
+ query?: never;
7479
+ header?: never;
7480
+ path?: never;
7481
+ cookie?: never;
7482
+ };
7483
+ /**
7484
+ * Get job analytics time series
7485
+ * @description Get time-series analytics for a job with configurable interval
7486
+ */
7487
+ get: {
7488
+ parameters: {
7489
+ query?: {
7490
+ /** @description Time series interval */
7491
+ interval?: 'day' | 'week' | 'month' | 'quarter';
7492
+ /** @description Start date (ISO 8601) */
7493
+ start_date?: string;
7494
+ /** @description End date (ISO 8601) */
7495
+ end_date?: string;
7496
+ };
7497
+ header?: never;
7498
+ path: {
7499
+ /** @description Job ID */
7500
+ id: string;
7501
+ };
7502
+ cookie?: never;
7503
+ };
7504
+ requestBody?: never;
7505
+ responses: {
7506
+ /** @description Default Response */
7507
+ 200: {
7508
+ headers: {
7509
+ [name: string]: unknown;
7510
+ };
7511
+ content: {
7512
+ 'application/json': {
7513
+ /** Format: date-time */
7514
+ period_start: string;
7515
+ /** Format: date-time */
7516
+ period_end: string;
7517
+ views: number;
7518
+ unique_views: number;
7519
+ anonymous_views: number;
7520
+ authenticated_views: number;
7521
+ applications: number;
7522
+ conversion_rate: number;
7523
+ }[];
7524
+ };
7525
+ };
7526
+ /** @description Default Response */
7527
+ 400: {
7528
+ headers: {
7529
+ [name: string]: unknown;
7530
+ };
7531
+ content: {
7532
+ 'application/json': {
7533
+ error: string;
7534
+ };
7535
+ };
7536
+ };
7537
+ /** @description Default Response */
7538
+ 404: {
7539
+ headers: {
7540
+ [name: string]: unknown;
7541
+ };
7542
+ content: {
7543
+ 'application/json': {
7544
+ error: string;
7545
+ };
7546
+ };
7547
+ };
7548
+ /** @description Default Response */
7549
+ 500: {
7550
+ headers: {
7551
+ [name: string]: unknown;
7552
+ };
7553
+ content: {
7554
+ 'application/json': {
7555
+ error: string;
7556
+ };
7557
+ };
7558
+ };
7559
+ };
7560
+ };
7561
+ put?: never;
7562
+ post?: never;
7563
+ delete?: never;
7564
+ options?: never;
7565
+ head?: never;
7566
+ patch?: never;
7567
+ trace?: never;
7568
+ };
7269
7569
  '/api/jobs/teamlead': {
7270
7570
  parameters: {
7271
7571
  query?: never;
@@ -7555,7 +7855,7 @@ export interface paths {
7555
7855
  /** @description Metadata about the statistics query and response */
7556
7856
  metadata: {
7557
7857
  /** @description Role context for the statistics query */
7558
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
7858
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
7559
7859
  /**
7560
7860
  * Format: uuid
7561
7861
  * @description UUID version 4 identifier
@@ -7667,7 +7967,7 @@ export interface paths {
7667
7967
  /** @description Metadata about the statistics query and response */
7668
7968
  metadata: {
7669
7969
  /** @description Role context for the statistics query */
7670
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
7970
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
7671
7971
  /**
7672
7972
  * Format: uuid
7673
7973
  * @description UUID version 4 identifier
@@ -7779,7 +8079,7 @@ export interface paths {
7779
8079
  /** @description Metadata about the statistics query and response */
7780
8080
  metadata: {
7781
8081
  /** @description Role context for the statistics query */
7782
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
8082
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
7783
8083
  /**
7784
8084
  * Format: uuid
7785
8085
  * @description UUID version 4 identifier
@@ -10222,6 +10522,221 @@ export interface paths {
10222
10522
  patch?: never;
10223
10523
  trace?: never;
10224
10524
  };
10525
+ '/api/assistants/{id}/analytics': {
10526
+ parameters: {
10527
+ query?: never;
10528
+ header?: never;
10529
+ path?: never;
10530
+ cookie?: never;
10531
+ };
10532
+ /**
10533
+ * Get assistant analytics
10534
+ * @description Get comprehensive analytics for an assistant profile including views, inquiries, and conversion rates
10535
+ */
10536
+ get: {
10537
+ parameters: {
10538
+ query?: {
10539
+ /** @description Start date (ISO 8601) */
10540
+ start_date?: string;
10541
+ /** @description End date (ISO 8601) */
10542
+ end_date?: string;
10543
+ };
10544
+ header?: never;
10545
+ path: {
10546
+ /** @description Assistant ID */
10547
+ id: string;
10548
+ };
10549
+ cookie?: never;
10550
+ };
10551
+ requestBody?: never;
10552
+ responses: {
10553
+ /** @description Default Response */
10554
+ 200: {
10555
+ headers: {
10556
+ [name: string]: unknown;
10557
+ };
10558
+ content: {
10559
+ 'application/json': {
10560
+ /** Format: uuid */
10561
+ assistant_id: string;
10562
+ inquiries: {
10563
+ /** @description Total number of inquiries */
10564
+ total: number;
10565
+ /** @description Number of submitted inquiries */
10566
+ submitted: number;
10567
+ };
10568
+ all_time: {
10569
+ /** @description Total number of views in the period */
10570
+ views: number;
10571
+ /** @description Number of unique viewers */
10572
+ unique_views: number;
10573
+ /** @description Views from anonymous users */
10574
+ anonymous_views: number;
10575
+ /** @description Views from authenticated users */
10576
+ authenticated_views: number;
10577
+ } & {
10578
+ inquiries: number;
10579
+ /** @description Conversion rate as percentage */
10580
+ conversion_rate: number;
10581
+ };
10582
+ last_7_days: {
10583
+ /** @description Total number of views in the period */
10584
+ views: number;
10585
+ /** @description Number of unique viewers */
10586
+ unique_views: number;
10587
+ /** @description Views from anonymous users */
10588
+ anonymous_views: number;
10589
+ /** @description Views from authenticated users */
10590
+ authenticated_views: number;
10591
+ };
10592
+ last_30_days: {
10593
+ /** @description Total number of views in the period */
10594
+ views: number;
10595
+ /** @description Number of unique viewers */
10596
+ unique_views: number;
10597
+ /** @description Views from anonymous users */
10598
+ anonymous_views: number;
10599
+ /** @description Views from authenticated users */
10600
+ authenticated_views: number;
10601
+ };
10602
+ period?: {
10603
+ /** @description Total number of views in the period */
10604
+ views: number;
10605
+ /** @description Number of unique viewers */
10606
+ unique_views: number;
10607
+ /** @description Views from anonymous users */
10608
+ anonymous_views: number;
10609
+ /** @description Views from authenticated users */
10610
+ authenticated_views: number;
10611
+ };
10612
+ };
10613
+ };
10614
+ };
10615
+ /** @description Default Response */
10616
+ 404: {
10617
+ headers: {
10618
+ [name: string]: unknown;
10619
+ };
10620
+ content: {
10621
+ 'application/json': {
10622
+ error: string;
10623
+ };
10624
+ };
10625
+ };
10626
+ /** @description Default Response */
10627
+ 500: {
10628
+ headers: {
10629
+ [name: string]: unknown;
10630
+ };
10631
+ content: {
10632
+ 'application/json': {
10633
+ error: string;
10634
+ };
10635
+ };
10636
+ };
10637
+ };
10638
+ };
10639
+ put?: never;
10640
+ post?: never;
10641
+ delete?: never;
10642
+ options?: never;
10643
+ head?: never;
10644
+ patch?: never;
10645
+ trace?: never;
10646
+ };
10647
+ '/api/assistants/{id}/analytics/time-series': {
10648
+ parameters: {
10649
+ query?: never;
10650
+ header?: never;
10651
+ path?: never;
10652
+ cookie?: never;
10653
+ };
10654
+ /**
10655
+ * Get assistant analytics time series
10656
+ * @description Get time-series analytics for an assistant profile with configurable interval
10657
+ */
10658
+ get: {
10659
+ parameters: {
10660
+ query?: {
10661
+ /** @description Time series interval */
10662
+ interval?: 'day' | 'week' | 'month' | 'quarter';
10663
+ /** @description Start date (ISO 8601) */
10664
+ start_date?: string;
10665
+ /** @description End date (ISO 8601) */
10666
+ end_date?: string;
10667
+ };
10668
+ header?: never;
10669
+ path: {
10670
+ /** @description Assistant ID */
10671
+ id: string;
10672
+ };
10673
+ cookie?: never;
10674
+ };
10675
+ requestBody?: never;
10676
+ responses: {
10677
+ /** @description Default Response */
10678
+ 200: {
10679
+ headers: {
10680
+ [name: string]: unknown;
10681
+ };
10682
+ content: {
10683
+ 'application/json': {
10684
+ /** Format: date-time */
10685
+ period_start: string;
10686
+ /** Format: date-time */
10687
+ period_end: string;
10688
+ views: number;
10689
+ unique_views: number;
10690
+ anonymous_views: number;
10691
+ authenticated_views: number;
10692
+ inquiries: number;
10693
+ conversion_rate: number;
10694
+ }[];
10695
+ };
10696
+ };
10697
+ /** @description Default Response */
10698
+ 400: {
10699
+ headers: {
10700
+ [name: string]: unknown;
10701
+ };
10702
+ content: {
10703
+ 'application/json': {
10704
+ error: string;
10705
+ };
10706
+ };
10707
+ };
10708
+ /** @description Default Response */
10709
+ 404: {
10710
+ headers: {
10711
+ [name: string]: unknown;
10712
+ };
10713
+ content: {
10714
+ 'application/json': {
10715
+ error: string;
10716
+ };
10717
+ };
10718
+ };
10719
+ /** @description Default Response */
10720
+ 500: {
10721
+ headers: {
10722
+ [name: string]: unknown;
10723
+ };
10724
+ content: {
10725
+ 'application/json': {
10726
+ error: string;
10727
+ };
10728
+ };
10729
+ };
10730
+ };
10731
+ };
10732
+ put?: never;
10733
+ post?: never;
10734
+ delete?: never;
10735
+ options?: never;
10736
+ head?: never;
10737
+ patch?: never;
10738
+ trace?: never;
10739
+ };
10225
10740
  '/api/assistants/{assistantId}/inquiry-status': {
10226
10741
  parameters: {
10227
10742
  query?: never;
@@ -10940,7 +11455,7 @@ export interface paths {
10940
11455
  /** @description Metadata about the statistics query and response */
10941
11456
  metadata: {
10942
11457
  /** @description Role context for the statistics query */
10943
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
11458
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
10944
11459
  /**
10945
11460
  * Format: uuid
10946
11461
  * @description UUID version 4 identifier
@@ -11337,7 +11852,7 @@ export interface paths {
11337
11852
  /** @description Metadata about the statistics query and response */
11338
11853
  metadata: {
11339
11854
  /** @description Role context for the statistics query */
11340
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
11855
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
11341
11856
  /**
11342
11857
  * Format: uuid
11343
11858
  * @description UUID version 4 identifier
@@ -11388,7 +11903,7 @@ export interface paths {
11388
11903
  /** @description Metadata about the statistics query and response */
11389
11904
  metadata: {
11390
11905
  /** @description Role context for the statistics query */
11391
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
11906
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
11392
11907
  /**
11393
11908
  * Format: uuid
11394
11909
  * @description UUID version 4 identifier
@@ -11459,7 +11974,7 @@ export interface paths {
11459
11974
  /** @description Metadata about the statistics query and response */
11460
11975
  metadata: {
11461
11976
  /** @description Role context for the statistics query */
11462
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
11977
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
11463
11978
  /**
11464
11979
  * Format: uuid
11465
11980
  * @description UUID version 4 identifier
@@ -11528,7 +12043,7 @@ export interface paths {
11528
12043
  /** @description Metadata about the statistics query and response */
11529
12044
  metadata: {
11530
12045
  /** @description Role context for the statistics query */
11531
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
12046
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
11532
12047
  /**
11533
12048
  * Format: uuid
11534
12049
  * @description UUID version 4 identifier
@@ -11638,7 +12153,7 @@ export interface paths {
11638
12153
  /** @description Metadata about the statistics query and response */
11639
12154
  metadata: {
11640
12155
  /** @description Role context for the statistics query */
11641
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
12156
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
11642
12157
  /**
11643
12158
  * Format: uuid
11644
12159
  * @description UUID version 4 identifier
@@ -13540,7 +14055,7 @@ export interface paths {
13540
14055
  /** @description Metadata about the statistics query and response */
13541
14056
  metadata: {
13542
14057
  /** @description Role context for the statistics query */
13543
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
14058
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
13544
14059
  /**
13545
14060
  * Format: uuid
13546
14061
  * @description UUID version 4 identifier
@@ -13591,7 +14106,7 @@ export interface paths {
13591
14106
  /** @description Metadata about the statistics query and response */
13592
14107
  metadata: {
13593
14108
  /** @description Role context for the statistics query */
13594
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
14109
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
13595
14110
  /**
13596
14111
  * Format: uuid
13597
14112
  * @description UUID version 4 identifier
@@ -13662,7 +14177,7 @@ export interface paths {
13662
14177
  /** @description Metadata about the statistics query and response */
13663
14178
  metadata: {
13664
14179
  /** @description Role context for the statistics query */
13665
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
14180
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
13666
14181
  /**
13667
14182
  * Format: uuid
13668
14183
  * @description UUID version 4 identifier
@@ -13731,7 +14246,7 @@ export interface paths {
13731
14246
  /** @description Metadata about the statistics query and response */
13732
14247
  metadata: {
13733
14248
  /** @description Role context for the statistics query */
13734
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
14249
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
13735
14250
  /**
13736
14251
  * Format: uuid
13737
14252
  * @description UUID version 4 identifier
@@ -16890,7 +17405,7 @@ export interface paths {
16890
17405
  /** @description Metadata about the statistics query and response */
16891
17406
  metadata: {
16892
17407
  /** @description Role context for the statistics query */
16893
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
17408
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
16894
17409
  /**
16895
17410
  * Format: uuid
16896
17411
  * @description UUID version 4 identifier
@@ -16988,7 +17503,7 @@ export interface paths {
16988
17503
  /** @description Metadata about the statistics query and response */
16989
17504
  metadata: {
16990
17505
  /** @description Role context for the statistics query */
16991
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
17506
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
16992
17507
  /**
16993
17508
  * Format: uuid
16994
17509
  * @description UUID version 4 identifier
@@ -17092,7 +17607,7 @@ export interface paths {
17092
17607
  /** @description Metadata about the statistics query and response */
17093
17608
  metadata: {
17094
17609
  /** @description Role context for the statistics query */
17095
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
17610
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
17096
17611
  /**
17097
17612
  * Format: uuid
17098
17613
  * @description UUID version 4 identifier
@@ -17190,7 +17705,7 @@ export interface paths {
17190
17705
  /** @description Metadata about the statistics query and response */
17191
17706
  metadata: {
17192
17707
  /** @description Role context for the statistics query */
17193
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
17708
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
17194
17709
  /**
17195
17710
  * Format: uuid
17196
17711
  * @description UUID version 4 identifier
@@ -27684,7 +28199,7 @@ export interface paths {
27684
28199
  /** @description Metadata about the statistics query and response */
27685
28200
  metadata: {
27686
28201
  /** @description Role context for the statistics query */
27687
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
28202
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
27688
28203
  /**
27689
28204
  * Format: uuid
27690
28205
  * @description UUID version 4 identifier
@@ -27804,7 +28319,7 @@ export interface paths {
27804
28319
  /** @description Metadata about the statistics query and response */
27805
28320
  metadata: {
27806
28321
  /** @description Role context for the statistics query */
27807
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
28322
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
27808
28323
  /**
27809
28324
  * Format: uuid
27810
28325
  * @description UUID version 4 identifier
@@ -27924,7 +28439,7 @@ export interface paths {
27924
28439
  /** @description Metadata about the statistics query and response */
27925
28440
  metadata: {
27926
28441
  /** @description Role context for the statistics query */
27927
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
28442
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
27928
28443
  /**
27929
28444
  * Format: uuid
27930
28445
  * @description UUID version 4 identifier
@@ -28044,7 +28559,7 @@ export interface paths {
28044
28559
  /** @description Metadata about the statistics query and response */
28045
28560
  metadata: {
28046
28561
  /** @description Role context for the statistics query */
28047
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
28562
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
28048
28563
  /**
28049
28564
  * Format: uuid
28050
28565
  * @description UUID version 4 identifier
@@ -37637,6 +38152,699 @@ export interface paths {
37637
38152
  patch?: never;
37638
38153
  trace?: never;
37639
38154
  };
38155
+ '/api/data-products/catalog/': {
38156
+ parameters: {
38157
+ query?: never;
38158
+ header?: never;
38159
+ path?: never;
38160
+ cookie?: never;
38161
+ };
38162
+ /** @description Get catalog of all available data products */
38163
+ get: {
38164
+ parameters: {
38165
+ query?: {
38166
+ /** @description Filter by product type */
38167
+ type?: 'stats' | 'analytics' | 'metrics';
38168
+ /** @description Filter by entity type */
38169
+ entity?: string;
38170
+ /** @description Filter by perspective */
38171
+ perspective?: string;
38172
+ };
38173
+ header?: never;
38174
+ path?: never;
38175
+ cookie?: never;
38176
+ };
38177
+ requestBody?: never;
38178
+ responses: {
38179
+ /** @description Default Response */
38180
+ 200: {
38181
+ headers: {
38182
+ [name: string]: unknown;
38183
+ };
38184
+ content: {
38185
+ 'application/json': {
38186
+ products: {
38187
+ id: string;
38188
+ type: 'stats' | 'analytics' | 'metrics';
38189
+ entity: string;
38190
+ perspective: string;
38191
+ version: string;
38192
+ endpoint: string;
38193
+ cacheDuration: number;
38194
+ requiredPermissions: string[];
38195
+ supportedPeriods?: string[];
38196
+ }[];
38197
+ totalCount: number;
38198
+ /** Format: date-time */
38199
+ generatedAt: string;
38200
+ };
38201
+ };
38202
+ };
38203
+ };
38204
+ };
38205
+ put?: never;
38206
+ post?: never;
38207
+ delete?: never;
38208
+ options?: never;
38209
+ head?: never;
38210
+ patch?: never;
38211
+ trace?: never;
38212
+ };
38213
+ '/api/data-products/catalog/stats': {
38214
+ parameters: {
38215
+ query?: never;
38216
+ header?: never;
38217
+ path?: never;
38218
+ cookie?: never;
38219
+ };
38220
+ /** @description Get statistics about registered data products */
38221
+ get: {
38222
+ parameters: {
38223
+ query?: never;
38224
+ header?: never;
38225
+ path?: never;
38226
+ cookie?: never;
38227
+ };
38228
+ requestBody?: never;
38229
+ responses: {
38230
+ /** @description Default Response */
38231
+ 200: {
38232
+ headers: {
38233
+ [name: string]: unknown;
38234
+ };
38235
+ content: {
38236
+ 'application/json': {
38237
+ total?: number;
38238
+ byType?: {
38239
+ stats?: number;
38240
+ analytics?: number;
38241
+ metrics?: number;
38242
+ };
38243
+ byEntity?: {
38244
+ [key: string]: number;
38245
+ };
38246
+ };
38247
+ };
38248
+ };
38249
+ };
38250
+ };
38251
+ put?: never;
38252
+ post?: never;
38253
+ delete?: never;
38254
+ options?: never;
38255
+ head?: never;
38256
+ patch?: never;
38257
+ trace?: never;
38258
+ };
38259
+ '/api/data-products/stats/{entity}/{perspective}': {
38260
+ parameters: {
38261
+ query?: never;
38262
+ header?: never;
38263
+ path?: never;
38264
+ cookie?: never;
38265
+ };
38266
+ /** @description Get stats for an entity from a specific perspective */
38267
+ get: {
38268
+ parameters: {
38269
+ query?: {
38270
+ /** @description Account ID (for employer/coordinator perspectives) */
38271
+ accountId?: string;
38272
+ /** @description Force cache refresh */
38273
+ refresh?: boolean;
38274
+ };
38275
+ header?: never;
38276
+ path: {
38277
+ /** @description Entity type (e.g., contracts, applications, inquiries) */
38278
+ entity: string;
38279
+ /** @description Perspective/role (e.g., employer, worker, applicant, assistant) */
38280
+ perspective: string;
38281
+ };
38282
+ cookie?: never;
38283
+ };
38284
+ requestBody?: never;
38285
+ responses: {
38286
+ /** @description Default Response */
38287
+ 200: {
38288
+ headers: {
38289
+ [name: string]: unknown;
38290
+ };
38291
+ content: {
38292
+ 'application/json': {
38293
+ dataProduct: {
38294
+ id: string;
38295
+ type: 'stats' | 'analytics' | 'metrics';
38296
+ entity: string;
38297
+ perspective: string;
38298
+ version: string;
38299
+ };
38300
+ data: {
38301
+ byStatus: {
38302
+ [key: string]: number;
38303
+ };
38304
+ totals: {
38305
+ all: number;
38306
+ active: number;
38307
+ needsAction: number;
38308
+ inProgress: number;
38309
+ };
38310
+ alerts?: {
38311
+ severity: 'low' | 'medium' | 'high' | 'critical';
38312
+ message: string;
38313
+ count: number;
38314
+ action?: {
38315
+ label: string;
38316
+ url: string;
38317
+ };
38318
+ }[];
38319
+ };
38320
+ metadata: {
38321
+ /** Format: date-time */
38322
+ generatedAt: string;
38323
+ /** Format: date-time */
38324
+ cachedAt?: string;
38325
+ cacheTTL: number;
38326
+ period: {
38327
+ type: 'all-time' | '7d' | '30d' | '90d' | 'ytd' | 'custom';
38328
+ /** Format: date-time */
38329
+ from?: string;
38330
+ /** Format: date-time */
38331
+ to?: string;
38332
+ };
38333
+ filters: {
38334
+ [key: string]: unknown;
38335
+ };
38336
+ dataSource: {
38337
+ type: 'view' | 'function' | 'query';
38338
+ name: string;
38339
+ /** Format: date-time */
38340
+ refreshedAt?: string;
38341
+ };
38342
+ };
38343
+ permissions: {
38344
+ canRefresh: boolean;
38345
+ canExport: boolean;
38346
+ canDrillDown: boolean;
38347
+ };
38348
+ };
38349
+ };
38350
+ };
38351
+ /** @description Default Response */
38352
+ 400: {
38353
+ headers: {
38354
+ [name: string]: unknown;
38355
+ };
38356
+ content: {
38357
+ 'application/json': {
38358
+ error?: string;
38359
+ message?: string;
38360
+ };
38361
+ };
38362
+ };
38363
+ /** @description Default Response */
38364
+ 404: {
38365
+ headers: {
38366
+ [name: string]: unknown;
38367
+ };
38368
+ content: {
38369
+ 'application/json': {
38370
+ error?: string;
38371
+ message?: string;
38372
+ };
38373
+ };
38374
+ };
38375
+ };
38376
+ };
38377
+ put?: never;
38378
+ post?: never;
38379
+ delete?: never;
38380
+ options?: never;
38381
+ head?: never;
38382
+ patch?: never;
38383
+ trace?: never;
38384
+ };
38385
+ '/api/data-products/metrics/{entity}/{perspective}': {
38386
+ parameters: {
38387
+ query?: never;
38388
+ header?: never;
38389
+ path?: never;
38390
+ cookie?: never;
38391
+ };
38392
+ /** @description Get metrics for an entity from a specific perspective */
38393
+ get: {
38394
+ parameters: {
38395
+ query?: {
38396
+ /** @description Account ID (for employer/coordinator perspectives) */
38397
+ accountId?: string;
38398
+ /** @description Force cache refresh */
38399
+ refresh?: boolean;
38400
+ };
38401
+ header?: never;
38402
+ path: {
38403
+ /** @description Entity type (e.g., jobs, assistants, applications) */
38404
+ entity: string;
38405
+ /** @description Perspective/role (e.g., coordinator, assistant, worker) */
38406
+ perspective: string;
38407
+ };
38408
+ cookie?: never;
38409
+ };
38410
+ requestBody?: never;
38411
+ responses: {
38412
+ /** @description Default Response */
38413
+ 200: {
38414
+ headers: {
38415
+ [name: string]: unknown;
38416
+ };
38417
+ content: {
38418
+ 'application/json': {
38419
+ dataProduct: {
38420
+ id: string;
38421
+ type: 'stats' | 'analytics' | 'metrics';
38422
+ entity: string;
38423
+ perspective: string;
38424
+ version: string;
38425
+ };
38426
+ data: {
38427
+ items: unknown[];
38428
+ totals: {
38429
+ [key: string]: number;
38430
+ };
38431
+ insights?: {
38432
+ severity: 'low' | 'medium' | 'high';
38433
+ message: string;
38434
+ recommendation?: string;
38435
+ metadata?: {
38436
+ [key: string]: unknown;
38437
+ };
38438
+ }[];
38439
+ metadata?: {
38440
+ [key: string]: unknown;
38441
+ };
38442
+ };
38443
+ metadata: {
38444
+ /** Format: date-time */
38445
+ generatedAt: string;
38446
+ /** Format: date-time */
38447
+ cachedAt?: string;
38448
+ cacheTTL: number;
38449
+ period: {
38450
+ type: 'all-time' | '7d' | '30d' | '90d' | 'ytd' | 'custom';
38451
+ /** Format: date-time */
38452
+ from?: string;
38453
+ /** Format: date-time */
38454
+ to?: string;
38455
+ };
38456
+ filters: {
38457
+ [key: string]: unknown;
38458
+ };
38459
+ dataSource: {
38460
+ type: 'view' | 'function' | 'query';
38461
+ name: string;
38462
+ /** Format: date-time */
38463
+ refreshedAt?: string;
38464
+ };
38465
+ };
38466
+ permissions: {
38467
+ canRefresh: boolean;
38468
+ canExport: boolean;
38469
+ canDrillDown: boolean;
38470
+ };
38471
+ };
38472
+ };
38473
+ };
38474
+ /** @description Default Response */
38475
+ 400: {
38476
+ headers: {
38477
+ [name: string]: unknown;
38478
+ };
38479
+ content: {
38480
+ 'application/json': {
38481
+ error?: string;
38482
+ message?: string;
38483
+ };
38484
+ };
38485
+ };
38486
+ /** @description Default Response */
38487
+ 404: {
38488
+ headers: {
38489
+ [name: string]: unknown;
38490
+ };
38491
+ content: {
38492
+ 'application/json': {
38493
+ error?: string;
38494
+ message?: string;
38495
+ };
38496
+ };
38497
+ };
38498
+ };
38499
+ };
38500
+ put?: never;
38501
+ post?: never;
38502
+ delete?: never;
38503
+ options?: never;
38504
+ head?: never;
38505
+ patch?: never;
38506
+ trace?: never;
38507
+ };
38508
+ '/api/actions/for-me': {
38509
+ parameters: {
38510
+ query?: never;
38511
+ header?: never;
38512
+ path?: never;
38513
+ cookie?: never;
38514
+ };
38515
+ /** @description Get all suggested actions for the current user */
38516
+ get: {
38517
+ parameters: {
38518
+ query?: {
38519
+ priority?: ('low' | 'medium' | 'high' | 'critical') | ('low' | 'medium' | 'high' | 'critical')[];
38520
+ category?: ('complete_document' | 'respond_to_request' | 'review_item' | 'sign_document' | 'submit_application' | 'browse_opportunities' | 'update_profile' | 'provide_feedback') | ('complete_document' | 'respond_to_request' | 'review_item' | 'sign_document' | 'submit_application' | 'browse_opportunities' | 'update_profile' | 'provide_feedback')[];
38521
+ entityType?: ('contract' | 'application' | 'inquiry' | 'invite' | 'job' | 'profile') | ('contract' | 'application' | 'inquiry' | 'invite' | 'job' | 'profile')[];
38522
+ limit?: number;
38523
+ };
38524
+ header?: never;
38525
+ path?: never;
38526
+ cookie?: never;
38527
+ };
38528
+ requestBody?: never;
38529
+ responses: {
38530
+ /** @description Default Response */
38531
+ 200: {
38532
+ headers: {
38533
+ [name: string]: unknown;
38534
+ };
38535
+ content: {
38536
+ 'application/json': {
38537
+ actions: {
38538
+ id: string;
38539
+ type: 'complete_document' | 'respond_to_request' | 'review_item' | 'sign_document' | 'submit_application' | 'browse_opportunities' | 'update_profile' | 'provide_feedback';
38540
+ entityType: 'contract' | 'application' | 'inquiry' | 'invite' | 'job' | 'profile';
38541
+ entityId?: string;
38542
+ priority: 'low' | 'medium' | 'high' | 'critical';
38543
+ title: string;
38544
+ description: string;
38545
+ actionUrl: string;
38546
+ /** Format: date-time */
38547
+ dueDate?: string;
38548
+ count?: number;
38549
+ metadata?: {
38550
+ [key: string]: unknown;
38551
+ };
38552
+ }[];
38553
+ grouped: {
38554
+ critical: {
38555
+ id: string;
38556
+ type: 'complete_document' | 'respond_to_request' | 'review_item' | 'sign_document' | 'submit_application' | 'browse_opportunities' | 'update_profile' | 'provide_feedback';
38557
+ entityType: 'contract' | 'application' | 'inquiry' | 'invite' | 'job' | 'profile';
38558
+ entityId?: string;
38559
+ priority: 'low' | 'medium' | 'high' | 'critical';
38560
+ title: string;
38561
+ description: string;
38562
+ actionUrl: string;
38563
+ /** Format: date-time */
38564
+ dueDate?: string;
38565
+ count?: number;
38566
+ metadata?: {
38567
+ [key: string]: unknown;
38568
+ };
38569
+ }[];
38570
+ high: {
38571
+ id: string;
38572
+ type: 'complete_document' | 'respond_to_request' | 'review_item' | 'sign_document' | 'submit_application' | 'browse_opportunities' | 'update_profile' | 'provide_feedback';
38573
+ entityType: 'contract' | 'application' | 'inquiry' | 'invite' | 'job' | 'profile';
38574
+ entityId?: string;
38575
+ priority: 'low' | 'medium' | 'high' | 'critical';
38576
+ title: string;
38577
+ description: string;
38578
+ actionUrl: string;
38579
+ /** Format: date-time */
38580
+ dueDate?: string;
38581
+ count?: number;
38582
+ metadata?: {
38583
+ [key: string]: unknown;
38584
+ };
38585
+ }[];
38586
+ medium: {
38587
+ id: string;
38588
+ type: 'complete_document' | 'respond_to_request' | 'review_item' | 'sign_document' | 'submit_application' | 'browse_opportunities' | 'update_profile' | 'provide_feedback';
38589
+ entityType: 'contract' | 'application' | 'inquiry' | 'invite' | 'job' | 'profile';
38590
+ entityId?: string;
38591
+ priority: 'low' | 'medium' | 'high' | 'critical';
38592
+ title: string;
38593
+ description: string;
38594
+ actionUrl: string;
38595
+ /** Format: date-time */
38596
+ dueDate?: string;
38597
+ count?: number;
38598
+ metadata?: {
38599
+ [key: string]: unknown;
38600
+ };
38601
+ }[];
38602
+ low: {
38603
+ id: string;
38604
+ type: 'complete_document' | 'respond_to_request' | 'review_item' | 'sign_document' | 'submit_application' | 'browse_opportunities' | 'update_profile' | 'provide_feedback';
38605
+ entityType: 'contract' | 'application' | 'inquiry' | 'invite' | 'job' | 'profile';
38606
+ entityId?: string;
38607
+ priority: 'low' | 'medium' | 'high' | 'critical';
38608
+ title: string;
38609
+ description: string;
38610
+ actionUrl: string;
38611
+ /** Format: date-time */
38612
+ dueDate?: string;
38613
+ count?: number;
38614
+ metadata?: {
38615
+ [key: string]: unknown;
38616
+ };
38617
+ }[];
38618
+ };
38619
+ totalCount: number;
38620
+ summary: {
38621
+ totalActions: number;
38622
+ criticalCount: number;
38623
+ highCount: number;
38624
+ mediumCount: number;
38625
+ lowCount: number;
38626
+ byCategory: {
38627
+ [key: string]: number;
38628
+ };
38629
+ byEntity: {
38630
+ [key: string]: number;
38631
+ };
38632
+ };
38633
+ };
38634
+ };
38635
+ };
38636
+ };
38637
+ };
38638
+ put?: never;
38639
+ post?: never;
38640
+ delete?: never;
38641
+ options?: never;
38642
+ head?: never;
38643
+ patch?: never;
38644
+ trace?: never;
38645
+ };
38646
+ '/api/actions/top': {
38647
+ parameters: {
38648
+ query?: never;
38649
+ header?: never;
38650
+ path?: never;
38651
+ cookie?: never;
38652
+ };
38653
+ /** @description Get top priority actions for the current user */
38654
+ get: {
38655
+ parameters: {
38656
+ query?: {
38657
+ /** @description Number of top actions to return */
38658
+ limit?: number;
38659
+ };
38660
+ header?: never;
38661
+ path?: never;
38662
+ cookie?: never;
38663
+ };
38664
+ requestBody?: never;
38665
+ responses: {
38666
+ /** @description Default Response */
38667
+ 200: {
38668
+ headers: {
38669
+ [name: string]: unknown;
38670
+ };
38671
+ content: {
38672
+ 'application/json': {
38673
+ actions: {
38674
+ id: string;
38675
+ type: 'complete_document' | 'respond_to_request' | 'review_item' | 'sign_document' | 'submit_application' | 'browse_opportunities' | 'update_profile' | 'provide_feedback';
38676
+ entityType: 'contract' | 'application' | 'inquiry' | 'invite' | 'job' | 'profile';
38677
+ entityId?: string;
38678
+ priority: 'low' | 'medium' | 'high' | 'critical';
38679
+ title: string;
38680
+ description: string;
38681
+ actionUrl: string;
38682
+ /** Format: date-time */
38683
+ dueDate?: string;
38684
+ count?: number;
38685
+ metadata?: {
38686
+ [key: string]: unknown;
38687
+ };
38688
+ }[];
38689
+ };
38690
+ };
38691
+ };
38692
+ };
38693
+ };
38694
+ put?: never;
38695
+ post?: never;
38696
+ delete?: never;
38697
+ options?: never;
38698
+ head?: never;
38699
+ patch?: never;
38700
+ trace?: never;
38701
+ };
38702
+ '/api/actions/summary': {
38703
+ parameters: {
38704
+ query?: never;
38705
+ header?: never;
38706
+ path?: never;
38707
+ cookie?: never;
38708
+ };
38709
+ /** @description Get summary statistics of actions for the current user */
38710
+ get: {
38711
+ parameters: {
38712
+ query?: never;
38713
+ header?: never;
38714
+ path?: never;
38715
+ cookie?: never;
38716
+ };
38717
+ requestBody?: never;
38718
+ responses: {
38719
+ /** @description Default Response */
38720
+ 200: {
38721
+ headers: {
38722
+ [name: string]: unknown;
38723
+ };
38724
+ content: {
38725
+ 'application/json': {
38726
+ summary: {
38727
+ totalActions: number;
38728
+ criticalCount: number;
38729
+ highCount: number;
38730
+ mediumCount: number;
38731
+ lowCount: number;
38732
+ byCategory: {
38733
+ [key: string]: number;
38734
+ };
38735
+ byEntity: {
38736
+ [key: string]: number;
38737
+ };
38738
+ };
38739
+ };
38740
+ };
38741
+ };
38742
+ };
38743
+ };
38744
+ put?: never;
38745
+ post?: never;
38746
+ delete?: never;
38747
+ options?: never;
38748
+ head?: never;
38749
+ patch?: never;
38750
+ trace?: never;
38751
+ };
38752
+ '/api/actions/rules': {
38753
+ parameters: {
38754
+ query?: never;
38755
+ header?: never;
38756
+ path?: never;
38757
+ cookie?: never;
38758
+ };
38759
+ /** @description Get all registered action rules */
38760
+ get: {
38761
+ parameters: {
38762
+ query?: never;
38763
+ header?: never;
38764
+ path?: never;
38765
+ cookie?: never;
38766
+ };
38767
+ requestBody?: never;
38768
+ responses: {
38769
+ /** @description Default Response */
38770
+ 200: {
38771
+ headers: {
38772
+ [name: string]: unknown;
38773
+ };
38774
+ content: {
38775
+ 'application/json': {
38776
+ rules: {
38777
+ id: string;
38778
+ name: string;
38779
+ description: string;
38780
+ category: 'complete_document' | 'respond_to_request' | 'review_item' | 'sign_document' | 'submit_application' | 'browse_opportunities' | 'update_profile' | 'provide_feedback';
38781
+ entityType: 'contract' | 'application' | 'inquiry' | 'invite' | 'job' | 'profile';
38782
+ priority: 'low' | 'medium' | 'high' | 'critical';
38783
+ }[];
38784
+ totalCount: number;
38785
+ };
38786
+ };
38787
+ };
38788
+ };
38789
+ };
38790
+ put?: never;
38791
+ post?: never;
38792
+ delete?: never;
38793
+ options?: never;
38794
+ head?: never;
38795
+ patch?: never;
38796
+ trace?: never;
38797
+ };
38798
+ '/api/actions/rules/stats': {
38799
+ parameters: {
38800
+ query?: never;
38801
+ header?: never;
38802
+ path?: never;
38803
+ cookie?: never;
38804
+ };
38805
+ /** @description Get statistics about registered action rules */
38806
+ get: {
38807
+ parameters: {
38808
+ query?: never;
38809
+ header?: never;
38810
+ path?: never;
38811
+ cookie?: never;
38812
+ };
38813
+ requestBody?: never;
38814
+ responses: {
38815
+ /** @description Default Response */
38816
+ 200: {
38817
+ headers: {
38818
+ [name: string]: unknown;
38819
+ };
38820
+ content: {
38821
+ 'application/json': {
38822
+ total: number;
38823
+ byCategory: {
38824
+ [key: string]: number;
38825
+ };
38826
+ byEntity: {
38827
+ [key: string]: number;
38828
+ };
38829
+ byPriority: {
38830
+ critical: number;
38831
+ high: number;
38832
+ medium: number;
38833
+ low: number;
38834
+ };
38835
+ };
38836
+ };
38837
+ };
38838
+ };
38839
+ };
38840
+ put?: never;
38841
+ post?: never;
38842
+ delete?: never;
38843
+ options?: never;
38844
+ head?: never;
38845
+ patch?: never;
38846
+ trace?: never;
38847
+ };
37640
38848
  '/api/overview/teamlead': {
37641
38849
  parameters: {
37642
38850
  query?: never;
@@ -37851,7 +39059,286 @@ export interface paths {
37851
39059
  };
37852
39060
  metadata: {
37853
39061
  /** @description Role context for the statistics query */
37854
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
39062
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
39063
+ /**
39064
+ * Format: uuid
39065
+ * @description UUID version 4 identifier
39066
+ */
39067
+ accountId?: string;
39068
+ /**
39069
+ * Format: uuid
39070
+ * @description UUID version 4 identifier
39071
+ */
39072
+ userId?: string;
39073
+ /**
39074
+ * Format: date-time
39075
+ * @description ISO 8601 datetime format (YYYY-MM-DDTHH:mm:ss.sssZ)
39076
+ */
39077
+ queriedAt: string;
39078
+ /** @description Whether the result was served from cache */
39079
+ cached?: boolean;
39080
+ /**
39081
+ * Format: date-time
39082
+ * @description ISO 8601 datetime format (YYYY-MM-DDTHH:mm:ss.sssZ)
39083
+ */
39084
+ cacheExpiresAt?: string;
39085
+ /** @description List of entity types included in the overview */
39086
+ entitiesIncluded: string[];
39087
+ /** @description Total query time in milliseconds */
39088
+ queryTimeMs?: number;
39089
+ };
39090
+ };
39091
+ };
39092
+ };
39093
+ /** @description Default Response */
39094
+ 403: {
39095
+ headers: {
39096
+ [name: string]: unknown;
39097
+ };
39098
+ content: {
39099
+ 'application/json': {
39100
+ error: string;
39101
+ message: string;
39102
+ };
39103
+ };
39104
+ };
39105
+ /** @description Default Response */
39106
+ 500: {
39107
+ headers: {
39108
+ [name: string]: unknown;
39109
+ };
39110
+ content: {
39111
+ 'application/json': {
39112
+ error: string;
39113
+ message: string;
39114
+ };
39115
+ };
39116
+ };
39117
+ };
39118
+ };
39119
+ put?: never;
39120
+ post?: never;
39121
+ delete?: never;
39122
+ options?: never;
39123
+ head?: never;
39124
+ patch?: never;
39125
+ trace?: never;
39126
+ };
39127
+ '/api/overview/assistant': {
39128
+ parameters: {
39129
+ query?: never;
39130
+ header?: never;
39131
+ path?: never;
39132
+ cookie?: never;
39133
+ };
39134
+ /**
39135
+ * Get assistant overview
39136
+ * @description Get complete dashboard overview for assistant/assistent including stats, activities, and alerts from all entities
39137
+ */
39138
+ get: {
39139
+ parameters: {
39140
+ query?: never;
39141
+ header?: never;
39142
+ path?: never;
39143
+ cookie?: never;
39144
+ };
39145
+ requestBody?: never;
39146
+ responses: {
39147
+ /** @description Complete overview response for assistant */
39148
+ 200: {
39149
+ headers: {
39150
+ [name: string]: unknown;
39151
+ };
39152
+ content: {
39153
+ 'application/json': {
39154
+ /** @description Complete overview data for assistant/assistent */
39155
+ data: {
39156
+ /** @description High-level summary metrics across all entities */
39157
+ summary: {
39158
+ /** @description Non-negative integer (0 or greater) */
39159
+ incoming?: number;
39160
+ /** @description Non-negative integer (0 or greater) */
39161
+ myCases?: number;
39162
+ /** @description Non-negative integer (0 or greater) */
39163
+ onHold?: number;
39164
+ /** @description Non-negative integer (0 or greater) */
39165
+ inProgress: number;
39166
+ /** @description Non-negative integer (0 or greater) */
39167
+ needsAction?: number;
39168
+ /** @description Non-negative integer (0 or greater) */
39169
+ active?: number;
39170
+ /** @description Non-negative integer (0 or greater) */
39171
+ total?: number;
39172
+ };
39173
+ /** @description Stats for each entity type relevant to assistant */
39174
+ entities: {
39175
+ jobs: {
39176
+ byStatus: {
39177
+ [key: string]: number;
39178
+ };
39179
+ totals: {
39180
+ /** @description Non-negative integer (0 or greater) */
39181
+ all: number;
39182
+ /** @description Non-negative integer (0 or greater) */
39183
+ active: number;
39184
+ /** @description Non-negative integer (0 or greater) */
39185
+ needsAction?: number;
39186
+ /** @description Non-negative integer (0 or greater) */
39187
+ inProgress?: number;
39188
+ };
39189
+ alerts?: {
39190
+ type: 'info' | 'warning' | 'error' | 'action_required';
39191
+ severity: 'low' | 'medium' | 'high';
39192
+ /** @description Non-negative integer (0 or greater) */
39193
+ count: number;
39194
+ message: string;
39195
+ entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
39196
+ status?: string;
39197
+ }[];
39198
+ };
39199
+ applications: {
39200
+ byStatus: {
39201
+ [key: string]: number;
39202
+ };
39203
+ totals: {
39204
+ /** @description Non-negative integer (0 or greater) */
39205
+ all: number;
39206
+ /** @description Non-negative integer (0 or greater) */
39207
+ active: number;
39208
+ /** @description Non-negative integer (0 or greater) */
39209
+ needsAction?: number;
39210
+ /** @description Non-negative integer (0 or greater) */
39211
+ inProgress?: number;
39212
+ };
39213
+ alerts?: {
39214
+ type: 'info' | 'warning' | 'error' | 'action_required';
39215
+ severity: 'low' | 'medium' | 'high';
39216
+ /** @description Non-negative integer (0 or greater) */
39217
+ count: number;
39218
+ message: string;
39219
+ entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
39220
+ status?: string;
39221
+ }[];
39222
+ };
39223
+ inquiries: {
39224
+ byStatus: {
39225
+ [key: string]: number;
39226
+ };
39227
+ totals: {
39228
+ /** @description Non-negative integer (0 or greater) */
39229
+ all: number;
39230
+ /** @description Non-negative integer (0 or greater) */
39231
+ active: number;
39232
+ /** @description Non-negative integer (0 or greater) */
39233
+ needsAction?: number;
39234
+ /** @description Non-negative integer (0 or greater) */
39235
+ inProgress?: number;
39236
+ };
39237
+ alerts?: {
39238
+ type: 'info' | 'warning' | 'error' | 'action_required';
39239
+ severity: 'low' | 'medium' | 'high';
39240
+ /** @description Non-negative integer (0 or greater) */
39241
+ count: number;
39242
+ message: string;
39243
+ entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
39244
+ status?: string;
39245
+ }[];
39246
+ };
39247
+ invites: {
39248
+ byStatus: {
39249
+ [key: string]: number;
39250
+ };
39251
+ totals: {
39252
+ /** @description Non-negative integer (0 or greater) */
39253
+ all: number;
39254
+ /** @description Non-negative integer (0 or greater) */
39255
+ active: number;
39256
+ /** @description Non-negative integer (0 or greater) */
39257
+ needsAction?: number;
39258
+ /** @description Non-negative integer (0 or greater) */
39259
+ inProgress?: number;
39260
+ };
39261
+ alerts?: {
39262
+ type: 'info' | 'warning' | 'error' | 'action_required';
39263
+ severity: 'low' | 'medium' | 'high';
39264
+ /** @description Non-negative integer (0 or greater) */
39265
+ count: number;
39266
+ message: string;
39267
+ entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
39268
+ status?: string;
39269
+ }[];
39270
+ };
39271
+ contracts: {
39272
+ byStatus: {
39273
+ [key: string]: number;
39274
+ };
39275
+ totals: {
39276
+ /** @description Non-negative integer (0 or greater) */
39277
+ all: number;
39278
+ /** @description Non-negative integer (0 or greater) */
39279
+ active: number;
39280
+ /** @description Non-negative integer (0 or greater) */
39281
+ needsAction?: number;
39282
+ /** @description Non-negative integer (0 or greater) */
39283
+ inProgress?: number;
39284
+ };
39285
+ alerts?: {
39286
+ type: 'info' | 'warning' | 'error' | 'action_required';
39287
+ severity: 'low' | 'medium' | 'high';
39288
+ /** @description Non-negative integer (0 or greater) */
39289
+ count: number;
39290
+ message: string;
39291
+ entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
39292
+ status?: string;
39293
+ }[];
39294
+ };
39295
+ };
39296
+ /** @description Recent activities across all entities (last 10) */
39297
+ recentActivities: {
39298
+ id: string;
39299
+ entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
39300
+ entityId: string;
39301
+ action: string;
39302
+ description: string;
39303
+ /**
39304
+ * Format: date-time
39305
+ * @description ISO 8601 datetime format (YYYY-MM-DDTHH:mm:ss.sssZ)
39306
+ */
39307
+ timestamp: string;
39308
+ metadata?: {
39309
+ [key: string]: unknown;
39310
+ };
39311
+ }[];
39312
+ /** @description All alerts from all entities, sorted by priority */
39313
+ aggregatedAlerts: {
39314
+ type: 'info' | 'warning' | 'error' | 'action_required';
39315
+ severity: 'low' | 'medium' | 'high';
39316
+ /** @description Non-negative integer (0 or greater) */
39317
+ count: number;
39318
+ message: string;
39319
+ entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
39320
+ status?: string;
39321
+ }[];
39322
+ /** @description Suggested next actions for the user */
39323
+ quickActions: {
39324
+ type: string;
39325
+ label: string;
39326
+ description: string;
39327
+ /** @description Non-negative integer (0 or greater) */
39328
+ count: number;
39329
+ priority: 'low' | 'medium' | 'high';
39330
+ metadata: {
39331
+ entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
39332
+ status?: string;
39333
+ filters?: {
39334
+ [key: string]: string;
39335
+ };
39336
+ };
39337
+ }[];
39338
+ };
39339
+ metadata: {
39340
+ /** @description Role context for the statistics query */
39341
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
37855
39342
  /**
37856
39343
  * Format: uuid
37857
39344
  * @description UUID version 4 identifier
@@ -37916,7 +39403,7 @@ export interface paths {
37916
39403
  patch?: never;
37917
39404
  trace?: never;
37918
39405
  };
37919
- '/api/overview/assistant': {
39406
+ '/api/overview/casehandler': {
37920
39407
  parameters: {
37921
39408
  query?: never;
37922
39409
  header?: never;
@@ -37924,8 +39411,8 @@ export interface paths {
37924
39411
  cookie?: never;
37925
39412
  };
37926
39413
  /**
37927
- * Get assistant overview
37928
- * @description Get complete dashboard overview for assistant/assistent including stats, activities, and alerts from all entities
39414
+ * Get casehandler overview
39415
+ * @description Get complete dashboard overview for case handler/saksbehandler including stats, activities, and alerts from contract cases
37929
39416
  */
37930
39417
  get: {
37931
39418
  parameters: {
@@ -37936,14 +39423,14 @@ export interface paths {
37936
39423
  };
37937
39424
  requestBody?: never;
37938
39425
  responses: {
37939
- /** @description Complete overview response for assistant */
39426
+ /** @description Complete overview response for case handler */
37940
39427
  200: {
37941
39428
  headers: {
37942
39429
  [name: string]: unknown;
37943
39430
  };
37944
39431
  content: {
37945
39432
  'application/json': {
37946
- /** @description Complete overview data for assistant/assistent */
39433
+ /** @description Complete overview data for case handler/saksbehandler */
37947
39434
  data: {
37948
39435
  /** @description High-level summary metrics across all entities */
37949
39436
  summary: {
@@ -37962,105 +39449,9 @@ export interface paths {
37962
39449
  /** @description Non-negative integer (0 or greater) */
37963
39450
  total?: number;
37964
39451
  };
37965
- /** @description Stats for each entity type relevant to assistant */
39452
+ /** @description Stats for contract cases managed by case handler */
37966
39453
  entities: {
37967
- jobs: {
37968
- byStatus: {
37969
- [key: string]: number;
37970
- };
37971
- totals: {
37972
- /** @description Non-negative integer (0 or greater) */
37973
- all: number;
37974
- /** @description Non-negative integer (0 or greater) */
37975
- active: number;
37976
- /** @description Non-negative integer (0 or greater) */
37977
- needsAction?: number;
37978
- /** @description Non-negative integer (0 or greater) */
37979
- inProgress?: number;
37980
- };
37981
- alerts?: {
37982
- type: 'info' | 'warning' | 'error' | 'action_required';
37983
- severity: 'low' | 'medium' | 'high';
37984
- /** @description Non-negative integer (0 or greater) */
37985
- count: number;
37986
- message: string;
37987
- entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
37988
- status?: string;
37989
- }[];
37990
- };
37991
- applications: {
37992
- byStatus: {
37993
- [key: string]: number;
37994
- };
37995
- totals: {
37996
- /** @description Non-negative integer (0 or greater) */
37997
- all: number;
37998
- /** @description Non-negative integer (0 or greater) */
37999
- active: number;
38000
- /** @description Non-negative integer (0 or greater) */
38001
- needsAction?: number;
38002
- /** @description Non-negative integer (0 or greater) */
38003
- inProgress?: number;
38004
- };
38005
- alerts?: {
38006
- type: 'info' | 'warning' | 'error' | 'action_required';
38007
- severity: 'low' | 'medium' | 'high';
38008
- /** @description Non-negative integer (0 or greater) */
38009
- count: number;
38010
- message: string;
38011
- entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
38012
- status?: string;
38013
- }[];
38014
- };
38015
- inquiries: {
38016
- byStatus: {
38017
- [key: string]: number;
38018
- };
38019
- totals: {
38020
- /** @description Non-negative integer (0 or greater) */
38021
- all: number;
38022
- /** @description Non-negative integer (0 or greater) */
38023
- active: number;
38024
- /** @description Non-negative integer (0 or greater) */
38025
- needsAction?: number;
38026
- /** @description Non-negative integer (0 or greater) */
38027
- inProgress?: number;
38028
- };
38029
- alerts?: {
38030
- type: 'info' | 'warning' | 'error' | 'action_required';
38031
- severity: 'low' | 'medium' | 'high';
38032
- /** @description Non-negative integer (0 or greater) */
38033
- count: number;
38034
- message: string;
38035
- entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
38036
- status?: string;
38037
- }[];
38038
- };
38039
- invites: {
38040
- byStatus: {
38041
- [key: string]: number;
38042
- };
38043
- totals: {
38044
- /** @description Non-negative integer (0 or greater) */
38045
- all: number;
38046
- /** @description Non-negative integer (0 or greater) */
38047
- active: number;
38048
- /** @description Non-negative integer (0 or greater) */
38049
- needsAction?: number;
38050
- /** @description Non-negative integer (0 or greater) */
38051
- inProgress?: number;
38052
- };
38053
- alerts?: {
38054
- type: 'info' | 'warning' | 'error' | 'action_required';
38055
- severity: 'low' | 'medium' | 'high';
38056
- /** @description Non-negative integer (0 or greater) */
38057
- count: number;
38058
- message: string;
38059
- entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
38060
- status?: string;
38061
- }[];
38062
- };
38063
- contracts: {
39454
+ cases: {
38064
39455
  byStatus: {
38065
39456
  [key: string]: number;
38066
39457
  };
@@ -38085,7 +39476,7 @@ export interface paths {
38085
39476
  }[];
38086
39477
  };
38087
39478
  };
38088
- /** @description Recent activities across all entities (last 10) */
39479
+ /** @description Recent activities across all cases (last 10) */
38089
39480
  recentActivities: {
38090
39481
  id: string;
38091
39482
  entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
@@ -38101,7 +39492,7 @@ export interface paths {
38101
39492
  [key: string]: unknown;
38102
39493
  };
38103
39494
  }[];
38104
- /** @description All alerts from all entities, sorted by priority */
39495
+ /** @description All alerts from all cases, sorted by priority */
38105
39496
  aggregatedAlerts: {
38106
39497
  type: 'info' | 'warning' | 'error' | 'action_required';
38107
39498
  severity: 'low' | 'medium' | 'high';
@@ -38111,7 +39502,7 @@ export interface paths {
38111
39502
  entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
38112
39503
  status?: string;
38113
39504
  }[];
38114
- /** @description Suggested next actions for the user */
39505
+ /** @description Suggested next actions for the case handler */
38115
39506
  quickActions: {
38116
39507
  type: string;
38117
39508
  label: string;
@@ -38130,7 +39521,7 @@ export interface paths {
38130
39521
  };
38131
39522
  metadata: {
38132
39523
  /** @description Role context for the statistics query */
38133
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
39524
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
38134
39525
  /**
38135
39526
  * Format: uuid
38136
39527
  * @description UUID version 4 identifier
@@ -38195,7 +39586,7 @@ export interface paths {
38195
39586
  patch?: never;
38196
39587
  trace?: never;
38197
39588
  };
38198
- '/api/overview/casehandler': {
39589
+ '/api/overview/platform': {
38199
39590
  parameters: {
38200
39591
  query?: never;
38201
39592
  header?: never;
@@ -38203,8 +39594,8 @@ export interface paths {
38203
39594
  cookie?: never;
38204
39595
  };
38205
39596
  /**
38206
- * Get casehandler overview
38207
- * @description Get complete dashboard overview for case handler/saksbehandler including stats, activities, and alerts from contract cases
39597
+ * Get platform overview
39598
+ * @description Get complete platform-wide overview for admin/drift including aggregated stats across ALL users and accounts
38208
39599
  */
38209
39600
  get: {
38210
39601
  parameters: {
@@ -38215,35 +39606,31 @@ export interface paths {
38215
39606
  };
38216
39607
  requestBody?: never;
38217
39608
  responses: {
38218
- /** @description Complete overview response for case handler */
39609
+ /** @description Complete platform overview response for admin/drift */
38219
39610
  200: {
38220
39611
  headers: {
38221
39612
  [name: string]: unknown;
38222
39613
  };
38223
39614
  content: {
38224
39615
  'application/json': {
38225
- /** @description Complete overview data for case handler/saksbehandler */
39616
+ /** @description Complete platform overview data for admin/drift */
38226
39617
  data: {
38227
- /** @description High-level summary metrics across all entities */
39618
+ /** @description High-level summary metrics across the entire platform */
38228
39619
  summary: {
38229
39620
  /** @description Non-negative integer (0 or greater) */
38230
- incoming?: number;
38231
- /** @description Non-negative integer (0 or greater) */
38232
- myCases?: number;
38233
- /** @description Non-negative integer (0 or greater) */
38234
- onHold?: number;
39621
+ totalEntities: number;
38235
39622
  /** @description Non-negative integer (0 or greater) */
38236
- inProgress: number;
39623
+ activeItems: number;
38237
39624
  /** @description Non-negative integer (0 or greater) */
38238
- needsAction?: number;
39625
+ inProgressItems: number;
38239
39626
  /** @description Non-negative integer (0 or greater) */
38240
- active?: number;
39627
+ usersTotal: number;
38241
39628
  /** @description Non-negative integer (0 or greater) */
38242
- total?: number;
39629
+ usersActive30d: number;
38243
39630
  };
38244
- /** @description Stats for contract cases managed by case handler */
39631
+ /** @description Platform-wide stats for each entity type */
38245
39632
  entities: {
38246
- cases: {
39633
+ jobs: {
38247
39634
  byStatus: {
38248
39635
  [key: string]: number;
38249
39636
  };
@@ -38267,24 +39654,123 @@ export interface paths {
38267
39654
  status?: string;
38268
39655
  }[];
38269
39656
  };
38270
- };
38271
- /** @description Recent activities across all cases (last 10) */
38272
- recentActivities: {
38273
- id: string;
38274
- entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
38275
- entityId: string;
38276
- action: string;
38277
- description: string;
38278
- /**
38279
- * Format: date-time
38280
- * @description ISO 8601 datetime format (YYYY-MM-DDTHH:mm:ss.sssZ)
38281
- */
38282
- timestamp: string;
38283
- metadata?: {
38284
- [key: string]: unknown;
39657
+ applications: {
39658
+ byStatus: {
39659
+ [key: string]: number;
39660
+ };
39661
+ totals: {
39662
+ /** @description Non-negative integer (0 or greater) */
39663
+ all: number;
39664
+ /** @description Non-negative integer (0 or greater) */
39665
+ active: number;
39666
+ /** @description Non-negative integer (0 or greater) */
39667
+ needsAction?: number;
39668
+ /** @description Non-negative integer (0 or greater) */
39669
+ inProgress?: number;
39670
+ };
39671
+ alerts?: {
39672
+ type: 'info' | 'warning' | 'error' | 'action_required';
39673
+ severity: 'low' | 'medium' | 'high';
39674
+ /** @description Non-negative integer (0 or greater) */
39675
+ count: number;
39676
+ message: string;
39677
+ entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
39678
+ status?: string;
39679
+ }[];
38285
39680
  };
38286
- }[];
38287
- /** @description All alerts from all cases, sorted by priority */
39681
+ inquiries: {
39682
+ byStatus: {
39683
+ [key: string]: number;
39684
+ };
39685
+ totals: {
39686
+ /** @description Non-negative integer (0 or greater) */
39687
+ all: number;
39688
+ /** @description Non-negative integer (0 or greater) */
39689
+ active: number;
39690
+ /** @description Non-negative integer (0 or greater) */
39691
+ needsAction?: number;
39692
+ /** @description Non-negative integer (0 or greater) */
39693
+ inProgress?: number;
39694
+ };
39695
+ alerts?: {
39696
+ type: 'info' | 'warning' | 'error' | 'action_required';
39697
+ severity: 'low' | 'medium' | 'high';
39698
+ /** @description Non-negative integer (0 or greater) */
39699
+ count: number;
39700
+ message: string;
39701
+ entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
39702
+ status?: string;
39703
+ }[];
39704
+ };
39705
+ invites: {
39706
+ byStatus: {
39707
+ [key: string]: number;
39708
+ };
39709
+ totals: {
39710
+ /** @description Non-negative integer (0 or greater) */
39711
+ all: number;
39712
+ /** @description Non-negative integer (0 or greater) */
39713
+ active: number;
39714
+ /** @description Non-negative integer (0 or greater) */
39715
+ needsAction?: number;
39716
+ /** @description Non-negative integer (0 or greater) */
39717
+ inProgress?: number;
39718
+ };
39719
+ alerts?: {
39720
+ type: 'info' | 'warning' | 'error' | 'action_required';
39721
+ severity: 'low' | 'medium' | 'high';
39722
+ /** @description Non-negative integer (0 or greater) */
39723
+ count: number;
39724
+ message: string;
39725
+ entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
39726
+ status?: string;
39727
+ }[];
39728
+ };
39729
+ contracts: {
39730
+ byStatus: {
39731
+ [key: string]: number;
39732
+ };
39733
+ totals: {
39734
+ /** @description Non-negative integer (0 or greater) */
39735
+ all: number;
39736
+ /** @description Non-negative integer (0 or greater) */
39737
+ active: number;
39738
+ /** @description Non-negative integer (0 or greater) */
39739
+ needsAction?: number;
39740
+ /** @description Non-negative integer (0 or greater) */
39741
+ inProgress?: number;
39742
+ };
39743
+ alerts?: {
39744
+ type: 'info' | 'warning' | 'error' | 'action_required';
39745
+ severity: 'low' | 'medium' | 'high';
39746
+ /** @description Non-negative integer (0 or greater) */
39747
+ count: number;
39748
+ message: string;
39749
+ entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
39750
+ status?: string;
39751
+ }[];
39752
+ };
39753
+ users: {
39754
+ /** @description Non-negative integer (0 or greater) */
39755
+ total_users: number;
39756
+ /** @description Non-negative integer (0 or greater) */
39757
+ active_users_30d: number;
39758
+ /** @description Non-negative integer (0 or greater) */
39759
+ active_users_7d: number;
39760
+ /** @description Non-negative integer (0 or greater) */
39761
+ active_users_1d: number;
39762
+ /** @description Non-negative integer (0 or greater) */
39763
+ new_users_30d: number;
39764
+ /** @description Non-negative integer (0 or greater) */
39765
+ new_users_7d: number;
39766
+ /**
39767
+ * Format: date-time
39768
+ * @description ISO 8601 datetime format (YYYY-MM-DDTHH:mm:ss.sssZ)
39769
+ */
39770
+ refreshed_at: string;
39771
+ };
39772
+ };
39773
+ /** @description All platform alerts, sorted by priority */
38288
39774
  aggregatedAlerts: {
38289
39775
  type: 'info' | 'warning' | 'error' | 'action_required';
38290
39776
  severity: 'low' | 'medium' | 'high';
@@ -38294,26 +39780,10 @@ export interface paths {
38294
39780
  entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
38295
39781
  status?: string;
38296
39782
  }[];
38297
- /** @description Suggested next actions for the case handler */
38298
- quickActions: {
38299
- type: string;
38300
- label: string;
38301
- description: string;
38302
- /** @description Non-negative integer (0 or greater) */
38303
- count: number;
38304
- priority: 'low' | 'medium' | 'high';
38305
- metadata: {
38306
- entityType: 'job' | 'application' | 'inquiry' | 'invite' | 'contract';
38307
- status?: string;
38308
- filters?: {
38309
- [key: string]: string;
38310
- };
38311
- };
38312
- }[];
38313
39783
  };
38314
39784
  metadata: {
38315
39785
  /** @description Role context for the statistics query */
38316
- role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant';
39786
+ role: 'coordinator' | 'employer' | 'worker' | 'teamlead' | 'assistant' | 'case_manager' | 'applicant' | 'platform_admin';
38317
39787
  /**
38318
39788
  * Format: uuid
38319
39789
  * @description UUID version 4 identifier