@safercity/sdk 0.3.2 → 0.4.0

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/index.d.ts CHANGED
@@ -153,139 +153,484 @@ type PanicListQuery = {
153
153
  };
154
154
  type PanicCreatedResponse = {
155
155
  success: boolean;
156
+ /**
157
+ * Unified public panic response. Shape is stable across all lifecycle stages; only field values change as the panic progresses.
158
+ */
156
159
  data: {
157
- id: string;
158
- tenantId: string;
159
- userId: string;
160
- panicType: string;
161
- status: string;
162
- latitude: string | null;
163
- longitude: string | null;
164
- locationAccuracy: number | null;
165
- locationAddress: string | null;
166
- userMessage: string | null;
167
- metadata: string | null;
168
- triggeredAt: string;
169
- acknowledgedAt: string | null;
170
- resolvedAt: string | null;
171
- cancelledAt: string | null;
172
- cancelledByUser: boolean | null;
173
- cancellationReason: string | null;
174
- externalPanicId: string | null;
175
- createdAt: string;
176
- updatedAt: string;
177
- locationUpdates?: Array<{
160
+ panic: {
161
+ /**
162
+ * Unique panic identifier.
163
+ */
178
164
  id: string;
179
- panicId: string;
180
- latitude: string;
181
- longitude: string;
182
- accuracy: number | null;
183
- altitude: string | null;
184
- speed: string | null;
185
- heading: string | null;
186
- address: string | null;
187
- batteryLevel: number | null;
188
- signalStrength: number | null;
189
- recordedAt: string;
190
- createdAt: string;
191
- }>;
165
+ /**
166
+ * Identifier of the user who triggered the panic.
167
+ */
168
+ userId: string;
169
+ /**
170
+ * Panic category selected at panic creation.
171
+ */
172
+ panicType: string;
173
+ /**
174
+ * Current lifecycle status of the panic.
175
+ */
176
+ status: string;
177
+ /**
178
+ * Last known panic location details.
179
+ */
180
+ location: {
181
+ /**
182
+ * Latest known panic latitude (WGS84).
183
+ */
184
+ latitude: number | null;
185
+ /**
186
+ * Latest known panic longitude (WGS84).
187
+ */
188
+ longitude: number | null;
189
+ /**
190
+ * Latest known location accuracy in meters.
191
+ */
192
+ accuracy: number | null;
193
+ /**
194
+ * Resolved human-readable location address.
195
+ */
196
+ address: string | null;
197
+ };
198
+ /**
199
+ * Cancellation state and reason details.
200
+ */
201
+ cancellation: {
202
+ /**
203
+ * Indicates whether the panic has been cancelled.
204
+ */
205
+ cancelled: boolean;
206
+ /**
207
+ * Indicates whether cancellation was initiated by the user.
208
+ */
209
+ cancelledByUser: boolean;
210
+ /**
211
+ * User-provided or system-provided cancellation reason.
212
+ */
213
+ reason: string | null;
214
+ };
215
+ };
216
+ /**
217
+ * Assigned responder details for the panic lifecycle.
218
+ */
219
+ responder: {
220
+ /**
221
+ * Current responder lifecycle state.
222
+ */
223
+ state: string;
224
+ /**
225
+ * Assigned responder display name.
226
+ */
227
+ name: string | null;
228
+ /**
229
+ * Estimated responder arrival time in minutes.
230
+ */
231
+ etaMinutes: number | null;
232
+ /**
233
+ * Responder contact detail such as phone number.
234
+ */
235
+ contact: string | null;
236
+ /**
237
+ * Vehicle details for the assigned responder.
238
+ */
239
+ vehicle: {
240
+ /**
241
+ * Responder vehicle registration plate number.
242
+ */
243
+ registration: string | null;
244
+ /**
245
+ * Responder vehicle manufacturer.
246
+ */
247
+ make: string | null;
248
+ /**
249
+ * Responder vehicle model.
250
+ */
251
+ model: string | null;
252
+ /**
253
+ * Responder vehicle color.
254
+ */
255
+ color: string | null;
256
+ /**
257
+ * Responder vehicle classification (for example car or bike).
258
+ */
259
+ type: string | null;
260
+ } | null;
261
+ } | null;
262
+ /**
263
+ * Key panic lifecycle timestamps for UI timeline rendering.
264
+ */
265
+ timeline: {
266
+ /**
267
+ * Timestamp when the panic was triggered.
268
+ */
269
+ triggeredAt: string;
270
+ /**
271
+ * Timestamp when the panic was acknowledged.
272
+ */
273
+ acknowledgedAt: string | null;
274
+ /**
275
+ * Timestamp when a responder was dispatched.
276
+ */
277
+ dispatchedAt: string | null;
278
+ /**
279
+ * Timestamp when the responder arrived on scene.
280
+ */
281
+ arrivedAt: string | null;
282
+ /**
283
+ * Timestamp when the panic response was completed.
284
+ */
285
+ completedAt: string | null;
286
+ /**
287
+ * Timestamp when the panic was cancelled.
288
+ */
289
+ cancelledAt: string | null;
290
+ /**
291
+ * Timestamp when the panic record was last updated.
292
+ */
293
+ updatedAt: string;
294
+ };
295
+ /**
296
+ * Client follow-up actions for polling and streaming.
297
+ */
298
+ next: {
299
+ /**
300
+ * Relative URL to poll for current panic status.
301
+ */
302
+ statusUrl: string;
303
+ /**
304
+ * Relative URL for server-sent panic status streaming.
305
+ */
306
+ streamUrl: string;
307
+ };
192
308
  };
193
309
  message: string;
194
310
  };
195
311
  type PanicResponse = {
196
312
  success: boolean;
313
+ /**
314
+ * Unified public panic response. Shape is stable across all lifecycle stages; only field values change as the panic progresses.
315
+ */
197
316
  data: {
198
- id: string;
199
- tenantId: string;
200
- userId: string;
201
- panicType: string;
202
- status: string;
203
- latitude: string | null;
204
- longitude: string | null;
205
- locationAccuracy: number | null;
206
- locationAddress: string | null;
207
- userMessage: string | null;
208
- metadata: string | null;
209
- triggeredAt: string;
210
- acknowledgedAt: string | null;
211
- resolvedAt: string | null;
212
- cancelledAt: string | null;
213
- cancelledByUser: boolean | null;
214
- cancellationReason: string | null;
215
- externalPanicId: string | null;
216
- createdAt: string;
217
- updatedAt: string;
218
- locationUpdates?: Array<{
317
+ panic: {
318
+ /**
319
+ * Unique panic identifier.
320
+ */
219
321
  id: string;
220
- panicId: string;
221
- latitude: string;
222
- longitude: string;
223
- accuracy: number | null;
224
- altitude: string | null;
225
- speed: string | null;
226
- heading: string | null;
227
- address: string | null;
228
- batteryLevel: number | null;
229
- signalStrength: number | null;
230
- recordedAt: string;
231
- createdAt: string;
232
- }>;
322
+ /**
323
+ * Identifier of the user who triggered the panic.
324
+ */
325
+ userId: string;
326
+ /**
327
+ * Panic category selected at panic creation.
328
+ */
329
+ panicType: string;
330
+ /**
331
+ * Current lifecycle status of the panic.
332
+ */
333
+ status: string;
334
+ /**
335
+ * Last known panic location details.
336
+ */
337
+ location: {
338
+ /**
339
+ * Latest known panic latitude (WGS84).
340
+ */
341
+ latitude: number | null;
342
+ /**
343
+ * Latest known panic longitude (WGS84).
344
+ */
345
+ longitude: number | null;
346
+ /**
347
+ * Latest known location accuracy in meters.
348
+ */
349
+ accuracy: number | null;
350
+ /**
351
+ * Resolved human-readable location address.
352
+ */
353
+ address: string | null;
354
+ };
355
+ /**
356
+ * Cancellation state and reason details.
357
+ */
358
+ cancellation: {
359
+ /**
360
+ * Indicates whether the panic has been cancelled.
361
+ */
362
+ cancelled: boolean;
363
+ /**
364
+ * Indicates whether cancellation was initiated by the user.
365
+ */
366
+ cancelledByUser: boolean;
367
+ /**
368
+ * User-provided or system-provided cancellation reason.
369
+ */
370
+ reason: string | null;
371
+ };
372
+ };
373
+ /**
374
+ * Assigned responder details for the panic lifecycle.
375
+ */
376
+ responder: {
377
+ /**
378
+ * Current responder lifecycle state.
379
+ */
380
+ state: string;
381
+ /**
382
+ * Assigned responder display name.
383
+ */
384
+ name: string | null;
385
+ /**
386
+ * Estimated responder arrival time in minutes.
387
+ */
388
+ etaMinutes: number | null;
389
+ /**
390
+ * Responder contact detail such as phone number.
391
+ */
392
+ contact: string | null;
393
+ /**
394
+ * Vehicle details for the assigned responder.
395
+ */
396
+ vehicle: {
397
+ /**
398
+ * Responder vehicle registration plate number.
399
+ */
400
+ registration: string | null;
401
+ /**
402
+ * Responder vehicle manufacturer.
403
+ */
404
+ make: string | null;
405
+ /**
406
+ * Responder vehicle model.
407
+ */
408
+ model: string | null;
409
+ /**
410
+ * Responder vehicle color.
411
+ */
412
+ color: string | null;
413
+ /**
414
+ * Responder vehicle classification (for example car or bike).
415
+ */
416
+ type: string | null;
417
+ } | null;
418
+ } | null;
419
+ /**
420
+ * Key panic lifecycle timestamps for UI timeline rendering.
421
+ */
422
+ timeline: {
423
+ /**
424
+ * Timestamp when the panic was triggered.
425
+ */
426
+ triggeredAt: string;
427
+ /**
428
+ * Timestamp when the panic was acknowledged.
429
+ */
430
+ acknowledgedAt: string | null;
431
+ /**
432
+ * Timestamp when a responder was dispatched.
433
+ */
434
+ dispatchedAt: string | null;
435
+ /**
436
+ * Timestamp when the responder arrived on scene.
437
+ */
438
+ arrivedAt: string | null;
439
+ /**
440
+ * Timestamp when the panic response was completed.
441
+ */
442
+ completedAt: string | null;
443
+ /**
444
+ * Timestamp when the panic was cancelled.
445
+ */
446
+ cancelledAt: string | null;
447
+ /**
448
+ * Timestamp when the panic record was last updated.
449
+ */
450
+ updatedAt: string;
451
+ };
452
+ /**
453
+ * Client follow-up actions for polling and streaming.
454
+ */
455
+ next: {
456
+ /**
457
+ * Relative URL to poll for current panic status.
458
+ */
459
+ statusUrl: string;
460
+ /**
461
+ * Relative URL for server-sent panic status streaming.
462
+ */
463
+ streamUrl: string;
464
+ };
233
465
  };
234
466
  };
235
467
  type PanicListResponse = {
236
468
  success: boolean;
237
469
  data: Array<{
238
- id: string;
239
- tenantId: string;
240
- userId: string;
241
- panicType: string;
242
- status: string;
243
- latitude: string | null;
244
- longitude: string | null;
245
- locationAccuracy: number | null;
246
- locationAddress: string | null;
247
- userMessage: string | null;
248
- metadata: string | null;
249
- triggeredAt: string;
250
- acknowledgedAt: string | null;
251
- resolvedAt: string | null;
252
- cancelledAt: string | null;
253
- cancelledByUser: boolean | null;
254
- cancellationReason: string | null;
255
- externalPanicId: string | null;
256
- createdAt: string;
257
- updatedAt: string;
258
- locationUpdates?: Array<{
470
+ panic: {
471
+ /**
472
+ * Unique panic identifier.
473
+ */
259
474
  id: string;
260
- panicId: string;
261
- latitude: string;
262
- longitude: string;
263
- accuracy: number | null;
264
- altitude: string | null;
265
- speed: string | null;
266
- heading: string | null;
267
- address: string | null;
268
- batteryLevel: number | null;
269
- signalStrength: number | null;
270
- recordedAt: string;
271
- createdAt: string;
272
- }>;
273
- }>;
274
- pagination: {
275
- limit: number;
276
- offset: number;
277
- hasMore: boolean;
278
- };
279
- };
280
- type LocationUpdateResponse = {
281
- success: boolean;
282
- data: {
283
- id: string;
284
- panicId: string;
285
- latitude: string;
286
- longitude: string;
287
- accuracy: number | null;
288
- altitude: string | null;
475
+ /**
476
+ * Identifier of the user who triggered the panic.
477
+ */
478
+ userId: string;
479
+ /**
480
+ * Panic category selected at panic creation.
481
+ */
482
+ panicType: string;
483
+ /**
484
+ * Current lifecycle status of the panic.
485
+ */
486
+ status: string;
487
+ /**
488
+ * Last known panic location details.
489
+ */
490
+ location: {
491
+ /**
492
+ * Latest known panic latitude (WGS84).
493
+ */
494
+ latitude: number | null;
495
+ /**
496
+ * Latest known panic longitude (WGS84).
497
+ */
498
+ longitude: number | null;
499
+ /**
500
+ * Latest known location accuracy in meters.
501
+ */
502
+ accuracy: number | null;
503
+ /**
504
+ * Resolved human-readable location address.
505
+ */
506
+ address: string | null;
507
+ };
508
+ /**
509
+ * Cancellation state and reason details.
510
+ */
511
+ cancellation: {
512
+ /**
513
+ * Indicates whether the panic has been cancelled.
514
+ */
515
+ cancelled: boolean;
516
+ /**
517
+ * Indicates whether cancellation was initiated by the user.
518
+ */
519
+ cancelledByUser: boolean;
520
+ /**
521
+ * User-provided or system-provided cancellation reason.
522
+ */
523
+ reason: string | null;
524
+ };
525
+ };
526
+ /**
527
+ * Assigned responder details for the panic lifecycle.
528
+ */
529
+ responder: {
530
+ /**
531
+ * Current responder lifecycle state.
532
+ */
533
+ state: string;
534
+ /**
535
+ * Assigned responder display name.
536
+ */
537
+ name: string | null;
538
+ /**
539
+ * Estimated responder arrival time in minutes.
540
+ */
541
+ etaMinutes: number | null;
542
+ /**
543
+ * Responder contact detail such as phone number.
544
+ */
545
+ contact: string | null;
546
+ /**
547
+ * Vehicle details for the assigned responder.
548
+ */
549
+ vehicle: {
550
+ /**
551
+ * Responder vehicle registration plate number.
552
+ */
553
+ registration: string | null;
554
+ /**
555
+ * Responder vehicle manufacturer.
556
+ */
557
+ make: string | null;
558
+ /**
559
+ * Responder vehicle model.
560
+ */
561
+ model: string | null;
562
+ /**
563
+ * Responder vehicle color.
564
+ */
565
+ color: string | null;
566
+ /**
567
+ * Responder vehicle classification (for example car or bike).
568
+ */
569
+ type: string | null;
570
+ } | null;
571
+ } | null;
572
+ /**
573
+ * Key panic lifecycle timestamps for UI timeline rendering.
574
+ */
575
+ timeline: {
576
+ /**
577
+ * Timestamp when the panic was triggered.
578
+ */
579
+ triggeredAt: string;
580
+ /**
581
+ * Timestamp when the panic was acknowledged.
582
+ */
583
+ acknowledgedAt: string | null;
584
+ /**
585
+ * Timestamp when a responder was dispatched.
586
+ */
587
+ dispatchedAt: string | null;
588
+ /**
589
+ * Timestamp when the responder arrived on scene.
590
+ */
591
+ arrivedAt: string | null;
592
+ /**
593
+ * Timestamp when the panic response was completed.
594
+ */
595
+ completedAt: string | null;
596
+ /**
597
+ * Timestamp when the panic was cancelled.
598
+ */
599
+ cancelledAt: string | null;
600
+ /**
601
+ * Timestamp when the panic record was last updated.
602
+ */
603
+ updatedAt: string;
604
+ };
605
+ /**
606
+ * Client follow-up actions for polling and streaming.
607
+ */
608
+ next: {
609
+ /**
610
+ * Relative URL to poll for current panic status.
611
+ */
612
+ statusUrl: string;
613
+ /**
614
+ * Relative URL for server-sent panic status streaming.
615
+ */
616
+ streamUrl: string;
617
+ };
618
+ }>;
619
+ pagination: {
620
+ limit: number;
621
+ offset: number;
622
+ hasMore: boolean;
623
+ };
624
+ };
625
+ type LocationUpdateResponse = {
626
+ success: boolean;
627
+ data: {
628
+ id: string;
629
+ panicId: string;
630
+ latitude: string;
631
+ longitude: string;
632
+ accuracy: number | null;
633
+ altitude: string | null;
289
634
  speed: string | null;
290
635
  heading: string | null;
291
636
  address: string | null;
@@ -298,823 +643,426 @@ type LocationUpdateResponse = {
298
643
  };
299
644
  type PanicCancelledResponse = {
300
645
  success: boolean;
301
- data: {
302
- id: string;
303
- tenantId: string;
304
- userId: string;
305
- panicType: string;
306
- status: string;
307
- latitude: string | null;
308
- longitude: string | null;
309
- locationAccuracy: number | null;
310
- locationAddress: string | null;
311
- userMessage: string | null;
312
- metadata: string | null;
313
- triggeredAt: string;
314
- acknowledgedAt: string | null;
315
- resolvedAt: string | null;
316
- cancelledAt: string | null;
317
- cancelledByUser: boolean | null;
318
- cancellationReason: string | null;
319
- externalPanicId: string | null;
320
- createdAt: string;
321
- updatedAt: string;
322
- locationUpdates?: Array<{
323
- id: string;
324
- panicId: string;
325
- latitude: string;
326
- longitude: string;
327
- accuracy: number | null;
328
- altitude: string | null;
329
- speed: string | null;
330
- heading: string | null;
331
- address: string | null;
332
- batteryLevel: number | null;
333
- signalStrength: number | null;
334
- recordedAt: string;
335
- createdAt: string;
336
- }>;
337
- };
338
- message: string;
339
- };
340
- type PanicErrorResponse = {
341
- success: boolean;
342
- error: string;
343
- message: string;
344
- details?: {
345
- [key: string]: unknown;
346
- };
347
- };
348
- type CreatePanicInformationBody = {
349
- userId: string;
350
- /**
351
- * Phone number for control room verification calls (E.164 format)
352
- */
353
- phoneNumber: string;
354
- /**
355
- * User's first name
356
- */
357
- firstName: string;
358
- /**
359
- * User's last name
360
- */
361
- lastName: string;
362
- idNumber: string;
363
- duressCode: string;
364
- emergencyContacts?: string;
365
- };
366
- type UpdatePanicInformationBody = {
367
- userId?: string;
368
- /**
369
- * Phone number for control room verification calls (E.164 format)
370
- */
371
- phoneNumber?: string;
372
- /**
373
- * User's first name
374
- */
375
- firstName?: string;
376
646
  /**
377
- * User's last name
647
+ * Unified public panic response. Shape is stable across all lifecycle stages; only field values change as the panic progresses.
378
648
  */
379
- lastName?: string;
380
- idNumber?: string;
381
- duressCode?: string;
382
- emergencyContacts?: string;
383
- };
384
- type PanicInformationIdParam = {
385
- id: string;
386
- };
387
- type PanicInformationCreatedResponse = {
388
- success: boolean;
389
- data: {
390
- id: string;
391
- tenantId: string;
392
- userId: string;
393
- phoneNumber: string;
394
- firstName: string;
395
- lastName: string;
396
- idNumber: string;
397
- duressCode: string;
398
- emergencyContacts: string | null;
399
- scaExternalId: string | null;
400
- scbExternalId: string | null;
401
- sccExternalId: string | null;
402
- createdAt: string;
403
- updatedAt: string;
404
- };
405
- message: string;
406
- };
407
- type PanicInformationResponse = {
408
- success: boolean;
409
- data: {
410
- id: string;
411
- tenantId: string;
412
- userId: string;
413
- phoneNumber: string;
414
- firstName: string;
415
- lastName: string;
416
- idNumber: string;
417
- duressCode: string;
418
- emergencyContacts: string | null;
419
- scaExternalId: string | null;
420
- scbExternalId: string | null;
421
- sccExternalId: string | null;
422
- createdAt: string;
423
- updatedAt: string;
424
- };
425
- };
426
- type PanicInformationListResponse = {
427
- success: boolean;
428
- data: Array<{
429
- id: string;
430
- tenantId: string;
431
- userId: string;
432
- phoneNumber: string;
433
- firstName: string;
434
- lastName: string;
435
- idNumber: string;
436
- duressCode: string;
437
- emergencyContacts: string | null;
438
- scaExternalId: string | null;
439
- scbExternalId: string | null;
440
- sccExternalId: string | null;
441
- createdAt: string;
442
- updatedAt: string;
443
- }>;
444
- pagination: {
445
- limit: number;
446
- offset: number;
447
- hasMore: boolean;
448
- };
449
- };
450
- type PanicEligibilityValidationResponse = {
451
- success: boolean;
452
649
  data: {
453
- eligible: boolean;
454
- subscriptionActive: boolean;
455
- profileComplete: boolean;
456
- reasons: Array<string>;
457
- panicInformation: {
650
+ panic: {
651
+ /**
652
+ * Unique panic identifier.
653
+ */
458
654
  id: string;
459
- tenantId: string;
655
+ /**
656
+ * Identifier of the user who triggered the panic.
657
+ */
460
658
  userId: string;
461
- phoneNumber: string;
462
- firstName: string;
463
- lastName: string;
464
- idNumber: string;
465
- duressCode: string;
466
- emergencyContacts: string | null;
467
- scaExternalId: string | null;
468
- scbExternalId: string | null;
469
- sccExternalId: string | null;
470
- createdAt: string;
471
- updatedAt: string;
472
- } | null;
473
- subscriptionDetails: {
474
- isPremium: boolean;
475
- subscriptionName: string;
476
- totalSeats: number;
477
- usedSeats: number;
478
- availableSeats: number;
479
- userHasActiveSubscription: boolean;
480
- } | null;
481
- };
482
- };
483
- type CreateSubscriberBody = {
484
- userId: string;
485
- email?: string;
486
- firstName?: string;
487
- lastName?: string;
488
- phone?: string;
489
- avatar?: string;
490
- locale?: string;
491
- data?: {
492
- [key: string]: unknown;
493
- };
494
- };
495
- type TriggerNotificationBody = {
496
- workflowId: string;
497
- userId: string;
498
- payload?: {
499
- [key: string]: unknown;
500
- };
501
- overrides?: {
502
- [key: string]: unknown;
503
- };
504
- actor?: string;
505
- tenant?: {
506
- id: string;
507
- name?: string;
508
- logo?: string;
509
- primaryColor?: string;
510
- data?: {
511
- [key: string]: unknown;
512
- };
513
- };
514
- };
515
- type BulkTriggerNotificationBody = {
516
- workflowId: string;
517
- userIds: Array<string>;
518
- payload?: {
519
- [key: string]: unknown;
520
- };
521
- tenant?: {
522
- id: string;
523
- name?: string;
524
- logo?: string;
525
- primaryColor?: string;
526
- data?: {
527
- [key: string]: unknown;
528
- };
529
- };
530
- };
531
- type UpdatePreferencesBody = {
532
- workflowId: string;
533
- enabled: boolean;
534
- channels?: {
535
- email?: boolean;
536
- sms?: boolean;
537
- in_app?: boolean;
538
- push?: boolean;
539
- };
540
- };
541
- type NotificationUserIdParam = {
542
- userId: string;
543
- };
544
- type TransactionIdParam = {
545
- transactionId: string;
546
- };
547
- type CreateSubscriberResponse = {
548
- success: boolean;
549
- subscriberId: string;
550
- error?: string;
551
- };
552
- type TriggerNotificationResponse = {
553
- success: boolean;
554
- transactionId?: string;
555
- error?: string;
556
- };
557
- type BulkTriggerNotificationResponse = {
558
- success: boolean;
559
- errors?: Array<string>;
560
- };
561
- type GetPreferencesResponse = {
562
- success: boolean;
563
- data?: unknown;
564
- error?: string;
565
- };
566
- type UpdatePreferencesResponse = {
567
- success: boolean;
568
- error?: string;
569
- };
570
- type DeleteSubscriberResponse = {
571
- success: boolean;
572
- error?: string;
573
- };
574
- type CancelNotificationResponse = {
575
- success: boolean;
576
- error?: string;
577
- };
578
- type NotificationErrorResponse = {
579
- error: string;
580
- message: string;
581
- details?: {
582
- [key: string]: unknown;
583
- };
584
- };
585
- type DeleteApiInngestData = {
586
- body?: never;
587
- path?: never;
588
- query?: never;
589
- url: '/api/inngest';
590
- };
591
- type DeleteApiInngestResponses = {
592
- 200: unknown;
593
- };
594
- type GetApiInngestData = {
595
- body?: never;
596
- path?: never;
597
- query?: never;
598
- url: '/api/inngest';
599
- };
600
- type GetApiInngestResponses = {
601
- 200: unknown;
602
- };
603
- type HeadApiInngestData = {
604
- body?: never;
605
- path?: never;
606
- query?: never;
607
- url: '/api/inngest';
608
- };
609
- type HeadApiInngestResponses = {
610
- 200: unknown;
611
- };
612
- type OptionsApiInngestData = {
613
- body?: never;
614
- path?: never;
615
- query?: never;
616
- url: '/api/inngest';
617
- };
618
- type OptionsApiInngestResponses = {
619
- 200: unknown;
620
- };
621
- type PatchApiInngestData = {
622
- body?: never;
623
- path?: never;
624
- query?: never;
625
- url: '/api/inngest';
626
- };
627
- type PatchApiInngestResponses = {
628
- 200: unknown;
629
- };
630
- type PostApiInngestData = {
631
- body?: never;
632
- path?: never;
633
- query?: never;
634
- url: '/api/inngest';
635
- };
636
- type PostApiInngestResponses = {
637
- 200: unknown;
638
- };
639
- type PutApiInngestData = {
640
- body?: never;
641
- path?: never;
642
- query?: never;
643
- url: '/api/inngest';
644
- };
645
- type PutApiInngestResponses = {
646
- 200: unknown;
647
- };
648
- type TraceApiInngestData = {
649
- body?: never;
650
- path?: never;
651
- query?: never;
652
- url: '/api/inngest';
653
- };
654
- type TraceApiInngestResponses = {
655
- 200: unknown;
656
- };
657
- type GetHealthData = {
658
- body?: never;
659
- path?: never;
660
- query?: never;
661
- url: '/health';
662
- };
663
- type GetHealthResponses = {
664
- 200: {
665
- status: string;
666
- timestamp: string;
667
- };
668
- };
669
- type GetHealthResponse = GetHealthResponses[keyof GetHealthResponses];
670
- type GetAuthWhoamiData = {
671
- body?: never;
672
- path?: never;
673
- query?: never;
674
- url: '/auth/whoami';
675
- };
676
- type GetAuthWhoamiErrors = {
677
- 500: {
678
- error: string;
679
- message: string;
680
- details?: {
681
- [key: string]: unknown;
682
- };
683
- };
684
- };
685
- type GetAuthWhoamiError = GetAuthWhoamiErrors[keyof GetAuthWhoamiErrors];
686
- type GetAuthWhoamiResponses = {
687
- 200: {
688
- tenantId: string | null;
689
- environment: string;
690
- scopes: Array<string>;
691
- sessionId: string;
692
- };
693
- };
694
- type GetAuthWhoamiResponse = GetAuthWhoamiResponses[keyof GetAuthWhoamiResponses];
695
- type GetAuthOptionalData = {
696
- body?: never;
697
- path?: never;
698
- query?: never;
699
- url: '/auth/optional';
700
- };
701
- type GetAuthOptionalResponses = {
702
- 200: {
703
- authenticated: boolean;
704
- tenantId: string | null;
705
- };
706
- };
707
- type GetAuthOptionalResponse = GetAuthOptionalResponses[keyof GetAuthOptionalResponses];
708
- type PostV1TenantsData = {
709
- body: {
710
- tenantName: string;
711
- contactEmail: string;
712
- };
713
- path?: never;
714
- query?: never;
715
- url: '/v1/tenants/';
716
- };
717
- type PostV1TenantsErrors = {
718
- 500: {
719
- error: string;
720
- message: string;
721
- details?: {
722
- [key: string]: unknown;
723
- };
724
- };
725
- };
726
- type PostV1TenantsError = PostV1TenantsErrors[keyof PostV1TenantsErrors];
727
- type PostV1TenantsResponses = {
728
- 201: {
729
- tenantId: string;
730
- tenantName: string;
731
- status: string;
732
- setupToken: string;
733
- };
734
- };
735
- type PostV1TenantsResponse = PostV1TenantsResponses[keyof PostV1TenantsResponses];
736
- type GetV1TenantsByTenantIdData = {
737
- body?: never;
738
- path: {
739
- tenantId: string;
740
- };
741
- query?: never;
742
- url: '/v1/tenants/{tenantId}';
743
- };
744
- type GetV1TenantsByTenantIdErrors = {
745
- 404: {
746
- error: string;
747
- message: string;
748
- details?: {
749
- [key: string]: unknown;
750
- };
751
- };
752
- 500: {
753
- error: string;
754
- message: string;
755
- details?: {
756
- [key: string]: unknown;
757
- };
758
- };
759
- };
760
- type GetV1TenantsByTenantIdError = GetV1TenantsByTenantIdErrors[keyof GetV1TenantsByTenantIdErrors];
761
- type GetV1TenantsByTenantIdResponses = {
762
- 200: {
763
- tenantId: string;
764
- name: string;
765
- status: string;
766
- createdAt: string;
767
- encryptionKeyRefId?: string;
768
- };
769
- };
770
- type GetV1TenantsByTenantIdResponse = GetV1TenantsByTenantIdResponses[keyof GetV1TenantsByTenantIdResponses];
771
- type PutV1TenantsByTenantIdData = {
772
- body: {
773
- tenantName: string;
774
- };
775
- path: {
776
- tenantId: string;
777
- };
778
- query?: never;
779
- url: '/v1/tenants/{tenantId}';
780
- };
781
- type PutV1TenantsByTenantIdResponses = {
782
- 200: unknown;
783
- };
784
- type PostV1TenantsByTenantIdCredentialsData = {
785
- body: {
786
- description?: string;
787
- scopes?: Array<string>;
788
- };
789
- path: {
790
- tenantId: string;
791
- };
792
- query?: never;
793
- url: '/v1/tenants/{tenantId}/credentials';
794
- };
795
- type PostV1TenantsByTenantIdCredentialsResponses = {
796
- 200: unknown;
797
- };
798
- type GetV1TenantsByTenantIdUsersData = {
799
- body?: never;
800
- path: {
801
- tenantId: string;
802
- };
803
- query?: {
804
- limit?: string;
805
- offset?: string;
806
- };
807
- url: '/v1/tenants/{tenantId}/users';
808
- };
809
- type GetV1TenantsByTenantIdUsersErrors = {
810
- 400: {
811
- error: string;
812
- message: string;
813
- details?: {
814
- [key: string]: unknown;
815
- };
816
- };
817
- 403: {
818
- error: string;
819
- message: string;
820
- details?: {
821
- [key: string]: unknown;
822
- };
823
- };
824
- 500: {
825
- error: string;
826
- message: string;
827
- details?: {
828
- [key: string]: unknown;
829
- };
830
- };
831
- };
832
- type GetV1TenantsByTenantIdUsersError = GetV1TenantsByTenantIdUsersErrors[keyof GetV1TenantsByTenantIdUsersErrors];
833
- type GetV1TenantsByTenantIdUsersResponses = {
834
- 200: {
835
- data: Array<{
836
- id: string;
837
- tenantSpecificUserId: string;
838
- tenantId: string;
839
- emailAddress: string | null;
840
- phoneNumber: string | null;
841
- firstName: string | null;
842
- lastName: string | null;
843
- status: string;
844
- createdAt: string;
845
- updatedAt: string;
846
- }>;
847
- pagination: {
848
- limit: number;
849
- offset: number;
850
- hasMore: boolean;
851
- };
852
- };
853
- };
854
- type GetV1TenantsByTenantIdUsersResponse = GetV1TenantsByTenantIdUsersResponses[keyof GetV1TenantsByTenantIdUsersResponses];
855
- type PostV1TenantsByTenantIdTokensData = {
856
- body: {
857
- setupToken: string;
858
- environment?: string;
859
- scopes?: Array<string>;
860
- };
861
- path: {
862
- tenantId: string;
863
- };
864
- query?: never;
865
- url: '/v1/tenants/{tenantId}/tokens';
866
- };
867
- type PostV1TenantsByTenantIdTokensResponses = {
868
- 200: unknown;
869
- };
870
- type GetV1UsersData = {
871
- body?: never;
872
- path?: never;
873
- query?: {
874
- limit?: string;
875
- offset?: string;
876
- };
877
- url: '/v1/users/';
878
- };
879
- type GetV1UsersErrors = {
880
- 500: {
881
- error: string;
882
- message: string;
883
- details?: {
884
- [key: string]: unknown;
885
- };
886
- };
887
- };
888
- type GetV1UsersError = GetV1UsersErrors[keyof GetV1UsersErrors];
889
- type GetV1UsersResponses = {
890
- 200: {
891
- success: boolean;
892
- data: Array<{
893
- id: string;
894
- emailAddress: string | null;
895
- firstName: string | null;
896
- lastName: string | null;
897
- phoneNumber: string | null;
898
- status: string;
899
- createdAt: string;
900
- updatedAt: string;
901
- }>;
902
- pagination: {
903
- limit: number;
904
- offset: number;
905
- hasMore: boolean;
906
- };
907
- };
908
- };
909
- type GetV1UsersResponse = GetV1UsersResponses[keyof GetV1UsersResponses];
910
- type PostV1UsersData = {
911
- body: {
912
- emailAddress: string;
913
- firstName: string;
914
- lastName: string;
915
- phoneNumber?: string;
916
- password?: string;
917
- };
918
- path?: never;
919
- query?: never;
920
- url: '/v1/users/';
921
- };
922
- type PostV1UsersErrors = {
923
- 409: {
924
- error: string;
925
- message: string;
926
- details?: {
927
- [key: string]: unknown;
928
- };
929
- };
930
- 500: {
931
- error: string;
932
- message: string;
933
- details?: {
934
- [key: string]: unknown;
935
- };
936
- };
937
- };
938
- type PostV1UsersError = PostV1UsersErrors[keyof PostV1UsersErrors];
939
- type PostV1UsersResponses = {
940
- 201: {
941
- success: boolean;
942
- data: {
943
- id: string;
944
- emailAddress: string | null;
945
- firstName: string | null;
946
- lastName: string | null;
947
- phoneNumber: string | null;
659
+ /**
660
+ * Panic category selected at panic creation.
661
+ */
662
+ panicType: string;
663
+ /**
664
+ * Current lifecycle status of the panic.
665
+ */
948
666
  status: string;
949
- createdAt: string;
950
- updatedAt: string;
951
- };
952
- message: string;
953
- };
954
- };
955
- type PostV1UsersResponse = PostV1UsersResponses[keyof PostV1UsersResponses];
956
- type GetV1UsersByUserIdData = {
957
- body?: never;
958
- path: {
959
- userId: string;
960
- };
961
- query?: never;
962
- url: '/v1/users/{userId}';
963
- };
964
- type GetV1UsersByUserIdErrors = {
965
- 400: {
966
- error: string;
967
- message: string;
968
- details?: {
969
- [key: string]: unknown;
667
+ /**
668
+ * Last known panic location details.
669
+ */
670
+ location: {
671
+ /**
672
+ * Latest known panic latitude (WGS84).
673
+ */
674
+ latitude: number | null;
675
+ /**
676
+ * Latest known panic longitude (WGS84).
677
+ */
678
+ longitude: number | null;
679
+ /**
680
+ * Latest known location accuracy in meters.
681
+ */
682
+ accuracy: number | null;
683
+ /**
684
+ * Resolved human-readable location address.
685
+ */
686
+ address: string | null;
687
+ };
688
+ /**
689
+ * Cancellation state and reason details.
690
+ */
691
+ cancellation: {
692
+ /**
693
+ * Indicates whether the panic has been cancelled.
694
+ */
695
+ cancelled: boolean;
696
+ /**
697
+ * Indicates whether cancellation was initiated by the user.
698
+ */
699
+ cancelledByUser: boolean;
700
+ /**
701
+ * User-provided or system-provided cancellation reason.
702
+ */
703
+ reason: string | null;
704
+ };
970
705
  };
971
- };
972
- 404: {
973
- error: string;
974
- message: string;
975
- details?: {
976
- [key: string]: unknown;
706
+ /**
707
+ * Assigned responder details for the panic lifecycle.
708
+ */
709
+ responder: {
710
+ /**
711
+ * Current responder lifecycle state.
712
+ */
713
+ state: string;
714
+ /**
715
+ * Assigned responder display name.
716
+ */
717
+ name: string | null;
718
+ /**
719
+ * Estimated responder arrival time in minutes.
720
+ */
721
+ etaMinutes: number | null;
722
+ /**
723
+ * Responder contact detail such as phone number.
724
+ */
725
+ contact: string | null;
726
+ /**
727
+ * Vehicle details for the assigned responder.
728
+ */
729
+ vehicle: {
730
+ /**
731
+ * Responder vehicle registration plate number.
732
+ */
733
+ registration: string | null;
734
+ /**
735
+ * Responder vehicle manufacturer.
736
+ */
737
+ make: string | null;
738
+ /**
739
+ * Responder vehicle model.
740
+ */
741
+ model: string | null;
742
+ /**
743
+ * Responder vehicle color.
744
+ */
745
+ color: string | null;
746
+ /**
747
+ * Responder vehicle classification (for example car or bike).
748
+ */
749
+ type: string | null;
750
+ } | null;
751
+ } | null;
752
+ /**
753
+ * Key panic lifecycle timestamps for UI timeline rendering.
754
+ */
755
+ timeline: {
756
+ /**
757
+ * Timestamp when the panic was triggered.
758
+ */
759
+ triggeredAt: string;
760
+ /**
761
+ * Timestamp when the panic was acknowledged.
762
+ */
763
+ acknowledgedAt: string | null;
764
+ /**
765
+ * Timestamp when a responder was dispatched.
766
+ */
767
+ dispatchedAt: string | null;
768
+ /**
769
+ * Timestamp when the responder arrived on scene.
770
+ */
771
+ arrivedAt: string | null;
772
+ /**
773
+ * Timestamp when the panic response was completed.
774
+ */
775
+ completedAt: string | null;
776
+ /**
777
+ * Timestamp when the panic was cancelled.
778
+ */
779
+ cancelledAt: string | null;
780
+ /**
781
+ * Timestamp when the panic record was last updated.
782
+ */
783
+ updatedAt: string;
977
784
  };
978
- };
979
- 500: {
980
- error: string;
981
- message: string;
982
- details?: {
983
- [key: string]: unknown;
785
+ /**
786
+ * Client follow-up actions for polling and streaming.
787
+ */
788
+ next: {
789
+ /**
790
+ * Relative URL to poll for current panic status.
791
+ */
792
+ statusUrl: string;
793
+ /**
794
+ * Relative URL for server-sent panic status streaming.
795
+ */
796
+ streamUrl: string;
984
797
  };
985
798
  };
799
+ message: string;
986
800
  };
987
- type GetV1UsersByUserIdError = GetV1UsersByUserIdErrors[keyof GetV1UsersByUserIdErrors];
988
- type GetV1UsersByUserIdResponses = {
989
- 200: {
990
- success: boolean;
991
- data: {
992
- id: string;
993
- emailAddress: string | null;
994
- firstName: string | null;
995
- lastName: string | null;
996
- phoneNumber: string | null;
997
- status: string;
998
- createdAt: string;
999
- updatedAt: string;
1000
- };
801
+ type PanicErrorResponse = {
802
+ success: boolean;
803
+ error: string;
804
+ message: string;
805
+ details?: {
806
+ [key: string]: unknown;
1001
807
  };
1002
808
  };
1003
- type GetV1UsersByUserIdResponse = GetV1UsersByUserIdResponses[keyof GetV1UsersByUserIdResponses];
1004
- type PutV1UsersByUserIdData = {
1005
- body: {
1006
- emailAddress?: string;
1007
- firstName?: string;
1008
- lastName?: string;
1009
- phoneNumber?: string;
1010
- password?: string;
1011
- };
1012
- path: {
809
+ type CreatePanicInformationBody = {
810
+ userId: string;
811
+ /**
812
+ * Phone number for control room verification calls (E.164 format)
813
+ */
814
+ phoneNumber: string;
815
+ /**
816
+ * User's first name
817
+ */
818
+ firstName: string;
819
+ /**
820
+ * User's last name
821
+ */
822
+ lastName: string;
823
+ idNumber: string;
824
+ duressCode: string;
825
+ emergencyContacts?: string;
826
+ };
827
+ type UpdatePanicInformationBody = {
828
+ userId?: string;
829
+ /**
830
+ * Phone number for control room verification calls (E.164 format)
831
+ */
832
+ phoneNumber?: string;
833
+ /**
834
+ * User's first name
835
+ */
836
+ firstName?: string;
837
+ /**
838
+ * User's last name
839
+ */
840
+ lastName?: string;
841
+ idNumber?: string;
842
+ duressCode?: string;
843
+ emergencyContacts?: string;
844
+ };
845
+ type PanicInformationIdParam = {
846
+ id: string;
847
+ };
848
+ type PanicInformationCreatedResponse = {
849
+ success: boolean;
850
+ data: {
851
+ id: string;
852
+ tenantId: string;
1013
853
  userId: string;
854
+ phoneNumber: string;
855
+ firstName: string;
856
+ lastName: string;
857
+ idNumber: string;
858
+ duressCode: string;
859
+ emergencyContacts: string | null;
860
+ scaExternalId: string | null;
861
+ scbExternalId: string | null;
862
+ sccExternalId: string | null;
863
+ createdAt: string;
864
+ updatedAt: string;
1014
865
  };
1015
- query?: never;
1016
- url: '/v1/users/{userId}';
866
+ message: string;
1017
867
  };
1018
- type PutV1UsersByUserIdErrors = {
1019
- 400: {
1020
- error: string;
1021
- message: string;
1022
- details?: {
1023
- [key: string]: unknown;
1024
- };
868
+ type PanicInformationResponse = {
869
+ success: boolean;
870
+ data: {
871
+ id: string;
872
+ tenantId: string;
873
+ userId: string;
874
+ phoneNumber: string;
875
+ firstName: string;
876
+ lastName: string;
877
+ idNumber: string;
878
+ duressCode: string;
879
+ emergencyContacts: string | null;
880
+ scaExternalId: string | null;
881
+ scbExternalId: string | null;
882
+ sccExternalId: string | null;
883
+ createdAt: string;
884
+ updatedAt: string;
1025
885
  };
1026
- 404: {
1027
- error: string;
1028
- message: string;
1029
- details?: {
1030
- [key: string]: unknown;
1031
- };
886
+ };
887
+ type PanicInformationListResponse = {
888
+ success: boolean;
889
+ data: Array<{
890
+ id: string;
891
+ tenantId: string;
892
+ userId: string;
893
+ phoneNumber: string;
894
+ firstName: string;
895
+ lastName: string;
896
+ idNumber: string;
897
+ duressCode: string;
898
+ emergencyContacts: string | null;
899
+ scaExternalId: string | null;
900
+ scbExternalId: string | null;
901
+ sccExternalId: string | null;
902
+ createdAt: string;
903
+ updatedAt: string;
904
+ }>;
905
+ pagination: {
906
+ limit: number;
907
+ offset: number;
908
+ hasMore: boolean;
1032
909
  };
1033
910
  };
1034
- type PutV1UsersByUserIdError = PutV1UsersByUserIdErrors[keyof PutV1UsersByUserIdErrors];
1035
- type PutV1UsersByUserIdResponses = {
1036
- 200: {
1037
- success: boolean;
1038
- data: {
911
+ type PanicEligibilityValidationResponse = {
912
+ success: boolean;
913
+ data: {
914
+ eligible: boolean;
915
+ subscriptionActive: boolean;
916
+ profileComplete: boolean;
917
+ reasons: Array<string>;
918
+ panicInformation: {
1039
919
  id: string;
1040
- emailAddress: string | null;
1041
- firstName: string | null;
1042
- lastName: string | null;
1043
- phoneNumber: string | null;
1044
- status: string;
920
+ tenantId: string;
921
+ userId: string;
922
+ phoneNumber: string;
923
+ firstName: string;
924
+ lastName: string;
925
+ idNumber: string;
926
+ duressCode: string;
927
+ emergencyContacts: string | null;
928
+ scaExternalId: string | null;
929
+ scbExternalId: string | null;
930
+ sccExternalId: string | null;
1045
931
  createdAt: string;
1046
932
  updatedAt: string;
1047
- };
933
+ } | null;
934
+ subscriptionDetails: {
935
+ isPremium: boolean;
936
+ subscriptionName: string;
937
+ totalSeats: number;
938
+ usedSeats: number;
939
+ availableSeats: number;
940
+ userHasActiveSubscription: boolean;
941
+ } | null;
1048
942
  };
1049
943
  };
1050
- type PutV1UsersByUserIdResponse = PutV1UsersByUserIdResponses[keyof PutV1UsersByUserIdResponses];
1051
- type PostV1OauthTokenData = {
1052
- body: {
1053
- grant_type: string;
1054
- client_id: string;
1055
- client_secret: string;
1056
- tenantId?: string;
1057
- } | {
1058
- grant_type: string;
1059
- refresh_token: string;
1060
- client_id: string;
1061
- } | {
1062
- grant_type: string;
1063
- client_id: string;
1064
- client_secret: string;
1065
- scope?: string;
944
+ type CreateSubscriberBody = {
945
+ userId: string;
946
+ email?: string;
947
+ firstName?: string;
948
+ lastName?: string;
949
+ phone?: string;
950
+ avatar?: string;
951
+ locale?: string;
952
+ data?: {
953
+ [key: string]: unknown;
1066
954
  };
1067
- path?: never;
1068
- query?: never;
1069
- url: '/v1/oauth/token';
1070
955
  };
1071
- type PostV1OauthTokenErrors = {
1072
- 400: {
1073
- error: string;
1074
- message: string;
1075
- };
1076
- 401: {
1077
- error: string;
1078
- message: string;
1079
- };
1080
- 403: {
1081
- error: string;
1082
- message: string;
956
+ type TriggerNotificationBody = {
957
+ workflowId: string;
958
+ userId: string;
959
+ payload?: {
960
+ [key: string]: unknown;
1083
961
  };
1084
- 404: {
1085
- error: string;
1086
- message: string;
1087
- details?: {
962
+ overrides?: {
963
+ [key: string]: unknown;
964
+ };
965
+ actor?: string;
966
+ tenant?: {
967
+ id: string;
968
+ name?: string;
969
+ logo?: string;
970
+ primaryColor?: string;
971
+ data?: {
1088
972
  [key: string]: unknown;
1089
973
  };
1090
974
  };
1091
- 500: {
1092
- error: string;
1093
- message: string;
1094
- details?: {
975
+ };
976
+ type BulkTriggerNotificationBody = {
977
+ workflowId: string;
978
+ userIds: Array<string>;
979
+ payload?: {
980
+ [key: string]: unknown;
981
+ };
982
+ tenant?: {
983
+ id: string;
984
+ name?: string;
985
+ logo?: string;
986
+ primaryColor?: string;
987
+ data?: {
1095
988
  [key: string]: unknown;
1096
989
  };
1097
990
  };
1098
991
  };
1099
- type PostV1OauthTokenError = PostV1OauthTokenErrors[keyof PostV1OauthTokenErrors];
1100
- type PostV1OauthTokenResponses = {
1101
- 200: {
1102
- access_token: string;
1103
- refresh_token: string;
1104
- token_type: string;
1105
- expires_in: number;
992
+ type UpdatePreferencesBody = {
993
+ workflowId: string;
994
+ enabled: boolean;
995
+ channels?: {
996
+ email?: boolean;
997
+ sms?: boolean;
998
+ in_app?: boolean;
999
+ push?: boolean;
1106
1000
  };
1107
1001
  };
1108
- type PostV1OauthTokenResponse = PostV1OauthTokenResponses[keyof PostV1OauthTokenResponses];
1109
- type PostV1OauthIntrospectData = {
1110
- body: {
1111
- token: string;
1002
+ type NotificationUserIdParam = {
1003
+ userId: string;
1004
+ };
1005
+ type TransactionIdParam = {
1006
+ transactionId: string;
1007
+ };
1008
+ type CreateSubscriberResponse = {
1009
+ success: boolean;
1010
+ subscriberId: string;
1011
+ error?: string;
1012
+ };
1013
+ type TriggerNotificationResponse = {
1014
+ success: boolean;
1015
+ transactionId?: string;
1016
+ error?: string;
1017
+ };
1018
+ type BulkTriggerNotificationResponse = {
1019
+ success: boolean;
1020
+ errors?: Array<string>;
1021
+ };
1022
+ type GetPreferencesResponse = {
1023
+ success: boolean;
1024
+ data?: unknown;
1025
+ error?: string;
1026
+ };
1027
+ type UpdatePreferencesResponse = {
1028
+ success: boolean;
1029
+ error?: string;
1030
+ };
1031
+ type DeleteSubscriberResponse = {
1032
+ success: boolean;
1033
+ error?: string;
1034
+ };
1035
+ type CancelNotificationResponse = {
1036
+ success: boolean;
1037
+ error?: string;
1038
+ };
1039
+ type NotificationErrorResponse = {
1040
+ error: string;
1041
+ message: string;
1042
+ details?: {
1043
+ [key: string]: unknown;
1112
1044
  };
1045
+ };
1046
+ type GetHealthData = {
1047
+ body?: never;
1113
1048
  path?: never;
1114
1049
  query?: never;
1115
- url: '/v1/oauth/introspect';
1050
+ url: '/health';
1116
1051
  };
1117
- type PostV1OauthIntrospectErrors = {
1052
+ type GetHealthResponses = {
1053
+ 200: {
1054
+ status: string;
1055
+ timestamp: string;
1056
+ };
1057
+ };
1058
+ type GetHealthResponse = GetHealthResponses[keyof GetHealthResponses];
1059
+ type GetAuthWhoamiData = {
1060
+ body?: never;
1061
+ path?: never;
1062
+ query?: never;
1063
+ url: '/auth/whoami';
1064
+ };
1065
+ type GetAuthWhoamiErrors = {
1118
1066
  500: {
1119
1067
  error: string;
1120
1068
  message: string;
@@ -1123,85 +1071,39 @@ type PostV1OauthIntrospectErrors = {
1123
1071
  };
1124
1072
  };
1125
1073
  };
1126
- type PostV1OauthIntrospectError = PostV1OauthIntrospectErrors[keyof PostV1OauthIntrospectErrors];
1127
- type PostV1OauthIntrospectResponses = {
1074
+ type GetAuthWhoamiError = GetAuthWhoamiErrors[keyof GetAuthWhoamiErrors];
1075
+ type GetAuthWhoamiResponses = {
1128
1076
  200: {
1129
- active: boolean;
1130
- scope?: string;
1131
- client_id?: string;
1132
- username?: string;
1133
- token_type?: string;
1134
- exp?: number;
1135
- iat?: number;
1136
- nbf?: number;
1137
- sub?: string;
1138
- aud?: string | Array<string>;
1139
- iss?: string;
1140
- jti?: string;
1141
- tenant_id?: string;
1077
+ tenantId: string | null;
1078
+ environment: string;
1079
+ scopes: Array<string>;
1080
+ sessionId: string;
1142
1081
  };
1143
1082
  };
1144
- type PostV1OauthIntrospectResponse = PostV1OauthIntrospectResponses[keyof PostV1OauthIntrospectResponses];
1145
- type PostV1OauthRevokeData = {
1146
- body: {
1147
- token: string;
1148
- token_type_hint?: string;
1149
- };
1083
+ type GetAuthWhoamiResponse = GetAuthWhoamiResponses[keyof GetAuthWhoamiResponses];
1084
+ type GetAuthOptionalData = {
1085
+ body?: never;
1150
1086
  path?: never;
1151
1087
  query?: never;
1152
- url: '/v1/oauth/revoke';
1088
+ url: '/auth/optional';
1153
1089
  };
1154
- type PostV1OauthRevokeResponses = {
1090
+ type GetAuthOptionalResponses = {
1155
1091
  200: {
1156
- revoked: boolean;
1157
- message: string;
1092
+ authenticated: boolean;
1093
+ tenantId: string | null;
1158
1094
  };
1159
1095
  };
1160
- type PostV1OauthRevokeResponse = PostV1OauthRevokeResponses[keyof PostV1OauthRevokeResponses];
1161
- type PostV1AuthUserLoginData = {
1096
+ type GetAuthOptionalResponse = GetAuthOptionalResponses[keyof GetAuthOptionalResponses];
1097
+ type PostV1TenantsData = {
1162
1098
  body: {
1163
- /**
1164
- * Email address or phone number
1165
- */
1166
- identifier: string;
1167
- /**
1168
- * User password
1169
- */
1170
- password: string;
1099
+ tenantName: string;
1100
+ contactEmail: string;
1171
1101
  };
1172
1102
  path?: never;
1173
1103
  query?: never;
1174
- url: '/v1/auth/user/login';
1104
+ url: '/v1/tenants/';
1175
1105
  };
1176
- type PostV1AuthUserLoginErrors = {
1177
- 400: {
1178
- error: string;
1179
- message: string;
1180
- details?: {
1181
- [key: string]: unknown;
1182
- };
1183
- };
1184
- 401: {
1185
- error: string;
1186
- message: string;
1187
- details?: {
1188
- [key: string]: unknown;
1189
- };
1190
- };
1191
- 423: {
1192
- error: string;
1193
- message: string;
1194
- details?: {
1195
- [key: string]: unknown;
1196
- };
1197
- };
1198
- 429: {
1199
- error: string;
1200
- message: string;
1201
- details?: {
1202
- [key: string]: unknown;
1203
- };
1204
- };
1106
+ type PostV1TenantsErrors = {
1205
1107
  500: {
1206
1108
  error: string;
1207
1109
  message: string;
@@ -1210,43 +1112,33 @@ type PostV1AuthUserLoginErrors = {
1210
1112
  };
1211
1113
  };
1212
1114
  };
1213
- type PostV1AuthUserLoginError = PostV1AuthUserLoginErrors[keyof PostV1AuthUserLoginErrors];
1214
- type PostV1AuthUserLoginResponses = {
1215
- 200: {
1216
- access_token: string;
1217
- refresh_token: string;
1218
- token_type: string;
1219
- expires_in: number;
1220
- scope: string;
1221
- user: {
1222
- id: string;
1223
- emailAddress: string | null;
1224
- firstName: string | null;
1225
- lastName: string | null;
1226
- phoneNumber: string | null;
1227
- status: string;
1228
- lastLogin: string | null;
1229
- };
1115
+ type PostV1TenantsError = PostV1TenantsErrors[keyof PostV1TenantsErrors];
1116
+ type PostV1TenantsResponses = {
1117
+ 201: {
1118
+ tenantId: string;
1119
+ tenantName: string;
1120
+ status: string;
1121
+ setupToken: string;
1230
1122
  };
1231
1123
  };
1232
- type PostV1AuthUserLoginResponse = PostV1AuthUserLoginResponses[keyof PostV1AuthUserLoginResponses];
1233
- type PostV1AuthUserRefreshData = {
1234
- body: {
1235
- refresh_token: string;
1124
+ type PostV1TenantsResponse = PostV1TenantsResponses[keyof PostV1TenantsResponses];
1125
+ type GetV1TenantsByTenantIdData = {
1126
+ body?: never;
1127
+ path: {
1128
+ tenantId: string;
1236
1129
  };
1237
- path?: never;
1238
1130
  query?: never;
1239
- url: '/v1/auth/user/refresh';
1131
+ url: '/v1/tenants/{tenantId}';
1240
1132
  };
1241
- type PostV1AuthUserRefreshErrors = {
1242
- 400: {
1133
+ type GetV1TenantsByTenantIdErrors = {
1134
+ 404: {
1243
1135
  error: string;
1244
1136
  message: string;
1245
1137
  details?: {
1246
1138
  [key: string]: unknown;
1247
1139
  };
1248
1140
  };
1249
- 401: {
1141
+ 500: {
1250
1142
  error: string;
1251
1143
  message: string;
1252
1144
  details?: {
@@ -1254,47 +1146,56 @@ type PostV1AuthUserRefreshErrors = {
1254
1146
  };
1255
1147
  };
1256
1148
  };
1257
- type PostV1AuthUserRefreshError = PostV1AuthUserRefreshErrors[keyof PostV1AuthUserRefreshErrors];
1258
- type PostV1AuthUserRefreshResponses = {
1149
+ type GetV1TenantsByTenantIdError = GetV1TenantsByTenantIdErrors[keyof GetV1TenantsByTenantIdErrors];
1150
+ type GetV1TenantsByTenantIdResponses = {
1259
1151
  200: {
1260
- access_token: string;
1261
- refresh_token: string;
1262
- token_type: string;
1263
- expires_in: number;
1264
- scope: string;
1152
+ tenantId: string;
1153
+ name: string;
1154
+ status: string;
1155
+ createdAt: string;
1156
+ encryptionKeyRefId?: string;
1265
1157
  };
1266
1158
  };
1267
- type PostV1AuthUserRefreshResponse = PostV1AuthUserRefreshResponses[keyof PostV1AuthUserRefreshResponses];
1268
- type PostV1AuthUserLogoutData = {
1269
- body?: never;
1270
- path?: never;
1159
+ type GetV1TenantsByTenantIdResponse = GetV1TenantsByTenantIdResponses[keyof GetV1TenantsByTenantIdResponses];
1160
+ type PutV1TenantsByTenantIdData = {
1161
+ body: {
1162
+ tenantName: string;
1163
+ };
1164
+ path: {
1165
+ tenantId: string;
1166
+ };
1271
1167
  query?: never;
1272
- url: '/v1/auth/user/logout';
1168
+ url: '/v1/tenants/{tenantId}';
1273
1169
  };
1274
- type PostV1AuthUserLogoutErrors = {
1275
- 500: {
1276
- error: string;
1277
- message: string;
1278
- details?: {
1279
- [key: string]: unknown;
1280
- };
1281
- };
1170
+ type PutV1TenantsByTenantIdResponses = {
1171
+ 200: unknown;
1282
1172
  };
1283
- type PostV1AuthUserLogoutError = PostV1AuthUserLogoutErrors[keyof PostV1AuthUserLogoutErrors];
1284
- type PostV1AuthUserLogoutResponses = {
1285
- 200: {
1286
- success: boolean;
1287
- message: string;
1173
+ type PostV1TenantsByTenantIdCredentialsData = {
1174
+ body: {
1175
+ description?: string;
1176
+ scopes?: Array<string>;
1177
+ };
1178
+ path: {
1179
+ tenantId: string;
1288
1180
  };
1181
+ query?: never;
1182
+ url: '/v1/tenants/{tenantId}/credentials';
1183
+ };
1184
+ type PostV1TenantsByTenantIdCredentialsResponses = {
1185
+ 200: unknown;
1289
1186
  };
1290
- type PostV1AuthUserLogoutResponse = PostV1AuthUserLogoutResponses[keyof PostV1AuthUserLogoutResponses];
1291
- type GetV1AuthUserProfileData = {
1187
+ type GetV1TenantsByTenantIdUsersData = {
1292
1188
  body?: never;
1293
- path?: never;
1294
- query?: never;
1295
- url: '/v1/auth/user/profile';
1189
+ path: {
1190
+ tenantId: string;
1191
+ };
1192
+ query?: {
1193
+ limit?: string;
1194
+ offset?: string;
1195
+ };
1196
+ url: '/v1/tenants/{tenantId}/users';
1296
1197
  };
1297
- type GetV1AuthUserProfileErrors = {
1198
+ type GetV1TenantsByTenantIdUsersErrors = {
1298
1199
  400: {
1299
1200
  error: string;
1300
1201
  message: string;
@@ -1302,7 +1203,7 @@ type GetV1AuthUserProfileErrors = {
1302
1203
  [key: string]: unknown;
1303
1204
  };
1304
1205
  };
1305
- 404: {
1206
+ 403: {
1306
1207
  error: string;
1307
1208
  message: string;
1308
1209
  details?: {
@@ -1317,49 +1218,54 @@ type GetV1AuthUserProfileErrors = {
1317
1218
  };
1318
1219
  };
1319
1220
  };
1320
- type GetV1AuthUserProfileError = GetV1AuthUserProfileErrors[keyof GetV1AuthUserProfileErrors];
1321
- type GetV1AuthUserProfileResponses = {
1221
+ type GetV1TenantsByTenantIdUsersError = GetV1TenantsByTenantIdUsersErrors[keyof GetV1TenantsByTenantIdUsersErrors];
1222
+ type GetV1TenantsByTenantIdUsersResponses = {
1322
1223
  200: {
1323
- success: boolean;
1324
- data: {
1224
+ data: Array<{
1325
1225
  id: string;
1226
+ tenantSpecificUserId: string;
1227
+ tenantId: string;
1326
1228
  emailAddress: string | null;
1229
+ phoneNumber: string | null;
1327
1230
  firstName: string | null;
1328
1231
  lastName: string | null;
1329
- phoneNumber: string | null;
1330
1232
  status: string;
1331
- lastLogin: string | null;
1332
1233
  createdAt: string;
1333
1234
  updatedAt: string;
1235
+ }>;
1236
+ pagination: {
1237
+ limit: number;
1238
+ offset: number;
1239
+ hasMore: boolean;
1334
1240
  };
1335
1241
  };
1336
1242
  };
1337
- type GetV1AuthUserProfileResponse = GetV1AuthUserProfileResponses[keyof GetV1AuthUserProfileResponses];
1338
- type PutV1AuthUserProfileData = {
1243
+ type GetV1TenantsByTenantIdUsersResponse = GetV1TenantsByTenantIdUsersResponses[keyof GetV1TenantsByTenantIdUsersResponses];
1244
+ type PostV1TenantsByTenantIdTokensData = {
1339
1245
  body: {
1340
- firstName?: string;
1341
- lastName?: string;
1342
- phoneNumber?: string;
1246
+ setupToken: string;
1247
+ environment?: string;
1248
+ scopes?: Array<string>;
1249
+ };
1250
+ path: {
1251
+ tenantId: string;
1343
1252
  };
1344
- path?: never;
1345
1253
  query?: never;
1346
- url: '/v1/auth/user/profile';
1254
+ url: '/v1/tenants/{tenantId}/tokens';
1347
1255
  };
1348
- type PutV1AuthUserProfileErrors = {
1349
- 400: {
1350
- error: string;
1351
- message: string;
1352
- details?: {
1353
- [key: string]: unknown;
1354
- };
1355
- };
1356
- 404: {
1357
- error: string;
1358
- message: string;
1359
- details?: {
1360
- [key: string]: unknown;
1361
- };
1256
+ type PostV1TenantsByTenantIdTokensResponses = {
1257
+ 200: unknown;
1258
+ };
1259
+ type GetV1UsersData = {
1260
+ body?: never;
1261
+ path?: never;
1262
+ query?: {
1263
+ limit?: string;
1264
+ offset?: string;
1362
1265
  };
1266
+ url: '/v1/users/';
1267
+ };
1268
+ type GetV1UsersErrors = {
1363
1269
  500: {
1364
1270
  error: string;
1365
1271
  message: string;
@@ -1368,32 +1274,42 @@ type PutV1AuthUserProfileErrors = {
1368
1274
  };
1369
1275
  };
1370
1276
  };
1371
- type PutV1AuthUserProfileError = PutV1AuthUserProfileErrors[keyof PutV1AuthUserProfileErrors];
1372
- type PutV1AuthUserProfileResponses = {
1277
+ type GetV1UsersError = GetV1UsersErrors[keyof GetV1UsersErrors];
1278
+ type GetV1UsersResponses = {
1373
1279
  200: {
1374
1280
  success: boolean;
1375
- data: {
1281
+ data: Array<{
1376
1282
  id: string;
1377
1283
  emailAddress: string | null;
1378
1284
  firstName: string | null;
1379
1285
  lastName: string | null;
1380
1286
  phoneNumber: string | null;
1381
1287
  status: string;
1382
- lastLogin: string | null;
1383
1288
  createdAt: string;
1384
1289
  updatedAt: string;
1290
+ }>;
1291
+ pagination: {
1292
+ limit: number;
1293
+ offset: number;
1294
+ hasMore: boolean;
1385
1295
  };
1386
1296
  };
1387
1297
  };
1388
- type PutV1AuthUserProfileResponse = PutV1AuthUserProfileResponses[keyof PutV1AuthUserProfileResponses];
1389
- type GetV1SubscriptionsTypesData = {
1390
- body?: never;
1298
+ type GetV1UsersResponse = GetV1UsersResponses[keyof GetV1UsersResponses];
1299
+ type PostV1UsersData = {
1300
+ body: {
1301
+ emailAddress: string;
1302
+ firstName: string;
1303
+ lastName: string;
1304
+ phoneNumber?: string;
1305
+ password?: string;
1306
+ };
1391
1307
  path?: never;
1392
1308
  query?: never;
1393
- url: '/v1/subscriptions/types';
1309
+ url: '/v1/users/';
1394
1310
  };
1395
- type GetV1SubscriptionsTypesErrors = {
1396
- 403: {
1311
+ type PostV1UsersErrors = {
1312
+ 409: {
1397
1313
  error: string;
1398
1314
  message: string;
1399
1315
  details?: {
@@ -1408,83 +1324,33 @@ type GetV1SubscriptionsTypesErrors = {
1408
1324
  };
1409
1325
  };
1410
1326
  };
1411
- type GetV1SubscriptionsTypesError = GetV1SubscriptionsTypesErrors[keyof GetV1SubscriptionsTypesErrors];
1412
- type GetV1SubscriptionsTypesResponses = {
1413
- 200: {
1414
- data: Array<{
1415
- tenantId: string;
1327
+ type PostV1UsersError = PostV1UsersErrors[keyof PostV1UsersErrors];
1328
+ type PostV1UsersResponses = {
1329
+ 201: {
1330
+ success: boolean;
1331
+ data: {
1416
1332
  id: string;
1417
- name: string;
1418
- isPremium: number;
1333
+ emailAddress: string | null;
1334
+ firstName: string | null;
1335
+ lastName: string | null;
1336
+ phoneNumber: string | null;
1337
+ status: string;
1419
1338
  createdAt: string;
1420
1339
  updatedAt: string;
1421
- }>;
1422
- };
1423
- };
1424
- type GetV1SubscriptionsTypesResponse = GetV1SubscriptionsTypesResponses[keyof GetV1SubscriptionsTypesResponses];
1425
- type PostV1SubscriptionsTypesData = {
1426
- body: {
1427
- name: string;
1428
- isPremium?: number | string;
1429
- };
1430
- path?: never;
1431
- query?: never;
1432
- url: '/v1/subscriptions/types';
1433
- };
1434
- type PostV1SubscriptionsTypesErrors = {
1435
- 400: {
1436
- error: string;
1437
- message: string;
1438
- details?: {
1439
- [key: string]: unknown;
1440
- };
1441
- };
1442
- 403: {
1443
- error: string;
1444
- message: string;
1445
- details?: {
1446
- [key: string]: unknown;
1447
- };
1448
- };
1449
- 409: {
1450
- error: string;
1451
- message: string;
1452
- details?: {
1453
- [key: string]: unknown;
1454
1340
  };
1455
- };
1456
- 500: {
1457
- error: string;
1458
1341
  message: string;
1459
- details?: {
1460
- [key: string]: unknown;
1461
- };
1462
- };
1463
- };
1464
- type PostV1SubscriptionsTypesError = PostV1SubscriptionsTypesErrors[keyof PostV1SubscriptionsTypesErrors];
1465
- type PostV1SubscriptionsTypesResponses = {
1466
- 201: {
1467
- tenantId: string;
1468
- id: string;
1469
- name: string;
1470
- isPremium: number;
1471
- createdAt: string;
1472
- updatedAt: string;
1473
1342
  };
1474
1343
  };
1475
- type PostV1SubscriptionsTypesResponse = PostV1SubscriptionsTypesResponses[keyof PostV1SubscriptionsTypesResponses];
1476
- type PutV1SubscriptionsTypesByTypeIdData = {
1477
- body: {
1478
- name?: string;
1479
- isPremium?: number | string;
1480
- };
1344
+ type PostV1UsersResponse = PostV1UsersResponses[keyof PostV1UsersResponses];
1345
+ type GetV1UsersByUserIdData = {
1346
+ body?: never;
1481
1347
  path: {
1482
- typeId: string;
1348
+ userId: string;
1483
1349
  };
1484
1350
  query?: never;
1485
- url: '/v1/subscriptions/types/{typeId}';
1351
+ url: '/v1/users/{userId}';
1486
1352
  };
1487
- type PutV1SubscriptionsTypesByTypeIdErrors = {
1353
+ type GetV1UsersByUserIdErrors = {
1488
1354
  400: {
1489
1355
  error: string;
1490
1356
  message: string;
@@ -1492,13 +1358,6 @@ type PutV1SubscriptionsTypesByTypeIdErrors = {
1492
1358
  [key: string]: unknown;
1493
1359
  };
1494
1360
  };
1495
- 403: {
1496
- error: string;
1497
- message: string;
1498
- details?: {
1499
- [key: string]: unknown;
1500
- };
1501
- };
1502
1361
  404: {
1503
1362
  error: string;
1504
1363
  message: string;
@@ -1514,34 +1373,38 @@ type PutV1SubscriptionsTypesByTypeIdErrors = {
1514
1373
  };
1515
1374
  };
1516
1375
  };
1517
- type PutV1SubscriptionsTypesByTypeIdError = PutV1SubscriptionsTypesByTypeIdErrors[keyof PutV1SubscriptionsTypesByTypeIdErrors];
1518
- type PutV1SubscriptionsTypesByTypeIdResponses = {
1376
+ type GetV1UsersByUserIdError = GetV1UsersByUserIdErrors[keyof GetV1UsersByUserIdErrors];
1377
+ type GetV1UsersByUserIdResponses = {
1519
1378
  200: {
1520
- tenantId: string;
1521
- id: string;
1522
- name: string;
1523
- isPremium: number;
1524
- createdAt: string;
1525
- updatedAt: string;
1379
+ success: boolean;
1380
+ data: {
1381
+ id: string;
1382
+ emailAddress: string | null;
1383
+ firstName: string | null;
1384
+ lastName: string | null;
1385
+ phoneNumber: string | null;
1386
+ status: string;
1387
+ createdAt: string;
1388
+ updatedAt: string;
1389
+ };
1526
1390
  };
1527
1391
  };
1528
- type PutV1SubscriptionsTypesByTypeIdResponse = PutV1SubscriptionsTypesByTypeIdResponses[keyof PutV1SubscriptionsTypesByTypeIdResponses];
1529
- type GetV1SubscriptionsData = {
1530
- body?: never;
1531
- path?: never;
1532
- query?: {
1533
- limit?: number | string;
1534
- cursor?: string;
1535
- userId?: string;
1536
- subscriptionTypeId?: string;
1537
- status?: string;
1538
- sortBy?: string;
1539
- sortOrder?: string;
1540
- search?: string;
1392
+ type GetV1UsersByUserIdResponse = GetV1UsersByUserIdResponses[keyof GetV1UsersByUserIdResponses];
1393
+ type PutV1UsersByUserIdData = {
1394
+ body: {
1395
+ emailAddress?: string;
1396
+ firstName?: string;
1397
+ lastName?: string;
1398
+ phoneNumber?: string;
1399
+ password?: string;
1541
1400
  };
1542
- url: '/v1/subscriptions/';
1401
+ path: {
1402
+ userId: string;
1403
+ };
1404
+ query?: never;
1405
+ url: '/v1/users/{userId}';
1543
1406
  };
1544
- type GetV1SubscriptionsErrors = {
1407
+ type PutV1UsersByUserIdErrors = {
1545
1408
  400: {
1546
1409
  error: string;
1547
1410
  message: string;
@@ -1549,14 +1412,7 @@ type GetV1SubscriptionsErrors = {
1549
1412
  [key: string]: unknown;
1550
1413
  };
1551
1414
  };
1552
- 403: {
1553
- error: string;
1554
- message: string;
1555
- details?: {
1556
- [key: string]: unknown;
1557
- };
1558
- };
1559
- 500: {
1415
+ 404: {
1560
1416
  error: string;
1561
1417
  message: string;
1562
1418
  details?: {
@@ -1564,66 +1420,57 @@ type GetV1SubscriptionsErrors = {
1564
1420
  };
1565
1421
  };
1566
1422
  };
1567
- type GetV1SubscriptionsError = GetV1SubscriptionsErrors[keyof GetV1SubscriptionsErrors];
1568
- type GetV1SubscriptionsResponses = {
1423
+ type PutV1UsersByUserIdError = PutV1UsersByUserIdErrors[keyof PutV1UsersByUserIdErrors];
1424
+ type PutV1UsersByUserIdResponses = {
1569
1425
  200: {
1570
- data: Array<{
1571
- tenantId: string;
1426
+ success: boolean;
1427
+ data: {
1572
1428
  id: string;
1573
- userId: string;
1574
- tenantSubscriptionId: string;
1575
- tenantSubscriptionName?: string;
1576
- globalSubscriptionTypeName?: string;
1429
+ emailAddress: string | null;
1430
+ firstName: string | null;
1431
+ lastName: string | null;
1432
+ phoneNumber: string | null;
1577
1433
  status: string;
1578
1434
  createdAt: string;
1579
1435
  updatedAt: string;
1580
- startDate?: string;
1581
- endDate?: string;
1582
- amount?: string;
1583
- billingCycle?: string;
1584
- }>;
1585
- pagination: {
1586
- nextCursor: string | null;
1587
- hasNextPage: boolean;
1588
- total: number | null;
1589
1436
  };
1590
1437
  };
1591
1438
  };
1592
- type GetV1SubscriptionsResponse = GetV1SubscriptionsResponses[keyof GetV1SubscriptionsResponses];
1593
- type PostV1SubscriptionsData = {
1439
+ type PutV1UsersByUserIdResponse = PutV1UsersByUserIdResponses[keyof PutV1UsersByUserIdResponses];
1440
+ type PostV1OauthTokenData = {
1594
1441
  body: {
1595
- userId: string;
1596
- tenantSubscriptionId?: string;
1597
- subscriptionTypeId?: string;
1598
- status?: string;
1442
+ grant_type: string;
1443
+ client_id: string;
1444
+ client_secret: string;
1445
+ tenantId?: string;
1446
+ } | {
1447
+ grant_type: string;
1448
+ refresh_token: string;
1449
+ client_id: string;
1450
+ } | {
1451
+ grant_type: string;
1452
+ client_id: string;
1453
+ client_secret: string;
1454
+ scope?: string;
1599
1455
  };
1600
1456
  path?: never;
1601
1457
  query?: never;
1602
- url: '/v1/subscriptions/';
1458
+ url: '/v1/oauth/token';
1603
1459
  };
1604
- type PostV1SubscriptionsErrors = {
1460
+ type PostV1OauthTokenErrors = {
1605
1461
  400: {
1606
1462
  error: string;
1607
1463
  message: string;
1608
- details?: {
1609
- [key: string]: unknown;
1610
- };
1611
1464
  };
1612
- 403: {
1465
+ 401: {
1613
1466
  error: string;
1614
1467
  message: string;
1615
- details?: {
1616
- [key: string]: unknown;
1617
- };
1618
1468
  };
1619
- 404: {
1469
+ 403: {
1620
1470
  error: string;
1621
1471
  message: string;
1622
- details?: {
1623
- [key: string]: unknown;
1624
- };
1625
1472
  };
1626
- 409: {
1473
+ 404: {
1627
1474
  error: string;
1628
1475
  message: string;
1629
1476
  details?: {
@@ -1638,61 +1485,76 @@ type PostV1SubscriptionsErrors = {
1638
1485
  };
1639
1486
  };
1640
1487
  };
1641
- type PostV1SubscriptionsError = PostV1SubscriptionsErrors[keyof PostV1SubscriptionsErrors];
1642
- type PostV1SubscriptionsResponses = {
1643
- 201: {
1644
- tenantId: string;
1645
- id: string;
1646
- userId: string;
1647
- tenantSubscriptionId: string;
1648
- status: string;
1649
- createdAt: string;
1650
- updatedAt: string;
1651
- member?: {
1652
- id: string;
1653
- userId: string;
1654
- role: string;
1655
- status: string;
1656
- joinedAt: string;
1657
- };
1488
+ type PostV1OauthTokenError = PostV1OauthTokenErrors[keyof PostV1OauthTokenErrors];
1489
+ type PostV1OauthTokenResponses = {
1490
+ 200: {
1491
+ access_token: string;
1492
+ refresh_token: string;
1493
+ token_type: string;
1494
+ expires_in: number;
1658
1495
  };
1659
1496
  };
1660
- type PostV1SubscriptionsResponse = PostV1SubscriptionsResponses[keyof PostV1SubscriptionsResponses];
1661
- type PostV1SubscriptionsSubscribeUserData = {
1497
+ type PostV1OauthTokenResponse = PostV1OauthTokenResponses[keyof PostV1OauthTokenResponses];
1498
+ type PostV1OauthIntrospectData = {
1662
1499
  body: {
1663
- userId: string;
1664
- isPremium: boolean;
1665
- startDate?: string;
1666
- endDate?: string;
1667
- notes?: string;
1500
+ token: string;
1668
1501
  };
1669
1502
  path?: never;
1670
1503
  query?: never;
1671
- url: '/v1/subscriptions/subscribe-user';
1504
+ url: '/v1/oauth/introspect';
1672
1505
  };
1673
- type PostV1SubscriptionsSubscribeUserErrors = {
1674
- 400: {
1506
+ type PostV1OauthIntrospectErrors = {
1507
+ 500: {
1675
1508
  error: string;
1676
1509
  message: string;
1677
1510
  details?: {
1678
1511
  [key: string]: unknown;
1679
1512
  };
1680
1513
  };
1681
- 403: {
1682
- error: string;
1683
- message: string;
1684
- details?: {
1685
- [key: string]: unknown;
1686
- };
1514
+ };
1515
+ type PostV1OauthIntrospectError = PostV1OauthIntrospectErrors[keyof PostV1OauthIntrospectErrors];
1516
+ type PostV1OauthIntrospectResponses = {
1517
+ 200: {
1518
+ active: boolean;
1519
+ scope?: string;
1520
+ client_id?: string;
1521
+ username?: string;
1522
+ token_type?: string;
1523
+ exp?: number;
1524
+ iat?: number;
1525
+ nbf?: number;
1526
+ sub?: string;
1527
+ aud?: string | Array<string>;
1528
+ iss?: string;
1529
+ jti?: string;
1530
+ tenant_id?: string;
1687
1531
  };
1688
- 404: {
1689
- error: string;
1532
+ };
1533
+ type PostV1OauthIntrospectResponse = PostV1OauthIntrospectResponses[keyof PostV1OauthIntrospectResponses];
1534
+ type PostV1OauthRevokeData = {
1535
+ body: {
1536
+ token: string;
1537
+ token_type_hint?: string;
1538
+ };
1539
+ path?: never;
1540
+ query?: never;
1541
+ url: '/v1/oauth/revoke';
1542
+ };
1543
+ type PostV1OauthRevokeResponses = {
1544
+ 200: {
1545
+ revoked: boolean;
1690
1546
  message: string;
1691
- details?: {
1692
- [key: string]: unknown;
1693
- };
1694
1547
  };
1695
- 409: {
1548
+ };
1549
+ type PostV1OauthRevokeResponse = PostV1OauthRevokeResponses[keyof PostV1OauthRevokeResponses];
1550
+ type GetV1SubscriptionsTypesData = {
1551
+ body?: never;
1552
+ path?: never;
1553
+ query?: never;
1554
+ url: '/v1/subscriptions/types';
1555
+ };
1556
+ type GetV1SubscriptionsTypesErrors = {
1557
+ 403: {
1696
1558
  error: string;
1697
1559
  message: string;
1698
1560
  details?: {
@@ -1707,39 +1569,36 @@ type PostV1SubscriptionsSubscribeUserErrors = {
1707
1569
  };
1708
1570
  };
1709
1571
  };
1710
- type PostV1SubscriptionsSubscribeUserError = PostV1SubscriptionsSubscribeUserErrors[keyof PostV1SubscriptionsSubscribeUserErrors];
1711
- type PostV1SubscriptionsSubscribeUserResponses = {
1712
- 201: {
1713
- tenantId: string;
1714
- id: string;
1715
- userId: string;
1716
- tenantSubscriptionId: string;
1717
- tenantSubscriptionName?: string;
1718
- globalSubscriptionTypeName?: string;
1719
- isPremium: boolean;
1720
- createdAt: string;
1721
- updatedAt: string;
1722
- startDate?: string;
1723
- endDate?: string;
1572
+ type GetV1SubscriptionsTypesError = GetV1SubscriptionsTypesErrors[keyof GetV1SubscriptionsTypesErrors];
1573
+ type GetV1SubscriptionsTypesResponses = {
1574
+ 200: {
1575
+ data: Array<{
1576
+ tenantId: string;
1577
+ id: string;
1578
+ name: string;
1579
+ isPremium: number;
1580
+ createdAt: string;
1581
+ updatedAt: string;
1582
+ }>;
1724
1583
  };
1725
1584
  };
1726
- type PostV1SubscriptionsSubscribeUserResponse = PostV1SubscriptionsSubscribeUserResponses[keyof PostV1SubscriptionsSubscribeUserResponses];
1727
- type GetV1ProvidersData = {
1585
+ type GetV1SubscriptionsTypesResponse = GetV1SubscriptionsTypesResponses[keyof GetV1SubscriptionsTypesResponses];
1586
+ type GetV1SubscriptionsData = {
1728
1587
  body?: never;
1729
1588
  path?: never;
1730
1589
  query?: {
1731
1590
  limit?: number | string;
1732
1591
  cursor?: string;
1733
- search?: string;
1592
+ userId?: string;
1593
+ subscriptionTypeId?: string;
1734
1594
  status?: string;
1735
- isPreferred?: boolean;
1736
- isBackup?: boolean;
1737
1595
  sortBy?: string;
1738
1596
  sortOrder?: string;
1597
+ search?: string;
1739
1598
  };
1740
- url: '/v1/providers/';
1599
+ url: '/v1/subscriptions/';
1741
1600
  };
1742
- type GetV1ProvidersErrors = {
1601
+ type GetV1SubscriptionsErrors = {
1743
1602
  400: {
1744
1603
  error: string;
1745
1604
  message: string;
@@ -1762,88 +1621,46 @@ type GetV1ProvidersErrors = {
1762
1621
  };
1763
1622
  };
1764
1623
  };
1765
- type GetV1ProvidersError = GetV1ProvidersErrors[keyof GetV1ProvidersErrors];
1766
- type GetV1ProvidersResponses = {
1624
+ type GetV1SubscriptionsError = GetV1SubscriptionsErrors[keyof GetV1SubscriptionsErrors];
1625
+ type GetV1SubscriptionsResponses = {
1767
1626
  200: {
1768
1627
  data: Array<{
1769
- id: string;
1770
1628
  tenantId: string;
1771
- providerId: string;
1772
- providerName: string | null;
1773
- tenantName: string | null;
1774
- priority: number;
1775
- apiCredentials: {
1776
- [key: string]: unknown;
1777
- } | null;
1778
- customConfiguration: {
1779
- [key: string]: unknown;
1780
- } | null;
1781
- enabledServices: Array<string> | null;
1782
- disabledServices: Array<string> | null;
1783
- customEndpoints: {
1784
- [key: string]: unknown;
1785
- } | null;
1786
- usageQuota: {
1787
- [key: string]: unknown;
1788
- } | null;
1789
- billingConfiguration: {
1790
- [key: string]: unknown;
1791
- } | null;
1792
- isPreferred: boolean;
1793
- isBackup: boolean;
1794
- autoFailover: boolean;
1629
+ id: string;
1630
+ userId: string;
1631
+ tenantSubscriptionId: string;
1632
+ tenantSubscriptionName?: string;
1633
+ globalSubscriptionTypeName?: string;
1634
+ isPremium: boolean;
1795
1635
  status: string;
1796
- currentUsage: {
1797
- [key: string]: unknown;
1798
- } | null;
1799
- lastUsedAt: string | null;
1800
- lastTestAt: string | null;
1801
- testResults: {
1802
- [key: string]: unknown;
1803
- } | null;
1804
1636
  createdAt: string;
1805
1637
  updatedAt: string;
1638
+ startDate?: string;
1639
+ endDate?: string;
1640
+ amount?: string;
1641
+ billingCycle?: string;
1806
1642
  }>;
1807
1643
  pagination: {
1808
- nextCursor: string | null;
1644
+ nextCursor?: string | unknown;
1809
1645
  hasNextPage: boolean;
1810
- total: number | null;
1646
+ total?: number | unknown;
1811
1647
  };
1812
1648
  };
1813
1649
  };
1814
- type GetV1ProvidersResponse = GetV1ProvidersResponses[keyof GetV1ProvidersResponses];
1815
- type PostV1ProvidersData = {
1650
+ type GetV1SubscriptionsResponse = GetV1SubscriptionsResponses[keyof GetV1SubscriptionsResponses];
1651
+ type PostV1SubscriptionsData = {
1816
1652
  body: {
1817
- providerId: string;
1818
- tenantName?: string;
1819
- priority?: number;
1820
- apiCredentials?: {
1821
- [key: string]: unknown;
1822
- };
1823
- customConfiguration?: {
1824
- [key: string]: unknown;
1825
- };
1826
- enabledServices?: Array<string>;
1827
- disabledServices?: Array<string>;
1828
- customEndpoints?: {
1829
- [key: string]: unknown;
1830
- };
1831
- usageQuota?: {
1832
- [key: string]: unknown;
1833
- };
1834
- billingConfiguration?: {
1835
- [key: string]: unknown;
1836
- };
1837
- isPreferred?: boolean;
1838
- isBackup?: boolean;
1839
- autoFailover?: boolean;
1840
- status?: string;
1653
+ userId: string;
1654
+ isPremium: boolean;
1655
+ startDate?: string;
1656
+ endDate?: string;
1657
+ notes?: string;
1841
1658
  };
1842
1659
  path?: never;
1843
1660
  query?: never;
1844
- url: '/v1/providers/';
1661
+ url: '/v1/subscriptions/';
1845
1662
  };
1846
- type PostV1ProvidersErrors = {
1663
+ type PostV1SubscriptionsErrors = {
1847
1664
  400: {
1848
1665
  error: string;
1849
1666
  message: string;
@@ -1865,81 +1682,7 @@ type PostV1ProvidersErrors = {
1865
1682
  [key: string]: unknown;
1866
1683
  };
1867
1684
  };
1868
- 409: {
1869
- error: string;
1870
- message: string;
1871
- details?: {
1872
- [key: string]: unknown;
1873
- };
1874
- };
1875
- 500: {
1876
- error: string;
1877
- message: string;
1878
- details?: {
1879
- [key: string]: unknown;
1880
- };
1881
- };
1882
- };
1883
- type PostV1ProvidersError = PostV1ProvidersErrors[keyof PostV1ProvidersErrors];
1884
- type PostV1ProvidersResponses = {
1885
- 201: {
1886
- id: string;
1887
- tenantId: string;
1888
- providerId: string;
1889
- providerName: string | null;
1890
- tenantName: string | null;
1891
- priority: number;
1892
- apiCredentials: {
1893
- [key: string]: unknown;
1894
- } | null;
1895
- customConfiguration: {
1896
- [key: string]: unknown;
1897
- } | null;
1898
- enabledServices: Array<string> | null;
1899
- disabledServices: Array<string> | null;
1900
- customEndpoints: {
1901
- [key: string]: unknown;
1902
- } | null;
1903
- usageQuota: {
1904
- [key: string]: unknown;
1905
- } | null;
1906
- billingConfiguration: {
1907
- [key: string]: unknown;
1908
- } | null;
1909
- isPreferred: boolean;
1910
- isBackup: boolean;
1911
- autoFailover: boolean;
1912
- status: string;
1913
- currentUsage: {
1914
- [key: string]: unknown;
1915
- } | null;
1916
- lastUsedAt: string | null;
1917
- lastTestAt: string | null;
1918
- testResults: {
1919
- [key: string]: unknown;
1920
- } | null;
1921
- createdAt: string;
1922
- updatedAt: string;
1923
- };
1924
- };
1925
- type PostV1ProvidersResponse = PostV1ProvidersResponses[keyof PostV1ProvidersResponses];
1926
- type DeleteV1ProvidersByIdData = {
1927
- body?: never;
1928
- path: {
1929
- id: string;
1930
- };
1931
- query?: never;
1932
- url: '/v1/providers/{id}';
1933
- };
1934
- type DeleteV1ProvidersByIdErrors = {
1935
- 403: {
1936
- error: string;
1937
- message: string;
1938
- details?: {
1939
- [key: string]: unknown;
1940
- };
1941
- };
1942
- 404: {
1685
+ 409: {
1943
1686
  error: string;
1944
1687
  message: string;
1945
1688
  details?: {
@@ -1954,28 +1697,43 @@ type DeleteV1ProvidersByIdErrors = {
1954
1697
  };
1955
1698
  };
1956
1699
  };
1957
- type DeleteV1ProvidersByIdError = DeleteV1ProvidersByIdErrors[keyof DeleteV1ProvidersByIdErrors];
1958
- type DeleteV1ProvidersByIdResponses = {
1959
- 204: void;
1700
+ type PostV1SubscriptionsError = PostV1SubscriptionsErrors[keyof PostV1SubscriptionsErrors];
1701
+ type PostV1SubscriptionsResponses = {
1702
+ 201: {
1703
+ tenantId: string;
1704
+ id: string;
1705
+ userId: string;
1706
+ tenantSubscriptionId: string;
1707
+ tenantSubscriptionName?: string;
1708
+ globalSubscriptionTypeName?: string;
1709
+ isPremium: boolean;
1710
+ status: string;
1711
+ createdAt: string;
1712
+ updatedAt: string;
1713
+ startDate?: string;
1714
+ endDate?: string;
1715
+ amount?: string;
1716
+ billingCycle?: string;
1717
+ };
1960
1718
  };
1961
- type DeleteV1ProvidersByIdResponse = DeleteV1ProvidersByIdResponses[keyof DeleteV1ProvidersByIdResponses];
1962
- type GetV1ProvidersByIdData = {
1719
+ type PostV1SubscriptionsResponse = PostV1SubscriptionsResponses[keyof PostV1SubscriptionsResponses];
1720
+ type GetV1SubscriptionsUserByUserIdData = {
1963
1721
  body?: never;
1964
1722
  path: {
1965
- id: string;
1723
+ userId: string;
1966
1724
  };
1967
1725
  query?: never;
1968
- url: '/v1/providers/{id}';
1726
+ url: '/v1/subscriptions/user/{userId}';
1969
1727
  };
1970
- type GetV1ProvidersByIdErrors = {
1971
- 403: {
1728
+ type GetV1SubscriptionsUserByUserIdErrors = {
1729
+ 400: {
1972
1730
  error: string;
1973
1731
  message: string;
1974
1732
  details?: {
1975
1733
  [key: string]: unknown;
1976
1734
  };
1977
1735
  };
1978
- 404: {
1736
+ 403: {
1979
1737
  error: string;
1980
1738
  message: string;
1981
1739
  details?: {
@@ -1990,82 +1748,40 @@ type GetV1ProvidersByIdErrors = {
1990
1748
  };
1991
1749
  };
1992
1750
  };
1993
- type GetV1ProvidersByIdError = GetV1ProvidersByIdErrors[keyof GetV1ProvidersByIdErrors];
1994
- type GetV1ProvidersByIdResponses = {
1751
+ type GetV1SubscriptionsUserByUserIdError = GetV1SubscriptionsUserByUserIdErrors[keyof GetV1SubscriptionsUserByUserIdErrors];
1752
+ type GetV1SubscriptionsUserByUserIdResponses = {
1995
1753
  200: {
1996
- id: string;
1997
- tenantId: string;
1998
- providerId: string;
1999
- providerName: string | null;
2000
- tenantName: string | null;
2001
- priority: number;
2002
- apiCredentials: {
2003
- [key: string]: unknown;
2004
- } | null;
2005
- customConfiguration: {
2006
- [key: string]: unknown;
2007
- } | null;
2008
- enabledServices: Array<string> | null;
2009
- disabledServices: Array<string> | null;
2010
- customEndpoints: {
2011
- [key: string]: unknown;
2012
- } | null;
2013
- usageQuota: {
2014
- [key: string]: unknown;
2015
- } | null;
2016
- billingConfiguration: {
2017
- [key: string]: unknown;
2018
- } | null;
2019
- isPreferred: boolean;
2020
- isBackup: boolean;
2021
- autoFailover: boolean;
2022
- status: string;
2023
- currentUsage: {
2024
- [key: string]: unknown;
2025
- } | null;
2026
- lastUsedAt: string | null;
2027
- lastTestAt: string | null;
2028
- testResults: {
2029
- [key: string]: unknown;
2030
- } | null;
2031
- createdAt: string;
2032
- updatedAt: string;
1754
+ data: Array<{
1755
+ tenantId: string;
1756
+ id: string;
1757
+ userId: string;
1758
+ tenantSubscriptionId: string;
1759
+ tenantSubscriptionName?: string;
1760
+ globalSubscriptionTypeName?: string;
1761
+ isPremium: boolean;
1762
+ status: string;
1763
+ createdAt: string;
1764
+ updatedAt: string;
1765
+ startDate?: string;
1766
+ endDate?: string;
1767
+ amount?: string;
1768
+ billingCycle?: string;
1769
+ }>;
2033
1770
  };
2034
1771
  };
2035
- type GetV1ProvidersByIdResponse = GetV1ProvidersByIdResponses[keyof GetV1ProvidersByIdResponses];
2036
- type PutV1ProvidersByIdData = {
1772
+ type GetV1SubscriptionsUserByUserIdResponse = GetV1SubscriptionsUserByUserIdResponses[keyof GetV1SubscriptionsUserByUserIdResponses];
1773
+ type PatchV1SubscriptionsBySubscriptionIdData = {
2037
1774
  body: {
2038
- tenantName?: string;
2039
- priority?: number;
2040
- apiCredentials?: {
2041
- [key: string]: unknown;
2042
- };
2043
- customConfiguration?: {
2044
- [key: string]: unknown;
2045
- };
2046
- enabledServices?: Array<string>;
2047
- disabledServices?: Array<string>;
2048
- customEndpoints?: {
2049
- [key: string]: unknown;
2050
- };
2051
- usageQuota?: {
2052
- [key: string]: unknown;
2053
- };
2054
- billingConfiguration?: {
2055
- [key: string]: unknown;
2056
- };
2057
- isPreferred?: boolean;
2058
- isBackup?: boolean;
2059
- autoFailover?: boolean;
2060
- status?: string;
1775
+ endDate?: string;
1776
+ notes?: string;
2061
1777
  };
2062
1778
  path: {
2063
- id: string;
1779
+ subscriptionId: string;
2064
1780
  };
2065
1781
  query?: never;
2066
- url: '/v1/providers/{id}';
1782
+ url: '/v1/subscriptions/{subscriptionId}';
2067
1783
  };
2068
- type PutV1ProvidersByIdErrors = {
1784
+ type PatchV1SubscriptionsBySubscriptionIdErrors = {
2069
1785
  400: {
2070
1786
  error: string;
2071
1787
  message: string;
@@ -2087,79 +1803,7 @@ type PutV1ProvidersByIdErrors = {
2087
1803
  [key: string]: unknown;
2088
1804
  };
2089
1805
  };
2090
- 500: {
2091
- error: string;
2092
- message: string;
2093
- details?: {
2094
- [key: string]: unknown;
2095
- };
2096
- };
2097
- };
2098
- type PutV1ProvidersByIdError = PutV1ProvidersByIdErrors[keyof PutV1ProvidersByIdErrors];
2099
- type PutV1ProvidersByIdResponses = {
2100
- 200: {
2101
- id: string;
2102
- tenantId: string;
2103
- providerId: string;
2104
- providerName: string | null;
2105
- tenantName: string | null;
2106
- priority: number;
2107
- apiCredentials: {
2108
- [key: string]: unknown;
2109
- } | null;
2110
- customConfiguration: {
2111
- [key: string]: unknown;
2112
- } | null;
2113
- enabledServices: Array<string> | null;
2114
- disabledServices: Array<string> | null;
2115
- customEndpoints: {
2116
- [key: string]: unknown;
2117
- } | null;
2118
- usageQuota: {
2119
- [key: string]: unknown;
2120
- } | null;
2121
- billingConfiguration: {
2122
- [key: string]: unknown;
2123
- } | null;
2124
- isPreferred: boolean;
2125
- isBackup: boolean;
2126
- autoFailover: boolean;
2127
- status: string;
2128
- currentUsage: {
2129
- [key: string]: unknown;
2130
- } | null;
2131
- lastUsedAt: string | null;
2132
- lastTestAt: string | null;
2133
- testResults: {
2134
- [key: string]: unknown;
2135
- } | null;
2136
- createdAt: string;
2137
- updatedAt: string;
2138
- };
2139
- };
2140
- type PutV1ProvidersByIdResponse = PutV1ProvidersByIdResponses[keyof PutV1ProvidersByIdResponses];
2141
- type GetV1ProvidersServicesDiscoverData = {
2142
- body?: never;
2143
- path?: never;
2144
- query?: {
2145
- serviceCategory?: string;
2146
- countryCode?: string;
2147
- requiresPreferred?: boolean;
2148
- maxResponseTime?: number;
2149
- minSuccessRate?: number;
2150
- includeBackup?: boolean;
2151
- };
2152
- url: '/v1/providers/services/discover';
2153
- };
2154
- type GetV1ProvidersServicesDiscoverErrors = {
2155
- 400: {
2156
- error: string;
2157
- message: string;
2158
- details?: {
2159
- [key: string]: unknown;
2160
- };
2161
- };
2162
- 403: {
1806
+ 409: {
2163
1807
  error: string;
2164
1808
  message: string;
2165
1809
  details?: {
@@ -2174,38 +1818,38 @@ type GetV1ProvidersServicesDiscoverErrors = {
2174
1818
  };
2175
1819
  };
2176
1820
  };
2177
- type GetV1ProvidersServicesDiscoverError = GetV1ProvidersServicesDiscoverErrors[keyof GetV1ProvidersServicesDiscoverErrors];
2178
- type GetV1ProvidersServicesDiscoverResponses = {
1821
+ type PatchV1SubscriptionsBySubscriptionIdError = PatchV1SubscriptionsBySubscriptionIdErrors[keyof PatchV1SubscriptionsBySubscriptionIdErrors];
1822
+ type PatchV1SubscriptionsBySubscriptionIdResponses = {
2179
1823
  200: {
2180
- data: Array<{
2181
- providerId: string;
2182
- providerName: string;
2183
- serviceId: string;
2184
- serviceName: string;
2185
- category: string;
2186
- available: boolean;
2187
- responseTime: number | null;
2188
- successRate: string | null;
2189
- coverageAreas: Array<string>;
2190
- features: {
2191
- [key: string]: unknown;
2192
- };
2193
- }>;
1824
+ tenantId: string;
1825
+ id: string;
1826
+ userId: string;
1827
+ tenantSubscriptionId: string;
1828
+ tenantSubscriptionName?: string;
1829
+ globalSubscriptionTypeName?: string;
1830
+ isPremium: boolean;
1831
+ status: string;
1832
+ createdAt: string;
1833
+ updatedAt: string;
1834
+ startDate?: string;
1835
+ endDate?: string;
1836
+ amount?: string;
1837
+ billingCycle?: string;
2194
1838
  };
2195
1839
  };
2196
- type GetV1ProvidersServicesDiscoverResponse = GetV1ProvidersServicesDiscoverResponses[keyof GetV1ProvidersServicesDiscoverResponses];
2197
- type PostV1ProvidersByProviderIdTestData = {
1840
+ type PatchV1SubscriptionsBySubscriptionIdResponse = PatchV1SubscriptionsBySubscriptionIdResponses[keyof PatchV1SubscriptionsBySubscriptionIdResponses];
1841
+ type PutV1SubscriptionsBySubscriptionIdSwitchData = {
2198
1842
  body: {
2199
- testType?: string;
2200
- timeout?: number;
1843
+ targetIsPremium: boolean;
1844
+ userId?: string;
2201
1845
  };
2202
1846
  path: {
2203
- providerId: string;
1847
+ subscriptionId: string;
2204
1848
  };
2205
1849
  query?: never;
2206
- url: '/v1/providers/{providerId}/test';
1850
+ url: '/v1/subscriptions/{subscriptionId}/switch';
2207
1851
  };
2208
- type PostV1ProvidersByProviderIdTestErrors = {
1852
+ type PutV1SubscriptionsBySubscriptionIdSwitchErrors = {
2209
1853
  400: {
2210
1854
  error: string;
2211
1855
  message: string;
@@ -2227,6 +1871,13 @@ type PostV1ProvidersByProviderIdTestErrors = {
2227
1871
  [key: string]: unknown;
2228
1872
  };
2229
1873
  };
1874
+ 409: {
1875
+ error: string;
1876
+ message: string;
1877
+ details?: {
1878
+ [key: string]: unknown;
1879
+ };
1880
+ };
2230
1881
  500: {
2231
1882
  error: string;
2232
1883
  message: string;
@@ -2235,16 +1886,28 @@ type PostV1ProvidersByProviderIdTestErrors = {
2235
1886
  };
2236
1887
  };
2237
1888
  };
2238
- type PostV1ProvidersByProviderIdTestError = PostV1ProvidersByProviderIdTestErrors[keyof PostV1ProvidersByProviderIdTestErrors];
2239
- type PostV1ProvidersByProviderIdTestResponses = {
1889
+ type PutV1SubscriptionsBySubscriptionIdSwitchError = PutV1SubscriptionsBySubscriptionIdSwitchErrors[keyof PutV1SubscriptionsBySubscriptionIdSwitchErrors];
1890
+ type PutV1SubscriptionsBySubscriptionIdSwitchResponses = {
2240
1891
  200: {
2241
- success: boolean;
2242
- responseTime?: number;
2243
- error?: string;
2244
- timestamp: string;
1892
+ tenantId: string;
1893
+ id: string;
1894
+ userId: string;
1895
+ tenantSubscriptionId: string;
1896
+ tenantSubscriptionName?: string;
1897
+ globalSubscriptionTypeName?: string;
1898
+ isPremium: boolean;
1899
+ status: string;
1900
+ createdAt: string;
1901
+ updatedAt: string;
1902
+ startDate?: string;
1903
+ endDate?: string;
1904
+ amount?: string;
1905
+ billingCycle?: string;
1906
+ previousSubscriptionId: string;
1907
+ scheduledSwitchDate?: string;
2245
1908
  };
2246
1909
  };
2247
- type PostV1ProvidersByProviderIdTestResponse = PostV1ProvidersByProviderIdTestResponses[keyof PostV1ProvidersByProviderIdTestResponses];
1910
+ type PutV1SubscriptionsBySubscriptionIdSwitchResponse = PutV1SubscriptionsBySubscriptionIdSwitchResponses[keyof PutV1SubscriptionsBySubscriptionIdSwitchResponses];
2248
1911
  type GetV1PanicData = {
2249
1912
  body?: never;
2250
1913
  path?: never;
@@ -2289,41 +1952,154 @@ type GetV1PanicResponses = {
2289
1952
  200: {
2290
1953
  success: boolean;
2291
1954
  data: Array<{
2292
- id: string;
2293
- tenantId: string;
2294
- userId: string;
2295
- panicType: string;
2296
- status: string;
2297
- latitude: string | null;
2298
- longitude: string | null;
2299
- locationAccuracy: number | null;
2300
- locationAddress: string | null;
2301
- userMessage: string | null;
2302
- metadata: string | null;
2303
- triggeredAt: string;
2304
- acknowledgedAt: string | null;
2305
- resolvedAt: string | null;
2306
- cancelledAt: string | null;
2307
- cancelledByUser: boolean | null;
2308
- cancellationReason: string | null;
2309
- externalPanicId: string | null;
2310
- createdAt: string;
2311
- updatedAt: string;
2312
- locationUpdates?: Array<{
1955
+ panic: {
1956
+ /**
1957
+ * Unique panic identifier.
1958
+ */
2313
1959
  id: string;
2314
- panicId: string;
2315
- latitude: string;
2316
- longitude: string;
2317
- accuracy: number | null;
2318
- altitude: string | null;
2319
- speed: string | null;
2320
- heading: string | null;
2321
- address: string | null;
2322
- batteryLevel: number | null;
2323
- signalStrength: number | null;
2324
- recordedAt: string;
2325
- createdAt: string;
2326
- }>;
1960
+ /**
1961
+ * Identifier of the user who triggered the panic.
1962
+ */
1963
+ userId: string;
1964
+ /**
1965
+ * Panic category selected at panic creation.
1966
+ */
1967
+ panicType: string;
1968
+ /**
1969
+ * Current lifecycle status of the panic.
1970
+ */
1971
+ status: string;
1972
+ /**
1973
+ * Last known panic location details.
1974
+ */
1975
+ location: {
1976
+ /**
1977
+ * Latest known panic latitude (WGS84).
1978
+ */
1979
+ latitude: number | null;
1980
+ /**
1981
+ * Latest known panic longitude (WGS84).
1982
+ */
1983
+ longitude: number | null;
1984
+ /**
1985
+ * Latest known location accuracy in meters.
1986
+ */
1987
+ accuracy: number | null;
1988
+ /**
1989
+ * Resolved human-readable location address.
1990
+ */
1991
+ address: string | null;
1992
+ };
1993
+ /**
1994
+ * Cancellation state and reason details.
1995
+ */
1996
+ cancellation: {
1997
+ /**
1998
+ * Indicates whether the panic has been cancelled.
1999
+ */
2000
+ cancelled: boolean;
2001
+ /**
2002
+ * Indicates whether cancellation was initiated by the user.
2003
+ */
2004
+ cancelledByUser: boolean;
2005
+ /**
2006
+ * User-provided or system-provided cancellation reason.
2007
+ */
2008
+ reason: string | null;
2009
+ };
2010
+ };
2011
+ /**
2012
+ * Assigned responder details for the panic lifecycle.
2013
+ */
2014
+ responder: {
2015
+ /**
2016
+ * Current responder lifecycle state.
2017
+ */
2018
+ state: string;
2019
+ /**
2020
+ * Assigned responder display name.
2021
+ */
2022
+ name: string | null;
2023
+ /**
2024
+ * Estimated responder arrival time in minutes.
2025
+ */
2026
+ etaMinutes: number | null;
2027
+ /**
2028
+ * Responder contact detail such as phone number.
2029
+ */
2030
+ contact: string | null;
2031
+ /**
2032
+ * Vehicle details for the assigned responder.
2033
+ */
2034
+ vehicle: {
2035
+ /**
2036
+ * Responder vehicle registration plate number.
2037
+ */
2038
+ registration: string | null;
2039
+ /**
2040
+ * Responder vehicle manufacturer.
2041
+ */
2042
+ make: string | null;
2043
+ /**
2044
+ * Responder vehicle model.
2045
+ */
2046
+ model: string | null;
2047
+ /**
2048
+ * Responder vehicle color.
2049
+ */
2050
+ color: string | null;
2051
+ /**
2052
+ * Responder vehicle classification (for example car or bike).
2053
+ */
2054
+ type: string | null;
2055
+ } | null;
2056
+ } | null;
2057
+ /**
2058
+ * Key panic lifecycle timestamps for UI timeline rendering.
2059
+ */
2060
+ timeline: {
2061
+ /**
2062
+ * Timestamp when the panic was triggered.
2063
+ */
2064
+ triggeredAt: string;
2065
+ /**
2066
+ * Timestamp when the panic was acknowledged.
2067
+ */
2068
+ acknowledgedAt: string | null;
2069
+ /**
2070
+ * Timestamp when a responder was dispatched.
2071
+ */
2072
+ dispatchedAt: string | null;
2073
+ /**
2074
+ * Timestamp when the responder arrived on scene.
2075
+ */
2076
+ arrivedAt: string | null;
2077
+ /**
2078
+ * Timestamp when the panic response was completed.
2079
+ */
2080
+ completedAt: string | null;
2081
+ /**
2082
+ * Timestamp when the panic was cancelled.
2083
+ */
2084
+ cancelledAt: string | null;
2085
+ /**
2086
+ * Timestamp when the panic record was last updated.
2087
+ */
2088
+ updatedAt: string;
2089
+ };
2090
+ /**
2091
+ * Client follow-up actions for polling and streaming.
2092
+ */
2093
+ next: {
2094
+ /**
2095
+ * Relative URL to poll for current panic status.
2096
+ */
2097
+ statusUrl: string;
2098
+ /**
2099
+ * Relative URL for server-sent panic status streaming.
2100
+ */
2101
+ streamUrl: string;
2102
+ };
2327
2103
  }>;
2328
2104
  pagination: {
2329
2105
  limit: number;
@@ -2350,42 +2126,158 @@ type PostV1PanicData = {
2350
2126
  type PostV1PanicResponses = {
2351
2127
  201: {
2352
2128
  success: boolean;
2129
+ /**
2130
+ * Unified public panic response. Shape is stable across all lifecycle stages; only field values change as the panic progresses.
2131
+ */
2353
2132
  data: {
2354
- id: string;
2355
- tenantId: string;
2356
- userId: string;
2357
- panicType: string;
2358
- status: string;
2359
- latitude: string | null;
2360
- longitude: string | null;
2361
- locationAccuracy: number | null;
2362
- locationAddress: string | null;
2363
- userMessage: string | null;
2364
- metadata: string | null;
2365
- triggeredAt: string;
2366
- acknowledgedAt: string | null;
2367
- resolvedAt: string | null;
2368
- cancelledAt: string | null;
2369
- cancelledByUser: boolean | null;
2370
- cancellationReason: string | null;
2371
- externalPanicId: string | null;
2372
- createdAt: string;
2373
- updatedAt: string;
2374
- locationUpdates?: Array<{
2133
+ panic: {
2134
+ /**
2135
+ * Unique panic identifier.
2136
+ */
2375
2137
  id: string;
2376
- panicId: string;
2377
- latitude: string;
2378
- longitude: string;
2379
- accuracy: number | null;
2380
- altitude: string | null;
2381
- speed: string | null;
2382
- heading: string | null;
2383
- address: string | null;
2384
- batteryLevel: number | null;
2385
- signalStrength: number | null;
2386
- recordedAt: string;
2387
- createdAt: string;
2388
- }>;
2138
+ /**
2139
+ * Identifier of the user who triggered the panic.
2140
+ */
2141
+ userId: string;
2142
+ /**
2143
+ * Panic category selected at panic creation.
2144
+ */
2145
+ panicType: string;
2146
+ /**
2147
+ * Current lifecycle status of the panic.
2148
+ */
2149
+ status: string;
2150
+ /**
2151
+ * Last known panic location details.
2152
+ */
2153
+ location: {
2154
+ /**
2155
+ * Latest known panic latitude (WGS84).
2156
+ */
2157
+ latitude: number | null;
2158
+ /**
2159
+ * Latest known panic longitude (WGS84).
2160
+ */
2161
+ longitude: number | null;
2162
+ /**
2163
+ * Latest known location accuracy in meters.
2164
+ */
2165
+ accuracy: number | null;
2166
+ /**
2167
+ * Resolved human-readable location address.
2168
+ */
2169
+ address: string | null;
2170
+ };
2171
+ /**
2172
+ * Cancellation state and reason details.
2173
+ */
2174
+ cancellation: {
2175
+ /**
2176
+ * Indicates whether the panic has been cancelled.
2177
+ */
2178
+ cancelled: boolean;
2179
+ /**
2180
+ * Indicates whether cancellation was initiated by the user.
2181
+ */
2182
+ cancelledByUser: boolean;
2183
+ /**
2184
+ * User-provided or system-provided cancellation reason.
2185
+ */
2186
+ reason: string | null;
2187
+ };
2188
+ };
2189
+ /**
2190
+ * Assigned responder details for the panic lifecycle.
2191
+ */
2192
+ responder: {
2193
+ /**
2194
+ * Current responder lifecycle state.
2195
+ */
2196
+ state: string;
2197
+ /**
2198
+ * Assigned responder display name.
2199
+ */
2200
+ name: string | null;
2201
+ /**
2202
+ * Estimated responder arrival time in minutes.
2203
+ */
2204
+ etaMinutes: number | null;
2205
+ /**
2206
+ * Responder contact detail such as phone number.
2207
+ */
2208
+ contact: string | null;
2209
+ /**
2210
+ * Vehicle details for the assigned responder.
2211
+ */
2212
+ vehicle: {
2213
+ /**
2214
+ * Responder vehicle registration plate number.
2215
+ */
2216
+ registration: string | null;
2217
+ /**
2218
+ * Responder vehicle manufacturer.
2219
+ */
2220
+ make: string | null;
2221
+ /**
2222
+ * Responder vehicle model.
2223
+ */
2224
+ model: string | null;
2225
+ /**
2226
+ * Responder vehicle color.
2227
+ */
2228
+ color: string | null;
2229
+ /**
2230
+ * Responder vehicle classification (for example car or bike).
2231
+ */
2232
+ type: string | null;
2233
+ } | null;
2234
+ } | null;
2235
+ /**
2236
+ * Key panic lifecycle timestamps for UI timeline rendering.
2237
+ */
2238
+ timeline: {
2239
+ /**
2240
+ * Timestamp when the panic was triggered.
2241
+ */
2242
+ triggeredAt: string;
2243
+ /**
2244
+ * Timestamp when the panic was acknowledged.
2245
+ */
2246
+ acknowledgedAt: string | null;
2247
+ /**
2248
+ * Timestamp when a responder was dispatched.
2249
+ */
2250
+ dispatchedAt: string | null;
2251
+ /**
2252
+ * Timestamp when the responder arrived on scene.
2253
+ */
2254
+ arrivedAt: string | null;
2255
+ /**
2256
+ * Timestamp when the panic response was completed.
2257
+ */
2258
+ completedAt: string | null;
2259
+ /**
2260
+ * Timestamp when the panic was cancelled.
2261
+ */
2262
+ cancelledAt: string | null;
2263
+ /**
2264
+ * Timestamp when the panic record was last updated.
2265
+ */
2266
+ updatedAt: string;
2267
+ };
2268
+ /**
2269
+ * Client follow-up actions for polling and streaming.
2270
+ */
2271
+ next: {
2272
+ /**
2273
+ * Relative URL to poll for current panic status.
2274
+ */
2275
+ statusUrl: string;
2276
+ /**
2277
+ * Relative URL for server-sent panic status streaming.
2278
+ */
2279
+ streamUrl: string;
2280
+ };
2389
2281
  };
2390
2282
  message: string;
2391
2283
  };
@@ -2429,46 +2321,173 @@ type GetV1PanicByPanicIdError = GetV1PanicByPanicIdErrors[keyof GetV1PanicByPani
2429
2321
  type GetV1PanicByPanicIdResponses = {
2430
2322
  200: {
2431
2323
  success: boolean;
2324
+ /**
2325
+ * Unified public panic response. Shape is stable across all lifecycle stages; only field values change as the panic progresses.
2326
+ */
2432
2327
  data: {
2433
- id: string;
2434
- tenantId: string;
2435
- userId: string;
2436
- panicType: string;
2437
- status: string;
2438
- latitude: string | null;
2439
- longitude: string | null;
2440
- locationAccuracy: number | null;
2441
- locationAddress: string | null;
2442
- userMessage: string | null;
2443
- metadata: string | null;
2444
- triggeredAt: string;
2445
- acknowledgedAt: string | null;
2446
- resolvedAt: string | null;
2447
- cancelledAt: string | null;
2448
- cancelledByUser: boolean | null;
2449
- cancellationReason: string | null;
2450
- externalPanicId: string | null;
2451
- createdAt: string;
2452
- updatedAt: string;
2453
- locationUpdates?: Array<{
2328
+ panic: {
2329
+ /**
2330
+ * Unique panic identifier.
2331
+ */
2454
2332
  id: string;
2455
- panicId: string;
2456
- latitude: string;
2457
- longitude: string;
2458
- accuracy: number | null;
2459
- altitude: string | null;
2460
- speed: string | null;
2461
- heading: string | null;
2462
- address: string | null;
2463
- batteryLevel: number | null;
2464
- signalStrength: number | null;
2465
- recordedAt: string;
2466
- createdAt: string;
2467
- }>;
2333
+ /**
2334
+ * Identifier of the user who triggered the panic.
2335
+ */
2336
+ userId: string;
2337
+ /**
2338
+ * Panic category selected at panic creation.
2339
+ */
2340
+ panicType: string;
2341
+ /**
2342
+ * Current lifecycle status of the panic.
2343
+ */
2344
+ status: string;
2345
+ /**
2346
+ * Last known panic location details.
2347
+ */
2348
+ location: {
2349
+ /**
2350
+ * Latest known panic latitude (WGS84).
2351
+ */
2352
+ latitude: number | null;
2353
+ /**
2354
+ * Latest known panic longitude (WGS84).
2355
+ */
2356
+ longitude: number | null;
2357
+ /**
2358
+ * Latest known location accuracy in meters.
2359
+ */
2360
+ accuracy: number | null;
2361
+ /**
2362
+ * Resolved human-readable location address.
2363
+ */
2364
+ address: string | null;
2365
+ };
2366
+ /**
2367
+ * Cancellation state and reason details.
2368
+ */
2369
+ cancellation: {
2370
+ /**
2371
+ * Indicates whether the panic has been cancelled.
2372
+ */
2373
+ cancelled: boolean;
2374
+ /**
2375
+ * Indicates whether cancellation was initiated by the user.
2376
+ */
2377
+ cancelledByUser: boolean;
2378
+ /**
2379
+ * User-provided or system-provided cancellation reason.
2380
+ */
2381
+ reason: string | null;
2382
+ };
2383
+ };
2384
+ /**
2385
+ * Assigned responder details for the panic lifecycle.
2386
+ */
2387
+ responder: {
2388
+ /**
2389
+ * Current responder lifecycle state.
2390
+ */
2391
+ state: string;
2392
+ /**
2393
+ * Assigned responder display name.
2394
+ */
2395
+ name: string | null;
2396
+ /**
2397
+ * Estimated responder arrival time in minutes.
2398
+ */
2399
+ etaMinutes: number | null;
2400
+ /**
2401
+ * Responder contact detail such as phone number.
2402
+ */
2403
+ contact: string | null;
2404
+ /**
2405
+ * Vehicle details for the assigned responder.
2406
+ */
2407
+ vehicle: {
2408
+ /**
2409
+ * Responder vehicle registration plate number.
2410
+ */
2411
+ registration: string | null;
2412
+ /**
2413
+ * Responder vehicle manufacturer.
2414
+ */
2415
+ make: string | null;
2416
+ /**
2417
+ * Responder vehicle model.
2418
+ */
2419
+ model: string | null;
2420
+ /**
2421
+ * Responder vehicle color.
2422
+ */
2423
+ color: string | null;
2424
+ /**
2425
+ * Responder vehicle classification (for example car or bike).
2426
+ */
2427
+ type: string | null;
2428
+ } | null;
2429
+ } | null;
2430
+ /**
2431
+ * Key panic lifecycle timestamps for UI timeline rendering.
2432
+ */
2433
+ timeline: {
2434
+ /**
2435
+ * Timestamp when the panic was triggered.
2436
+ */
2437
+ triggeredAt: string;
2438
+ /**
2439
+ * Timestamp when the panic was acknowledged.
2440
+ */
2441
+ acknowledgedAt: string | null;
2442
+ /**
2443
+ * Timestamp when a responder was dispatched.
2444
+ */
2445
+ dispatchedAt: string | null;
2446
+ /**
2447
+ * Timestamp when the responder arrived on scene.
2448
+ */
2449
+ arrivedAt: string | null;
2450
+ /**
2451
+ * Timestamp when the panic response was completed.
2452
+ */
2453
+ completedAt: string | null;
2454
+ /**
2455
+ * Timestamp when the panic was cancelled.
2456
+ */
2457
+ cancelledAt: string | null;
2458
+ /**
2459
+ * Timestamp when the panic record was last updated.
2460
+ */
2461
+ updatedAt: string;
2462
+ };
2463
+ /**
2464
+ * Client follow-up actions for polling and streaming.
2465
+ */
2466
+ next: {
2467
+ /**
2468
+ * Relative URL to poll for current panic status.
2469
+ */
2470
+ statusUrl: string;
2471
+ /**
2472
+ * Relative URL for server-sent panic status streaming.
2473
+ */
2474
+ streamUrl: string;
2475
+ };
2468
2476
  };
2469
2477
  };
2470
2478
  };
2471
2479
  type GetV1PanicByPanicIdResponse = GetV1PanicByPanicIdResponses[keyof GetV1PanicByPanicIdResponses];
2480
+ type GetV1PanicByPanicIdStreamData = {
2481
+ body?: never;
2482
+ path: {
2483
+ panicId: string;
2484
+ };
2485
+ query?: never;
2486
+ url: '/v1/panic/{panicId}/stream';
2487
+ };
2488
+ type GetV1PanicByPanicIdStreamResponses = {
2489
+ 200: unknown;
2490
+ };
2472
2491
  type PutV1PanicByPanicIdLocationData = {
2473
2492
  body: {
2474
2493
  userId: string;
@@ -2580,42 +2599,158 @@ type PutV1PanicByPanicIdCancelError = PutV1PanicByPanicIdCancelErrors[keyof PutV
2580
2599
  type PutV1PanicByPanicIdCancelResponses = {
2581
2600
  200: {
2582
2601
  success: boolean;
2602
+ /**
2603
+ * Unified public panic response. Shape is stable across all lifecycle stages; only field values change as the panic progresses.
2604
+ */
2583
2605
  data: {
2584
- id: string;
2585
- tenantId: string;
2586
- userId: string;
2587
- panicType: string;
2588
- status: string;
2589
- latitude: string | null;
2590
- longitude: string | null;
2591
- locationAccuracy: number | null;
2592
- locationAddress: string | null;
2593
- userMessage: string | null;
2594
- metadata: string | null;
2595
- triggeredAt: string;
2596
- acknowledgedAt: string | null;
2597
- resolvedAt: string | null;
2598
- cancelledAt: string | null;
2599
- cancelledByUser: boolean | null;
2600
- cancellationReason: string | null;
2601
- externalPanicId: string | null;
2602
- createdAt: string;
2603
- updatedAt: string;
2604
- locationUpdates?: Array<{
2606
+ panic: {
2607
+ /**
2608
+ * Unique panic identifier.
2609
+ */
2605
2610
  id: string;
2606
- panicId: string;
2607
- latitude: string;
2608
- longitude: string;
2609
- accuracy: number | null;
2610
- altitude: string | null;
2611
- speed: string | null;
2612
- heading: string | null;
2613
- address: string | null;
2614
- batteryLevel: number | null;
2615
- signalStrength: number | null;
2616
- recordedAt: string;
2617
- createdAt: string;
2618
- }>;
2611
+ /**
2612
+ * Identifier of the user who triggered the panic.
2613
+ */
2614
+ userId: string;
2615
+ /**
2616
+ * Panic category selected at panic creation.
2617
+ */
2618
+ panicType: string;
2619
+ /**
2620
+ * Current lifecycle status of the panic.
2621
+ */
2622
+ status: string;
2623
+ /**
2624
+ * Last known panic location details.
2625
+ */
2626
+ location: {
2627
+ /**
2628
+ * Latest known panic latitude (WGS84).
2629
+ */
2630
+ latitude: number | null;
2631
+ /**
2632
+ * Latest known panic longitude (WGS84).
2633
+ */
2634
+ longitude: number | null;
2635
+ /**
2636
+ * Latest known location accuracy in meters.
2637
+ */
2638
+ accuracy: number | null;
2639
+ /**
2640
+ * Resolved human-readable location address.
2641
+ */
2642
+ address: string | null;
2643
+ };
2644
+ /**
2645
+ * Cancellation state and reason details.
2646
+ */
2647
+ cancellation: {
2648
+ /**
2649
+ * Indicates whether the panic has been cancelled.
2650
+ */
2651
+ cancelled: boolean;
2652
+ /**
2653
+ * Indicates whether cancellation was initiated by the user.
2654
+ */
2655
+ cancelledByUser: boolean;
2656
+ /**
2657
+ * User-provided or system-provided cancellation reason.
2658
+ */
2659
+ reason: string | null;
2660
+ };
2661
+ };
2662
+ /**
2663
+ * Assigned responder details for the panic lifecycle.
2664
+ */
2665
+ responder: {
2666
+ /**
2667
+ * Current responder lifecycle state.
2668
+ */
2669
+ state: string;
2670
+ /**
2671
+ * Assigned responder display name.
2672
+ */
2673
+ name: string | null;
2674
+ /**
2675
+ * Estimated responder arrival time in minutes.
2676
+ */
2677
+ etaMinutes: number | null;
2678
+ /**
2679
+ * Responder contact detail such as phone number.
2680
+ */
2681
+ contact: string | null;
2682
+ /**
2683
+ * Vehicle details for the assigned responder.
2684
+ */
2685
+ vehicle: {
2686
+ /**
2687
+ * Responder vehicle registration plate number.
2688
+ */
2689
+ registration: string | null;
2690
+ /**
2691
+ * Responder vehicle manufacturer.
2692
+ */
2693
+ make: string | null;
2694
+ /**
2695
+ * Responder vehicle model.
2696
+ */
2697
+ model: string | null;
2698
+ /**
2699
+ * Responder vehicle color.
2700
+ */
2701
+ color: string | null;
2702
+ /**
2703
+ * Responder vehicle classification (for example car or bike).
2704
+ */
2705
+ type: string | null;
2706
+ } | null;
2707
+ } | null;
2708
+ /**
2709
+ * Key panic lifecycle timestamps for UI timeline rendering.
2710
+ */
2711
+ timeline: {
2712
+ /**
2713
+ * Timestamp when the panic was triggered.
2714
+ */
2715
+ triggeredAt: string;
2716
+ /**
2717
+ * Timestamp when the panic was acknowledged.
2718
+ */
2719
+ acknowledgedAt: string | null;
2720
+ /**
2721
+ * Timestamp when a responder was dispatched.
2722
+ */
2723
+ dispatchedAt: string | null;
2724
+ /**
2725
+ * Timestamp when the responder arrived on scene.
2726
+ */
2727
+ arrivedAt: string | null;
2728
+ /**
2729
+ * Timestamp when the panic response was completed.
2730
+ */
2731
+ completedAt: string | null;
2732
+ /**
2733
+ * Timestamp when the panic was cancelled.
2734
+ */
2735
+ cancelledAt: string | null;
2736
+ /**
2737
+ * Timestamp when the panic record was last updated.
2738
+ */
2739
+ updatedAt: string;
2740
+ };
2741
+ /**
2742
+ * Client follow-up actions for polling and streaming.
2743
+ */
2744
+ next: {
2745
+ /**
2746
+ * Relative URL to poll for current panic status.
2747
+ */
2748
+ statusUrl: string;
2749
+ /**
2750
+ * Relative URL for server-sent panic status streaming.
2751
+ */
2752
+ streamUrl: string;
2753
+ };
2619
2754
  };
2620
2755
  message: string;
2621
2756
  };
@@ -3259,6 +3394,7 @@ type PostV1LocationsSafetyCheckData = {
3259
3394
  password?: string;
3260
3395
  tenant?: string;
3261
3396
  pushProvider?: string;
3397
+ [key: string]: unknown | (string | null) | number | string | unknown | undefined;
3262
3398
  };
3263
3399
  path?: never;
3264
3400
  query?: never;
@@ -3332,6 +3468,8 @@ type PostV1BannerData = {
3332
3468
  latitude: number;
3333
3469
  longitude: number;
3334
3470
  days?: number;
3471
+ radius?: number;
3472
+ [key: string]: unknown | number | undefined;
3335
3473
  };
3336
3474
  path?: never;
3337
3475
  query?: never;
@@ -3416,6 +3554,9 @@ type GetV1CrimeCategoriesErrors = {
3416
3554
  500: {
3417
3555
  error: string;
3418
3556
  message: string;
3557
+ details?: {
3558
+ [key: string]: unknown;
3559
+ };
3419
3560
  };
3420
3561
  };
3421
3562
  type GetV1CrimeCategoriesError = GetV1CrimeCategoriesErrors[keyof GetV1CrimeCategoriesErrors];
@@ -3443,6 +3584,9 @@ type PostV1CrimeCategoriesErrors = {
3443
3584
  401: {
3444
3585
  error: string;
3445
3586
  message: string;
3587
+ details?: {
3588
+ [key: string]: unknown;
3589
+ };
3446
3590
  };
3447
3591
  409: {
3448
3592
  error: string;
@@ -3451,6 +3595,9 @@ type PostV1CrimeCategoriesErrors = {
3451
3595
  500: {
3452
3596
  error: string;
3453
3597
  message: string;
3598
+ details?: {
3599
+ [key: string]: unknown;
3600
+ };
3454
3601
  };
3455
3602
  };
3456
3603
  type PostV1CrimeCategoriesError = PostV1CrimeCategoriesErrors[keyof PostV1CrimeCategoriesErrors];
@@ -3469,9 +3616,29 @@ type GetV1CrimeCategoriesWithTypesData = {
3469
3616
  query?: never;
3470
3617
  url: '/v1/crime-categories/withTypes';
3471
3618
  };
3619
+ type GetV1CrimeCategoriesWithTypesErrors = {
3620
+ 500: {
3621
+ error: string;
3622
+ message: string;
3623
+ details?: {
3624
+ [key: string]: unknown;
3625
+ };
3626
+ };
3627
+ };
3628
+ type GetV1CrimeCategoriesWithTypesError = GetV1CrimeCategoriesWithTypesErrors[keyof GetV1CrimeCategoriesWithTypesErrors];
3472
3629
  type GetV1CrimeCategoriesWithTypesResponses = {
3473
- 200: unknown;
3630
+ 200: Array<{
3631
+ categoryId: string;
3632
+ categoryName: string;
3633
+ categorySeverity: string;
3634
+ types: Array<{
3635
+ typeId: string;
3636
+ typeName: string;
3637
+ typeSeverity: string;
3638
+ }>;
3639
+ }>;
3474
3640
  };
3641
+ type GetV1CrimeCategoriesWithTypesResponse = GetV1CrimeCategoriesWithTypesResponses[keyof GetV1CrimeCategoriesWithTypesResponses];
3475
3642
  type DeleteV1CrimeCategoriesByCategoryIdData = {
3476
3643
  body?: never;
3477
3644
  path: {
@@ -3484,6 +3651,9 @@ type DeleteV1CrimeCategoriesByCategoryIdErrors = {
3484
3651
  401: {
3485
3652
  error: string;
3486
3653
  message: string;
3654
+ details?: {
3655
+ [key: string]: unknown;
3656
+ };
3487
3657
  };
3488
3658
  404: {
3489
3659
  error: string;
@@ -3492,6 +3662,9 @@ type DeleteV1CrimeCategoriesByCategoryIdErrors = {
3492
3662
  500: {
3493
3663
  error: string;
3494
3664
  message: string;
3665
+ details?: {
3666
+ [key: string]: unknown;
3667
+ };
3495
3668
  };
3496
3669
  };
3497
3670
  type DeleteV1CrimeCategoriesByCategoryIdError = DeleteV1CrimeCategoriesByCategoryIdErrors[keyof DeleteV1CrimeCategoriesByCategoryIdErrors];
@@ -3517,6 +3690,9 @@ type GetV1CrimeCategoriesByCategoryIdErrors = {
3517
3690
  500: {
3518
3691
  error: string;
3519
3692
  message: string;
3693
+ details?: {
3694
+ [key: string]: unknown;
3695
+ };
3520
3696
  };
3521
3697
  };
3522
3698
  type GetV1CrimeCategoriesByCategoryIdError = GetV1CrimeCategoriesByCategoryIdErrors[keyof GetV1CrimeCategoriesByCategoryIdErrors];
@@ -3543,6 +3719,9 @@ type PutV1CrimeCategoriesByCategoryIdErrors = {
3543
3719
  401: {
3544
3720
  error: string;
3545
3721
  message: string;
3722
+ details?: {
3723
+ [key: string]: unknown;
3724
+ };
3546
3725
  };
3547
3726
  404: {
3548
3727
  error: string;
@@ -3555,6 +3734,9 @@ type PutV1CrimeCategoriesByCategoryIdErrors = {
3555
3734
  500: {
3556
3735
  error: string;
3557
3736
  message: string;
3737
+ details?: {
3738
+ [key: string]: unknown;
3739
+ };
3558
3740
  };
3559
3741
  };
3560
3742
  type PutV1CrimeCategoriesByCategoryIdError = PutV1CrimeCategoriesByCategoryIdErrors[keyof PutV1CrimeCategoriesByCategoryIdErrors];
@@ -3577,6 +3759,9 @@ type GetV1CrimeTypesErrors = {
3577
3759
  500: {
3578
3760
  error: string;
3579
3761
  message: string;
3762
+ details?: {
3763
+ [key: string]: unknown;
3764
+ };
3580
3765
  };
3581
3766
  };
3582
3767
  type GetV1CrimeTypesError = GetV1CrimeTypesErrors[keyof GetV1CrimeTypesErrors];
@@ -3610,6 +3795,9 @@ type PostV1CrimeTypesErrors = {
3610
3795
  401: {
3611
3796
  error: string;
3612
3797
  message: string;
3798
+ details?: {
3799
+ [key: string]: unknown;
3800
+ };
3613
3801
  };
3614
3802
  404: {
3615
3803
  error: string;
@@ -3622,6 +3810,9 @@ type PostV1CrimeTypesErrors = {
3622
3810
  500: {
3623
3811
  error: string;
3624
3812
  message: string;
3813
+ details?: {
3814
+ [key: string]: unknown;
3815
+ };
3625
3816
  };
3626
3817
  };
3627
3818
  type PostV1CrimeTypesError = PostV1CrimeTypesErrors[keyof PostV1CrimeTypesErrors];
@@ -3651,6 +3842,9 @@ type GetV1CrimeTypesCategoryByCategoryIdErrors = {
3651
3842
  500: {
3652
3843
  error: string;
3653
3844
  message: string;
3845
+ details?: {
3846
+ [key: string]: unknown;
3847
+ };
3654
3848
  };
3655
3849
  };
3656
3850
  type GetV1CrimeTypesCategoryByCategoryIdError = GetV1CrimeTypesCategoryByCategoryIdErrors[keyof GetV1CrimeTypesCategoryByCategoryIdErrors];
@@ -3679,6 +3873,9 @@ type DeleteV1CrimeTypesByTypeIdErrors = {
3679
3873
  401: {
3680
3874
  error: string;
3681
3875
  message: string;
3876
+ details?: {
3877
+ [key: string]: unknown;
3878
+ };
3682
3879
  };
3683
3880
  404: {
3684
3881
  error: string;
@@ -3687,6 +3884,9 @@ type DeleteV1CrimeTypesByTypeIdErrors = {
3687
3884
  500: {
3688
3885
  error: string;
3689
3886
  message: string;
3887
+ details?: {
3888
+ [key: string]: unknown;
3889
+ };
3690
3890
  };
3691
3891
  };
3692
3892
  type DeleteV1CrimeTypesByTypeIdError = DeleteV1CrimeTypesByTypeIdErrors[keyof DeleteV1CrimeTypesByTypeIdErrors];
@@ -3712,6 +3912,9 @@ type GetV1CrimeTypesByTypeIdErrors = {
3712
3912
  500: {
3713
3913
  error: string;
3714
3914
  message: string;
3915
+ details?: {
3916
+ [key: string]: unknown;
3917
+ };
3715
3918
  };
3716
3919
  };
3717
3920
  type GetV1CrimeTypesByTypeIdError = GetV1CrimeTypesByTypeIdErrors[keyof GetV1CrimeTypesByTypeIdErrors];
@@ -3744,6 +3947,9 @@ type PutV1CrimeTypesByTypeIdErrors = {
3744
3947
  401: {
3745
3948
  error: string;
3746
3949
  message: string;
3950
+ details?: {
3951
+ [key: string]: unknown;
3952
+ };
3747
3953
  };
3748
3954
  404: {
3749
3955
  error: string;
@@ -3756,6 +3962,9 @@ type PutV1CrimeTypesByTypeIdErrors = {
3756
3962
  500: {
3757
3963
  error: string;
3758
3964
  message: string;
3965
+ details?: {
3966
+ [key: string]: unknown;
3967
+ };
3759
3968
  };
3760
3969
  };
3761
3970
  type PutV1CrimeTypesByTypeIdError = PutV1CrimeTypesByTypeIdErrors[keyof PutV1CrimeTypesByTypeIdErrors];
@@ -4457,94 +4666,6 @@ type DeleteV1AuthProvidersByProviderIdDomainsByDomainIdResponses = {
4457
4666
  204: void;
4458
4667
  };
4459
4668
  type DeleteV1AuthProvidersByProviderIdDomainsByDomainIdResponse = DeleteV1AuthProvidersByProviderIdDomainsByDomainIdResponses[keyof DeleteV1AuthProvidersByProviderIdDomainsByDomainIdResponses];
4460
- type PostV1AuthSessionData = {
4461
- body: {
4462
- /**
4463
- * External JWT token from auth provider
4464
- */
4465
- token: string;
4466
- /**
4467
- * Tenant ID (required if not in token)
4468
- */
4469
- tenantId?: string;
4470
- };
4471
- path?: never;
4472
- query?: never;
4473
- url: '/v1/auth/session/';
4474
- };
4475
- type PostV1AuthSessionErrors = {
4476
- 400: {
4477
- error: string;
4478
- message: string;
4479
- };
4480
- 401: {
4481
- error: string;
4482
- message: string;
4483
- };
4484
- };
4485
- type PostV1AuthSessionError = PostV1AuthSessionErrors[keyof PostV1AuthSessionErrors];
4486
- type PostV1AuthSessionResponses = {
4487
- 200: {
4488
- success: boolean;
4489
- /**
4490
- * Token expiration timestamp
4491
- */
4492
- expiresAt?: number;
4493
- /**
4494
- * CSRF token for subsequent requests
4495
- */
4496
- csrfToken: string;
4497
- };
4498
- };
4499
- type PostV1AuthSessionResponse = PostV1AuthSessionResponses[keyof PostV1AuthSessionResponses];
4500
- type PostV1AuthSessionLogoutData = {
4501
- body?: never;
4502
- path?: never;
4503
- query?: never;
4504
- url: '/v1/auth/session/logout';
4505
- };
4506
- type PostV1AuthSessionLogoutResponses = {
4507
- 200: {
4508
- success: boolean;
4509
- };
4510
- };
4511
- type PostV1AuthSessionLogoutResponse = PostV1AuthSessionLogoutResponses[keyof PostV1AuthSessionLogoutResponses];
4512
- type PostV1AuthSessionRefreshData = {
4513
- body?: never;
4514
- path?: never;
4515
- query?: never;
4516
- url: '/v1/auth/session/refresh';
4517
- };
4518
- type PostV1AuthSessionRefreshErrors = {
4519
- 401: {
4520
- error: string;
4521
- message: string;
4522
- };
4523
- };
4524
- type PostV1AuthSessionRefreshError = PostV1AuthSessionRefreshErrors[keyof PostV1AuthSessionRefreshErrors];
4525
- type PostV1AuthSessionRefreshResponses = {
4526
- 200: {
4527
- success: boolean;
4528
- csrfToken: string;
4529
- };
4530
- };
4531
- type PostV1AuthSessionRefreshResponse = PostV1AuthSessionRefreshResponses[keyof PostV1AuthSessionRefreshResponses];
4532
- type GetV1AuthSessionStatusData = {
4533
- body?: never;
4534
- path?: never;
4535
- query?: never;
4536
- url: '/v1/auth/session/status';
4537
- };
4538
- type GetV1AuthSessionStatusResponses = {
4539
- 200: {
4540
- authenticated: boolean;
4541
- tenantId: string | null;
4542
- userId: string | null;
4543
- authSource: string | null;
4544
- expiresAt?: number | null;
4545
- };
4546
- };
4547
- type GetV1AuthSessionStatusResponse = GetV1AuthSessionStatusResponses[keyof GetV1AuthSessionStatusResponses];
4548
4669
  type ClientOptions = {
4549
4670
  baseUrl: `${string}://${string}` | (string & {});
4550
4671
  };
@@ -4695,28 +4816,61 @@ declare function createSaferCityClient(options: SaferCityClientOptions): {
4695
4816
  /**
4696
4817
  * Update panic location
4697
4818
  */
4698
- updateLocation: (panicId: string, body: {
4819
+ updateLocation: (panicId: string, body: Omit<UpdatePanicLocationBody, "userId"> & {
4699
4820
  userId?: string;
4700
- latitude: number;
4701
- longitude: number;
4702
- accuracy?: number;
4703
4821
  }) => Promise<LocationUpdateResponse>;
4704
4822
  /**
4705
4823
  * Cancel panic
4706
4824
  */
4707
- cancel: (panicId: string, body: {
4825
+ cancel: (panicId: string, body: Omit<CancelPanicBody, "userId"> & {
4708
4826
  userId?: string;
4709
- reason?: string;
4710
4827
  }) => Promise<PanicCancelledResponse>;
4711
4828
  /**
4712
4829
  * Get available panic types for a user
4713
4830
  */
4714
- types: (userId?: string) => Promise<{
4715
- types: Array<{
4716
- id: string;
4717
- name: string;
4718
- description?: string;
4719
- }>;
4831
+ types: (userId?: string) => Promise<unknown>;
4832
+ /**
4833
+ * Create a premium panic with CellFind provider
4834
+ */
4835
+ createPremium: (body: Omit<PostV1PremiumPanicData["body"], "userId"> & {
4836
+ userId?: string;
4837
+ }) => Promise<PanicCreatedResponse>;
4838
+ /**
4839
+ * Check panic eligibility for a user.
4840
+ * Validates subscription status and panic profile completeness.
4841
+ */
4842
+ eligibility: (userId?: string) => Promise<{
4843
+ success: boolean;
4844
+ data: {
4845
+ eligible: boolean;
4846
+ subscriptionActive: boolean;
4847
+ profileComplete: boolean;
4848
+ reasons: Array<string>;
4849
+ panicInformation: {
4850
+ id: string;
4851
+ tenantId: string;
4852
+ userId: string;
4853
+ phoneNumber: string;
4854
+ firstName: string;
4855
+ lastName: string;
4856
+ idNumber: string;
4857
+ duressCode: string;
4858
+ emergencyContacts: string | null;
4859
+ scaExternalId: string | null;
4860
+ scbExternalId: string | null;
4861
+ sccExternalId: string | null;
4862
+ createdAt: string;
4863
+ updatedAt: string;
4864
+ } | null;
4865
+ subscriptionDetails: {
4866
+ isPremium: boolean;
4867
+ subscriptionName: string;
4868
+ totalSeats: number;
4869
+ usedSeats: number;
4870
+ availableSeats: number;
4871
+ userHasActiveSubscription: boolean;
4872
+ } | null;
4873
+ };
4720
4874
  }>;
4721
4875
  /**
4722
4876
  * Stream panic updates (SSE)
@@ -4801,35 +4955,31 @@ declare function createSaferCityClient(options: SaferCityClientOptions): {
4801
4955
  }>;
4802
4956
  }>;
4803
4957
  /**
4804
- * Create subscription
4958
+ * Create subscription (subscribe user with premium flag)
4805
4959
  */
4806
- create: (body: {
4960
+ create: (body: Omit<PostV1SubscriptionsData["body"], "userId"> & {
4807
4961
  userId?: string;
4808
- subscriptionTypeId: string;
4809
- status?: string;
4810
4962
  }) => Promise<{
4811
4963
  tenantId: string;
4812
4964
  id: string;
4813
4965
  userId: string;
4814
4966
  tenantSubscriptionId: string;
4967
+ tenantSubscriptionName?: string;
4968
+ globalSubscriptionTypeName?: string;
4969
+ isPremium: boolean;
4815
4970
  status: string;
4816
4971
  createdAt: string;
4817
4972
  updatedAt: string;
4818
- member?: {
4819
- id: string;
4820
- userId: string;
4821
- role: string;
4822
- status: string;
4823
- joinedAt: string;
4824
- };
4973
+ startDate?: string;
4974
+ endDate?: string;
4975
+ amount?: string;
4976
+ billingCycle?: string;
4825
4977
  }>;
4826
4978
  /**
4827
4979
  * List subscriptions
4828
4980
  */
4829
- list: (query?: {
4981
+ list: (query?: NonNullable<GetV1SubscriptionsData["query"]> & {
4830
4982
  userId?: string;
4831
- status?: string;
4832
- limit?: number;
4833
4983
  }) => Promise<{
4834
4984
  data: Array<{
4835
4985
  tenantId: string;
@@ -4838,6 +4988,7 @@ declare function createSaferCityClient(options: SaferCityClientOptions): {
4838
4988
  tenantSubscriptionId: string;
4839
4989
  tenantSubscriptionName?: string;
4840
4990
  globalSubscriptionTypeName?: string;
4991
+ isPremium: boolean;
4841
4992
  status: string;
4842
4993
  createdAt: string;
4843
4994
  updatedAt: string;
@@ -4847,39 +4998,18 @@ declare function createSaferCityClient(options: SaferCityClientOptions): {
4847
4998
  billingCycle?: string;
4848
4999
  }>;
4849
5000
  pagination: {
4850
- nextCursor: string | null;
5001
+ nextCursor?: string | unknown;
4851
5002
  hasNextPage: boolean;
4852
- total: number | null;
5003
+ total?: number | unknown;
4853
5004
  };
4854
5005
  }>;
4855
- /**
4856
- * Subscribe a user to a subscription type
4857
- */
4858
- subscribeUser: (body: Omit<PostV1SubscriptionsSubscribeUserData["body"], "userId"> & {
4859
- userId?: string;
4860
- }) => Promise<{
4861
- tenantId: string;
4862
- id: string;
4863
- userId: string;
4864
- tenantSubscriptionId: string;
4865
- tenantSubscriptionName?: string;
4866
- globalSubscriptionTypeName?: string;
4867
- isPremium: boolean;
4868
- createdAt: string;
4869
- updatedAt: string;
4870
- startDate?: string;
4871
- endDate?: string;
4872
- }>;
4873
5006
  };
4874
5007
  notifications: {
4875
5008
  /**
4876
5009
  * Create subscriber
4877
5010
  */
4878
- createSubscriber: (body: {
5011
+ createSubscriber: (body: Omit<PostV1NotificationsSubscribersData["body"], "userId"> & {
4879
5012
  userId?: string;
4880
- email?: string;
4881
- phone?: string;
4882
- data?: Record<string, unknown>;
4883
5013
  }) => Promise<{
4884
5014
  success: boolean;
4885
5015
  subscriberId: string;
@@ -4888,10 +5018,8 @@ declare function createSaferCityClient(options: SaferCityClientOptions): {
4888
5018
  /**
4889
5019
  * Trigger notification
4890
5020
  */
4891
- trigger: (body: {
5021
+ trigger: (body: Omit<PostV1NotificationsTriggerData["body"], "userId"> & {
4892
5022
  userId?: string;
4893
- workflowId: string;
4894
- payload?: Record<string, unknown>;
4895
5023
  }) => Promise<{
4896
5024
  success: boolean;
4897
5025
  transactionId?: string;
@@ -4900,11 +5028,7 @@ declare function createSaferCityClient(options: SaferCityClientOptions): {
4900
5028
  /**
4901
5029
  * Bulk trigger notifications
4902
5030
  */
4903
- bulkTrigger: (body: {
4904
- userIds: string[];
4905
- workflowId: string;
4906
- payload?: Record<string, unknown>;
4907
- }) => Promise<{
5031
+ bulkTrigger: (body: PostV1NotificationsBulkTriggerData["body"]) => Promise<{
4908
5032
  success: boolean;
4909
5033
  errors?: Array<string>;
4910
5034
  }>;
@@ -4919,9 +5043,7 @@ declare function createSaferCityClient(options: SaferCityClientOptions): {
4919
5043
  /**
4920
5044
  * Update user preferences
4921
5045
  */
4922
- updatePreferences: (userId: string | undefined, body: {
4923
- preferences: Record<string, unknown>;
4924
- }) => Promise<{
5046
+ updatePreferences: (userId: string | undefined, body: PutV1NotificationsPreferencesByUserIdData["body"]) => Promise<{
4925
5047
  success: boolean;
4926
5048
  error?: string;
4927
5049
  }>;
@@ -4930,11 +5052,7 @@ declare function createSaferCityClient(options: SaferCityClientOptions): {
4930
5052
  /**
4931
5053
  * Check location safety
4932
5054
  */
4933
- check: (body: {
4934
- latitude: number;
4935
- longitude: number;
4936
- radius?: number;
4937
- }) => Promise<{
5055
+ check: (body: PostV1LocationsSafetyCheckData["body"]) => Promise<{
4938
5056
  status: string;
4939
5057
  riskScore: number;
4940
5058
  riskLevel: string;
@@ -4961,11 +5079,7 @@ declare function createSaferCityClient(options: SaferCityClientOptions): {
4961
5079
  /**
4962
5080
  * Get crime banner data for a location
4963
5081
  */
4964
- get: (body: {
4965
- latitude: number;
4966
- longitude: number;
4967
- days?: number;
4968
- }) => Promise<{
5082
+ get: (body: PostV1BannerData["body"]) => Promise<{
4969
5083
  location: {
4970
5084
  latitude: number;
4971
5085
  longitude: number;
@@ -5012,15 +5126,7 @@ declare function createSaferCityClient(options: SaferCityClientOptions): {
5012
5126
  /**
5013
5127
  * List crimes
5014
5128
  */
5015
- list: (query?: {
5016
- latitude?: number;
5017
- longitude?: number;
5018
- radius?: number;
5019
- type?: string;
5020
- from?: string;
5021
- to?: string;
5022
- limit?: number;
5023
- }) => Promise<{
5129
+ list: (query?: GetV1CrimesListData["query"]) => Promise<{
5024
5130
  data: Array<{
5025
5131
  id: string;
5026
5132
  tenantId: string;
@@ -5090,15 +5196,15 @@ declare function createSaferCityClient(options: SaferCityClientOptions): {
5090
5196
  * Get crime categories with their types
5091
5197
  */
5092
5198
  categoriesWithTypes: () => Promise<{
5093
- categories: Array<{
5094
- id: string;
5095
- name: string;
5096
- types: Array<{
5097
- id: string;
5098
- name: string;
5099
- }>;
5199
+ categoryId: string;
5200
+ categoryName: string;
5201
+ categorySeverity: string;
5202
+ types: Array<{
5203
+ typeId: string;
5204
+ typeName: string;
5205
+ typeSeverity: string;
5100
5206
  }>;
5101
- }>;
5207
+ }[]>;
5102
5208
  };
5103
5209
  };
5104
5210
  type SaferCityClient = ReturnType<typeof createSaferCityClient>;
@@ -5184,12 +5290,7 @@ declare class ServerClient extends BaseClient {
5184
5290
  /**
5185
5291
  * Get access token
5186
5292
  */
5187
- token: (body: {
5188
- grant_type: "client_credentials" | "refresh_token";
5189
- tenantId?: string;
5190
- userId?: string;
5191
- refresh_token?: string;
5192
- }) => Promise<{
5293
+ token: (body: OAuthTokenRequestBody) => Promise<{
5193
5294
  access_token: string;
5194
5295
  refresh_token: string;
5195
5296
  token_type: string;
@@ -5202,16 +5303,14 @@ declare class ServerClient extends BaseClient {
5202
5303
  refresh_token: string;
5203
5304
  }) => Promise<{
5204
5305
  access_token: string;
5306
+ refresh_token: string;
5205
5307
  token_type: string;
5206
5308
  expires_in: number;
5207
- refresh_token?: string;
5208
5309
  }>;
5209
5310
  /**
5210
5311
  * Introspect token
5211
5312
  */
5212
- introspect: (body: {
5213
- token: string;
5214
- }) => Promise<{
5313
+ introspect: (body: OAuthIntrospectBody) => Promise<{
5215
5314
  active: boolean;
5216
5315
  scope?: string;
5217
5316
  client_id?: string;
@@ -5229,9 +5328,7 @@ declare class ServerClient extends BaseClient {
5229
5328
  /**
5230
5329
  * Revoke token
5231
5330
  */
5232
- revoke: (body: {
5233
- token: string;
5234
- }) => Promise<{
5331
+ revoke: (body: OAuthRevokeBody) => Promise<{
5235
5332
  revoked: boolean;
5236
5333
  message: string;
5237
5334
  }>;
@@ -5320,11 +5417,7 @@ declare class ServerClient extends BaseClient {
5320
5417
  /**
5321
5418
  * List users
5322
5419
  */
5323
- list: (query?: {
5324
- limit?: number;
5325
- cursor?: string;
5326
- status?: string;
5327
- }) => Promise<{
5420
+ list: (query?: GetV1UsersData["query"]) => Promise<{
5328
5421
  success: boolean;
5329
5422
  data: Array<{
5330
5423
  id: string;
@@ -5407,28 +5500,15 @@ declare class ServerClient extends BaseClient {
5407
5500
  /**
5408
5501
  * List panics
5409
5502
  */
5410
- list: (query?: {
5411
- userId?: string;
5412
- status?: string;
5413
- limit?: number;
5414
- cursor?: string;
5415
- }) => Promise<PanicListResponse>;
5503
+ list: (query?: GetV1PanicData["query"]) => Promise<PanicListResponse>;
5416
5504
  /**
5417
5505
  * Update panic location
5418
5506
  */
5419
- updateLocation: (panicId: string, body: {
5420
- userId: string;
5421
- latitude: number;
5422
- longitude: number;
5423
- accuracy?: number;
5424
- }) => Promise<LocationUpdateResponse>;
5507
+ updateLocation: (panicId: string, body: UpdatePanicLocationBody) => Promise<LocationUpdateResponse>;
5425
5508
  /**
5426
5509
  * Cancel panic
5427
5510
  */
5428
- cancel: (panicId: string, body: {
5429
- userId: string;
5430
- reason?: string;
5431
- }) => Promise<PanicCancelledResponse>;
5511
+ cancel: (panicId: string, body: CancelPanicBody) => Promise<PanicCancelledResponse>;
5432
5512
  /**
5433
5513
  * Get available panic types for a user
5434
5514
  */
@@ -5439,6 +5519,10 @@ declare class ServerClient extends BaseClient {
5439
5519
  description?: string;
5440
5520
  }>;
5441
5521
  }>;
5522
+ /**
5523
+ * Create a premium panic with CellFind provider
5524
+ */
5525
+ createPremium: (body: PostV1PremiumPanicData["body"]) => Promise<PanicCreatedResponse>;
5442
5526
  };
5443
5527
  /**
5444
5528
  * Subscription helpers
@@ -5458,36 +5542,28 @@ declare class ServerClient extends BaseClient {
5458
5542
  }>;
5459
5543
  }>;
5460
5544
  /**
5461
- * Create subscription
5545
+ * Create subscription (subscribe user with premium flag)
5462
5546
  */
5463
- create: (body: {
5464
- userId: string;
5465
- subscriptionTypeId: string;
5466
- status?: string;
5467
- }) => Promise<{
5547
+ create: (body: PostV1SubscriptionsData["body"]) => Promise<{
5468
5548
  tenantId: string;
5469
5549
  id: string;
5470
5550
  userId: string;
5471
5551
  tenantSubscriptionId: string;
5552
+ tenantSubscriptionName?: string;
5553
+ globalSubscriptionTypeName?: string;
5554
+ isPremium: boolean;
5472
5555
  status: string;
5473
5556
  createdAt: string;
5474
5557
  updatedAt: string;
5475
- member?: {
5476
- id: string;
5477
- userId: string;
5478
- role: string;
5479
- status: string;
5480
- joinedAt: string;
5481
- };
5558
+ startDate?: string;
5559
+ endDate?: string;
5560
+ amount?: string;
5561
+ billingCycle?: string;
5482
5562
  }>;
5483
5563
  /**
5484
5564
  * List subscriptions
5485
5565
  */
5486
- list: (query?: {
5487
- userId?: string;
5488
- status?: string;
5489
- limit?: number;
5490
- }) => Promise<{
5566
+ list: (query?: GetV1SubscriptionsData["query"]) => Promise<{
5491
5567
  data: Array<{
5492
5568
  tenantId: string;
5493
5569
  id: string;
@@ -5495,6 +5571,7 @@ declare class ServerClient extends BaseClient {
5495
5571
  tenantSubscriptionId: string;
5496
5572
  tenantSubscriptionName?: string;
5497
5573
  globalSubscriptionTypeName?: string;
5574
+ isPremium: boolean;
5498
5575
  status: string;
5499
5576
  createdAt: string;
5500
5577
  updatedAt: string;
@@ -5504,23 +5581,55 @@ declare class ServerClient extends BaseClient {
5504
5581
  billingCycle?: string;
5505
5582
  }>;
5506
5583
  pagination: {
5507
- nextCursor: string | null;
5584
+ nextCursor?: string | unknown;
5508
5585
  hasNextPage: boolean;
5509
- total: number | null;
5586
+ total?: number | unknown;
5510
5587
  };
5511
5588
  }>;
5512
5589
  /**
5513
- * Get subscription stats
5590
+ * Get subscriptions for a specific user
5514
5591
  */
5515
- stats: () => Promise<{
5516
- total: number;
5517
- active: number;
5518
- byType: Record<string, number>;
5592
+ getByUser: (userId: string) => Promise<{
5593
+ data: Array<{
5594
+ tenantId: string;
5595
+ id: string;
5596
+ userId: string;
5597
+ tenantSubscriptionId: string;
5598
+ tenantSubscriptionName?: string;
5599
+ globalSubscriptionTypeName?: string;
5600
+ isPremium: boolean;
5601
+ status: string;
5602
+ createdAt: string;
5603
+ updatedAt: string;
5604
+ startDate?: string;
5605
+ endDate?: string;
5606
+ amount?: string;
5607
+ billingCycle?: string;
5608
+ }>;
5609
+ }>;
5610
+ /**
5611
+ * Update subscription fields (endDate, notes)
5612
+ */
5613
+ update: (subscriptionId: string, body: PatchV1SubscriptionsBySubscriptionIdData["body"]) => Promise<{
5614
+ tenantId: string;
5615
+ id: string;
5616
+ userId: string;
5617
+ tenantSubscriptionId: string;
5618
+ tenantSubscriptionName?: string;
5619
+ globalSubscriptionTypeName?: string;
5620
+ isPremium: boolean;
5621
+ status: string;
5622
+ createdAt: string;
5623
+ updatedAt: string;
5624
+ startDate?: string;
5625
+ endDate?: string;
5626
+ amount?: string;
5627
+ billingCycle?: string;
5519
5628
  }>;
5520
5629
  /**
5521
- * Subscribe a user to a subscription type
5630
+ * Switch subscription plan (upgrade/downgrade)
5522
5631
  */
5523
- subscribeUser: (body: PostV1SubscriptionsSubscribeUserData["body"]) => Promise<{
5632
+ switch: (subscriptionId: string, body: PutV1SubscriptionsBySubscriptionIdSwitchData["body"]) => Promise<{
5524
5633
  tenantId: string;
5525
5634
  id: string;
5526
5635
  userId: string;
@@ -5528,10 +5637,15 @@ declare class ServerClient extends BaseClient {
5528
5637
  tenantSubscriptionName?: string;
5529
5638
  globalSubscriptionTypeName?: string;
5530
5639
  isPremium: boolean;
5640
+ status: string;
5531
5641
  createdAt: string;
5532
5642
  updatedAt: string;
5533
5643
  startDate?: string;
5534
5644
  endDate?: string;
5645
+ amount?: string;
5646
+ billingCycle?: string;
5647
+ previousSubscriptionId: string;
5648
+ scheduledSwitchDate?: string;
5535
5649
  }>;
5536
5650
  };
5537
5651
  /**
@@ -5541,12 +5655,7 @@ declare class ServerClient extends BaseClient {
5541
5655
  /**
5542
5656
  * Create subscriber
5543
5657
  */
5544
- createSubscriber: (body: {
5545
- userId: string;
5546
- email?: string;
5547
- phone?: string;
5548
- data?: Record<string, unknown>;
5549
- }) => Promise<{
5658
+ createSubscriber: (body: PostV1NotificationsSubscribersData["body"]) => Promise<{
5550
5659
  success: boolean;
5551
5660
  subscriberId: string;
5552
5661
  error?: string;
@@ -5554,11 +5663,7 @@ declare class ServerClient extends BaseClient {
5554
5663
  /**
5555
5664
  * Trigger notification
5556
5665
  */
5557
- trigger: (body: {
5558
- userId: string;
5559
- workflowId: string;
5560
- payload?: Record<string, unknown>;
5561
- }) => Promise<{
5666
+ trigger: (body: PostV1NotificationsTriggerData["body"]) => Promise<{
5562
5667
  success: boolean;
5563
5668
  transactionId?: string;
5564
5669
  error?: string;
@@ -5566,11 +5671,7 @@ declare class ServerClient extends BaseClient {
5566
5671
  /**
5567
5672
  * Bulk trigger notifications
5568
5673
  */
5569
- bulkTrigger: (body: {
5570
- userIds: string[];
5571
- workflowId: string;
5572
- payload?: Record<string, unknown>;
5573
- }) => Promise<{
5674
+ bulkTrigger: (body: PostV1NotificationsBulkTriggerData["body"]) => Promise<{
5574
5675
  success: boolean;
5575
5676
  errors?: Array<string>;
5576
5677
  }>;
@@ -5585,9 +5686,7 @@ declare class ServerClient extends BaseClient {
5585
5686
  /**
5586
5687
  * Update user preferences
5587
5688
  */
5588
- updatePreferences: (userId: string, body: {
5589
- preferences: Record<string, unknown>;
5590
- }) => Promise<{
5689
+ updatePreferences: (userId: string, body: PutV1NotificationsPreferencesByUserIdData["body"]) => Promise<{
5591
5690
  success: boolean;
5592
5691
  error?: string;
5593
5692
  }>;
@@ -5603,12 +5702,7 @@ declare class ServerClient extends BaseClient {
5603
5702
  /**
5604
5703
  * List panic information records
5605
5704
  */
5606
- list: (query?: {
5607
- limit?: number;
5608
- offset?: number;
5609
- userId?: string;
5610
- idNumber?: string;
5611
- }) => Promise<PanicInformationListResponse>;
5705
+ list: (query?: GetV1PanicInformationData["query"]) => Promise<PanicInformationListResponse>;
5612
5706
  /**
5613
5707
  * Get panic information by ID
5614
5708
  */
@@ -5672,11 +5766,7 @@ declare class ServerClient extends BaseClient {
5672
5766
  /**
5673
5767
  * Check location safety
5674
5768
  */
5675
- check: (body: {
5676
- latitude: number;
5677
- longitude: number;
5678
- radius?: number;
5679
- }) => Promise<{
5769
+ check: (body: PostV1LocationsSafetyCheckData["body"]) => Promise<{
5680
5770
  status: string;
5681
5771
  riskScore: number;
5682
5772
  riskLevel: string;
@@ -5706,11 +5796,7 @@ declare class ServerClient extends BaseClient {
5706
5796
  /**
5707
5797
  * Get crime banner data for a location
5708
5798
  */
5709
- get: (body: {
5710
- latitude: number;
5711
- longitude: number;
5712
- days?: number;
5713
- }) => Promise<{
5799
+ get: (body: PostV1BannerData["body"]) => Promise<{
5714
5800
  location: {
5715
5801
  latitude: number;
5716
5802
  longitude: number;
@@ -5760,15 +5846,7 @@ declare class ServerClient extends BaseClient {
5760
5846
  /**
5761
5847
  * List crimes
5762
5848
  */
5763
- list: (query?: {
5764
- latitude?: number;
5765
- longitude?: number;
5766
- radius?: number;
5767
- type?: string;
5768
- from?: string;
5769
- to?: string;
5770
- limit?: number;
5771
- }) => Promise<{
5849
+ list: (query?: GetV1CrimesListData["query"]) => Promise<{
5772
5850
  data: Array<{
5773
5851
  id: string;
5774
5852
  tenantId: string;
@@ -5838,15 +5916,15 @@ declare class ServerClient extends BaseClient {
5838
5916
  * Get crime categories with their types
5839
5917
  */
5840
5918
  categoriesWithTypes: () => Promise<{
5841
- categories: Array<{
5842
- id: string;
5843
- name: string;
5844
- types: Array<{
5845
- id: string;
5846
- name: string;
5847
- }>;
5919
+ categoryId: string;
5920
+ categoryName: string;
5921
+ categorySeverity: string;
5922
+ types: Array<{
5923
+ typeId: string;
5924
+ typeName: string;
5925
+ typeSeverity: string;
5848
5926
  }>;
5849
- }>;
5927
+ }[]>;
5850
5928
  };
5851
5929
  }
5852
5930
  /**
@@ -6016,4 +6094,4 @@ declare function createProxyHandler(config: ProxyConfig): (request: {
6016
6094
  body: unknown;
6017
6095
  }>;
6018
6096
 
6019
- export { type ApiErrorResponse, type AuthOptionalResponse, type BulkTriggerNotificationBody, type BulkTriggerNotificationResponse, type CancelNotificationResponse, type CancelPanicBody, type ClientOptions, type CreateCredentialBody, type CreatePanicBody, type CreatePanicInformationBody, type CreateSubscriberBody, type CreateSubscriberResponse, type CreateSubscriptionBody, type CreateSubscriptionTypeBody, type CredentialParams, type DeleteApiInngestData, type DeleteApiInngestResponses, type DeleteSubscriberResponse, type DeleteV1AuthProvidersByProviderIdData, type DeleteV1AuthProvidersByProviderIdDomainsByDomainIdData, type DeleteV1AuthProvidersByProviderIdDomainsByDomainIdError, type DeleteV1AuthProvidersByProviderIdDomainsByDomainIdErrors, type DeleteV1AuthProvidersByProviderIdDomainsByDomainIdResponse, type DeleteV1AuthProvidersByProviderIdDomainsByDomainIdResponses, type DeleteV1AuthProvidersByProviderIdError, type DeleteV1AuthProvidersByProviderIdErrors, type DeleteV1AuthProvidersByProviderIdResponse, type DeleteV1AuthProvidersByProviderIdResponses, type DeleteV1CrimeCategoriesByCategoryIdData, type DeleteV1CrimeCategoriesByCategoryIdError, type DeleteV1CrimeCategoriesByCategoryIdErrors, type DeleteV1CrimeCategoriesByCategoryIdResponse, type DeleteV1CrimeCategoriesByCategoryIdResponses, type DeleteV1CrimeTypesByTypeIdData, type DeleteV1CrimeTypesByTypeIdError, type DeleteV1CrimeTypesByTypeIdErrors, type DeleteV1CrimeTypesByTypeIdResponse, type DeleteV1CrimeTypesByTypeIdResponses, type DeleteV1NotificationsByTransactionIdData, type DeleteV1NotificationsByTransactionIdError, type DeleteV1NotificationsByTransactionIdErrors, type DeleteV1NotificationsByTransactionIdResponse, type DeleteV1NotificationsByTransactionIdResponses, type DeleteV1NotificationsSubscribersByUserIdData, type DeleteV1NotificationsSubscribersByUserIdError, type DeleteV1NotificationsSubscribersByUserIdErrors, type DeleteV1NotificationsSubscribersByUserIdResponse, type DeleteV1NotificationsSubscribersByUserIdResponses, type DeleteV1PanicInformationByIdData, type DeleteV1PanicInformationByIdError, type DeleteV1PanicInformationByIdErrors, type DeleteV1PanicInformationByIdResponse, type DeleteV1PanicInformationByIdResponses, type DeleteV1ProvidersByIdData, type DeleteV1ProvidersByIdError, type DeleteV1ProvidersByIdErrors, type DeleteV1ProvidersByIdResponse, type DeleteV1ProvidersByIdResponses, type EndpointPattern, type GetApiInngestData, type GetApiInngestResponses, type GetAuthOptionalData, type GetAuthOptionalResponse, type GetAuthOptionalResponses, type GetAuthWhoamiData, type GetAuthWhoamiError, type GetAuthWhoamiErrors, type GetAuthWhoamiResponse, type GetAuthWhoamiResponses, type GetHealthData, type GetHealthResponse, type GetHealthResponses, type GetPreferencesResponse, type GetV1AuthProvidersByProviderIdData, type GetV1AuthProvidersByProviderIdDomainsData, type GetV1AuthProvidersByProviderIdDomainsError, type GetV1AuthProvidersByProviderIdDomainsErrors, type GetV1AuthProvidersByProviderIdDomainsResponse, type GetV1AuthProvidersByProviderIdDomainsResponses, type GetV1AuthProvidersByProviderIdError, type GetV1AuthProvidersByProviderIdErrors, type GetV1AuthProvidersByProviderIdResponse, type GetV1AuthProvidersByProviderIdResponses, type GetV1AuthProvidersData, type GetV1AuthProvidersError, type GetV1AuthProvidersErrors, type GetV1AuthProvidersResponse, type GetV1AuthProvidersResponses, type GetV1AuthSessionStatusData, type GetV1AuthSessionStatusResponse, type GetV1AuthSessionStatusResponses, type GetV1AuthUserProfileData, type GetV1AuthUserProfileError, type GetV1AuthUserProfileErrors, type GetV1AuthUserProfileResponse, type GetV1AuthUserProfileResponses, type GetV1CrimeCategoriesByCategoryIdData, type GetV1CrimeCategoriesByCategoryIdError, type GetV1CrimeCategoriesByCategoryIdErrors, type GetV1CrimeCategoriesByCategoryIdResponse, type GetV1CrimeCategoriesByCategoryIdResponses, type GetV1CrimeCategoriesData, type GetV1CrimeCategoriesError, type GetV1CrimeCategoriesErrors, type GetV1CrimeCategoriesResponse, type GetV1CrimeCategoriesResponses, type GetV1CrimeCategoriesWithTypesData, type GetV1CrimeCategoriesWithTypesResponses, type GetV1CrimeTypesByTypeIdData, type GetV1CrimeTypesByTypeIdError, type GetV1CrimeTypesByTypeIdErrors, type GetV1CrimeTypesByTypeIdResponse, type GetV1CrimeTypesByTypeIdResponses, type GetV1CrimeTypesCategoryByCategoryIdData, type GetV1CrimeTypesCategoryByCategoryIdError, type GetV1CrimeTypesCategoryByCategoryIdErrors, type GetV1CrimeTypesCategoryByCategoryIdResponse, type GetV1CrimeTypesCategoryByCategoryIdResponses, type GetV1CrimeTypesData, type GetV1CrimeTypesError, type GetV1CrimeTypesErrors, type GetV1CrimeTypesResponse, type GetV1CrimeTypesResponses, type GetV1CrimesListData, type GetV1CrimesListError, type GetV1CrimesListErrors, type GetV1CrimesListResponse, type GetV1CrimesListResponses, type GetV1NotificationsPreferencesByUserIdData, type GetV1NotificationsPreferencesByUserIdError, type GetV1NotificationsPreferencesByUserIdErrors, type GetV1NotificationsPreferencesByUserIdResponse, type GetV1NotificationsPreferencesByUserIdResponses, type GetV1PanicByPanicIdData, type GetV1PanicByPanicIdError, type GetV1PanicByPanicIdErrors, type GetV1PanicByPanicIdResponse, type GetV1PanicByPanicIdResponses, type GetV1PanicData, type GetV1PanicError, type GetV1PanicErrors, type GetV1PanicInformationByIdData, type GetV1PanicInformationByIdError, type GetV1PanicInformationByIdErrors, type GetV1PanicInformationByIdResponse, type GetV1PanicInformationByIdResponses, type GetV1PanicInformationData, type GetV1PanicInformationError, type GetV1PanicInformationErrors, type GetV1PanicInformationResponse, type GetV1PanicInformationResponses, type GetV1PanicInformationUserByUserIdData, type GetV1PanicInformationUserByUserIdError, type GetV1PanicInformationUserByUserIdErrors, type GetV1PanicInformationUserByUserIdResponse, type GetV1PanicInformationUserByUserIdResponses, type GetV1PanicInformationValidationByUserIdData, type GetV1PanicInformationValidationByUserIdError, type GetV1PanicInformationValidationByUserIdErrors, type GetV1PanicInformationValidationByUserIdResponse, type GetV1PanicInformationValidationByUserIdResponses, type GetV1PanicResponse, type GetV1PanicResponses, type GetV1PanicTypesByUserIdData, type GetV1PanicTypesByUserIdResponses, type GetV1ProvidersByIdData, type GetV1ProvidersByIdError, type GetV1ProvidersByIdErrors, type GetV1ProvidersByIdResponse, type GetV1ProvidersByIdResponses, type GetV1ProvidersData, type GetV1ProvidersError, type GetV1ProvidersErrors, type GetV1ProvidersResponse, type GetV1ProvidersResponses, type GetV1ProvidersServicesDiscoverData, type GetV1ProvidersServicesDiscoverError, type GetV1ProvidersServicesDiscoverErrors, type GetV1ProvidersServicesDiscoverResponse, type GetV1ProvidersServicesDiscoverResponses, type GetV1SubscriptionsData, type GetV1SubscriptionsError, type GetV1SubscriptionsErrors, type GetV1SubscriptionsResponse, type GetV1SubscriptionsResponses, type GetV1SubscriptionsTypesData, type GetV1SubscriptionsTypesError, type GetV1SubscriptionsTypesErrors, type GetV1SubscriptionsTypesResponse, type GetV1SubscriptionsTypesResponses, type GetV1TenantsByTenantIdData, type GetV1TenantsByTenantIdError, type GetV1TenantsByTenantIdErrors, type GetV1TenantsByTenantIdResponse, type GetV1TenantsByTenantIdResponses, type GetV1TenantsByTenantIdUsersData, type GetV1TenantsByTenantIdUsersError, type GetV1TenantsByTenantIdUsersErrors, type GetV1TenantsByTenantIdUsersResponse, type GetV1TenantsByTenantIdUsersResponses, type GetV1UsersByUserIdData, type GetV1UsersByUserIdError, type GetV1UsersByUserIdErrors, type GetV1UsersByUserIdResponse, type GetV1UsersByUserIdResponses, type GetV1UsersData, type GetV1UsersError, type GetV1UsersErrors, type GetV1UsersResponse, type GetV1UsersResponses, type HeadApiInngestData, type HeadApiInngestResponses, type HealthResponse, type ListSubscriptionsQuery, type LocationUpdateResponse, type NotificationErrorResponse, type NotificationUserIdParam, type OAuthIntrospectBody, type OAuthRevokeBody, type OAuthTokenRequestBody, type OptionsApiInngestData, type OptionsApiInngestResponses, type PanicCancelledResponse, type PanicCreatedResponse, type PanicEligibilityValidationResponse, type PanicErrorResponse, type PanicIdParam, type PanicInformationCreatedResponse, type PanicInformationIdParam, type PanicInformationListResponse, type PanicInformationRecord, type PanicInformationResponse, type PanicListQuery, type PanicListResponse, type PanicResponse, type PatchApiInngestData, type PatchApiInngestResponses, type PatchV1AuthProvidersByProviderIdData, type PatchV1AuthProvidersByProviderIdError, type PatchV1AuthProvidersByProviderIdErrors, type PatchV1AuthProvidersByProviderIdResponse, type PatchV1AuthProvidersByProviderIdResponses, type PostApiInngestData, type PostApiInngestResponses, type PostV1AuthProvidersByProviderIdDomainsData, type PostV1AuthProvidersByProviderIdDomainsError, type PostV1AuthProvidersByProviderIdDomainsErrors, type PostV1AuthProvidersByProviderIdDomainsResponse, type PostV1AuthProvidersByProviderIdDomainsResponses, type PostV1AuthProvidersByProviderIdVerifyData, type PostV1AuthProvidersByProviderIdVerifyError, type PostV1AuthProvidersByProviderIdVerifyErrors, type PostV1AuthProvidersByProviderIdVerifyResponse, type PostV1AuthProvidersByProviderIdVerifyResponses, type PostV1AuthProvidersData, type PostV1AuthProvidersError, type PostV1AuthProvidersErrors, type PostV1AuthProvidersResponse, type PostV1AuthProvidersResponses, type PostV1AuthSessionData, type PostV1AuthSessionError, type PostV1AuthSessionErrors, type PostV1AuthSessionLogoutData, type PostV1AuthSessionLogoutResponse, type PostV1AuthSessionLogoutResponses, type PostV1AuthSessionRefreshData, type PostV1AuthSessionRefreshError, type PostV1AuthSessionRefreshErrors, type PostV1AuthSessionRefreshResponse, type PostV1AuthSessionRefreshResponses, type PostV1AuthSessionResponse, type PostV1AuthSessionResponses, type PostV1AuthUserLoginData, type PostV1AuthUserLoginError, type PostV1AuthUserLoginErrors, type PostV1AuthUserLoginResponse, type PostV1AuthUserLoginResponses, type PostV1AuthUserLogoutData, type PostV1AuthUserLogoutError, type PostV1AuthUserLogoutErrors, type PostV1AuthUserLogoutResponse, type PostV1AuthUserLogoutResponses, type PostV1AuthUserRefreshData, type PostV1AuthUserRefreshError, type PostV1AuthUserRefreshErrors, type PostV1AuthUserRefreshResponse, type PostV1AuthUserRefreshResponses, type PostV1BannerData, type PostV1BannerError, type PostV1BannerErrors, type PostV1BannerResponse, type PostV1BannerResponses, type PostV1CrimeCategoriesData, type PostV1CrimeCategoriesError, type PostV1CrimeCategoriesErrors, type PostV1CrimeCategoriesResponse, type PostV1CrimeCategoriesResponses, type PostV1CrimeReportsData, type PostV1CrimeReportsError, type PostV1CrimeReportsErrors, type PostV1CrimeReportsResponse, type PostV1CrimeReportsResponses, type PostV1CrimeTypesData, type PostV1CrimeTypesError, type PostV1CrimeTypesErrors, type PostV1CrimeTypesResponse, type PostV1CrimeTypesResponses, type PostV1LocationsSafetyCheckData, type PostV1LocationsSafetyCheckError, type PostV1LocationsSafetyCheckErrors, type PostV1LocationsSafetyCheckResponse, type PostV1LocationsSafetyCheckResponses, type PostV1NotificationsBulkTriggerData, type PostV1NotificationsBulkTriggerError, type PostV1NotificationsBulkTriggerErrors, type PostV1NotificationsBulkTriggerResponse, type PostV1NotificationsBulkTriggerResponses, type PostV1NotificationsSubscribersData, type PostV1NotificationsSubscribersError, type PostV1NotificationsSubscribersErrors, type PostV1NotificationsSubscribersResponse, type PostV1NotificationsSubscribersResponses, type PostV1NotificationsTriggerData, type PostV1NotificationsTriggerError, type PostV1NotificationsTriggerErrors, type PostV1NotificationsTriggerResponse, type PostV1NotificationsTriggerResponses, type PostV1OauthIntrospectData, type PostV1OauthIntrospectError, type PostV1OauthIntrospectErrors, type PostV1OauthIntrospectResponse, type PostV1OauthIntrospectResponses, type PostV1OauthRevokeData, type PostV1OauthRevokeResponse, type PostV1OauthRevokeResponses, type PostV1OauthTokenData, type PostV1OauthTokenError, type PostV1OauthTokenErrors, type PostV1OauthTokenResponse, type PostV1OauthTokenResponses, type PostV1PanicData, type PostV1PanicInformationData, type PostV1PanicInformationError, type PostV1PanicInformationErrors, type PostV1PanicInformationResponse, type PostV1PanicInformationResponses, type PostV1PanicResponse, type PostV1PanicResponses, type PostV1PremiumPanicData, type PostV1PremiumPanicResponses, type PostV1ProvidersByProviderIdTestData, type PostV1ProvidersByProviderIdTestError, type PostV1ProvidersByProviderIdTestErrors, type PostV1ProvidersByProviderIdTestResponse, type PostV1ProvidersByProviderIdTestResponses, type PostV1ProvidersData, type PostV1ProvidersError, type PostV1ProvidersErrors, type PostV1ProvidersResponse, type PostV1ProvidersResponses, type PostV1SubscriptionsData, type PostV1SubscriptionsError, type PostV1SubscriptionsErrors, type PostV1SubscriptionsResponse, type PostV1SubscriptionsResponses, type PostV1SubscriptionsSubscribeUserData, type PostV1SubscriptionsSubscribeUserError, type PostV1SubscriptionsSubscribeUserErrors, type PostV1SubscriptionsSubscribeUserResponse, type PostV1SubscriptionsSubscribeUserResponses, type PostV1SubscriptionsTypesData, type PostV1SubscriptionsTypesError, type PostV1SubscriptionsTypesErrors, type PostV1SubscriptionsTypesResponse, type PostV1SubscriptionsTypesResponses, type PostV1TenantsByTenantIdCredentialsData, type PostV1TenantsByTenantIdCredentialsResponses, type PostV1TenantsByTenantIdTokensData, type PostV1TenantsByTenantIdTokensResponses, type PostV1TenantsData, type PostV1TenantsError, type PostV1TenantsErrors, type PostV1TenantsResponse, type PostV1TenantsResponses, type PostV1UsersData, type PostV1UsersError, type PostV1UsersErrors, type PostV1UsersResponse, type PostV1UsersResponses, type ProxyConfig, type PutApiInngestData, type PutApiInngestResponses, type PutV1AuthUserProfileData, type PutV1AuthUserProfileError, type PutV1AuthUserProfileErrors, type PutV1AuthUserProfileResponse, type PutV1AuthUserProfileResponses, type PutV1CrimeCategoriesByCategoryIdData, type PutV1CrimeCategoriesByCategoryIdError, type PutV1CrimeCategoriesByCategoryIdErrors, type PutV1CrimeCategoriesByCategoryIdResponse, type PutV1CrimeCategoriesByCategoryIdResponses, type PutV1CrimeTypesByTypeIdData, type PutV1CrimeTypesByTypeIdError, type PutV1CrimeTypesByTypeIdErrors, type PutV1CrimeTypesByTypeIdResponse, type PutV1CrimeTypesByTypeIdResponses, type PutV1NotificationsPreferencesByUserIdData, type PutV1NotificationsPreferencesByUserIdError, type PutV1NotificationsPreferencesByUserIdErrors, type PutV1NotificationsPreferencesByUserIdResponse, type PutV1NotificationsPreferencesByUserIdResponses, type PutV1PanicByPanicIdCancelData, type PutV1PanicByPanicIdCancelError, type PutV1PanicByPanicIdCancelErrors, type PutV1PanicByPanicIdCancelResponse, type PutV1PanicByPanicIdCancelResponses, type PutV1PanicByPanicIdLocationData, type PutV1PanicByPanicIdLocationError, type PutV1PanicByPanicIdLocationErrors, type PutV1PanicByPanicIdLocationResponse, type PutV1PanicByPanicIdLocationResponses, type PutV1PanicInformationByIdData, type PutV1PanicInformationByIdError, type PutV1PanicInformationByIdErrors, type PutV1PanicInformationByIdResponse, type PutV1PanicInformationByIdResponses, type PutV1ProvidersByIdData, type PutV1ProvidersByIdError, type PutV1ProvidersByIdErrors, type PutV1ProvidersByIdResponse, type PutV1ProvidersByIdResponses, type PutV1SubscriptionsTypesByTypeIdData, type PutV1SubscriptionsTypesByTypeIdError, type PutV1SubscriptionsTypesByTypeIdErrors, type PutV1SubscriptionsTypesByTypeIdResponse, type PutV1SubscriptionsTypesByTypeIdResponses, type PutV1TenantsByTenantIdData, type PutV1TenantsByTenantIdResponses, type PutV1UsersByUserIdData, type PutV1UsersByUserIdError, type PutV1UsersByUserIdErrors, type PutV1UsersByUserIdResponse, type PutV1UsersByUserIdResponses, type SaferCityClient, type SaferCityClientOptions, ServerClient, type ServerClientConfig, type SetupCredentialBody, type TenantCreateBody, type TraceApiInngestData, type TraceApiInngestResponses, type TransactionIdParam, type TriggerNotificationBody, type TriggerNotificationResponse, type UpdatePanicInformationBody, type UpdatePanicLocationBody, type UpdatePreferencesBody, type UpdatePreferencesResponse, type UpdateSubscriptionTypeBody, type UserCreateBody, type UserIdParam, type UserPaginationQuery, type UserUpdateBody, type WhoAmIResponse, createExpressMiddleware, createNextHandler, createProxyHandler, createSaferCityClient, createServerClient };
6097
+ export { type ApiErrorResponse, type AuthOptionalResponse, type BulkTriggerNotificationBody, type BulkTriggerNotificationResponse, type CancelNotificationResponse, type CancelPanicBody, type ClientOptions, type CreateCredentialBody, type CreatePanicBody, type CreatePanicInformationBody, type CreateSubscriberBody, type CreateSubscriberResponse, type CreateSubscriptionBody, type CreateSubscriptionTypeBody, type CredentialParams, type DeleteSubscriberResponse, type DeleteV1AuthProvidersByProviderIdData, type DeleteV1AuthProvidersByProviderIdDomainsByDomainIdData, type DeleteV1AuthProvidersByProviderIdDomainsByDomainIdError, type DeleteV1AuthProvidersByProviderIdDomainsByDomainIdErrors, type DeleteV1AuthProvidersByProviderIdDomainsByDomainIdResponse, type DeleteV1AuthProvidersByProviderIdDomainsByDomainIdResponses, type DeleteV1AuthProvidersByProviderIdError, type DeleteV1AuthProvidersByProviderIdErrors, type DeleteV1AuthProvidersByProviderIdResponse, type DeleteV1AuthProvidersByProviderIdResponses, type DeleteV1CrimeCategoriesByCategoryIdData, type DeleteV1CrimeCategoriesByCategoryIdError, type DeleteV1CrimeCategoriesByCategoryIdErrors, type DeleteV1CrimeCategoriesByCategoryIdResponse, type DeleteV1CrimeCategoriesByCategoryIdResponses, type DeleteV1CrimeTypesByTypeIdData, type DeleteV1CrimeTypesByTypeIdError, type DeleteV1CrimeTypesByTypeIdErrors, type DeleteV1CrimeTypesByTypeIdResponse, type DeleteV1CrimeTypesByTypeIdResponses, type DeleteV1NotificationsByTransactionIdData, type DeleteV1NotificationsByTransactionIdError, type DeleteV1NotificationsByTransactionIdErrors, type DeleteV1NotificationsByTransactionIdResponse, type DeleteV1NotificationsByTransactionIdResponses, type DeleteV1NotificationsSubscribersByUserIdData, type DeleteV1NotificationsSubscribersByUserIdError, type DeleteV1NotificationsSubscribersByUserIdErrors, type DeleteV1NotificationsSubscribersByUserIdResponse, type DeleteV1NotificationsSubscribersByUserIdResponses, type DeleteV1PanicInformationByIdData, type DeleteV1PanicInformationByIdError, type DeleteV1PanicInformationByIdErrors, type DeleteV1PanicInformationByIdResponse, type DeleteV1PanicInformationByIdResponses, type EndpointPattern, type GetAuthOptionalData, type GetAuthOptionalResponse, type GetAuthOptionalResponses, type GetAuthWhoamiData, type GetAuthWhoamiError, type GetAuthWhoamiErrors, type GetAuthWhoamiResponse, type GetAuthWhoamiResponses, type GetHealthData, type GetHealthResponse, type GetHealthResponses, type GetPreferencesResponse, type GetV1AuthProvidersByProviderIdData, type GetV1AuthProvidersByProviderIdDomainsData, type GetV1AuthProvidersByProviderIdDomainsError, type GetV1AuthProvidersByProviderIdDomainsErrors, type GetV1AuthProvidersByProviderIdDomainsResponse, type GetV1AuthProvidersByProviderIdDomainsResponses, type GetV1AuthProvidersByProviderIdError, type GetV1AuthProvidersByProviderIdErrors, type GetV1AuthProvidersByProviderIdResponse, type GetV1AuthProvidersByProviderIdResponses, type GetV1AuthProvidersData, type GetV1AuthProvidersError, type GetV1AuthProvidersErrors, type GetV1AuthProvidersResponse, type GetV1AuthProvidersResponses, type GetV1CrimeCategoriesByCategoryIdData, type GetV1CrimeCategoriesByCategoryIdError, type GetV1CrimeCategoriesByCategoryIdErrors, type GetV1CrimeCategoriesByCategoryIdResponse, type GetV1CrimeCategoriesByCategoryIdResponses, type GetV1CrimeCategoriesData, type GetV1CrimeCategoriesError, type GetV1CrimeCategoriesErrors, type GetV1CrimeCategoriesResponse, type GetV1CrimeCategoriesResponses, type GetV1CrimeCategoriesWithTypesData, type GetV1CrimeCategoriesWithTypesError, type GetV1CrimeCategoriesWithTypesErrors, type GetV1CrimeCategoriesWithTypesResponse, type GetV1CrimeCategoriesWithTypesResponses, type GetV1CrimeTypesByTypeIdData, type GetV1CrimeTypesByTypeIdError, type GetV1CrimeTypesByTypeIdErrors, type GetV1CrimeTypesByTypeIdResponse, type GetV1CrimeTypesByTypeIdResponses, type GetV1CrimeTypesCategoryByCategoryIdData, type GetV1CrimeTypesCategoryByCategoryIdError, type GetV1CrimeTypesCategoryByCategoryIdErrors, type GetV1CrimeTypesCategoryByCategoryIdResponse, type GetV1CrimeTypesCategoryByCategoryIdResponses, type GetV1CrimeTypesData, type GetV1CrimeTypesError, type GetV1CrimeTypesErrors, type GetV1CrimeTypesResponse, type GetV1CrimeTypesResponses, type GetV1CrimesListData, type GetV1CrimesListError, type GetV1CrimesListErrors, type GetV1CrimesListResponse, type GetV1CrimesListResponses, type GetV1NotificationsPreferencesByUserIdData, type GetV1NotificationsPreferencesByUserIdError, type GetV1NotificationsPreferencesByUserIdErrors, type GetV1NotificationsPreferencesByUserIdResponse, type GetV1NotificationsPreferencesByUserIdResponses, type GetV1PanicByPanicIdData, type GetV1PanicByPanicIdError, type GetV1PanicByPanicIdErrors, type GetV1PanicByPanicIdResponse, type GetV1PanicByPanicIdResponses, type GetV1PanicByPanicIdStreamData, type GetV1PanicByPanicIdStreamResponses, type GetV1PanicData, type GetV1PanicError, type GetV1PanicErrors, type GetV1PanicInformationByIdData, type GetV1PanicInformationByIdError, type GetV1PanicInformationByIdErrors, type GetV1PanicInformationByIdResponse, type GetV1PanicInformationByIdResponses, type GetV1PanicInformationData, type GetV1PanicInformationError, type GetV1PanicInformationErrors, type GetV1PanicInformationResponse, type GetV1PanicInformationResponses, type GetV1PanicInformationUserByUserIdData, type GetV1PanicInformationUserByUserIdError, type GetV1PanicInformationUserByUserIdErrors, type GetV1PanicInformationUserByUserIdResponse, type GetV1PanicInformationUserByUserIdResponses, type GetV1PanicInformationValidationByUserIdData, type GetV1PanicInformationValidationByUserIdError, type GetV1PanicInformationValidationByUserIdErrors, type GetV1PanicInformationValidationByUserIdResponse, type GetV1PanicInformationValidationByUserIdResponses, type GetV1PanicResponse, type GetV1PanicResponses, type GetV1PanicTypesByUserIdData, type GetV1PanicTypesByUserIdResponses, type GetV1SubscriptionsData, type GetV1SubscriptionsError, type GetV1SubscriptionsErrors, type GetV1SubscriptionsResponse, type GetV1SubscriptionsResponses, type GetV1SubscriptionsTypesData, type GetV1SubscriptionsTypesError, type GetV1SubscriptionsTypesErrors, type GetV1SubscriptionsTypesResponse, type GetV1SubscriptionsTypesResponses, type GetV1SubscriptionsUserByUserIdData, type GetV1SubscriptionsUserByUserIdError, type GetV1SubscriptionsUserByUserIdErrors, type GetV1SubscriptionsUserByUserIdResponse, type GetV1SubscriptionsUserByUserIdResponses, type GetV1TenantsByTenantIdData, type GetV1TenantsByTenantIdError, type GetV1TenantsByTenantIdErrors, type GetV1TenantsByTenantIdResponse, type GetV1TenantsByTenantIdResponses, type GetV1TenantsByTenantIdUsersData, type GetV1TenantsByTenantIdUsersError, type GetV1TenantsByTenantIdUsersErrors, type GetV1TenantsByTenantIdUsersResponse, type GetV1TenantsByTenantIdUsersResponses, type GetV1UsersByUserIdData, type GetV1UsersByUserIdError, type GetV1UsersByUserIdErrors, type GetV1UsersByUserIdResponse, type GetV1UsersByUserIdResponses, type GetV1UsersData, type GetV1UsersError, type GetV1UsersErrors, type GetV1UsersResponse, type GetV1UsersResponses, type HealthResponse, type ListSubscriptionsQuery, type LocationUpdateResponse, type NotificationErrorResponse, type NotificationUserIdParam, type OAuthIntrospectBody, type OAuthRevokeBody, type OAuthTokenRequestBody, type PanicCancelledResponse, type PanicCreatedResponse, type PanicEligibilityValidationResponse, type PanicErrorResponse, type PanicIdParam, type PanicInformationCreatedResponse, type PanicInformationIdParam, type PanicInformationListResponse, type PanicInformationRecord, type PanicInformationResponse, type PanicListQuery, type PanicListResponse, type PanicResponse, type PatchV1AuthProvidersByProviderIdData, type PatchV1AuthProvidersByProviderIdError, type PatchV1AuthProvidersByProviderIdErrors, type PatchV1AuthProvidersByProviderIdResponse, type PatchV1AuthProvidersByProviderIdResponses, type PatchV1SubscriptionsBySubscriptionIdData, type PatchV1SubscriptionsBySubscriptionIdError, type PatchV1SubscriptionsBySubscriptionIdErrors, type PatchV1SubscriptionsBySubscriptionIdResponse, type PatchV1SubscriptionsBySubscriptionIdResponses, type PostV1AuthProvidersByProviderIdDomainsData, type PostV1AuthProvidersByProviderIdDomainsError, type PostV1AuthProvidersByProviderIdDomainsErrors, type PostV1AuthProvidersByProviderIdDomainsResponse, type PostV1AuthProvidersByProviderIdDomainsResponses, type PostV1AuthProvidersByProviderIdVerifyData, type PostV1AuthProvidersByProviderIdVerifyError, type PostV1AuthProvidersByProviderIdVerifyErrors, type PostV1AuthProvidersByProviderIdVerifyResponse, type PostV1AuthProvidersByProviderIdVerifyResponses, type PostV1AuthProvidersData, type PostV1AuthProvidersError, type PostV1AuthProvidersErrors, type PostV1AuthProvidersResponse, type PostV1AuthProvidersResponses, type PostV1BannerData, type PostV1BannerError, type PostV1BannerErrors, type PostV1BannerResponse, type PostV1BannerResponses, type PostV1CrimeCategoriesData, type PostV1CrimeCategoriesError, type PostV1CrimeCategoriesErrors, type PostV1CrimeCategoriesResponse, type PostV1CrimeCategoriesResponses, type PostV1CrimeReportsData, type PostV1CrimeReportsError, type PostV1CrimeReportsErrors, type PostV1CrimeReportsResponse, type PostV1CrimeReportsResponses, type PostV1CrimeTypesData, type PostV1CrimeTypesError, type PostV1CrimeTypesErrors, type PostV1CrimeTypesResponse, type PostV1CrimeTypesResponses, type PostV1LocationsSafetyCheckData, type PostV1LocationsSafetyCheckError, type PostV1LocationsSafetyCheckErrors, type PostV1LocationsSafetyCheckResponse, type PostV1LocationsSafetyCheckResponses, type PostV1NotificationsBulkTriggerData, type PostV1NotificationsBulkTriggerError, type PostV1NotificationsBulkTriggerErrors, type PostV1NotificationsBulkTriggerResponse, type PostV1NotificationsBulkTriggerResponses, type PostV1NotificationsSubscribersData, type PostV1NotificationsSubscribersError, type PostV1NotificationsSubscribersErrors, type PostV1NotificationsSubscribersResponse, type PostV1NotificationsSubscribersResponses, type PostV1NotificationsTriggerData, type PostV1NotificationsTriggerError, type PostV1NotificationsTriggerErrors, type PostV1NotificationsTriggerResponse, type PostV1NotificationsTriggerResponses, type PostV1OauthIntrospectData, type PostV1OauthIntrospectError, type PostV1OauthIntrospectErrors, type PostV1OauthIntrospectResponse, type PostV1OauthIntrospectResponses, type PostV1OauthRevokeData, type PostV1OauthRevokeResponse, type PostV1OauthRevokeResponses, type PostV1OauthTokenData, type PostV1OauthTokenError, type PostV1OauthTokenErrors, type PostV1OauthTokenResponse, type PostV1OauthTokenResponses, type PostV1PanicData, type PostV1PanicInformationData, type PostV1PanicInformationError, type PostV1PanicInformationErrors, type PostV1PanicInformationResponse, type PostV1PanicInformationResponses, type PostV1PanicResponse, type PostV1PanicResponses, type PostV1PremiumPanicData, type PostV1PremiumPanicResponses, type PostV1SubscriptionsData, type PostV1SubscriptionsError, type PostV1SubscriptionsErrors, type PostV1SubscriptionsResponse, type PostV1SubscriptionsResponses, type PostV1TenantsByTenantIdCredentialsData, type PostV1TenantsByTenantIdCredentialsResponses, type PostV1TenantsByTenantIdTokensData, type PostV1TenantsByTenantIdTokensResponses, type PostV1TenantsData, type PostV1TenantsError, type PostV1TenantsErrors, type PostV1TenantsResponse, type PostV1TenantsResponses, type PostV1UsersData, type PostV1UsersError, type PostV1UsersErrors, type PostV1UsersResponse, type PostV1UsersResponses, type ProxyConfig, type PutV1CrimeCategoriesByCategoryIdData, type PutV1CrimeCategoriesByCategoryIdError, type PutV1CrimeCategoriesByCategoryIdErrors, type PutV1CrimeCategoriesByCategoryIdResponse, type PutV1CrimeCategoriesByCategoryIdResponses, type PutV1CrimeTypesByTypeIdData, type PutV1CrimeTypesByTypeIdError, type PutV1CrimeTypesByTypeIdErrors, type PutV1CrimeTypesByTypeIdResponse, type PutV1CrimeTypesByTypeIdResponses, type PutV1NotificationsPreferencesByUserIdData, type PutV1NotificationsPreferencesByUserIdError, type PutV1NotificationsPreferencesByUserIdErrors, type PutV1NotificationsPreferencesByUserIdResponse, type PutV1NotificationsPreferencesByUserIdResponses, type PutV1PanicByPanicIdCancelData, type PutV1PanicByPanicIdCancelError, type PutV1PanicByPanicIdCancelErrors, type PutV1PanicByPanicIdCancelResponse, type PutV1PanicByPanicIdCancelResponses, type PutV1PanicByPanicIdLocationData, type PutV1PanicByPanicIdLocationError, type PutV1PanicByPanicIdLocationErrors, type PutV1PanicByPanicIdLocationResponse, type PutV1PanicByPanicIdLocationResponses, type PutV1PanicInformationByIdData, type PutV1PanicInformationByIdError, type PutV1PanicInformationByIdErrors, type PutV1PanicInformationByIdResponse, type PutV1PanicInformationByIdResponses, type PutV1SubscriptionsBySubscriptionIdSwitchData, type PutV1SubscriptionsBySubscriptionIdSwitchError, type PutV1SubscriptionsBySubscriptionIdSwitchErrors, type PutV1SubscriptionsBySubscriptionIdSwitchResponse, type PutV1SubscriptionsBySubscriptionIdSwitchResponses, type PutV1TenantsByTenantIdData, type PutV1TenantsByTenantIdResponses, type PutV1UsersByUserIdData, type PutV1UsersByUserIdError, type PutV1UsersByUserIdErrors, type PutV1UsersByUserIdResponse, type PutV1UsersByUserIdResponses, type SaferCityClient, type SaferCityClientOptions, ServerClient, type ServerClientConfig, type SetupCredentialBody, type TenantCreateBody, type TransactionIdParam, type TriggerNotificationBody, type TriggerNotificationResponse, type UpdatePanicInformationBody, type UpdatePanicLocationBody, type UpdatePreferencesBody, type UpdatePreferencesResponse, type UpdateSubscriptionTypeBody, type UserCreateBody, type UserIdParam, type UserPaginationQuery, type UserUpdateBody, type WhoAmIResponse, createExpressMiddleware, createNextHandler, createProxyHandler, createSaferCityClient, createServerClient };