@digiteers/uloba3-sdk 3.3.4 → 3.4.1

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
@@ -2179,6 +2179,70 @@ export interface paths {
2179
2179
  patch?: never;
2180
2180
  trace?: never;
2181
2181
  };
2182
+ '/api/users/me/sessions/history': {
2183
+ parameters: {
2184
+ query?: never;
2185
+ header?: never;
2186
+ path?: never;
2187
+ cookie?: never;
2188
+ };
2189
+ /**
2190
+ * Get current user session history
2191
+ * @description Get paginated session history for the authenticated user
2192
+ */
2193
+ get: {
2194
+ parameters: {
2195
+ query?: {
2196
+ limit?: number;
2197
+ offset?: number;
2198
+ };
2199
+ header?: never;
2200
+ path?: never;
2201
+ cookie?: never;
2202
+ };
2203
+ requestBody?: never;
2204
+ responses: {
2205
+ /** @description Default Response */
2206
+ 200: {
2207
+ headers: {
2208
+ [name: string]: unknown;
2209
+ };
2210
+ content: {
2211
+ 'application/json': {
2212
+ data: unknown[];
2213
+ pagination: {
2214
+ limit: number;
2215
+ offset: number;
2216
+ has_more: boolean;
2217
+ };
2218
+ metadata: {
2219
+ viewerContext: string;
2220
+ timestamp: string;
2221
+ };
2222
+ };
2223
+ };
2224
+ };
2225
+ /** @description Default Response */
2226
+ 401: {
2227
+ headers: {
2228
+ [name: string]: unknown;
2229
+ };
2230
+ content: {
2231
+ 'application/json': {
2232
+ error: string;
2233
+ };
2234
+ };
2235
+ };
2236
+ };
2237
+ };
2238
+ put?: never;
2239
+ post?: never;
2240
+ delete?: never;
2241
+ options?: never;
2242
+ head?: never;
2243
+ patch?: never;
2244
+ trace?: never;
2245
+ };
2182
2246
  '/api/users/me': {
2183
2247
  parameters: {
2184
2248
  query?: never;
@@ -2188,7 +2252,7 @@ export interface paths {
2188
2252
  };
2189
2253
  /**
2190
2254
  * Get current user
2191
- * @description Get the currently authenticated user
2255
+ * @description Get the currently authenticated user from user_view
2192
2256
  */
2193
2257
  get: {
2194
2258
  parameters: {
@@ -2199,6 +2263,39 @@ export interface paths {
2199
2263
  };
2200
2264
  requestBody?: never;
2201
2265
  responses: {
2266
+ /** @description User data from user_view combining users and accounts */
2267
+ 200: {
2268
+ headers: {
2269
+ [name: string]: unknown;
2270
+ };
2271
+ content: {
2272
+ 'application/json': {
2273
+ /** Format: uuid */
2274
+ id: string;
2275
+ uloba_immutable_id: string | null;
2276
+ /** Format: email */
2277
+ email: string;
2278
+ email_verified: boolean;
2279
+ phone: string | null;
2280
+ full_name: string | null;
2281
+ given_name: string | null;
2282
+ family_name: string | null;
2283
+ display_name: string;
2284
+ roles: string[] | null;
2285
+ created_at: string | null;
2286
+ updated_at: string | null;
2287
+ last_login: string | null;
2288
+ account_id: string | null;
2289
+ account_owner_id: string | null;
2290
+ account_status: string | null;
2291
+ account_language: string | null;
2292
+ is_assistant: boolean;
2293
+ is_employer: boolean;
2294
+ is_caseworker: boolean;
2295
+ is_support: boolean;
2296
+ };
2297
+ };
2298
+ };
2202
2299
  /** @description Default Response */
2203
2300
  401: {
2204
2301
  headers: {
@@ -2210,6 +2307,17 @@ export interface paths {
2210
2307
  };
2211
2308
  };
2212
2309
  };
2310
+ /** @description Default Response */
2311
+ 404: {
2312
+ headers: {
2313
+ [name: string]: unknown;
2314
+ };
2315
+ content: {
2316
+ 'application/json': {
2317
+ error: string;
2318
+ };
2319
+ };
2320
+ };
2213
2321
  };
2214
2322
  };
2215
2323
  /**
@@ -17437,7 +17545,7 @@ export interface paths {
17437
17545
  };
17438
17546
  content: {
17439
17547
  'application/json': {
17440
- data: ({
17548
+ data: (({
17441
17549
  /** Format: uuid */
17442
17550
  id: string;
17443
17551
  } & {
@@ -17487,6 +17595,31 @@ export interface paths {
17487
17595
  proposed_end_date: string | null;
17488
17596
  proposed_hours_per_week: number | null;
17489
17597
  job_id: string | null;
17598
+ }) & {
17599
+ inviter_user_id: string | null;
17600
+ inviter_full_name: string | null;
17601
+ inviter_email: string | null;
17602
+ inviter_phone: string | null;
17603
+ inviter_given_name: string | null;
17604
+ inviter_family_name: string | null;
17605
+ inviter_picture: string | null;
17606
+ invitee_user_id: string | null;
17607
+ invitee_full_name: string | null;
17608
+ invitee_email: string | null;
17609
+ invitee_phone: string | null;
17610
+ invitee_given_name: string | null;
17611
+ invitee_family_name: string | null;
17612
+ invitee_picture: string | null;
17613
+ account_id_ref: string | null;
17614
+ account_owner_id: string | null;
17615
+ submitted_by: string | null;
17616
+ submitted_by_name: string | null;
17617
+ accepted_by: string | null;
17618
+ accepted_by_name: string | null;
17619
+ declined_by: string | null;
17620
+ declined_by_name: string | null;
17621
+ cancelled_by: string | null;
17622
+ cancelled_by_name: string | null;
17490
17623
  })[];
17491
17624
  pagination: {
17492
17625
  page: number;
@@ -17547,7 +17680,7 @@ export interface paths {
17547
17680
  };
17548
17681
  content: {
17549
17682
  'application/json': {
17550
- data: ({
17683
+ data: (({
17551
17684
  /** Format: uuid */
17552
17685
  id: string;
17553
17686
  } & {
@@ -17597,6 +17730,31 @@ export interface paths {
17597
17730
  proposed_end_date: string | null;
17598
17731
  proposed_hours_per_week: number | null;
17599
17732
  job_id: string | null;
17733
+ }) & {
17734
+ inviter_user_id: string | null;
17735
+ inviter_full_name: string | null;
17736
+ inviter_email: string | null;
17737
+ inviter_phone: string | null;
17738
+ inviter_given_name: string | null;
17739
+ inviter_family_name: string | null;
17740
+ inviter_picture: string | null;
17741
+ invitee_user_id: string | null;
17742
+ invitee_full_name: string | null;
17743
+ invitee_email: string | null;
17744
+ invitee_phone: string | null;
17745
+ invitee_given_name: string | null;
17746
+ invitee_family_name: string | null;
17747
+ invitee_picture: string | null;
17748
+ account_id_ref: string | null;
17749
+ account_owner_id: string | null;
17750
+ submitted_by: string | null;
17751
+ submitted_by_name: string | null;
17752
+ accepted_by: string | null;
17753
+ accepted_by_name: string | null;
17754
+ declined_by: string | null;
17755
+ declined_by_name: string | null;
17756
+ cancelled_by: string | null;
17757
+ cancelled_by_name: string | null;
17600
17758
  })[];
17601
17759
  pagination: {
17602
17760
  page: number;
@@ -17760,7 +17918,7 @@ export interface paths {
17760
17918
  };
17761
17919
  content: {
17762
17920
  'application/json': {
17763
- data: ({
17921
+ data: (({
17764
17922
  /** Format: uuid */
17765
17923
  id: string;
17766
17924
  } & {
@@ -17810,6 +17968,31 @@ export interface paths {
17810
17968
  proposed_end_date: string | null;
17811
17969
  proposed_hours_per_week: number | null;
17812
17970
  job_id: string | null;
17971
+ }) & {
17972
+ inviter_user_id: string | null;
17973
+ inviter_full_name: string | null;
17974
+ inviter_email: string | null;
17975
+ inviter_phone: string | null;
17976
+ inviter_given_name: string | null;
17977
+ inviter_family_name: string | null;
17978
+ inviter_picture: string | null;
17979
+ invitee_user_id: string | null;
17980
+ invitee_full_name: string | null;
17981
+ invitee_email: string | null;
17982
+ invitee_phone: string | null;
17983
+ invitee_given_name: string | null;
17984
+ invitee_family_name: string | null;
17985
+ invitee_picture: string | null;
17986
+ account_id_ref: string | null;
17987
+ account_owner_id: string | null;
17988
+ submitted_by: string | null;
17989
+ submitted_by_name: string | null;
17990
+ accepted_by: string | null;
17991
+ accepted_by_name: string | null;
17992
+ declined_by: string | null;
17993
+ declined_by_name: string | null;
17994
+ cancelled_by: string | null;
17995
+ cancelled_by_name: string | null;
17813
17996
  })[];
17814
17997
  pagination: {
17815
17998
  page: number;
@@ -17870,116 +18053,7 @@ export interface paths {
17870
18053
  };
17871
18054
  content: {
17872
18055
  'application/json': {
17873
- data: ({
17874
- /** Format: uuid */
17875
- id: string;
17876
- } & {
17877
- /** Format: uuid */
17878
- inviter_id: string;
17879
- invitee_id: string | null;
17880
- email: string | null;
17881
- } & {
17882
- account_id: string | null;
17883
- conversation_id: string | null;
17884
- } & {
17885
- message: string;
17886
- } & {
17887
- status: 'draft' | 'submitted' | 'accepted' | 'declined' | 'cancelled' | 'expired';
17888
- /** Format: date-time */
17889
- status_changed_at: string;
17890
- } & {
17891
- lifecycle_status: 'operational' | 'archived' | 'anonymized';
17892
- /** Format: date-time */
17893
- lifecycle_changed_at: string;
17894
- } & {
17895
- submitted_at: string | null;
17896
- accepted_at: string | null;
17897
- declined_at: string | null;
17898
- cancelled_at: string | null;
17899
- expired_at: string | null;
17900
- /** Format: date-time */
17901
- created_at: string;
17902
- /** Format: date-time */
17903
- updated_at: string;
17904
- } & {
17905
- accepted_message: string | null;
17906
- declined_message: string | null;
17907
- cancelled_message: string | null;
17908
- } & {
17909
- archived_by_inviter: boolean | null;
17910
- archived_by_invitee: boolean | null;
17911
- archived_at_inviter: string | null;
17912
- archived_at_invitee: string | null;
17913
- } & {
17914
- inviter_deleted: boolean | null;
17915
- inviter_deleted_at: string | null;
17916
- invitee_deleted: boolean | null;
17917
- invitee_deleted_at: string | null;
17918
- } & {
17919
- proposed_start_date: string | null;
17920
- proposed_end_date: string | null;
17921
- proposed_hours_per_week: number | null;
17922
- job_id: string | null;
17923
- })[];
17924
- pagination: {
17925
- page: number;
17926
- limit: number;
17927
- offset?: number;
17928
- total: number;
17929
- has_more: boolean;
17930
- };
17931
- metadata: {
17932
- viewerContext: string;
17933
- timestamp?: string;
17934
- filters?: unknown;
17935
- };
17936
- };
17937
- };
17938
- };
17939
- };
17940
- };
17941
- put?: never;
17942
- post?: never;
17943
- delete?: never;
17944
- options?: never;
17945
- head?: never;
17946
- patch?: never;
17947
- trace?: never;
17948
- };
17949
- '/api/invites/{inviteId}': {
17950
- parameters: {
17951
- query?: never;
17952
- header?: never;
17953
- path?: never;
17954
- cookie?: never;
17955
- };
17956
- /**
17957
- * Get invite details
17958
- * @description Get detailed information about a specific invite
17959
- */
17960
- get: {
17961
- parameters: {
17962
- query?: never;
17963
- header?: never;
17964
- path: {
17965
- inviteId: string;
17966
- };
17967
- cookie?: never;
17968
- };
17969
- requestBody?: never;
17970
- responses: {
17971
- /** @description Default Response */
17972
- 200: {
17973
- headers: {
17974
- [name: string]: unknown;
17975
- };
17976
- content: {
17977
- 'application/json': {
17978
- /**
17979
- * Invite with Details
17980
- * @description Invite with participant, account and job details from invites_view
17981
- */
17982
- data: ({
18056
+ data: (({
17983
18057
  /** Format: uuid */
17984
18058
  id: string;
17985
18059
  } & {
@@ -18054,30 +18128,44 @@ export interface paths {
18054
18128
  declined_by_name: string | null;
18055
18129
  cancelled_by: string | null;
18056
18130
  cancelled_by_name: string | null;
18131
+ })[];
18132
+ pagination: {
18133
+ page: number;
18134
+ limit: number;
18135
+ offset?: number;
18136
+ total: number;
18137
+ has_more: boolean;
18057
18138
  };
18058
18139
  metadata: {
18059
- viewerContext: 'owner' | 'authenticated' | 'anonymous';
18060
- permissions: {
18061
- canView: boolean;
18062
- canEdit: boolean;
18063
- canSubmit: boolean;
18064
- canAccept: boolean;
18065
- canDecline: boolean;
18066
- canCancel: boolean;
18067
- canArchive: boolean;
18068
- canCreateContract: boolean;
18069
- };
18140
+ viewerContext: string;
18141
+ timestamp?: string;
18142
+ filters?: unknown;
18070
18143
  };
18071
18144
  };
18072
18145
  };
18073
18146
  };
18074
18147
  };
18075
18148
  };
18149
+ put?: never;
18150
+ post?: never;
18151
+ delete?: never;
18152
+ options?: never;
18153
+ head?: never;
18154
+ patch?: never;
18155
+ trace?: never;
18156
+ };
18157
+ '/api/invites/{inviteId}': {
18158
+ parameters: {
18159
+ query?: never;
18160
+ header?: never;
18161
+ path?: never;
18162
+ cookie?: never;
18163
+ };
18076
18164
  /**
18077
- * Update draft invite
18078
- * @description Update a draft invite
18165
+ * Get invite details
18166
+ * @description Get detailed information about a specific invite
18079
18167
  */
18080
- put: {
18168
+ get: {
18081
18169
  parameters: {
18082
18170
  query?: never;
18083
18171
  header?: never;
@@ -18086,20 +18174,7 @@ export interface paths {
18086
18174
  };
18087
18175
  cookie?: never;
18088
18176
  };
18089
- /** @description Request body for updating a draft invite - lenient validation for autosave */
18090
- requestBody?: {
18091
- content: {
18092
- 'application/json': {
18093
- invitee_id?: string | null;
18094
- email?: string | null;
18095
- message?: string;
18096
- proposed_start_date?: string | null;
18097
- proposed_end_date?: string | null;
18098
- proposed_hours_per_week?: number | null;
18099
- job_id?: string | null;
18100
- };
18101
- };
18102
- };
18177
+ requestBody?: never;
18103
18178
  responses: {
18104
18179
  /** @description Default Response */
18105
18180
  200: {
@@ -18206,145 +18281,11 @@ export interface paths {
18206
18281
  };
18207
18282
  };
18208
18283
  };
18209
- post?: never;
18210
- /**
18211
- * Delete draft invite
18212
- * @description Delete a draft invite
18213
- */
18214
- delete: {
18215
- parameters: {
18216
- query?: never;
18217
- header?: never;
18218
- path: {
18219
- inviteId: string;
18220
- };
18221
- cookie?: never;
18222
- };
18223
- requestBody?: never;
18224
- responses: {
18225
- /** @description Default Response */
18226
- 200: {
18227
- headers: {
18228
- [name: string]: unknown;
18229
- };
18230
- content: {
18231
- 'application/json': {
18232
- success: boolean;
18233
- };
18234
- };
18235
- };
18236
- };
18237
- };
18238
- options?: never;
18239
- head?: never;
18240
- patch?: never;
18241
- trace?: never;
18242
- };
18243
- '/api/invites/': {
18244
- parameters: {
18245
- query?: never;
18246
- header?: never;
18247
- path?: never;
18248
- cookie?: never;
18249
- };
18250
- get?: never;
18251
- put?: never;
18252
- /**
18253
- * Create invite
18254
- * @description Create a new invite (draft state). Supports both known users (via invitee_id) and unknown users (via email).
18255
- */
18256
- post: {
18257
- parameters: {
18258
- query?: never;
18259
- header?: never;
18260
- path?: never;
18261
- cookie?: never;
18262
- };
18263
- /** @description Request body for creating a new invite */
18264
- requestBody?: {
18265
- content: {
18266
- 'application/json': {
18267
- /** Format: uuid */
18268
- invitee_id?: string;
18269
- /** Format: email */
18270
- email?: string;
18271
- message?: string;
18272
- };
18273
- };
18274
- };
18275
- responses: {
18276
- /** @description Default Response */
18277
- 201: {
18278
- headers: {
18279
- [name: string]: unknown;
18280
- };
18281
- content: {
18282
- 'application/json': {
18283
- /**
18284
- * Create Invite Data
18285
- * @description Invite data after creation
18286
- */
18287
- data: {
18288
- /** Format: uuid */
18289
- id: string;
18290
- /** Format: uuid */
18291
- inviter_id: string;
18292
- invitee_id: string | null;
18293
- email: string | null;
18294
- account_id: string | null;
18295
- conversation_id: string | null;
18296
- /** @enum {string} */
18297
- status: 'draft';
18298
- message: string;
18299
- lifecycle_status: string;
18300
- /** Format: date-time */
18301
- created_at: string;
18302
- /** Format: date-time */
18303
- updated_at: string;
18304
- };
18305
- metadata: {
18306
- /** @enum {string} */
18307
- viewerContext: 'owner';
18308
- permissions: {
18309
- canView: boolean;
18310
- canEdit: boolean;
18311
- canDelete: boolean;
18312
- canSubmit: boolean;
18313
- canAccept: boolean;
18314
- canDecline: boolean;
18315
- canCancel: boolean;
18316
- canArchive: boolean;
18317
- canCreateContract: boolean;
18318
- };
18319
- stats?: {
18320
- createdAt: string;
18321
- };
18322
- };
18323
- };
18324
- };
18325
- };
18326
- };
18327
- };
18328
- delete?: never;
18329
- options?: never;
18330
- head?: never;
18331
- patch?: never;
18332
- trace?: never;
18333
- };
18334
- '/api/invites/{inviteId}/submit': {
18335
- parameters: {
18336
- query?: never;
18337
- header?: never;
18338
- path?: never;
18339
- cookie?: never;
18340
- };
18341
- get?: never;
18342
- put?: never;
18343
18284
  /**
18344
- * Submit invite
18345
- * @description Submit a draft invite to the invitee
18285
+ * Update draft invite
18286
+ * @description Update a draft invite
18346
18287
  */
18347
- post: {
18288
+ put: {
18348
18289
  parameters: {
18349
18290
  query?: never;
18350
18291
  header?: never;
@@ -18353,20 +18294,17 @@ export interface paths {
18353
18294
  };
18354
18295
  cookie?: never;
18355
18296
  };
18356
- /** @description Request body for submitting an invite with complete form data atomically */
18297
+ /** @description Request body for updating a draft invite - lenient validation for autosave */
18357
18298
  requestBody?: {
18358
18299
  content: {
18359
18300
  'application/json': {
18360
- invitee_id?: string;
18361
- /** Format: email */
18362
- email?: string;
18301
+ invitee_id?: string | null;
18302
+ email?: string | null;
18363
18303
  message?: string;
18364
18304
  proposed_start_date?: string | null;
18365
18305
  proposed_end_date?: string | null;
18366
18306
  proposed_hours_per_week?: number | null;
18367
- job_id?: string;
18368
- /** Format: date-time */
18369
- expires_at?: string;
18307
+ job_id?: string | null;
18370
18308
  };
18371
18309
  };
18372
18310
  };
@@ -18476,13 +18414,41 @@ export interface paths {
18476
18414
  };
18477
18415
  };
18478
18416
  };
18479
- delete?: never;
18417
+ post?: never;
18418
+ /**
18419
+ * Delete draft invite
18420
+ * @description Delete a draft invite
18421
+ */
18422
+ delete: {
18423
+ parameters: {
18424
+ query?: never;
18425
+ header?: never;
18426
+ path: {
18427
+ inviteId: string;
18428
+ };
18429
+ cookie?: never;
18430
+ };
18431
+ requestBody?: never;
18432
+ responses: {
18433
+ /** @description Default Response */
18434
+ 200: {
18435
+ headers: {
18436
+ [name: string]: unknown;
18437
+ };
18438
+ content: {
18439
+ 'application/json': {
18440
+ success: boolean;
18441
+ };
18442
+ };
18443
+ };
18444
+ };
18445
+ };
18480
18446
  options?: never;
18481
18447
  head?: never;
18482
18448
  patch?: never;
18483
18449
  trace?: never;
18484
18450
  };
18485
- '/api/invites/{inviteId}/accept': {
18451
+ '/api/invites/': {
18486
18452
  parameters: {
18487
18453
  query?: never;
18488
18454
  header?: never;
@@ -18492,119 +18458,65 @@ export interface paths {
18492
18458
  get?: never;
18493
18459
  put?: never;
18494
18460
  /**
18495
- * Accept invite
18496
- * @description Accept an invite as an invitee
18461
+ * Create invite
18462
+ * @description Create a new invite (draft state). Supports both known users (via invitee_id) and unknown users (via email).
18497
18463
  */
18498
18464
  post: {
18499
18465
  parameters: {
18500
18466
  query?: never;
18501
18467
  header?: never;
18502
- path: {
18503
- inviteId: string;
18504
- };
18468
+ path?: never;
18505
18469
  cookie?: never;
18506
18470
  };
18507
- /** @description Request body for accepting an invite */
18471
+ /** @description Request body for creating a new invite */
18508
18472
  requestBody?: {
18509
18473
  content: {
18510
18474
  'application/json': {
18511
- accepted_message?: string;
18475
+ /** Format: uuid */
18476
+ invitee_id?: string;
18477
+ /** Format: email */
18478
+ email?: string;
18479
+ message?: string;
18512
18480
  };
18513
18481
  };
18514
18482
  };
18515
18483
  responses: {
18516
18484
  /** @description Default Response */
18517
- 200: {
18485
+ 201: {
18518
18486
  headers: {
18519
18487
  [name: string]: unknown;
18520
18488
  };
18521
18489
  content: {
18522
18490
  'application/json': {
18523
18491
  /**
18524
- * Invite with Details
18525
- * @description Invite with participant, account and job details from invites_view
18492
+ * Create Invite Data
18493
+ * @description Invite data after creation
18526
18494
  */
18527
- data: ({
18495
+ data: {
18528
18496
  /** Format: uuid */
18529
18497
  id: string;
18530
- } & {
18531
18498
  /** Format: uuid */
18532
18499
  inviter_id: string;
18533
18500
  invitee_id: string | null;
18534
18501
  email: string | null;
18535
- } & {
18536
18502
  account_id: string | null;
18537
18503
  conversation_id: string | null;
18538
- } & {
18504
+ /** @enum {string} */
18505
+ status: 'draft';
18539
18506
  message: string;
18540
- } & {
18541
- status: 'draft' | 'submitted' | 'accepted' | 'declined' | 'cancelled' | 'expired';
18542
- /** Format: date-time */
18543
- status_changed_at: string;
18544
- } & {
18545
- lifecycle_status: 'operational' | 'archived' | 'anonymized';
18546
- /** Format: date-time */
18547
- lifecycle_changed_at: string;
18548
- } & {
18549
- submitted_at: string | null;
18550
- accepted_at: string | null;
18551
- declined_at: string | null;
18552
- cancelled_at: string | null;
18553
- expired_at: string | null;
18507
+ lifecycle_status: string;
18554
18508
  /** Format: date-time */
18555
18509
  created_at: string;
18556
18510
  /** Format: date-time */
18557
18511
  updated_at: string;
18558
- } & {
18559
- accepted_message: string | null;
18560
- declined_message: string | null;
18561
- cancelled_message: string | null;
18562
- } & {
18563
- archived_by_inviter: boolean | null;
18564
- archived_by_invitee: boolean | null;
18565
- archived_at_inviter: string | null;
18566
- archived_at_invitee: string | null;
18567
- } & {
18568
- inviter_deleted: boolean | null;
18569
- inviter_deleted_at: string | null;
18570
- invitee_deleted: boolean | null;
18571
- invitee_deleted_at: string | null;
18572
- } & {
18573
- proposed_start_date: string | null;
18574
- proposed_end_date: string | null;
18575
- proposed_hours_per_week: number | null;
18576
- job_id: string | null;
18577
- }) & {
18578
- inviter_user_id: string | null;
18579
- inviter_full_name: string | null;
18580
- inviter_email: string | null;
18581
- inviter_phone: string | null;
18582
- inviter_given_name: string | null;
18583
- inviter_family_name: string | null;
18584
- inviter_picture: string | null;
18585
- invitee_user_id: string | null;
18586
- invitee_full_name: string | null;
18587
- invitee_email: string | null;
18588
- invitee_phone: string | null;
18589
- invitee_given_name: string | null;
18590
- invitee_family_name: string | null;
18591
- invitee_picture: string | null;
18592
- account_id_ref: string | null;
18593
- account_owner_id: string | null;
18594
- submitted_by: string | null;
18595
- submitted_by_name: string | null;
18596
- accepted_by: string | null;
18597
- accepted_by_name: string | null;
18598
- declined_by: string | null;
18599
- declined_by_name: string | null;
18600
- cancelled_by: string | null;
18601
- cancelled_by_name: string | null;
18602
18512
  };
18603
18513
  metadata: {
18604
- viewerContext: 'owner' | 'authenticated' | 'anonymous';
18514
+ /** @enum {string} */
18515
+ viewerContext: 'owner';
18605
18516
  permissions: {
18606
18517
  canView: boolean;
18607
18518
  canEdit: boolean;
18519
+ canDelete: boolean;
18608
18520
  canSubmit: boolean;
18609
18521
  canAccept: boolean;
18610
18522
  canDecline: boolean;
@@ -18612,6 +18524,9 @@ export interface paths {
18612
18524
  canArchive: boolean;
18613
18525
  canCreateContract: boolean;
18614
18526
  };
18527
+ stats?: {
18528
+ createdAt: string;
18529
+ };
18615
18530
  };
18616
18531
  };
18617
18532
  };
@@ -18624,7 +18539,7 @@ export interface paths {
18624
18539
  patch?: never;
18625
18540
  trace?: never;
18626
18541
  };
18627
- '/api/invites/{inviteId}/decline': {
18542
+ '/api/invites/{inviteId}/submit': {
18628
18543
  parameters: {
18629
18544
  query?: never;
18630
18545
  header?: never;
@@ -18634,8 +18549,8 @@ export interface paths {
18634
18549
  get?: never;
18635
18550
  put?: never;
18636
18551
  /**
18637
- * Decline invite
18638
- * @description Decline an invite as an invitee
18552
+ * Submit invite
18553
+ * @description Submit a draft invite to the invitee
18639
18554
  */
18640
18555
  post: {
18641
18556
  parameters: {
@@ -18646,11 +18561,20 @@ export interface paths {
18646
18561
  };
18647
18562
  cookie?: never;
18648
18563
  };
18649
- /** @description Request body for declining an invite */
18650
- requestBody: {
18564
+ /** @description Request body for submitting an invite with complete form data atomically */
18565
+ requestBody?: {
18651
18566
  content: {
18652
18567
  'application/json': {
18653
- declined_message: string;
18568
+ invitee_id?: string;
18569
+ /** Format: email */
18570
+ email?: string;
18571
+ message?: string;
18572
+ proposed_start_date?: string | null;
18573
+ proposed_end_date?: string | null;
18574
+ proposed_hours_per_week?: number | null;
18575
+ job_id?: string;
18576
+ /** Format: date-time */
18577
+ expires_at?: string;
18654
18578
  };
18655
18579
  };
18656
18580
  };
@@ -18766,7 +18690,7 @@ export interface paths {
18766
18690
  patch?: never;
18767
18691
  trace?: never;
18768
18692
  };
18769
- '/api/invites/{inviteId}/cancel': {
18693
+ '/api/invites/{inviteId}/accept': {
18770
18694
  parameters: {
18771
18695
  query?: never;
18772
18696
  header?: never;
@@ -18776,8 +18700,8 @@ export interface paths {
18776
18700
  get?: never;
18777
18701
  put?: never;
18778
18702
  /**
18779
- * Cancel invite
18780
- * @description Cancel a submitted invite as an inviter
18703
+ * Accept invite
18704
+ * @description Accept an invite as an invitee
18781
18705
  */
18782
18706
  post: {
18783
18707
  parameters: {
@@ -18788,11 +18712,11 @@ export interface paths {
18788
18712
  };
18789
18713
  cookie?: never;
18790
18714
  };
18791
- /** @description Request body for cancelling an invite */
18715
+ /** @description Request body for accepting an invite */
18792
18716
  requestBody?: {
18793
18717
  content: {
18794
18718
  'application/json': {
18795
- cancelled_message?: string;
18719
+ accepted_message?: string;
18796
18720
  };
18797
18721
  };
18798
18722
  };
@@ -18908,7 +18832,7 @@ export interface paths {
18908
18832
  patch?: never;
18909
18833
  trace?: never;
18910
18834
  };
18911
- '/api/invites/{inviteId}/archive': {
18835
+ '/api/invites/{inviteId}/decline': {
18912
18836
  parameters: {
18913
18837
  query?: never;
18914
18838
  header?: never;
@@ -18918,8 +18842,8 @@ export interface paths {
18918
18842
  get?: never;
18919
18843
  put?: never;
18920
18844
  /**
18921
- * Archive or unarchive invite
18922
- * @description Archive or unarchive an invite (dual archiving support)
18845
+ * Decline invite
18846
+ * @description Decline an invite as an invitee
18923
18847
  */
18924
18848
  post: {
18925
18849
  parameters: {
@@ -18930,11 +18854,295 @@ export interface paths {
18930
18854
  };
18931
18855
  cookie?: never;
18932
18856
  };
18933
- /** @description Request body for archiving/restoring an invite */
18857
+ /** @description Request body for declining an invite */
18934
18858
  requestBody: {
18935
18859
  content: {
18936
18860
  'application/json': {
18937
- archived: boolean;
18861
+ declined_message: string;
18862
+ };
18863
+ };
18864
+ };
18865
+ responses: {
18866
+ /** @description Default Response */
18867
+ 200: {
18868
+ headers: {
18869
+ [name: string]: unknown;
18870
+ };
18871
+ content: {
18872
+ 'application/json': {
18873
+ /**
18874
+ * Invite with Details
18875
+ * @description Invite with participant, account and job details from invites_view
18876
+ */
18877
+ data: ({
18878
+ /** Format: uuid */
18879
+ id: string;
18880
+ } & {
18881
+ /** Format: uuid */
18882
+ inviter_id: string;
18883
+ invitee_id: string | null;
18884
+ email: string | null;
18885
+ } & {
18886
+ account_id: string | null;
18887
+ conversation_id: string | null;
18888
+ } & {
18889
+ message: string;
18890
+ } & {
18891
+ status: 'draft' | 'submitted' | 'accepted' | 'declined' | 'cancelled' | 'expired';
18892
+ /** Format: date-time */
18893
+ status_changed_at: string;
18894
+ } & {
18895
+ lifecycle_status: 'operational' | 'archived' | 'anonymized';
18896
+ /** Format: date-time */
18897
+ lifecycle_changed_at: string;
18898
+ } & {
18899
+ submitted_at: string | null;
18900
+ accepted_at: string | null;
18901
+ declined_at: string | null;
18902
+ cancelled_at: string | null;
18903
+ expired_at: string | null;
18904
+ /** Format: date-time */
18905
+ created_at: string;
18906
+ /** Format: date-time */
18907
+ updated_at: string;
18908
+ } & {
18909
+ accepted_message: string | null;
18910
+ declined_message: string | null;
18911
+ cancelled_message: string | null;
18912
+ } & {
18913
+ archived_by_inviter: boolean | null;
18914
+ archived_by_invitee: boolean | null;
18915
+ archived_at_inviter: string | null;
18916
+ archived_at_invitee: string | null;
18917
+ } & {
18918
+ inviter_deleted: boolean | null;
18919
+ inviter_deleted_at: string | null;
18920
+ invitee_deleted: boolean | null;
18921
+ invitee_deleted_at: string | null;
18922
+ } & {
18923
+ proposed_start_date: string | null;
18924
+ proposed_end_date: string | null;
18925
+ proposed_hours_per_week: number | null;
18926
+ job_id: string | null;
18927
+ }) & {
18928
+ inviter_user_id: string | null;
18929
+ inviter_full_name: string | null;
18930
+ inviter_email: string | null;
18931
+ inviter_phone: string | null;
18932
+ inviter_given_name: string | null;
18933
+ inviter_family_name: string | null;
18934
+ inviter_picture: string | null;
18935
+ invitee_user_id: string | null;
18936
+ invitee_full_name: string | null;
18937
+ invitee_email: string | null;
18938
+ invitee_phone: string | null;
18939
+ invitee_given_name: string | null;
18940
+ invitee_family_name: string | null;
18941
+ invitee_picture: string | null;
18942
+ account_id_ref: string | null;
18943
+ account_owner_id: string | null;
18944
+ submitted_by: string | null;
18945
+ submitted_by_name: string | null;
18946
+ accepted_by: string | null;
18947
+ accepted_by_name: string | null;
18948
+ declined_by: string | null;
18949
+ declined_by_name: string | null;
18950
+ cancelled_by: string | null;
18951
+ cancelled_by_name: string | null;
18952
+ };
18953
+ metadata: {
18954
+ viewerContext: 'owner' | 'authenticated' | 'anonymous';
18955
+ permissions: {
18956
+ canView: boolean;
18957
+ canEdit: boolean;
18958
+ canSubmit: boolean;
18959
+ canAccept: boolean;
18960
+ canDecline: boolean;
18961
+ canCancel: boolean;
18962
+ canArchive: boolean;
18963
+ canCreateContract: boolean;
18964
+ };
18965
+ };
18966
+ };
18967
+ };
18968
+ };
18969
+ };
18970
+ };
18971
+ delete?: never;
18972
+ options?: never;
18973
+ head?: never;
18974
+ patch?: never;
18975
+ trace?: never;
18976
+ };
18977
+ '/api/invites/{inviteId}/cancel': {
18978
+ parameters: {
18979
+ query?: never;
18980
+ header?: never;
18981
+ path?: never;
18982
+ cookie?: never;
18983
+ };
18984
+ get?: never;
18985
+ put?: never;
18986
+ /**
18987
+ * Cancel invite
18988
+ * @description Cancel a submitted invite as an inviter
18989
+ */
18990
+ post: {
18991
+ parameters: {
18992
+ query?: never;
18993
+ header?: never;
18994
+ path: {
18995
+ inviteId: string;
18996
+ };
18997
+ cookie?: never;
18998
+ };
18999
+ /** @description Request body for cancelling an invite */
19000
+ requestBody?: {
19001
+ content: {
19002
+ 'application/json': {
19003
+ cancelled_message?: string;
19004
+ };
19005
+ };
19006
+ };
19007
+ responses: {
19008
+ /** @description Default Response */
19009
+ 200: {
19010
+ headers: {
19011
+ [name: string]: unknown;
19012
+ };
19013
+ content: {
19014
+ 'application/json': {
19015
+ /**
19016
+ * Invite with Details
19017
+ * @description Invite with participant, account and job details from invites_view
19018
+ */
19019
+ data: ({
19020
+ /** Format: uuid */
19021
+ id: string;
19022
+ } & {
19023
+ /** Format: uuid */
19024
+ inviter_id: string;
19025
+ invitee_id: string | null;
19026
+ email: string | null;
19027
+ } & {
19028
+ account_id: string | null;
19029
+ conversation_id: string | null;
19030
+ } & {
19031
+ message: string;
19032
+ } & {
19033
+ status: 'draft' | 'submitted' | 'accepted' | 'declined' | 'cancelled' | 'expired';
19034
+ /** Format: date-time */
19035
+ status_changed_at: string;
19036
+ } & {
19037
+ lifecycle_status: 'operational' | 'archived' | 'anonymized';
19038
+ /** Format: date-time */
19039
+ lifecycle_changed_at: string;
19040
+ } & {
19041
+ submitted_at: string | null;
19042
+ accepted_at: string | null;
19043
+ declined_at: string | null;
19044
+ cancelled_at: string | null;
19045
+ expired_at: string | null;
19046
+ /** Format: date-time */
19047
+ created_at: string;
19048
+ /** Format: date-time */
19049
+ updated_at: string;
19050
+ } & {
19051
+ accepted_message: string | null;
19052
+ declined_message: string | null;
19053
+ cancelled_message: string | null;
19054
+ } & {
19055
+ archived_by_inviter: boolean | null;
19056
+ archived_by_invitee: boolean | null;
19057
+ archived_at_inviter: string | null;
19058
+ archived_at_invitee: string | null;
19059
+ } & {
19060
+ inviter_deleted: boolean | null;
19061
+ inviter_deleted_at: string | null;
19062
+ invitee_deleted: boolean | null;
19063
+ invitee_deleted_at: string | null;
19064
+ } & {
19065
+ proposed_start_date: string | null;
19066
+ proposed_end_date: string | null;
19067
+ proposed_hours_per_week: number | null;
19068
+ job_id: string | null;
19069
+ }) & {
19070
+ inviter_user_id: string | null;
19071
+ inviter_full_name: string | null;
19072
+ inviter_email: string | null;
19073
+ inviter_phone: string | null;
19074
+ inviter_given_name: string | null;
19075
+ inviter_family_name: string | null;
19076
+ inviter_picture: string | null;
19077
+ invitee_user_id: string | null;
19078
+ invitee_full_name: string | null;
19079
+ invitee_email: string | null;
19080
+ invitee_phone: string | null;
19081
+ invitee_given_name: string | null;
19082
+ invitee_family_name: string | null;
19083
+ invitee_picture: string | null;
19084
+ account_id_ref: string | null;
19085
+ account_owner_id: string | null;
19086
+ submitted_by: string | null;
19087
+ submitted_by_name: string | null;
19088
+ accepted_by: string | null;
19089
+ accepted_by_name: string | null;
19090
+ declined_by: string | null;
19091
+ declined_by_name: string | null;
19092
+ cancelled_by: string | null;
19093
+ cancelled_by_name: string | null;
19094
+ };
19095
+ metadata: {
19096
+ viewerContext: 'owner' | 'authenticated' | 'anonymous';
19097
+ permissions: {
19098
+ canView: boolean;
19099
+ canEdit: boolean;
19100
+ canSubmit: boolean;
19101
+ canAccept: boolean;
19102
+ canDecline: boolean;
19103
+ canCancel: boolean;
19104
+ canArchive: boolean;
19105
+ canCreateContract: boolean;
19106
+ };
19107
+ };
19108
+ };
19109
+ };
19110
+ };
19111
+ };
19112
+ };
19113
+ delete?: never;
19114
+ options?: never;
19115
+ head?: never;
19116
+ patch?: never;
19117
+ trace?: never;
19118
+ };
19119
+ '/api/invites/{inviteId}/archive': {
19120
+ parameters: {
19121
+ query?: never;
19122
+ header?: never;
19123
+ path?: never;
19124
+ cookie?: never;
19125
+ };
19126
+ get?: never;
19127
+ put?: never;
19128
+ /**
19129
+ * Archive or unarchive invite
19130
+ * @description Archive or unarchive an invite (dual archiving support)
19131
+ */
19132
+ post: {
19133
+ parameters: {
19134
+ query?: never;
19135
+ header?: never;
19136
+ path: {
19137
+ inviteId: string;
19138
+ };
19139
+ cookie?: never;
19140
+ };
19141
+ /** @description Request body for archiving/restoring an invite */
19142
+ requestBody: {
19143
+ content: {
19144
+ 'application/json': {
19145
+ archived: boolean;
18938
19146
  };
18939
19147
  };
18940
19148
  };
@@ -39443,7 +39651,7 @@ export interface paths {
39443
39651
  'application/json': {
39444
39652
  title: string;
39445
39653
  description?: string;
39446
- category: 'sports' | 'culture' | 'social' | 'nature' | 'technology' | 'creative' | 'other';
39654
+ category: 'sports' | 'culture' | 'hobbies' | 'nature' | 'social' | 'other';
39447
39655
  /** @enum {string} */
39448
39656
  context?: 'assistant';
39449
39657
  is_active?: boolean;
@@ -39568,7 +39776,7 @@ export interface paths {
39568
39776
  'application/json': {
39569
39777
  title?: string;
39570
39778
  description?: string;
39571
- category?: 'sports' | 'culture' | 'social' | 'nature' | 'technology' | 'creative' | 'other';
39779
+ category?: 'sports' | 'culture' | 'hobbies' | 'nature' | 'social' | 'other';
39572
39780
  /** @enum {string} */
39573
39781
  context?: 'assistant';
39574
39782
  is_active?: boolean;
@@ -40423,6 +40631,999 @@ export interface paths {
40423
40631
  patch?: never;
40424
40632
  trace?: never;
40425
40633
  };
40634
+ '/api/support/users/{id}': {
40635
+ parameters: {
40636
+ query?: never;
40637
+ header?: never;
40638
+ path?: never;
40639
+ cookie?: never;
40640
+ };
40641
+ /**
40642
+ * Get user information
40643
+ * @description Get complete user information for support purposes. Requires CASE_MANAGER role.
40644
+ */
40645
+ get: {
40646
+ parameters: {
40647
+ query?: never;
40648
+ header?: never;
40649
+ path: {
40650
+ /** @description User ID */
40651
+ id: string;
40652
+ };
40653
+ cookie?: never;
40654
+ };
40655
+ requestBody?: never;
40656
+ responses: {
40657
+ /** @description Default Response */
40658
+ 200: {
40659
+ headers: {
40660
+ [name: string]: unknown;
40661
+ };
40662
+ content: {
40663
+ 'application/json': {
40664
+ user: {
40665
+ id: string;
40666
+ email: string;
40667
+ email_verified?: boolean;
40668
+ full_name?: string;
40669
+ given_name?: string;
40670
+ family_name?: string;
40671
+ phone?: string;
40672
+ roles: string[];
40673
+ created_at: string;
40674
+ updated_at?: string;
40675
+ last_login?: string;
40676
+ };
40677
+ account: {
40678
+ id: string;
40679
+ status: 'active' | 'suspended';
40680
+ language: string;
40681
+ timezone?: string;
40682
+ created_at: string;
40683
+ };
40684
+ profile?: {
40685
+ type: 'assistant' | 'employer';
40686
+ data: unknown;
40687
+ };
40688
+ stats: {
40689
+ total_jobs: number;
40690
+ total_applications: number;
40691
+ total_contracts: number;
40692
+ total_inquiries: number;
40693
+ total_invites: number;
40694
+ };
40695
+ };
40696
+ };
40697
+ };
40698
+ /** @description Default Response */
40699
+ 404: {
40700
+ headers: {
40701
+ [name: string]: unknown;
40702
+ };
40703
+ content: {
40704
+ 'application/json': {
40705
+ error: string;
40706
+ };
40707
+ };
40708
+ };
40709
+ /** @description Default Response */
40710
+ 500: {
40711
+ headers: {
40712
+ [name: string]: unknown;
40713
+ };
40714
+ content: {
40715
+ 'application/json': {
40716
+ error: string;
40717
+ };
40718
+ };
40719
+ };
40720
+ };
40721
+ };
40722
+ put?: never;
40723
+ post?: never;
40724
+ delete?: never;
40725
+ options?: never;
40726
+ head?: never;
40727
+ patch?: never;
40728
+ trace?: never;
40729
+ };
40730
+ '/api/support/users/{id}/activity': {
40731
+ parameters: {
40732
+ query?: never;
40733
+ header?: never;
40734
+ path?: never;
40735
+ cookie?: never;
40736
+ };
40737
+ /**
40738
+ * Get user activity
40739
+ * @description Get paginated activity timeline for a user. Requires CASE_MANAGER role.
40740
+ */
40741
+ get: {
40742
+ parameters: {
40743
+ query?: {
40744
+ limit?: number;
40745
+ offset?: number;
40746
+ event_type?: string;
40747
+ };
40748
+ header?: never;
40749
+ path: {
40750
+ /** @description User ID */
40751
+ id: string;
40752
+ };
40753
+ cookie?: never;
40754
+ };
40755
+ requestBody?: never;
40756
+ responses: {
40757
+ /** @description Default Response */
40758
+ 200: {
40759
+ headers: {
40760
+ [name: string]: unknown;
40761
+ };
40762
+ content: {
40763
+ 'application/json': {
40764
+ data: {
40765
+ id: string;
40766
+ event_name: string;
40767
+ entity_type: string;
40768
+ entity_id?: string;
40769
+ event_data: unknown;
40770
+ created_at: string;
40771
+ session_id?: string;
40772
+ }[];
40773
+ pagination: {
40774
+ limit: number;
40775
+ offset: number;
40776
+ total: number;
40777
+ has_more: boolean;
40778
+ };
40779
+ };
40780
+ };
40781
+ };
40782
+ /** @description Default Response */
40783
+ 500: {
40784
+ headers: {
40785
+ [name: string]: unknown;
40786
+ };
40787
+ content: {
40788
+ 'application/json': {
40789
+ error: string;
40790
+ };
40791
+ };
40792
+ };
40793
+ };
40794
+ };
40795
+ put?: never;
40796
+ post?: never;
40797
+ delete?: never;
40798
+ options?: never;
40799
+ head?: never;
40800
+ patch?: never;
40801
+ trace?: never;
40802
+ };
40803
+ '/api/support/users/{id}/sessions': {
40804
+ parameters: {
40805
+ query?: never;
40806
+ header?: never;
40807
+ path?: never;
40808
+ cookie?: never;
40809
+ };
40810
+ /**
40811
+ * Get user sessions
40812
+ * @description Get paginated session history for a user. Requires CASE_MANAGER role.
40813
+ */
40814
+ get: {
40815
+ parameters: {
40816
+ query?: {
40817
+ limit?: number;
40818
+ offset?: number;
40819
+ };
40820
+ header?: never;
40821
+ path: {
40822
+ /** @description User ID */
40823
+ id: string;
40824
+ };
40825
+ cookie?: never;
40826
+ };
40827
+ requestBody?: never;
40828
+ responses: {
40829
+ /** @description Default Response */
40830
+ 200: {
40831
+ headers: {
40832
+ [name: string]: unknown;
40833
+ };
40834
+ content: {
40835
+ 'application/json': {
40836
+ data: {
40837
+ id: string;
40838
+ user_id: string;
40839
+ started_at: string;
40840
+ ended_at?: string;
40841
+ last_activity_at: string;
40842
+ is_active: boolean;
40843
+ ip_address?: string;
40844
+ device_type?: string;
40845
+ user_agent?: string;
40846
+ }[];
40847
+ pagination: {
40848
+ limit: number;
40849
+ offset: number;
40850
+ total: number;
40851
+ has_more: boolean;
40852
+ };
40853
+ };
40854
+ };
40855
+ };
40856
+ /** @description Default Response */
40857
+ 500: {
40858
+ headers: {
40859
+ [name: string]: unknown;
40860
+ };
40861
+ content: {
40862
+ 'application/json': {
40863
+ error: string;
40864
+ };
40865
+ };
40866
+ };
40867
+ };
40868
+ };
40869
+ put?: never;
40870
+ post?: never;
40871
+ delete?: never;
40872
+ options?: never;
40873
+ head?: never;
40874
+ patch?: never;
40875
+ trace?: never;
40876
+ };
40877
+ '/api/support/users/{id}/jobs': {
40878
+ parameters: {
40879
+ query?: never;
40880
+ header?: never;
40881
+ path?: never;
40882
+ cookie?: never;
40883
+ };
40884
+ /**
40885
+ * Get user jobs
40886
+ * @description Get paginated list of jobs created by user. Requires CASE_MANAGER role.
40887
+ */
40888
+ get: {
40889
+ parameters: {
40890
+ query?: {
40891
+ limit?: number;
40892
+ offset?: number;
40893
+ status?: string;
40894
+ };
40895
+ header?: never;
40896
+ path: {
40897
+ /** @description User ID */
40898
+ id: string;
40899
+ };
40900
+ cookie?: never;
40901
+ };
40902
+ requestBody?: never;
40903
+ responses: {
40904
+ /** @description Default Response */
40905
+ 200: {
40906
+ headers: {
40907
+ [name: string]: unknown;
40908
+ };
40909
+ content: {
40910
+ 'application/json': {
40911
+ data: {
40912
+ id: string;
40913
+ title: string;
40914
+ status: string;
40915
+ created_at: string;
40916
+ updated_at: string;
40917
+ published_at?: string;
40918
+ unpublished_at?: string;
40919
+ }[];
40920
+ pagination: {
40921
+ limit: number;
40922
+ offset: number;
40923
+ total: number;
40924
+ has_more: boolean;
40925
+ };
40926
+ };
40927
+ };
40928
+ };
40929
+ /** @description Default Response */
40930
+ 404: {
40931
+ headers: {
40932
+ [name: string]: unknown;
40933
+ };
40934
+ content: {
40935
+ 'application/json': {
40936
+ error: string;
40937
+ };
40938
+ };
40939
+ };
40940
+ /** @description Default Response */
40941
+ 500: {
40942
+ headers: {
40943
+ [name: string]: unknown;
40944
+ };
40945
+ content: {
40946
+ 'application/json': {
40947
+ error: string;
40948
+ };
40949
+ };
40950
+ };
40951
+ };
40952
+ };
40953
+ put?: never;
40954
+ post?: never;
40955
+ delete?: never;
40956
+ options?: never;
40957
+ head?: never;
40958
+ patch?: never;
40959
+ trace?: never;
40960
+ };
40961
+ '/api/support/users/{id}/applications': {
40962
+ parameters: {
40963
+ query?: never;
40964
+ header?: never;
40965
+ path?: never;
40966
+ cookie?: never;
40967
+ };
40968
+ /**
40969
+ * Get user applications
40970
+ * @description Get paginated list of applications submitted by user. Requires CASE_MANAGER role.
40971
+ */
40972
+ get: {
40973
+ parameters: {
40974
+ query?: {
40975
+ limit?: number;
40976
+ offset?: number;
40977
+ status?: string;
40978
+ };
40979
+ header?: never;
40980
+ path: {
40981
+ /** @description User ID */
40982
+ id: string;
40983
+ };
40984
+ cookie?: never;
40985
+ };
40986
+ requestBody?: never;
40987
+ responses: {
40988
+ /** @description Default Response */
40989
+ 200: {
40990
+ headers: {
40991
+ [name: string]: unknown;
40992
+ };
40993
+ content: {
40994
+ 'application/json': {
40995
+ data: {
40996
+ id: string;
40997
+ job_id: string;
40998
+ job_title?: string;
40999
+ status: string;
41000
+ created_at: string;
41001
+ submitted_at?: string;
41002
+ }[];
41003
+ pagination: {
41004
+ limit: number;
41005
+ offset: number;
41006
+ total: number;
41007
+ has_more: boolean;
41008
+ };
41009
+ };
41010
+ };
41011
+ };
41012
+ /** @description Default Response */
41013
+ 500: {
41014
+ headers: {
41015
+ [name: string]: unknown;
41016
+ };
41017
+ content: {
41018
+ 'application/json': {
41019
+ error: string;
41020
+ };
41021
+ };
41022
+ };
41023
+ };
41024
+ };
41025
+ put?: never;
41026
+ post?: never;
41027
+ delete?: never;
41028
+ options?: never;
41029
+ head?: never;
41030
+ patch?: never;
41031
+ trace?: never;
41032
+ };
41033
+ '/api/support/users/{id}/contracts': {
41034
+ parameters: {
41035
+ query?: never;
41036
+ header?: never;
41037
+ path?: never;
41038
+ cookie?: never;
41039
+ };
41040
+ /**
41041
+ * Get user contracts
41042
+ * @description Get paginated list of contracts for user. Requires CASE_MANAGER role.
41043
+ */
41044
+ get: {
41045
+ parameters: {
41046
+ query?: {
41047
+ limit?: number;
41048
+ offset?: number;
41049
+ status?: string;
41050
+ };
41051
+ header?: never;
41052
+ path: {
41053
+ /** @description User ID */
41054
+ id: string;
41055
+ };
41056
+ cookie?: never;
41057
+ };
41058
+ requestBody?: never;
41059
+ responses: {
41060
+ /** @description Default Response */
41061
+ 200: {
41062
+ headers: {
41063
+ [name: string]: unknown;
41064
+ };
41065
+ content: {
41066
+ 'application/json': {
41067
+ data: {
41068
+ id: string;
41069
+ contract_number?: string;
41070
+ status: string;
41071
+ created_at: string;
41072
+ signed_at?: string;
41073
+ }[];
41074
+ pagination: {
41075
+ limit: number;
41076
+ offset: number;
41077
+ total: number;
41078
+ has_more: boolean;
41079
+ };
41080
+ };
41081
+ };
41082
+ };
41083
+ /** @description Default Response */
41084
+ 500: {
41085
+ headers: {
41086
+ [name: string]: unknown;
41087
+ };
41088
+ content: {
41089
+ 'application/json': {
41090
+ error: string;
41091
+ };
41092
+ };
41093
+ };
41094
+ };
41095
+ };
41096
+ put?: never;
41097
+ post?: never;
41098
+ delete?: never;
41099
+ options?: never;
41100
+ head?: never;
41101
+ patch?: never;
41102
+ trace?: never;
41103
+ };
41104
+ '/api/support/users/{id}/inquiries': {
41105
+ parameters: {
41106
+ query?: never;
41107
+ header?: never;
41108
+ path?: never;
41109
+ cookie?: never;
41110
+ };
41111
+ /**
41112
+ * Get user inquiries
41113
+ * @description Get paginated list of inquiries (sent and received). Requires CASE_MANAGER role.
41114
+ */
41115
+ get: {
41116
+ parameters: {
41117
+ query?: {
41118
+ limit?: number;
41119
+ offset?: number;
41120
+ status?: string;
41121
+ type?: 'sent' | 'received';
41122
+ };
41123
+ header?: never;
41124
+ path: {
41125
+ /** @description User ID */
41126
+ id: string;
41127
+ };
41128
+ cookie?: never;
41129
+ };
41130
+ requestBody?: never;
41131
+ responses: {
41132
+ /** @description Default Response */
41133
+ 200: {
41134
+ headers: {
41135
+ [name: string]: unknown;
41136
+ };
41137
+ content: {
41138
+ 'application/json': {
41139
+ data: {
41140
+ id: string;
41141
+ status: string;
41142
+ type: 'sent' | 'received';
41143
+ created_at: string;
41144
+ responded_at?: string;
41145
+ }[];
41146
+ pagination: {
41147
+ limit: number;
41148
+ offset: number;
41149
+ total: number;
41150
+ has_more: boolean;
41151
+ };
41152
+ };
41153
+ };
41154
+ };
41155
+ /** @description Default Response */
41156
+ 500: {
41157
+ headers: {
41158
+ [name: string]: unknown;
41159
+ };
41160
+ content: {
41161
+ 'application/json': {
41162
+ error: string;
41163
+ };
41164
+ };
41165
+ };
41166
+ };
41167
+ };
41168
+ put?: never;
41169
+ post?: never;
41170
+ delete?: never;
41171
+ options?: never;
41172
+ head?: never;
41173
+ patch?: never;
41174
+ trace?: never;
41175
+ };
41176
+ '/api/support/users/{id}/invites': {
41177
+ parameters: {
41178
+ query?: never;
41179
+ header?: never;
41180
+ path?: never;
41181
+ cookie?: never;
41182
+ };
41183
+ /**
41184
+ * Get user invites
41185
+ * @description Get paginated list of invites (sent and received). Requires CASE_MANAGER role.
41186
+ */
41187
+ get: {
41188
+ parameters: {
41189
+ query?: {
41190
+ limit?: number;
41191
+ offset?: number;
41192
+ status?: string;
41193
+ type?: 'sent' | 'received';
41194
+ };
41195
+ header?: never;
41196
+ path: {
41197
+ /** @description User ID */
41198
+ id: string;
41199
+ };
41200
+ cookie?: never;
41201
+ };
41202
+ requestBody?: never;
41203
+ responses: {
41204
+ /** @description Default Response */
41205
+ 200: {
41206
+ headers: {
41207
+ [name: string]: unknown;
41208
+ };
41209
+ content: {
41210
+ 'application/json': {
41211
+ data: {
41212
+ id: string;
41213
+ status: string;
41214
+ type: 'sent' | 'received';
41215
+ created_at: string;
41216
+ accepted_at?: string;
41217
+ rejected_at?: string;
41218
+ }[];
41219
+ pagination: {
41220
+ limit: number;
41221
+ offset: number;
41222
+ total: number;
41223
+ has_more: boolean;
41224
+ };
41225
+ };
41226
+ };
41227
+ };
41228
+ /** @description Default Response */
41229
+ 500: {
41230
+ headers: {
41231
+ [name: string]: unknown;
41232
+ };
41233
+ content: {
41234
+ 'application/json': {
41235
+ error: string;
41236
+ };
41237
+ };
41238
+ };
41239
+ };
41240
+ };
41241
+ put?: never;
41242
+ post?: never;
41243
+ delete?: never;
41244
+ options?: never;
41245
+ head?: never;
41246
+ patch?: never;
41247
+ trace?: never;
41248
+ };
41249
+ '/api/support/users/{id}/documents': {
41250
+ parameters: {
41251
+ query?: never;
41252
+ header?: never;
41253
+ path?: never;
41254
+ cookie?: never;
41255
+ };
41256
+ /**
41257
+ * Get user documents
41258
+ * @description Get paginated list of documents uploaded by user. Requires CASE_MANAGER role.
41259
+ */
41260
+ get: {
41261
+ parameters: {
41262
+ query?: {
41263
+ limit?: number;
41264
+ offset?: number;
41265
+ };
41266
+ header?: never;
41267
+ path: {
41268
+ /** @description User ID */
41269
+ id: string;
41270
+ };
41271
+ cookie?: never;
41272
+ };
41273
+ requestBody?: never;
41274
+ responses: {
41275
+ /** @description Default Response */
41276
+ 200: {
41277
+ headers: {
41278
+ [name: string]: unknown;
41279
+ };
41280
+ content: {
41281
+ 'application/json': {
41282
+ data: {
41283
+ id: string;
41284
+ filename: string;
41285
+ content_type: string;
41286
+ size: number;
41287
+ created_at: string;
41288
+ }[];
41289
+ pagination: {
41290
+ limit: number;
41291
+ offset: number;
41292
+ total: number;
41293
+ has_more: boolean;
41294
+ };
41295
+ };
41296
+ };
41297
+ };
41298
+ /** @description Default Response */
41299
+ 500: {
41300
+ headers: {
41301
+ [name: string]: unknown;
41302
+ };
41303
+ content: {
41304
+ 'application/json': {
41305
+ error: string;
41306
+ };
41307
+ };
41308
+ };
41309
+ };
41310
+ };
41311
+ put?: never;
41312
+ post?: never;
41313
+ delete?: never;
41314
+ options?: never;
41315
+ head?: never;
41316
+ patch?: never;
41317
+ trace?: never;
41318
+ };
41319
+ '/api/support/users/{id}/account-status': {
41320
+ parameters: {
41321
+ query?: never;
41322
+ header?: never;
41323
+ path?: never;
41324
+ cookie?: never;
41325
+ };
41326
+ get?: never;
41327
+ /**
41328
+ * Update account status
41329
+ * @description Suspend or activate a user account. Requires CASE_MANAGER role.
41330
+ */
41331
+ put: {
41332
+ parameters: {
41333
+ query?: never;
41334
+ header?: never;
41335
+ path: {
41336
+ /** @description User ID */
41337
+ id: string;
41338
+ };
41339
+ cookie?: never;
41340
+ };
41341
+ requestBody: {
41342
+ content: {
41343
+ 'application/json': {
41344
+ /** @description New account status */
41345
+ status: 'active' | 'suspended';
41346
+ /** @description Reason for status change */
41347
+ reason: string;
41348
+ /**
41349
+ * @description Send notification email to user
41350
+ * @default true
41351
+ */
41352
+ notify_user?: boolean;
41353
+ };
41354
+ };
41355
+ };
41356
+ responses: {
41357
+ /** @description Default Response */
41358
+ 200: {
41359
+ headers: {
41360
+ [name: string]: unknown;
41361
+ };
41362
+ content: {
41363
+ 'application/json': {
41364
+ success: boolean;
41365
+ user: {
41366
+ id: string;
41367
+ account_status: string;
41368
+ };
41369
+ message: string;
41370
+ };
41371
+ };
41372
+ };
41373
+ /** @description Default Response */
41374
+ 404: {
41375
+ headers: {
41376
+ [name: string]: unknown;
41377
+ };
41378
+ content: {
41379
+ 'application/json': {
41380
+ error: string;
41381
+ };
41382
+ };
41383
+ };
41384
+ /** @description Default Response */
41385
+ 500: {
41386
+ headers: {
41387
+ [name: string]: unknown;
41388
+ };
41389
+ content: {
41390
+ 'application/json': {
41391
+ error: string;
41392
+ };
41393
+ };
41394
+ };
41395
+ };
41396
+ };
41397
+ post?: never;
41398
+ delete?: never;
41399
+ options?: never;
41400
+ head?: never;
41401
+ patch?: never;
41402
+ trace?: never;
41403
+ };
41404
+ '/api/support/users/{id}/reset-password': {
41405
+ parameters: {
41406
+ query?: never;
41407
+ header?: never;
41408
+ path?: never;
41409
+ cookie?: never;
41410
+ };
41411
+ get?: never;
41412
+ put?: never;
41413
+ /**
41414
+ * Trigger password reset
41415
+ * @description Trigger password reset email for user. Requires CASE_MANAGER role.
41416
+ */
41417
+ post: {
41418
+ parameters: {
41419
+ query?: never;
41420
+ header?: never;
41421
+ path: {
41422
+ /** @description User ID */
41423
+ id: string;
41424
+ };
41425
+ cookie?: never;
41426
+ };
41427
+ requestBody: {
41428
+ content: {
41429
+ 'application/json': {
41430
+ /** @description Reason for password reset */
41431
+ reason: string;
41432
+ /**
41433
+ * @description Send password reset email
41434
+ * @default true
41435
+ */
41436
+ notify_user: boolean;
41437
+ };
41438
+ };
41439
+ };
41440
+ responses: {
41441
+ /** @description Default Response */
41442
+ 200: {
41443
+ headers: {
41444
+ [name: string]: unknown;
41445
+ };
41446
+ content: {
41447
+ 'application/json': {
41448
+ success: boolean;
41449
+ message: string;
41450
+ };
41451
+ };
41452
+ };
41453
+ /** @description Default Response */
41454
+ 404: {
41455
+ headers: {
41456
+ [name: string]: unknown;
41457
+ };
41458
+ content: {
41459
+ 'application/json': {
41460
+ error: string;
41461
+ };
41462
+ };
41463
+ };
41464
+ /** @description Default Response */
41465
+ 500: {
41466
+ headers: {
41467
+ [name: string]: unknown;
41468
+ };
41469
+ content: {
41470
+ 'application/json': {
41471
+ error: string;
41472
+ };
41473
+ };
41474
+ };
41475
+ };
41476
+ };
41477
+ delete?: never;
41478
+ options?: never;
41479
+ head?: never;
41480
+ patch?: never;
41481
+ trace?: never;
41482
+ };
41483
+ '/api/support/users/{id}/verify-email': {
41484
+ parameters: {
41485
+ query?: never;
41486
+ header?: never;
41487
+ path?: never;
41488
+ cookie?: never;
41489
+ };
41490
+ get?: never;
41491
+ put?: never;
41492
+ /**
41493
+ * Verify email
41494
+ * @description Manually verify user email. Requires CASE_MANAGER role.
41495
+ */
41496
+ post: {
41497
+ parameters: {
41498
+ query?: never;
41499
+ header?: never;
41500
+ path: {
41501
+ /** @description User ID */
41502
+ id: string;
41503
+ };
41504
+ cookie?: never;
41505
+ };
41506
+ requestBody: {
41507
+ content: {
41508
+ 'application/json': {
41509
+ /** @description Reason for manual email verification */
41510
+ reason: string;
41511
+ };
41512
+ };
41513
+ };
41514
+ responses: {
41515
+ /** @description Default Response */
41516
+ 200: {
41517
+ headers: {
41518
+ [name: string]: unknown;
41519
+ };
41520
+ content: {
41521
+ 'application/json': {
41522
+ success: boolean;
41523
+ message: string;
41524
+ };
41525
+ };
41526
+ };
41527
+ /** @description Default Response */
41528
+ 500: {
41529
+ headers: {
41530
+ [name: string]: unknown;
41531
+ };
41532
+ content: {
41533
+ 'application/json': {
41534
+ error: string;
41535
+ };
41536
+ };
41537
+ };
41538
+ };
41539
+ };
41540
+ delete?: never;
41541
+ options?: never;
41542
+ head?: never;
41543
+ patch?: never;
41544
+ trace?: never;
41545
+ };
41546
+ '/api/support/users/{id}/send-notification': {
41547
+ parameters: {
41548
+ query?: never;
41549
+ header?: never;
41550
+ path?: never;
41551
+ cookie?: never;
41552
+ };
41553
+ get?: never;
41554
+ put?: never;
41555
+ /**
41556
+ * Send notification
41557
+ * @description Send notification to user. Requires CASE_MANAGER role.
41558
+ */
41559
+ post: {
41560
+ parameters: {
41561
+ query?: never;
41562
+ header?: never;
41563
+ path: {
41564
+ /** @description User ID */
41565
+ id: string;
41566
+ };
41567
+ cookie?: never;
41568
+ };
41569
+ requestBody: {
41570
+ content: {
41571
+ 'application/json': {
41572
+ /** @description Notification title */
41573
+ title: string;
41574
+ /** @description Notification message */
41575
+ message: string;
41576
+ /**
41577
+ * @description Notification type
41578
+ * @default info
41579
+ */
41580
+ type: 'info' | 'warning' | 'success' | 'error';
41581
+ };
41582
+ };
41583
+ };
41584
+ responses: {
41585
+ /** @description Default Response */
41586
+ 200: {
41587
+ headers: {
41588
+ [name: string]: unknown;
41589
+ };
41590
+ content: {
41591
+ 'application/json': {
41592
+ success: boolean;
41593
+ message: string;
41594
+ };
41595
+ };
41596
+ };
41597
+ /** @description Default Response */
41598
+ 404: {
41599
+ headers: {
41600
+ [name: string]: unknown;
41601
+ };
41602
+ content: {
41603
+ 'application/json': {
41604
+ error: string;
41605
+ };
41606
+ };
41607
+ };
41608
+ /** @description Default Response */
41609
+ 500: {
41610
+ headers: {
41611
+ [name: string]: unknown;
41612
+ };
41613
+ content: {
41614
+ 'application/json': {
41615
+ error: string;
41616
+ };
41617
+ };
41618
+ };
41619
+ };
41620
+ };
41621
+ delete?: never;
41622
+ options?: never;
41623
+ head?: never;
41624
+ patch?: never;
41625
+ trace?: never;
41626
+ };
40426
41627
  }
40427
41628
  export type webhooks = Record<string, never>;
40428
41629
  export interface components {