@hearth-auth/sdk 2.0.3 → 3.0.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.
@@ -0,0 +1,3648 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/admin/applications": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ get: operations["ApplicationAdminService_ListApplications"];
14
+ put?: never;
15
+ post: operations["ApplicationAdminService_CreateApplication"];
16
+ delete?: never;
17
+ options?: never;
18
+ head?: never;
19
+ patch?: never;
20
+ trace?: never;
21
+ };
22
+ "/admin/applications/{client_id}": {
23
+ parameters: {
24
+ query?: never;
25
+ header?: never;
26
+ path?: never;
27
+ cookie?: never;
28
+ };
29
+ get: operations["ApplicationAdminService_GetApplication"];
30
+ put?: never;
31
+ post?: never;
32
+ delete: operations["ApplicationAdminService_DeleteApplication"];
33
+ options?: never;
34
+ head?: never;
35
+ patch: operations["ApplicationAdminService_UpdateApplication"];
36
+ trace?: never;
37
+ };
38
+ "/admin/applications/{client_id}/regenerate-secret": {
39
+ parameters: {
40
+ query?: never;
41
+ header?: never;
42
+ path?: never;
43
+ cookie?: never;
44
+ };
45
+ get?: never;
46
+ put?: never;
47
+ /**
48
+ * Replaces a confidential client's secret with a new Hearth-generated one
49
+ * (256 bits from the OS CSPRNG, stored only as a hash). The new secret is
50
+ * returned once, in the response's client_secret; the old one stops
51
+ * authenticating at once. Refused for a public client. Audited.
52
+ */
53
+ post: operations["ApplicationAdminService_RegenerateApplicationSecret"];
54
+ delete?: never;
55
+ options?: never;
56
+ head?: never;
57
+ patch?: never;
58
+ trace?: never;
59
+ };
60
+ "/admin/assignments/{id}": {
61
+ parameters: {
62
+ query?: never;
63
+ header?: never;
64
+ path?: never;
65
+ cookie?: never;
66
+ };
67
+ get?: never;
68
+ put?: never;
69
+ post?: never;
70
+ /** Delete a role assignment */
71
+ delete: operations["adminUnassignRole"];
72
+ options?: never;
73
+ head?: never;
74
+ patch?: never;
75
+ trace?: never;
76
+ };
77
+ "/admin/audit": {
78
+ parameters: {
79
+ query?: never;
80
+ header?: never;
81
+ path?: never;
82
+ cookie?: never;
83
+ };
84
+ /**
85
+ * List audit events
86
+ * @description Requires `hearth.realm.admin`. Newest first.
87
+ */
88
+ get: operations["adminListAuditEvents"];
89
+ put?: never;
90
+ post?: never;
91
+ delete?: never;
92
+ options?: never;
93
+ head?: never;
94
+ patch?: never;
95
+ trace?: never;
96
+ };
97
+ "/admin/audit/verify": {
98
+ parameters: {
99
+ query?: never;
100
+ header?: never;
101
+ path?: never;
102
+ cookie?: never;
103
+ };
104
+ get?: never;
105
+ put?: never;
106
+ /** Verify the realm's audit hash chain */
107
+ post: operations["adminVerifyAudit"];
108
+ delete?: never;
109
+ options?: never;
110
+ head?: never;
111
+ patch?: never;
112
+ trace?: never;
113
+ };
114
+ "/admin/backup": {
115
+ parameters: {
116
+ query?: never;
117
+ header?: never;
118
+ path?: never;
119
+ cookie?: never;
120
+ };
121
+ get?: never;
122
+ put?: never;
123
+ /** Create a backup */
124
+ post: operations["adminBackupCreate"];
125
+ delete?: never;
126
+ options?: never;
127
+ head?: never;
128
+ patch?: never;
129
+ trace?: never;
130
+ };
131
+ "/admin/backup/restore": {
132
+ parameters: {
133
+ query?: never;
134
+ header?: never;
135
+ path?: never;
136
+ cookie?: never;
137
+ };
138
+ get?: never;
139
+ put?: never;
140
+ /** Restore from a backup */
141
+ post: operations["adminBackupRestore"];
142
+ delete?: never;
143
+ options?: never;
144
+ head?: never;
145
+ patch?: never;
146
+ trace?: never;
147
+ };
148
+ "/admin/bootstrap": {
149
+ parameters: {
150
+ query?: never;
151
+ header?: never;
152
+ path?: never;
153
+ cookie?: never;
154
+ };
155
+ get?: never;
156
+ put?: never;
157
+ /**
158
+ * Dev bootstrap (--dev mode only)
159
+ * @description Seeds a realm and admin user on first call. Returns tokens on every call.
160
+ * Available **only** in `--dev` mode; returns `404` in production.
161
+ * Re-bootstrap (realm already exists) refreshes tokens but does **not** reset
162
+ * the admin password — include the `Authorization: Bearer <access_token>` header
163
+ * from the first bootstrap call.
164
+ */
165
+ post: operations["adminBootstrap"];
166
+ delete?: never;
167
+ options?: never;
168
+ head?: never;
169
+ patch?: never;
170
+ trace?: never;
171
+ };
172
+ "/admin/cluster/bootstrap": {
173
+ parameters: {
174
+ query?: never;
175
+ header?: never;
176
+ path?: never;
177
+ cookie?: never;
178
+ };
179
+ get?: never;
180
+ put?: never;
181
+ /** Bootstrap the Raft cluster */
182
+ post: operations["adminClusterBootstrap"];
183
+ delete?: never;
184
+ options?: never;
185
+ head?: never;
186
+ patch?: never;
187
+ trace?: never;
188
+ };
189
+ "/admin/cluster/status": {
190
+ parameters: {
191
+ query?: never;
192
+ header?: never;
193
+ path?: never;
194
+ cookie?: never;
195
+ };
196
+ /** Raft cluster status */
197
+ get: operations["adminClusterStatus"];
198
+ put?: never;
199
+ post?: never;
200
+ delete?: never;
201
+ options?: never;
202
+ head?: never;
203
+ patch?: never;
204
+ trace?: never;
205
+ };
206
+ "/admin/cluster/transfer-leadership": {
207
+ parameters: {
208
+ query?: never;
209
+ header?: never;
210
+ path?: never;
211
+ cookie?: never;
212
+ };
213
+ get?: never;
214
+ put?: never;
215
+ /**
216
+ * Step the Raft leader down
217
+ * @description Steps this node down so another voter wins the next election. This is not a targeted transfer: the pinned Raft library cannot choose the winner, so a body naming target_node_id is refused with 422, and a body with any other field is refused with 400.
218
+ */
219
+ post: operations["adminClusterTransferLeadership"];
220
+ delete?: never;
221
+ options?: never;
222
+ head?: never;
223
+ patch?: never;
224
+ trace?: never;
225
+ };
226
+ "/admin/groups": {
227
+ parameters: {
228
+ query?: never;
229
+ header?: never;
230
+ path?: never;
231
+ cookie?: never;
232
+ };
233
+ /**
234
+ * List groups
235
+ * @description `cursor` is a decimal offset; follow `next_cursor` until it is null.
236
+ */
237
+ get: operations["adminListGroups"];
238
+ put?: never;
239
+ /** Create a group */
240
+ post: operations["adminCreateGroup"];
241
+ delete?: never;
242
+ options?: never;
243
+ head?: never;
244
+ patch?: never;
245
+ trace?: never;
246
+ };
247
+ "/admin/groups/{id}": {
248
+ parameters: {
249
+ query?: never;
250
+ header?: never;
251
+ path: {
252
+ id: string;
253
+ };
254
+ cookie?: never;
255
+ };
256
+ /** Get a group */
257
+ get: operations["adminGetGroup"];
258
+ put?: never;
259
+ post?: never;
260
+ /** Delete a group */
261
+ delete: operations["adminDeleteGroup"];
262
+ options?: never;
263
+ head?: never;
264
+ /**
265
+ * Update a group
266
+ * @description Absent fields are unchanged; `description` null clears it.
267
+ */
268
+ patch: operations["adminUpdateGroup"];
269
+ trace?: never;
270
+ };
271
+ "/admin/groups/{id}/members": {
272
+ parameters: {
273
+ query?: never;
274
+ header?: never;
275
+ path: {
276
+ id: string;
277
+ };
278
+ cookie?: never;
279
+ };
280
+ /** List a group's members */
281
+ get: operations["adminListGroupMembers"];
282
+ put?: never;
283
+ /** Add a member to a group */
284
+ post: operations["adminAddGroupMember"];
285
+ delete?: never;
286
+ options?: never;
287
+ head?: never;
288
+ patch?: never;
289
+ trace?: never;
290
+ };
291
+ "/admin/groups/{id}/members/{member_id}": {
292
+ parameters: {
293
+ query?: never;
294
+ header?: never;
295
+ path?: never;
296
+ cookie?: never;
297
+ };
298
+ get?: never;
299
+ put?: never;
300
+ post?: never;
301
+ /** Remove a member from a group */
302
+ delete: operations["adminRemoveGroupMember"];
303
+ options?: never;
304
+ head?: never;
305
+ patch?: never;
306
+ trace?: never;
307
+ };
308
+ "/admin/groups/{id}/roles": {
309
+ parameters: {
310
+ query?: never;
311
+ header?: never;
312
+ path?: never;
313
+ cookie?: never;
314
+ };
315
+ get?: never;
316
+ put?: never;
317
+ /**
318
+ * Assign a role to a group
319
+ * @description Body: `{role_id, org_id?}`. Same ceiling and org-existence rules as `POST /admin/users/{id}/roles`. Unassign with `DELETE /admin/assignments/{id}`.
320
+ */
321
+ post: operations["adminAssignGroupRole"];
322
+ delete?: never;
323
+ options?: never;
324
+ head?: never;
325
+ patch?: never;
326
+ trace?: never;
327
+ };
328
+ "/admin/organizations": {
329
+ parameters: {
330
+ query?: never;
331
+ header?: never;
332
+ path?: never;
333
+ cookie?: never;
334
+ };
335
+ /**
336
+ * List organizations
337
+ * @description Requires `hearth.realm.admin`. `cursor` is a decimal offset; follow `next_cursor` until it is null.
338
+ */
339
+ get: operations["adminListOrganizations"];
340
+ put?: never;
341
+ /**
342
+ * Create an organization
343
+ * @description Requires `hearth.realm.admin`. Body: `{slug, display_name, member_limit?, mfa_required?, attributes?}`. `mfa_required` (default `false`) makes members need MFA even where the realm does not; it can only tighten. Refused in the system realm.
344
+ */
345
+ post: operations["adminCreateOrganization"];
346
+ delete?: never;
347
+ options?: never;
348
+ head?: never;
349
+ patch?: never;
350
+ trace?: never;
351
+ };
352
+ "/admin/organizations/{id}": {
353
+ parameters: {
354
+ query?: never;
355
+ header?: never;
356
+ path: {
357
+ id: string;
358
+ };
359
+ cookie?: never;
360
+ };
361
+ /** Get an organization */
362
+ get: operations["adminGetOrganization"];
363
+ put?: never;
364
+ post?: never;
365
+ /**
366
+ * Delete an organization
367
+ * @description Refused when a member holds admin authority in the organization that the caller lacks.
368
+ */
369
+ delete: operations["adminDeleteOrganization"];
370
+ options?: never;
371
+ head?: never;
372
+ /**
373
+ * Update an organization
374
+ * @description Body: `{display_name?, status? (active|suspended), member_limit?, mfa_required?, attributes?}`. A field left out keeps its value. A `slug` is refused with 400 (it is immutable). Suspending is checked against the admin privilege ceiling, like a delete.
375
+ */
376
+ patch: operations["adminUpdateOrganization"];
377
+ trace?: never;
378
+ };
379
+ "/admin/organizations/{id}/members/{user_id}/roles": {
380
+ parameters: {
381
+ query?: never;
382
+ header?: never;
383
+ path: {
384
+ id: string;
385
+ user_id: string;
386
+ };
387
+ cookie?: never;
388
+ };
389
+ /** List a member's extra org roles */
390
+ get: operations["adminListAdditionalRoles"];
391
+ put?: never;
392
+ /**
393
+ * Give a member an extra org role
394
+ * @description Body: `{role_name}`. The user must be a member (409 otherwise); a sub-admin may only give roles within its own permissions.
395
+ */
396
+ post: operations["adminAddAdditionalRole"];
397
+ delete?: never;
398
+ options?: never;
399
+ head?: never;
400
+ patch?: never;
401
+ trace?: never;
402
+ };
403
+ "/admin/organizations/{id}/members/{user_id}/roles/{role_name}": {
404
+ parameters: {
405
+ query?: never;
406
+ header?: never;
407
+ path?: never;
408
+ cookie?: never;
409
+ };
410
+ get?: never;
411
+ put?: never;
412
+ post?: never;
413
+ /**
414
+ * Remove a member's extra org role
415
+ * @description Checked against the admin privilege ceiling.
416
+ */
417
+ delete: operations["adminRemoveAdditionalRole"];
418
+ options?: never;
419
+ head?: never;
420
+ patch?: never;
421
+ trace?: never;
422
+ };
423
+ "/admin/permissions": {
424
+ parameters: {
425
+ query?: never;
426
+ header?: never;
427
+ path?: never;
428
+ cookie?: never;
429
+ };
430
+ /** List the realm's permission registry */
431
+ get: operations["adminListPermissions"];
432
+ put?: never;
433
+ post?: never;
434
+ delete?: never;
435
+ options?: never;
436
+ head?: never;
437
+ patch?: never;
438
+ trace?: never;
439
+ };
440
+ "/admin/realms": {
441
+ parameters: {
442
+ query?: never;
443
+ header?: never;
444
+ path?: never;
445
+ cookie?: never;
446
+ };
447
+ /**
448
+ * Realms — operate against the system realm (mutations require admin in
449
+ * the system realm). `x-realm-id` metadata is ignored for these RPCs.
450
+ */
451
+ get: operations["IdentityAdminService_ListRealms"];
452
+ put?: never;
453
+ post?: never;
454
+ delete?: never;
455
+ options?: never;
456
+ head?: never;
457
+ patch?: never;
458
+ trace?: never;
459
+ };
460
+ "/admin/realms/{id}": {
461
+ parameters: {
462
+ query?: never;
463
+ header?: never;
464
+ path?: never;
465
+ cookie?: never;
466
+ };
467
+ get: operations["IdentityAdminService_GetRealm"];
468
+ put?: never;
469
+ post?: never;
470
+ delete: operations["IdentityAdminService_DeleteRealm"];
471
+ options?: never;
472
+ head?: never;
473
+ patch?: never;
474
+ trace?: never;
475
+ };
476
+ "/admin/realms/{id}/branding": {
477
+ parameters: {
478
+ query?: never;
479
+ header?: never;
480
+ path?: never;
481
+ cookie?: never;
482
+ };
483
+ /** Get realm branding config */
484
+ get: operations["adminGetRealmBranding"];
485
+ put?: never;
486
+ post?: never;
487
+ delete?: never;
488
+ options?: never;
489
+ head?: never;
490
+ /** Patch realm branding config */
491
+ patch: operations["adminPatchRealmBranding"];
492
+ trace?: never;
493
+ };
494
+ "/admin/realms/{id}/email-templates": {
495
+ parameters: {
496
+ query?: never;
497
+ header?: never;
498
+ path?: never;
499
+ cookie?: never;
500
+ };
501
+ /** List email templates for a realm */
502
+ get: operations["adminListRealmEmailTemplates"];
503
+ put?: never;
504
+ post?: never;
505
+ delete?: never;
506
+ options?: never;
507
+ head?: never;
508
+ patch?: never;
509
+ trace?: never;
510
+ };
511
+ "/admin/realms/{id}/email-templates/{kind}": {
512
+ parameters: {
513
+ query?: never;
514
+ header?: never;
515
+ path?: never;
516
+ cookie?: never;
517
+ };
518
+ /** Get an email template */
519
+ get: operations["adminGetRealmEmailTemplate"];
520
+ /** Replace an email template */
521
+ put: operations["adminPutRealmEmailTemplate"];
522
+ post?: never;
523
+ /** Delete an email template (revert to default) */
524
+ delete: operations["adminDeleteRealmEmailTemplate"];
525
+ options?: never;
526
+ head?: never;
527
+ patch?: never;
528
+ trace?: never;
529
+ };
530
+ "/admin/realms/{id}/rotate-signing-key": {
531
+ parameters: {
532
+ query?: never;
533
+ header?: never;
534
+ path?: never;
535
+ cookie?: never;
536
+ };
537
+ get?: never;
538
+ put?: never;
539
+ /**
540
+ * Rotate the realm's Ed25519 signing key
541
+ * @description Publishes a new signing key and revokes every retired key for the realm. Tokens signed with the old key stop validating immediately, which is what makes this a usable remedy for a leaked key. A planned rotation may opt into a grace window with `grace_period_secs`; do not use it after a compromise, because the window protects whoever holds the leaked key too.
542
+ */
543
+ post: operations["adminRotateRealmSigningKey"];
544
+ delete?: never;
545
+ options?: never;
546
+ head?: never;
547
+ patch?: never;
548
+ trace?: never;
549
+ };
550
+ "/admin/realms/{id}/suspend": {
551
+ parameters: {
552
+ query?: never;
553
+ header?: never;
554
+ path?: never;
555
+ cookie?: never;
556
+ };
557
+ get?: never;
558
+ put?: never;
559
+ /**
560
+ * Suspend a realm (incident-response freeze)
561
+ * @description Every token of the realm stops validating, its sessions are revoked and no new session starts until the realm is reinstated. Caller must be a system-realm admin (`hearth.realm.admin` or `hearth.admin`, with `X-Realm-ID` set to the system realm); the target realm's cross-realm trust policy applies. The system realm cannot be suspended. Audited in the target realm with the actor and old/new status. YAML reconciliation never clears a suspension.
562
+ */
563
+ post: operations["IdentityAdminService_SuspendRealm"];
564
+ delete?: never;
565
+ options?: never;
566
+ head?: never;
567
+ patch?: never;
568
+ trace?: never;
569
+ };
570
+ "/admin/realms/{id}/unsuspend": {
571
+ parameters: {
572
+ query?: never;
573
+ header?: never;
574
+ path?: never;
575
+ cookie?: never;
576
+ };
577
+ get?: never;
578
+ put?: never;
579
+ /**
580
+ * Reinstate a suspended realm
581
+ * @description Restores a suspended realm to active. Same gate as suspend. An archived realm is not revived (409): only reappearing in hearth.yaml does that.
582
+ */
583
+ post: operations["IdentityAdminService_UnsuspendRealm"];
584
+ delete?: never;
585
+ options?: never;
586
+ head?: never;
587
+ patch?: never;
588
+ trace?: never;
589
+ };
590
+ "/admin/realms/{realm_id}/config": {
591
+ parameters: {
592
+ query?: never;
593
+ header?: never;
594
+ path?: never;
595
+ cookie?: never;
596
+ };
597
+ get?: never;
598
+ put?: never;
599
+ post?: never;
600
+ delete?: never;
601
+ options?: never;
602
+ head?: never;
603
+ /** Patch realm config */
604
+ patch: operations["adminPatchRealmConfig"];
605
+ trace?: never;
606
+ };
607
+ "/admin/realms/{realm_id}/sv-bump-all": {
608
+ parameters: {
609
+ query?: never;
610
+ header?: never;
611
+ path?: never;
612
+ cookie?: never;
613
+ };
614
+ get?: never;
615
+ put?: never;
616
+ /** Bump all session versions in a realm */
617
+ post: operations["adminSvBumpAll"];
618
+ delete?: never;
619
+ options?: never;
620
+ head?: never;
621
+ patch?: never;
622
+ trace?: never;
623
+ };
624
+ "/admin/realms/{realm_id}/users/{user_id}/required-actions": {
625
+ parameters: {
626
+ query?: never;
627
+ header?: never;
628
+ path?: never;
629
+ cookie?: never;
630
+ };
631
+ get?: never;
632
+ put?: never;
633
+ post?: never;
634
+ delete?: never;
635
+ options?: never;
636
+ head?: never;
637
+ /** Patch required actions for a user */
638
+ patch: operations["adminPatchUserRequiredActions"];
639
+ trace?: never;
640
+ };
641
+ "/admin/roles": {
642
+ parameters: {
643
+ query?: never;
644
+ header?: never;
645
+ path?: never;
646
+ cookie?: never;
647
+ };
648
+ /**
649
+ * List roles
650
+ * @description Requires `hearth.realm.admin`. Follow `next_cursor` until it is null.
651
+ */
652
+ get: operations["adminListRoles"];
653
+ put?: never;
654
+ /** Create a role */
655
+ post: operations["adminCreateRole"];
656
+ delete?: never;
657
+ options?: never;
658
+ head?: never;
659
+ patch?: never;
660
+ trace?: never;
661
+ };
662
+ "/admin/roles/{id}": {
663
+ parameters: {
664
+ query?: never;
665
+ header?: never;
666
+ path: {
667
+ id: string;
668
+ };
669
+ cookie?: never;
670
+ };
671
+ /** Get a role */
672
+ get: operations["adminGetRole"];
673
+ put?: never;
674
+ post?: never;
675
+ /** Delete a role */
676
+ delete: operations["adminDeleteRole"];
677
+ options?: never;
678
+ head?: never;
679
+ /**
680
+ * Update a role
681
+ * @description Absent fields are unchanged; `description` null clears it.
682
+ */
683
+ patch: operations["adminUpdateRole"];
684
+ trace?: never;
685
+ };
686
+ "/admin/roles/{id}/members": {
687
+ parameters: {
688
+ query?: never;
689
+ header?: never;
690
+ path?: never;
691
+ cookie?: never;
692
+ };
693
+ /** List the users and groups holding a role */
694
+ get: operations["adminListRoleMembers"];
695
+ put?: never;
696
+ post?: never;
697
+ delete?: never;
698
+ options?: never;
699
+ head?: never;
700
+ patch?: never;
701
+ trace?: never;
702
+ };
703
+ "/admin/sessions/{session_id}/sv-bump": {
704
+ parameters: {
705
+ query?: never;
706
+ header?: never;
707
+ path?: never;
708
+ cookie?: never;
709
+ };
710
+ get?: never;
711
+ put?: never;
712
+ /** Bump session version (invalidates existing tokens) */
713
+ post: operations["adminSvBumpSession"];
714
+ delete?: never;
715
+ options?: never;
716
+ head?: never;
717
+ patch?: never;
718
+ trace?: never;
719
+ };
720
+ "/admin/users": {
721
+ parameters: {
722
+ query?: never;
723
+ header?: never;
724
+ path?: never;
725
+ cookie?: never;
726
+ };
727
+ /** Users */
728
+ get: operations["IdentityAdminService_ListUsers"];
729
+ put?: never;
730
+ post: operations["IdentityAdminService_CreateUser"];
731
+ delete?: never;
732
+ options?: never;
733
+ head?: never;
734
+ patch?: never;
735
+ trace?: never;
736
+ };
737
+ "/admin/users/bulk": {
738
+ parameters: {
739
+ query?: never;
740
+ header?: never;
741
+ path?: never;
742
+ cookie?: never;
743
+ };
744
+ get?: never;
745
+ put?: never;
746
+ /** Bulk create or disable users */
747
+ post: operations["adminBulkUsers"];
748
+ delete?: never;
749
+ options?: never;
750
+ head?: never;
751
+ patch?: never;
752
+ trace?: never;
753
+ };
754
+ "/admin/users/export": {
755
+ parameters: {
756
+ query?: never;
757
+ header?: never;
758
+ path?: never;
759
+ cookie?: never;
760
+ };
761
+ /** Export users */
762
+ get: operations["adminExportUsers"];
763
+ put?: never;
764
+ post?: never;
765
+ delete?: never;
766
+ options?: never;
767
+ head?: never;
768
+ patch?: never;
769
+ trace?: never;
770
+ };
771
+ "/admin/users/import": {
772
+ parameters: {
773
+ query?: never;
774
+ header?: never;
775
+ path?: never;
776
+ cookie?: never;
777
+ };
778
+ get?: never;
779
+ put?: never;
780
+ /** Import users (migration) */
781
+ post: operations["adminImportUsers"];
782
+ delete?: never;
783
+ options?: never;
784
+ head?: never;
785
+ patch?: never;
786
+ trace?: never;
787
+ };
788
+ "/admin/users/{id}": {
789
+ parameters: {
790
+ query?: never;
791
+ header?: never;
792
+ path?: never;
793
+ cookie?: never;
794
+ };
795
+ get: operations["IdentityAdminService_GetUser"];
796
+ put?: never;
797
+ post?: never;
798
+ delete: operations["IdentityAdminService_DeleteUser"];
799
+ options?: never;
800
+ head?: never;
801
+ patch: operations["IdentityAdminService_UpdateUser"];
802
+ trace?: never;
803
+ };
804
+ "/admin/users/{id}/permissions": {
805
+ parameters: {
806
+ query?: never;
807
+ header?: never;
808
+ path: {
809
+ id: string;
810
+ };
811
+ cookie?: never;
812
+ };
813
+ /** List a user's direct permission grants */
814
+ get: operations["adminListUserPermissions"];
815
+ put?: never;
816
+ /**
817
+ * Grant a permission directly to a user
818
+ * @description Body: `{permission, org_id?}`. A sub-admin may grant only a permission it holds; `granted_by` is the caller.
819
+ */
820
+ post: operations["adminGrantUserPermission"];
821
+ delete?: never;
822
+ options?: never;
823
+ head?: never;
824
+ patch?: never;
825
+ trace?: never;
826
+ };
827
+ "/admin/users/{id}/permissions/{permission}": {
828
+ parameters: {
829
+ query?: never;
830
+ header?: never;
831
+ path?: never;
832
+ cookie?: never;
833
+ };
834
+ get?: never;
835
+ put?: never;
836
+ post?: never;
837
+ /**
838
+ * Revoke a direct permission grant
839
+ * @description Add `?org_id=` for an org-scoped grant. Checked against the admin privilege ceiling.
840
+ */
841
+ delete: operations["adminRevokeUserPermission"];
842
+ options?: never;
843
+ head?: never;
844
+ patch?: never;
845
+ trace?: never;
846
+ };
847
+ "/admin/users/{id}/roles": {
848
+ parameters: {
849
+ query?: never;
850
+ header?: never;
851
+ path: {
852
+ id: string;
853
+ };
854
+ cookie?: never;
855
+ };
856
+ /** List a user's role assignments */
857
+ get: operations["adminListUserAssignments"];
858
+ put?: never;
859
+ /**
860
+ * Assign a role to a user
861
+ * @description Realm-wide, or inside one organization when `org_id` is set.
862
+ */
863
+ post: operations["adminAssignUserRole"];
864
+ delete?: never;
865
+ options?: never;
866
+ head?: never;
867
+ patch?: never;
868
+ trace?: never;
869
+ };
870
+ "/admin/users/{user_id}/consents": {
871
+ parameters: {
872
+ query?: never;
873
+ header?: never;
874
+ path?: never;
875
+ cookie?: never;
876
+ };
877
+ /** List all active consents for a user. */
878
+ get: operations["RbacAdminService_ListUserConsents"];
879
+ put?: never;
880
+ post?: never;
881
+ delete?: never;
882
+ options?: never;
883
+ head?: never;
884
+ patch?: never;
885
+ trace?: never;
886
+ };
887
+ "/admin/users/{user_id}/consents/{client_id}": {
888
+ parameters: {
889
+ query?: never;
890
+ header?: never;
891
+ path?: never;
892
+ cookie?: never;
893
+ };
894
+ get?: never;
895
+ put?: never;
896
+ post?: never;
897
+ /** Revoke OAuth consent for a specific (user, client) pair. */
898
+ delete: operations["RbacAdminService_RevokeConsent"];
899
+ options?: never;
900
+ head?: never;
901
+ patch?: never;
902
+ trace?: never;
903
+ };
904
+ "/admin/users/{user_id}/effective-permissions": {
905
+ parameters: {
906
+ query?: never;
907
+ header?: never;
908
+ path?: never;
909
+ cookie?: never;
910
+ };
911
+ get: operations["RbacAdminService_ResolveEffectivePermissions"];
912
+ put?: never;
913
+ post?: never;
914
+ delete?: never;
915
+ options?: never;
916
+ head?: never;
917
+ patch?: never;
918
+ trace?: never;
919
+ };
920
+ "/admin/webhooks": {
921
+ parameters: {
922
+ query?: never;
923
+ header?: never;
924
+ path?: never;
925
+ cookie?: never;
926
+ };
927
+ /** List webhooks */
928
+ get: operations["adminListWebhooks"];
929
+ put?: never;
930
+ /** Create a webhook */
931
+ post: operations["adminCreateWebhook"];
932
+ delete?: never;
933
+ options?: never;
934
+ head?: never;
935
+ patch?: never;
936
+ trace?: never;
937
+ };
938
+ "/admin/webhooks/{id}": {
939
+ parameters: {
940
+ query?: never;
941
+ header?: never;
942
+ path?: never;
943
+ cookie?: never;
944
+ };
945
+ /** Get a webhook */
946
+ get: operations["adminGetWebhook"];
947
+ /** Replace a webhook */
948
+ put: operations["adminUpdateWebhook"];
949
+ post?: never;
950
+ /** Delete a webhook */
951
+ delete: operations["adminDeleteWebhook"];
952
+ options?: never;
953
+ head?: never;
954
+ patch?: never;
955
+ trace?: never;
956
+ };
957
+ "/admin/webhooks/{id}/deliveries": {
958
+ parameters: {
959
+ query?: never;
960
+ header?: never;
961
+ path?: never;
962
+ cookie?: never;
963
+ };
964
+ /** List webhook deliveries */
965
+ get: operations["adminListWebhookDeliveries"];
966
+ put?: never;
967
+ post?: never;
968
+ delete?: never;
969
+ options?: never;
970
+ head?: never;
971
+ patch?: never;
972
+ trace?: never;
973
+ };
974
+ }
975
+ export type webhooks = Record<string, never>;
976
+ export interface components {
977
+ schemas: {
978
+ AdminAddAdditionalRoleRequest: {
979
+ role_name: string;
980
+ };
981
+ AdminAddGroupMemberRequest: {
982
+ /** @enum {string} */
983
+ type: "user" | "group";
984
+ /** Format: uuid */
985
+ id: string;
986
+ };
987
+ AdminAssignRoleRequest: {
988
+ /** Format: uuid */
989
+ role_id: string;
990
+ /**
991
+ * Format: uuid
992
+ * @description Assign inside this organization only; absent or null assigns realm-wide.
993
+ */
994
+ org_id?: string | null;
995
+ };
996
+ AdminAssignmentScope: {
997
+ /** @enum {string} */
998
+ type: "realm" | "org";
999
+ /**
1000
+ * Format: uuid
1001
+ * @description Present when `type` is `org`.
1002
+ */
1003
+ org_id?: string;
1004
+ };
1005
+ AdminAuditEvent: {
1006
+ id: string;
1007
+ /** Format: uuid */
1008
+ realm_id: string;
1009
+ actor: string;
1010
+ /** @description The audit action name, e.g. `UserCreated`. */
1011
+ action: string;
1012
+ resource_type: string;
1013
+ resource_id: string;
1014
+ /**
1015
+ * Format: int64
1016
+ * @description Microseconds since the Unix epoch.
1017
+ */
1018
+ timestamp: number;
1019
+ /** @description Present only when the event carries metadata. */
1020
+ metadata?: {
1021
+ [key: string]: unknown;
1022
+ };
1023
+ integrity_hash: string;
1024
+ };
1025
+ AdminAuditEventList: {
1026
+ events: components["schemas"]["AdminAuditEvent"][];
1027
+ };
1028
+ AdminCreateGroupRequest: {
1029
+ name: string;
1030
+ slug: string;
1031
+ description?: string | null;
1032
+ };
1033
+ AdminCreateOrganizationRequest: {
1034
+ slug: string;
1035
+ display_name: string;
1036
+ /** Format: int32 */
1037
+ member_limit?: number | null;
1038
+ /** @default false */
1039
+ mfa_required: boolean;
1040
+ attributes?: {
1041
+ [key: string]: string;
1042
+ };
1043
+ };
1044
+ AdminCreateRoleRequest: {
1045
+ name: string;
1046
+ description?: string | null;
1047
+ permissions?: string[];
1048
+ parent_roles?: string[];
1049
+ };
1050
+ AdminGroup: {
1051
+ /** Format: uuid */
1052
+ id: string;
1053
+ /** Format: uuid */
1054
+ realm_id: string;
1055
+ name: string;
1056
+ slug: string;
1057
+ description: string | null;
1058
+ /**
1059
+ * Format: int64
1060
+ * @description Microseconds since the Unix epoch.
1061
+ */
1062
+ created_at: number;
1063
+ /**
1064
+ * Format: int64
1065
+ * @description Microseconds since the Unix epoch.
1066
+ */
1067
+ updated_at: number;
1068
+ };
1069
+ AdminGroupMemberPage: {
1070
+ items: components["schemas"]["AdminSubject"][];
1071
+ next_cursor: string | null;
1072
+ };
1073
+ AdminGroupMembership: {
1074
+ /** Format: uuid */
1075
+ group_id: string;
1076
+ member: components["schemas"]["AdminSubject"];
1077
+ /**
1078
+ * Format: int64
1079
+ * @description Microseconds since the Unix epoch.
1080
+ */
1081
+ added_at: number;
1082
+ /** Format: uuid */
1083
+ added_by: string | null;
1084
+ };
1085
+ AdminGroupPage: {
1086
+ items: components["schemas"]["AdminGroup"][];
1087
+ next_cursor: string | null;
1088
+ /** Format: int64 */
1089
+ total: number;
1090
+ };
1091
+ AdminOrganization: {
1092
+ /** Format: uuid */
1093
+ id: string;
1094
+ slug: string;
1095
+ display_name: string;
1096
+ /** @enum {string} */
1097
+ status: "active" | "suspended" | "archived";
1098
+ /** Format: int32 */
1099
+ member_limit?: number | null;
1100
+ /** @description Members need MFA even where the realm does not require it. */
1101
+ mfa_required: boolean;
1102
+ attributes: {
1103
+ [key: string]: string;
1104
+ };
1105
+ /**
1106
+ * Format: int64
1107
+ * @description Microseconds since the Unix epoch.
1108
+ */
1109
+ created_at: number;
1110
+ /**
1111
+ * Format: int64
1112
+ * @description Microseconds since the Unix epoch.
1113
+ */
1114
+ updated_at: number;
1115
+ };
1116
+ AdminOrganizationPage: {
1117
+ items: components["schemas"]["AdminOrganization"][];
1118
+ next_cursor?: string | null;
1119
+ };
1120
+ AdminRole: {
1121
+ /** Format: uuid */
1122
+ id: string;
1123
+ /** Format: uuid */
1124
+ realm_id: string;
1125
+ name: string;
1126
+ description: string | null;
1127
+ permissions: string[];
1128
+ parent_roles: string[];
1129
+ /** @enum {string} */
1130
+ scope_kind: "realm" | "organization" | "any";
1131
+ /** @enum {string} */
1132
+ status: "active" | "archived";
1133
+ /** @description Declared in hearth.yaml; the admin API cannot change it. */
1134
+ yaml_managed: boolean;
1135
+ /**
1136
+ * Format: int64
1137
+ * @description Microseconds since the Unix epoch.
1138
+ */
1139
+ created_at: number;
1140
+ /**
1141
+ * Format: int64
1142
+ * @description Microseconds since the Unix epoch.
1143
+ */
1144
+ updated_at: number;
1145
+ };
1146
+ AdminRoleAssignment: {
1147
+ /** Format: uuid */
1148
+ id: string;
1149
+ /** Format: uuid */
1150
+ realm_id: string;
1151
+ subject: components["schemas"]["AdminSubject"];
1152
+ /** Format: uuid */
1153
+ role_id: string;
1154
+ scope: components["schemas"]["AdminAssignmentScope"];
1155
+ /**
1156
+ * Format: int64
1157
+ * @description Microseconds since the Unix epoch.
1158
+ */
1159
+ assigned_at: number;
1160
+ /** Format: uuid */
1161
+ assigned_by: string | null;
1162
+ };
1163
+ AdminRoleAssignmentList: {
1164
+ items: components["schemas"]["AdminRoleAssignment"][];
1165
+ };
1166
+ AdminRoleNameList: {
1167
+ items: string[];
1168
+ };
1169
+ AdminRolePage: {
1170
+ items: components["schemas"]["AdminRole"][];
1171
+ next_cursor: string | null;
1172
+ };
1173
+ /** @description A user or a group, as a group member or a role-assignment subject. */
1174
+ AdminSubject: {
1175
+ /** @enum {string} */
1176
+ type: "user" | "group";
1177
+ /** Format: uuid */
1178
+ id: string;
1179
+ };
1180
+ /** @description Absent fields are unchanged. */
1181
+ AdminUpdateGroupRequest: {
1182
+ name?: string;
1183
+ slug?: string;
1184
+ /** @description null clears the description. */
1185
+ description?: string | null;
1186
+ };
1187
+ /** @description Absent fields are unchanged. `slug` is immutable and is refused with 400. */
1188
+ AdminUpdateOrganizationRequest: {
1189
+ display_name?: string;
1190
+ /** @enum {string} */
1191
+ status?: "active" | "suspended";
1192
+ /** Format: int32 */
1193
+ member_limit?: number | null;
1194
+ mfa_required?: boolean;
1195
+ /** @description Replaces the whole attribute map. */
1196
+ attributes?: {
1197
+ [key: string]: string;
1198
+ };
1199
+ };
1200
+ /** @description Absent fields are unchanged. */
1201
+ AdminUpdateRoleRequest: {
1202
+ name?: string;
1203
+ /** @description null clears the description. */
1204
+ description?: string | null;
1205
+ permissions?: string[];
1206
+ parent_roles?: string[];
1207
+ };
1208
+ protobufAny: {
1209
+ "@type"?: string;
1210
+ } & {
1211
+ [key: string]: unknown;
1212
+ };
1213
+ rpcStatus: {
1214
+ /** Format: int32 */
1215
+ code?: number;
1216
+ message?: string;
1217
+ details?: components["schemas"]["protobufAny"][];
1218
+ };
1219
+ /**
1220
+ * @description Controls how access-token authorization data is exposed to resource servers.
1221
+ *
1222
+ * - EMBEDDED: Permissions, roles, and groups are embedded in the JWT at issuance (default).
1223
+ * - INTROSPECTION: JWT carries only identity claims; resource servers call /introspect.
1224
+ * - DECISION: JWT carries only identity claims; resource servers call POST /oauth/authorize.
1225
+ * @default EMBEDDED
1226
+ * @enum {string}
1227
+ */
1228
+ v1AccessTokenAuthorization: "EMBEDDED" | "INTROSPECTION" | "DECISION";
1229
+ /**
1230
+ * @description Controls whether a client is trusted as a first-party application.
1231
+ *
1232
+ * FirstParty clients skip the consent screen and receive the full
1233
+ * `permissions`, `roles`, and `groups` claims in issued JWTs. ThirdParty
1234
+ * clients are shown the consent screen and do not receive those claims.
1235
+ * Unspecified defaults to ThirdParty on the DCR path; on the authenticated
1236
+ * admin path the caller must pass FIRST_PARTY explicitly to grant first-party
1237
+ * trust.
1238
+ * @default CLIENT_TRUST_LEVEL_UNSPECIFIED
1239
+ * @enum {string}
1240
+ */
1241
+ v1ClientTrustLevel: "CLIENT_TRUST_LEVEL_UNSPECIFIED" | "CLIENT_TRUST_LEVEL_THIRD_PARTY" | "CLIENT_TRUST_LEVEL_FIRST_PARTY";
1242
+ v1ConsentEntry: {
1243
+ client_id?: string;
1244
+ client_name?: string;
1245
+ granted_scopes?: string[];
1246
+ /** Format: int64 */
1247
+ granted_at?: number;
1248
+ /** Format: int64 */
1249
+ updated_at?: number;
1250
+ };
1251
+ /** @description Request to create a new user. */
1252
+ v1CreateUserRequest: {
1253
+ email?: string;
1254
+ display_name?: string;
1255
+ first_name?: string;
1256
+ last_name?: string;
1257
+ attributes?: {
1258
+ [key: string]: string;
1259
+ };
1260
+ };
1261
+ /** @description Empty response type for delete RPCs. */
1262
+ v1Empty: Record<string, never>;
1263
+ v1ListUserConsentsResponse: {
1264
+ consents?: components["schemas"]["v1ConsentEntry"][];
1265
+ };
1266
+ /** @description A registered OAuth 2.0 client. */
1267
+ v1OAuthClient: {
1268
+ client_id?: string;
1269
+ client_name?: string;
1270
+ redirect_uris?: string[];
1271
+ /** Format: int64 */
1272
+ created_at?: number;
1273
+ is_confidential?: boolean;
1274
+ grant_types?: string[];
1275
+ access_token_authorization?: components["schemas"]["v1AccessTokenAuthorization"];
1276
+ /** @description The algorithm this client's ID tokens are signed with: "RS256" or "EdDSA". */
1277
+ id_token_signed_response_alg?: string;
1278
+ /**
1279
+ * @description The client secret Hearth generated for a confidential client. Present
1280
+ * only in the response that created the client (token_endpoint_auth_method
1281
+ * "client_secret_basic" or "client_secret_post"); never returned again.
1282
+ * Store it on receipt: Hearth keeps only its hash. Also set, once, by
1283
+ * RegenerateApplicationSecret.
1284
+ */
1285
+ client_secret?: string;
1286
+ /**
1287
+ * @description RFC 9449 s5.2: when true, every token request from this client must carry
1288
+ * a DPoP proof, and every token it gets is bound to the proof's key.
1289
+ */
1290
+ dpop_bound_access_tokens?: boolean;
1291
+ };
1292
+ /** @description A cursor-based page of OAuth clients. */
1293
+ v1OAuthClientPage: {
1294
+ items?: components["schemas"]["v1OAuthClient"][];
1295
+ next_cursor?: string;
1296
+ };
1297
+ /** @description A realm record. */
1298
+ v1Realm: {
1299
+ id?: string;
1300
+ name?: string;
1301
+ status?: components["schemas"]["v1RealmStatus"];
1302
+ config?: components["schemas"]["v1RealmConfig"];
1303
+ /** Format: int64 */
1304
+ created_at?: number;
1305
+ /** Format: int64 */
1306
+ updated_at?: number;
1307
+ };
1308
+ /** @description Per-realm configuration overrides. */
1309
+ v1RealmConfig: {
1310
+ /** Format: int64 */
1311
+ session_ttl_micros?: number;
1312
+ /** Format: int64 */
1313
+ password_memory_cost?: number;
1314
+ /** Format: int64 */
1315
+ password_time_cost?: number;
1316
+ };
1317
+ /** @description A cursor-based page of realms. */
1318
+ v1RealmPage: {
1319
+ items?: components["schemas"]["v1Realm"][];
1320
+ next_cursor?: string;
1321
+ };
1322
+ /**
1323
+ * @description The lifecycle status of a realm.
1324
+ * @default REALM_STATUS_UNSPECIFIED
1325
+ * @enum {string}
1326
+ */
1327
+ v1RealmStatus: "REALM_STATUS_UNSPECIFIED" | "REALM_STATUS_ACTIVE" | "REALM_STATUS_SUSPENDED";
1328
+ /** @description Request to register a new OAuth 2.0 client. */
1329
+ v1RegisterClientRequest: {
1330
+ client_name?: string;
1331
+ redirect_uris?: string[];
1332
+ /**
1333
+ * @description Not accepted on the admin create paths (REST and gRPC refuse it): Hearth
1334
+ * generates client secrets. Request one with token_endpoint_auth_method.
1335
+ */
1336
+ client_secret?: string;
1337
+ grant_types?: string[];
1338
+ access_token_authorization?: components["schemas"]["v1AccessTokenAuthorization"];
1339
+ /**
1340
+ * @description Trust level for this client. Unspecified defaults to ThirdParty on the
1341
+ * DCR path. The authenticated admin create path respects this field.
1342
+ */
1343
+ trust_level?: components["schemas"]["v1ClientTrustLevel"];
1344
+ /**
1345
+ * @description JWS algorithm for this client's ID tokens (OIDC Dynamic Client
1346
+ * Registration 1.0 s2): "RS256" or "EdDSA"; anything else is rejected.
1347
+ * Omitted means RS256 on the dynamic registration path (the OIDC default)
1348
+ * and EdDSA on the authenticated admin path. Only ID tokens are affected;
1349
+ * access and refresh tokens are always EdDSA.
1350
+ */
1351
+ id_token_signed_response_alg?: string;
1352
+ /**
1353
+ * @description How the client authenticates at the token endpoint (RFC 7591 s2):
1354
+ * "client_secret_basic", "client_secret_post", "private_key_jwt" or "none".
1355
+ * On the authenticated admin create paths (POST /admin/applications,
1356
+ * POST /clients, gRPC CreateApplication and RegisterClient) a
1357
+ * "client_secret_*" value creates a confidential client whose secret Hearth
1358
+ * generates (256 bits from the OS CSPRNG) and returns exactly once, in the
1359
+ * response's client_secret. Only a hash is stored. "private_key_jwt"
1360
+ * requires jwks. Omitted or "none" registers a public client (or a
1361
+ * private_key_jwt client when jwks is given).
1362
+ * @enum {string}
1363
+ */
1364
+ token_endpoint_auth_method?: "client_secret_basic" | "client_secret_post" | "private_key_jwt" | "none";
1365
+ };
1366
+ v1ResolveEffectivePermissionsResponse: {
1367
+ roles?: string[];
1368
+ groups?: string[];
1369
+ permissions?: string[];
1370
+ };
1371
+ v1RevokeConsentResponse: Record<string, never>;
1372
+ /** @description Request to update an existing OAuth 2.0 client. */
1373
+ v1UpdateClientRequest: {
1374
+ client_name?: string;
1375
+ redirect_uris?: string[];
1376
+ grant_types?: string[];
1377
+ access_token_authorization?: components["schemas"]["v1AccessTokenAuthorization"];
1378
+ /** @description Trust level override. Omit to leave unchanged. */
1379
+ trust_level?: components["schemas"]["v1ClientTrustLevel"];
1380
+ /** @description ID-token signing algorithm: "RS256" or "EdDSA". Omit to leave unchanged. */
1381
+ id_token_signed_response_alg?: string;
1382
+ };
1383
+ /** @description Request to update an existing user. */
1384
+ v1UpdateUserRequest: {
1385
+ email?: string;
1386
+ display_name?: string;
1387
+ status?: components["schemas"]["v1UserStatus"];
1388
+ first_name?: string;
1389
+ last_name?: string;
1390
+ /**
1391
+ * @description When non-empty, replaces the user's entire custom attribute map.
1392
+ * An empty map is treated as "no change"; use clear_attributes to remove all.
1393
+ */
1394
+ attributes?: {
1395
+ [key: string]: string;
1396
+ };
1397
+ /** @description When true and attributes is empty, clears all custom attributes. */
1398
+ clear_attributes?: boolean;
1399
+ };
1400
+ /** @description A user record within a realm. */
1401
+ v1User: {
1402
+ id?: string;
1403
+ email?: string;
1404
+ display_name?: string;
1405
+ status?: components["schemas"]["v1UserStatus"];
1406
+ /** Format: int64 */
1407
+ created_at?: number;
1408
+ /** Format: int64 */
1409
+ updated_at?: number;
1410
+ first_name?: string;
1411
+ last_name?: string;
1412
+ /**
1413
+ * @description Actions the user must complete before full access is granted.
1414
+ * Values: "VERIFY_EMAIL", "UPDATE_PASSWORD".
1415
+ */
1416
+ required_actions?: string[];
1417
+ };
1418
+ /** @description A cursor-based page of users. */
1419
+ v1UserPage: {
1420
+ items?: components["schemas"]["v1User"][];
1421
+ next_cursor?: string;
1422
+ };
1423
+ /**
1424
+ * @description The lifecycle status of a user account.
1425
+ * @default USER_STATUS_UNSPECIFIED
1426
+ * @enum {string}
1427
+ */
1428
+ v1UserStatus: "USER_STATUS_UNSPECIFIED" | "USER_STATUS_ACTIVE" | "USER_STATUS_DISABLED" | "USER_STATUS_PENDING_VERIFICATION";
1429
+ };
1430
+ responses: never;
1431
+ parameters: never;
1432
+ requestBodies: never;
1433
+ headers: never;
1434
+ pathItems: never;
1435
+ }
1436
+ export type $defs = Record<string, never>;
1437
+ export interface operations {
1438
+ ApplicationAdminService_ListApplications: {
1439
+ parameters: {
1440
+ query?: {
1441
+ cursor?: string;
1442
+ limit?: number;
1443
+ };
1444
+ header?: never;
1445
+ path?: never;
1446
+ cookie?: never;
1447
+ };
1448
+ requestBody?: never;
1449
+ responses: {
1450
+ /** @description A successful response. */
1451
+ 200: {
1452
+ headers: {
1453
+ [name: string]: unknown;
1454
+ };
1455
+ content: {
1456
+ "application/json": components["schemas"]["v1OAuthClientPage"];
1457
+ };
1458
+ };
1459
+ /** @description An unexpected error response. */
1460
+ default: {
1461
+ headers: {
1462
+ [name: string]: unknown;
1463
+ };
1464
+ content: {
1465
+ "application/json": components["schemas"]["rpcStatus"];
1466
+ };
1467
+ };
1468
+ };
1469
+ };
1470
+ ApplicationAdminService_CreateApplication: {
1471
+ parameters: {
1472
+ query?: never;
1473
+ header?: never;
1474
+ path?: never;
1475
+ cookie?: never;
1476
+ };
1477
+ requestBody: {
1478
+ content: {
1479
+ "application/json": components["schemas"]["v1RegisterClientRequest"];
1480
+ };
1481
+ };
1482
+ responses: {
1483
+ /** @description A successful response. */
1484
+ 201: {
1485
+ headers: {
1486
+ [name: string]: unknown;
1487
+ };
1488
+ content: {
1489
+ "application/json": components["schemas"]["v1OAuthClient"];
1490
+ };
1491
+ };
1492
+ /** @description An unexpected error response. */
1493
+ default: {
1494
+ headers: {
1495
+ [name: string]: unknown;
1496
+ };
1497
+ content: {
1498
+ "application/json": components["schemas"]["rpcStatus"];
1499
+ };
1500
+ };
1501
+ };
1502
+ };
1503
+ ApplicationAdminService_GetApplication: {
1504
+ parameters: {
1505
+ query?: never;
1506
+ header?: never;
1507
+ path: {
1508
+ client_id: string;
1509
+ };
1510
+ cookie?: never;
1511
+ };
1512
+ requestBody?: never;
1513
+ responses: {
1514
+ /** @description A successful response. */
1515
+ 200: {
1516
+ headers: {
1517
+ [name: string]: unknown;
1518
+ };
1519
+ content: {
1520
+ "application/json": components["schemas"]["v1OAuthClient"];
1521
+ };
1522
+ };
1523
+ /** @description An unexpected error response. */
1524
+ default: {
1525
+ headers: {
1526
+ [name: string]: unknown;
1527
+ };
1528
+ content: {
1529
+ "application/json": components["schemas"]["rpcStatus"];
1530
+ };
1531
+ };
1532
+ };
1533
+ };
1534
+ ApplicationAdminService_DeleteApplication: {
1535
+ parameters: {
1536
+ query?: never;
1537
+ header?: never;
1538
+ path: {
1539
+ client_id: string;
1540
+ };
1541
+ cookie?: never;
1542
+ };
1543
+ requestBody?: never;
1544
+ responses: {
1545
+ /** @description A successful response. */
1546
+ 204: {
1547
+ headers: {
1548
+ [name: string]: unknown;
1549
+ };
1550
+ content?: never;
1551
+ };
1552
+ /** @description An unexpected error response. */
1553
+ default: {
1554
+ headers: {
1555
+ [name: string]: unknown;
1556
+ };
1557
+ content: {
1558
+ "application/json": components["schemas"]["rpcStatus"];
1559
+ };
1560
+ };
1561
+ };
1562
+ };
1563
+ ApplicationAdminService_UpdateApplication: {
1564
+ parameters: {
1565
+ query?: never;
1566
+ header?: never;
1567
+ path: {
1568
+ client_id: string;
1569
+ };
1570
+ cookie?: never;
1571
+ };
1572
+ requestBody: {
1573
+ content: {
1574
+ "application/json": components["schemas"]["v1UpdateClientRequest"];
1575
+ };
1576
+ };
1577
+ responses: {
1578
+ /** @description A successful response. */
1579
+ 200: {
1580
+ headers: {
1581
+ [name: string]: unknown;
1582
+ };
1583
+ content: {
1584
+ "application/json": components["schemas"]["v1OAuthClient"];
1585
+ };
1586
+ };
1587
+ /** @description An unexpected error response. */
1588
+ default: {
1589
+ headers: {
1590
+ [name: string]: unknown;
1591
+ };
1592
+ content: {
1593
+ "application/json": components["schemas"]["rpcStatus"];
1594
+ };
1595
+ };
1596
+ };
1597
+ };
1598
+ ApplicationAdminService_RegenerateApplicationSecret: {
1599
+ parameters: {
1600
+ query?: never;
1601
+ header?: never;
1602
+ path: {
1603
+ client_id: string;
1604
+ };
1605
+ cookie?: never;
1606
+ };
1607
+ requestBody?: never;
1608
+ responses: {
1609
+ /** @description A successful response. */
1610
+ 200: {
1611
+ headers: {
1612
+ [name: string]: unknown;
1613
+ };
1614
+ content: {
1615
+ "application/json": components["schemas"]["v1OAuthClient"];
1616
+ };
1617
+ };
1618
+ /** @description An unexpected error response. */
1619
+ default: {
1620
+ headers: {
1621
+ [name: string]: unknown;
1622
+ };
1623
+ content: {
1624
+ "application/json": components["schemas"]["rpcStatus"];
1625
+ };
1626
+ };
1627
+ };
1628
+ };
1629
+ adminUnassignRole: {
1630
+ parameters: {
1631
+ query?: never;
1632
+ header?: never;
1633
+ path: {
1634
+ id: string;
1635
+ };
1636
+ cookie?: never;
1637
+ };
1638
+ requestBody?: never;
1639
+ responses: {
1640
+ /** @description Assignment removed */
1641
+ 204: {
1642
+ headers: {
1643
+ [name: string]: unknown;
1644
+ };
1645
+ content?: never;
1646
+ };
1647
+ };
1648
+ };
1649
+ adminListAuditEvents: {
1650
+ parameters: {
1651
+ query?: {
1652
+ actor?: string;
1653
+ /** @description An audit action name, e.g. `UserCreated`. */
1654
+ action?: string;
1655
+ /** @description Microseconds since the Unix epoch. */
1656
+ start_time?: number;
1657
+ /** @description Microseconds since the Unix epoch. */
1658
+ end_time?: number;
1659
+ /** @description Default 50, at most 200. */
1660
+ limit?: number;
1661
+ };
1662
+ header?: never;
1663
+ path?: never;
1664
+ cookie?: never;
1665
+ };
1666
+ requestBody?: never;
1667
+ responses: {
1668
+ /** @description Matching audit events */
1669
+ 200: {
1670
+ headers: {
1671
+ [name: string]: unknown;
1672
+ };
1673
+ content: {
1674
+ "application/json": components["schemas"]["AdminAuditEventList"];
1675
+ };
1676
+ };
1677
+ /** @description `start_time` is after `end_time` */
1678
+ 400: {
1679
+ headers: {
1680
+ [name: string]: unknown;
1681
+ };
1682
+ content?: never;
1683
+ };
1684
+ };
1685
+ };
1686
+ adminVerifyAudit: {
1687
+ parameters: {
1688
+ query?: never;
1689
+ header?: never;
1690
+ path?: never;
1691
+ cookie?: never;
1692
+ };
1693
+ requestBody?: never;
1694
+ responses: {
1695
+ /** @description `{ok, event_count}` */
1696
+ 200: {
1697
+ headers: {
1698
+ [name: string]: unknown;
1699
+ };
1700
+ content?: never;
1701
+ };
1702
+ };
1703
+ };
1704
+ adminBackupCreate: {
1705
+ parameters: {
1706
+ query?: never;
1707
+ header?: never;
1708
+ path?: never;
1709
+ cookie?: never;
1710
+ };
1711
+ requestBody?: never;
1712
+ responses: {
1713
+ /** @description Backup archive */
1714
+ 200: {
1715
+ headers: {
1716
+ [name: string]: unknown;
1717
+ };
1718
+ content?: never;
1719
+ };
1720
+ };
1721
+ };
1722
+ adminBackupRestore: {
1723
+ parameters: {
1724
+ query?: never;
1725
+ header?: never;
1726
+ path?: never;
1727
+ cookie?: never;
1728
+ };
1729
+ requestBody: {
1730
+ content: {
1731
+ "application/octet-stream": string;
1732
+ };
1733
+ };
1734
+ responses: {
1735
+ /** @description Restore complete */
1736
+ 200: {
1737
+ headers: {
1738
+ [name: string]: unknown;
1739
+ };
1740
+ content?: never;
1741
+ };
1742
+ };
1743
+ };
1744
+ adminBootstrap: {
1745
+ parameters: {
1746
+ query?: never;
1747
+ header?: never;
1748
+ path?: never;
1749
+ cookie?: never;
1750
+ };
1751
+ requestBody?: never;
1752
+ responses: {
1753
+ /** @description Bootstrap result with dev-realm and system-realm admin tokens */
1754
+ 200: {
1755
+ headers: {
1756
+ [name: string]: unknown;
1757
+ };
1758
+ content: {
1759
+ "application/json": {
1760
+ /** @description UUID of the created dev realm. */
1761
+ realm_id?: string;
1762
+ /** @description UUID of the admin user in the dev realm. */
1763
+ user_id?: string;
1764
+ /**
1765
+ * @description Long-lived Bearer token for the dev-realm admin. Scoped to the dev
1766
+ * realm only — cannot manage other realms. Use for REST API calls in
1767
+ * dev/test scripts and as the `Authorization` header on re-bootstrap.
1768
+ */
1769
+ access_token?: string;
1770
+ /** @description Refresh token for the dev-realm admin session. */
1771
+ refresh_token?: string;
1772
+ /**
1773
+ * @description Randomly generated admin password. Non-empty **only** on the **first**
1774
+ * bootstrap call. Empty on all subsequent re-bootstrap calls — store this
1775
+ * value securely; it is never returned again. Use for browser login at
1776
+ * `/ui/admin/login`.
1777
+ */
1778
+ admin_password?: string;
1779
+ /**
1780
+ * @description Ready-to-copy shell commands with the actual realm ID and token
1781
+ * interpolated for convenience. Only populated in --dev mode.
1782
+ */
1783
+ quickstart?: string;
1784
+ /**
1785
+ * @description Bearer token for the **system-realm** admin (`admin@hearth.test` in the
1786
+ * nil-UUID system realm). Unlike `access_token`, this token can manage
1787
+ * **any** realm cross-realm (e.g. rotate another realm's signing key) — the
1788
+ * BOLA guard only permits cross-realm operations for a nil-UUID system-realm
1789
+ * token. Use with `X-Realm-ID: <system_realm_id>` for cross-realm admin API
1790
+ * calls. Populated on every bootstrap and re-bootstrap (HEA-2087).
1791
+ */
1792
+ system_access_token?: string;
1793
+ /**
1794
+ * @description The reserved system realm ID (the nil UUID,
1795
+ * `00000000-0000-0000-0000-000000000000`). Send as the `X-Realm-ID` header
1796
+ * alongside `system_access_token` for cross-realm admin API calls.
1797
+ */
1798
+ system_realm_id?: string;
1799
+ };
1800
+ };
1801
+ };
1802
+ /** @description Endpoint not available in production mode. */
1803
+ 404: {
1804
+ headers: {
1805
+ [name: string]: unknown;
1806
+ };
1807
+ content?: never;
1808
+ };
1809
+ };
1810
+ };
1811
+ adminClusterBootstrap: {
1812
+ parameters: {
1813
+ query?: never;
1814
+ header?: never;
1815
+ path?: never;
1816
+ cookie?: never;
1817
+ };
1818
+ requestBody?: never;
1819
+ responses: {
1820
+ /** @description Cluster bootstrapped */
1821
+ 200: {
1822
+ headers: {
1823
+ [name: string]: unknown;
1824
+ };
1825
+ content?: never;
1826
+ };
1827
+ };
1828
+ };
1829
+ adminClusterStatus: {
1830
+ parameters: {
1831
+ query?: never;
1832
+ header?: never;
1833
+ path?: never;
1834
+ cookie?: never;
1835
+ };
1836
+ requestBody?: never;
1837
+ responses: {
1838
+ /** @description Cluster status */
1839
+ 200: {
1840
+ headers: {
1841
+ [name: string]: unknown;
1842
+ };
1843
+ content?: never;
1844
+ };
1845
+ };
1846
+ };
1847
+ adminClusterTransferLeadership: {
1848
+ parameters: {
1849
+ query?: never;
1850
+ header?: never;
1851
+ path?: never;
1852
+ cookie?: never;
1853
+ };
1854
+ requestBody?: never;
1855
+ responses: {
1856
+ /** @description Another voter now leads; body is {"new_leader_id":<u64>,"exact_target":false}. exact_target is deprecated and always false (a request naming a target is refused with 422). */
1857
+ 200: {
1858
+ headers: {
1859
+ [name: string]: unknown;
1860
+ };
1861
+ content?: never;
1862
+ };
1863
+ /** @description Body is not valid JSON or contains an unknown field */
1864
+ 400: {
1865
+ headers: {
1866
+ [name: string]: unknown;
1867
+ };
1868
+ content?: never;
1869
+ };
1870
+ /** @description This node is not the leader */
1871
+ 409: {
1872
+ headers: {
1873
+ [name: string]: unknown;
1874
+ };
1875
+ content?: never;
1876
+ };
1877
+ /** @description target_node_id was supplied; targeted leadership transfer is not supported */
1878
+ 422: {
1879
+ headers: {
1880
+ [name: string]: unknown;
1881
+ };
1882
+ content?: never;
1883
+ };
1884
+ /** @description Not in cluster mode */
1885
+ 503: {
1886
+ headers: {
1887
+ [name: string]: unknown;
1888
+ };
1889
+ content?: never;
1890
+ };
1891
+ };
1892
+ };
1893
+ adminListGroups: {
1894
+ parameters: {
1895
+ query?: {
1896
+ cursor?: string;
1897
+ limit?: number;
1898
+ };
1899
+ header?: never;
1900
+ path?: never;
1901
+ cookie?: never;
1902
+ };
1903
+ requestBody?: never;
1904
+ responses: {
1905
+ /** @description A page of groups */
1906
+ 200: {
1907
+ headers: {
1908
+ [name: string]: unknown;
1909
+ };
1910
+ content: {
1911
+ "application/json": components["schemas"]["AdminGroupPage"];
1912
+ };
1913
+ };
1914
+ };
1915
+ };
1916
+ adminCreateGroup: {
1917
+ parameters: {
1918
+ query?: never;
1919
+ header?: never;
1920
+ path?: never;
1921
+ cookie?: never;
1922
+ };
1923
+ requestBody: {
1924
+ content: {
1925
+ "application/json": components["schemas"]["AdminCreateGroupRequest"];
1926
+ };
1927
+ };
1928
+ responses: {
1929
+ /** @description The created group */
1930
+ 201: {
1931
+ headers: {
1932
+ [name: string]: unknown;
1933
+ };
1934
+ content: {
1935
+ "application/json": components["schemas"]["AdminGroup"];
1936
+ };
1937
+ };
1938
+ /** @description A group with this slug exists */
1939
+ 409: {
1940
+ headers: {
1941
+ [name: string]: unknown;
1942
+ };
1943
+ content?: never;
1944
+ };
1945
+ };
1946
+ };
1947
+ adminGetGroup: {
1948
+ parameters: {
1949
+ query?: never;
1950
+ header?: never;
1951
+ path: {
1952
+ id: string;
1953
+ };
1954
+ cookie?: never;
1955
+ };
1956
+ requestBody?: never;
1957
+ responses: {
1958
+ /** @description The group */
1959
+ 200: {
1960
+ headers: {
1961
+ [name: string]: unknown;
1962
+ };
1963
+ content: {
1964
+ "application/json": components["schemas"]["AdminGroup"];
1965
+ };
1966
+ };
1967
+ /** @description No such group in the realm */
1968
+ 404: {
1969
+ headers: {
1970
+ [name: string]: unknown;
1971
+ };
1972
+ content?: never;
1973
+ };
1974
+ };
1975
+ };
1976
+ adminDeleteGroup: {
1977
+ parameters: {
1978
+ query?: never;
1979
+ header?: never;
1980
+ path: {
1981
+ id: string;
1982
+ };
1983
+ cookie?: never;
1984
+ };
1985
+ requestBody?: never;
1986
+ responses: {
1987
+ /** @description Deleted */
1988
+ 204: {
1989
+ headers: {
1990
+ [name: string]: unknown;
1991
+ };
1992
+ content?: never;
1993
+ };
1994
+ /** @description No such group in the realm */
1995
+ 404: {
1996
+ headers: {
1997
+ [name: string]: unknown;
1998
+ };
1999
+ content?: never;
2000
+ };
2001
+ };
2002
+ };
2003
+ adminUpdateGroup: {
2004
+ parameters: {
2005
+ query?: never;
2006
+ header?: never;
2007
+ path: {
2008
+ id: string;
2009
+ };
2010
+ cookie?: never;
2011
+ };
2012
+ requestBody: {
2013
+ content: {
2014
+ "application/json": components["schemas"]["AdminUpdateGroupRequest"];
2015
+ };
2016
+ };
2017
+ responses: {
2018
+ /** @description The updated group */
2019
+ 200: {
2020
+ headers: {
2021
+ [name: string]: unknown;
2022
+ };
2023
+ content: {
2024
+ "application/json": components["schemas"]["AdminGroup"];
2025
+ };
2026
+ };
2027
+ /** @description No such group in the realm */
2028
+ 404: {
2029
+ headers: {
2030
+ [name: string]: unknown;
2031
+ };
2032
+ content?: never;
2033
+ };
2034
+ };
2035
+ };
2036
+ adminListGroupMembers: {
2037
+ parameters: {
2038
+ query?: {
2039
+ cursor?: string;
2040
+ limit?: number;
2041
+ };
2042
+ header?: never;
2043
+ path: {
2044
+ id: string;
2045
+ };
2046
+ cookie?: never;
2047
+ };
2048
+ requestBody?: never;
2049
+ responses: {
2050
+ /** @description A page of members */
2051
+ 200: {
2052
+ headers: {
2053
+ [name: string]: unknown;
2054
+ };
2055
+ content: {
2056
+ "application/json": components["schemas"]["AdminGroupMemberPage"];
2057
+ };
2058
+ };
2059
+ /** @description No such group in the realm */
2060
+ 404: {
2061
+ headers: {
2062
+ [name: string]: unknown;
2063
+ };
2064
+ content?: never;
2065
+ };
2066
+ };
2067
+ };
2068
+ adminAddGroupMember: {
2069
+ parameters: {
2070
+ query?: never;
2071
+ header?: never;
2072
+ path: {
2073
+ id: string;
2074
+ };
2075
+ cookie?: never;
2076
+ };
2077
+ requestBody: {
2078
+ content: {
2079
+ "application/json": components["schemas"]["AdminAddGroupMemberRequest"];
2080
+ };
2081
+ };
2082
+ responses: {
2083
+ /** @description The new membership */
2084
+ 201: {
2085
+ headers: {
2086
+ [name: string]: unknown;
2087
+ };
2088
+ content: {
2089
+ "application/json": components["schemas"]["AdminGroupMembership"];
2090
+ };
2091
+ };
2092
+ /** @description Invalid member type or id */
2093
+ 400: {
2094
+ headers: {
2095
+ [name: string]: unknown;
2096
+ };
2097
+ content?: never;
2098
+ };
2099
+ /** @description No such group in the realm */
2100
+ 404: {
2101
+ headers: {
2102
+ [name: string]: unknown;
2103
+ };
2104
+ content?: never;
2105
+ };
2106
+ };
2107
+ };
2108
+ adminRemoveGroupMember: {
2109
+ parameters: {
2110
+ query?: {
2111
+ /** @description Member kind; defaults to `user`. */
2112
+ type?: "user" | "group";
2113
+ };
2114
+ header?: never;
2115
+ path: {
2116
+ id: string;
2117
+ member_id: string;
2118
+ };
2119
+ cookie?: never;
2120
+ };
2121
+ requestBody?: never;
2122
+ responses: {
2123
+ /** @description Member removed */
2124
+ 204: {
2125
+ headers: {
2126
+ [name: string]: unknown;
2127
+ };
2128
+ content?: never;
2129
+ };
2130
+ /** @description Invalid member type */
2131
+ 400: {
2132
+ headers: {
2133
+ [name: string]: unknown;
2134
+ };
2135
+ content?: never;
2136
+ };
2137
+ };
2138
+ };
2139
+ adminAssignGroupRole: {
2140
+ parameters: {
2141
+ query?: never;
2142
+ header?: never;
2143
+ path: {
2144
+ id: string;
2145
+ };
2146
+ cookie?: never;
2147
+ };
2148
+ requestBody?: never;
2149
+ responses: {
2150
+ /** @description The role assignment */
2151
+ 201: {
2152
+ headers: {
2153
+ [name: string]: unknown;
2154
+ };
2155
+ content?: never;
2156
+ };
2157
+ /** @description The role holds permissions the caller lacks */
2158
+ 403: {
2159
+ headers: {
2160
+ [name: string]: unknown;
2161
+ };
2162
+ content?: never;
2163
+ };
2164
+ /** @description No such group or organization */
2165
+ 404: {
2166
+ headers: {
2167
+ [name: string]: unknown;
2168
+ };
2169
+ content?: never;
2170
+ };
2171
+ };
2172
+ };
2173
+ adminListOrganizations: {
2174
+ parameters: {
2175
+ query?: {
2176
+ cursor?: string;
2177
+ limit?: number;
2178
+ };
2179
+ header?: never;
2180
+ path?: never;
2181
+ cookie?: never;
2182
+ };
2183
+ requestBody?: never;
2184
+ responses: {
2185
+ /** @description A page of organizations; `next_cursor` is null on the last page */
2186
+ 200: {
2187
+ headers: {
2188
+ [name: string]: unknown;
2189
+ };
2190
+ content: {
2191
+ "application/json": components["schemas"]["AdminOrganizationPage"];
2192
+ };
2193
+ };
2194
+ };
2195
+ };
2196
+ adminCreateOrganization: {
2197
+ parameters: {
2198
+ query?: never;
2199
+ header?: never;
2200
+ path?: never;
2201
+ cookie?: never;
2202
+ };
2203
+ requestBody: {
2204
+ content: {
2205
+ "application/json": components["schemas"]["AdminCreateOrganizationRequest"];
2206
+ };
2207
+ };
2208
+ responses: {
2209
+ /** @description The created organization */
2210
+ 201: {
2211
+ headers: {
2212
+ [name: string]: unknown;
2213
+ };
2214
+ content: {
2215
+ "application/json": components["schemas"]["AdminOrganization"];
2216
+ };
2217
+ };
2218
+ /** @description Missing `hearth.realm.admin`, or the system realm */
2219
+ 403: {
2220
+ headers: {
2221
+ [name: string]: unknown;
2222
+ };
2223
+ content?: never;
2224
+ };
2225
+ };
2226
+ };
2227
+ adminGetOrganization: {
2228
+ parameters: {
2229
+ query?: never;
2230
+ header?: never;
2231
+ path: {
2232
+ id: string;
2233
+ };
2234
+ cookie?: never;
2235
+ };
2236
+ requestBody?: never;
2237
+ responses: {
2238
+ /** @description The organization */
2239
+ 200: {
2240
+ headers: {
2241
+ [name: string]: unknown;
2242
+ };
2243
+ content: {
2244
+ "application/json": components["schemas"]["AdminOrganization"];
2245
+ };
2246
+ };
2247
+ /** @description No such organization in the realm */
2248
+ 404: {
2249
+ headers: {
2250
+ [name: string]: unknown;
2251
+ };
2252
+ content?: never;
2253
+ };
2254
+ };
2255
+ };
2256
+ adminDeleteOrganization: {
2257
+ parameters: {
2258
+ query?: never;
2259
+ header?: never;
2260
+ path: {
2261
+ id: string;
2262
+ };
2263
+ cookie?: never;
2264
+ };
2265
+ requestBody?: never;
2266
+ responses: {
2267
+ /** @description Deleted */
2268
+ 204: {
2269
+ headers: {
2270
+ [name: string]: unknown;
2271
+ };
2272
+ content?: never;
2273
+ };
2274
+ /** @description Admin privilege ceiling */
2275
+ 403: {
2276
+ headers: {
2277
+ [name: string]: unknown;
2278
+ };
2279
+ content?: never;
2280
+ };
2281
+ };
2282
+ };
2283
+ adminUpdateOrganization: {
2284
+ parameters: {
2285
+ query?: never;
2286
+ header?: never;
2287
+ path: {
2288
+ id: string;
2289
+ };
2290
+ cookie?: never;
2291
+ };
2292
+ requestBody: {
2293
+ content: {
2294
+ "application/json": components["schemas"]["AdminUpdateOrganizationRequest"];
2295
+ };
2296
+ };
2297
+ responses: {
2298
+ /** @description The updated organization */
2299
+ 200: {
2300
+ headers: {
2301
+ [name: string]: unknown;
2302
+ };
2303
+ content: {
2304
+ "application/json": components["schemas"]["AdminOrganization"];
2305
+ };
2306
+ };
2307
+ /** @description A slug change or an unknown status */
2308
+ 400: {
2309
+ headers: {
2310
+ [name: string]: unknown;
2311
+ };
2312
+ content?: never;
2313
+ };
2314
+ /** @description A member holds admin authority the caller lacks */
2315
+ 403: {
2316
+ headers: {
2317
+ [name: string]: unknown;
2318
+ };
2319
+ content?: never;
2320
+ };
2321
+ };
2322
+ };
2323
+ adminListAdditionalRoles: {
2324
+ parameters: {
2325
+ query?: never;
2326
+ header?: never;
2327
+ path: {
2328
+ id: string;
2329
+ user_id: string;
2330
+ };
2331
+ cookie?: never;
2332
+ };
2333
+ requestBody?: never;
2334
+ responses: {
2335
+ /** @description The member's extra org role names */
2336
+ 200: {
2337
+ headers: {
2338
+ [name: string]: unknown;
2339
+ };
2340
+ content: {
2341
+ "application/json": components["schemas"]["AdminRoleNameList"];
2342
+ };
2343
+ };
2344
+ };
2345
+ };
2346
+ adminAddAdditionalRole: {
2347
+ parameters: {
2348
+ query?: never;
2349
+ header?: never;
2350
+ path: {
2351
+ id: string;
2352
+ user_id: string;
2353
+ };
2354
+ cookie?: never;
2355
+ };
2356
+ requestBody: {
2357
+ content: {
2358
+ "application/json": components["schemas"]["AdminAddAdditionalRoleRequest"];
2359
+ };
2360
+ };
2361
+ responses: {
2362
+ /** @description Added */
2363
+ 204: {
2364
+ headers: {
2365
+ [name: string]: unknown;
2366
+ };
2367
+ content?: never;
2368
+ };
2369
+ /** @description The role holds permissions the caller lacks */
2370
+ 403: {
2371
+ headers: {
2372
+ [name: string]: unknown;
2373
+ };
2374
+ content?: never;
2375
+ };
2376
+ /** @description No such organization, user or role */
2377
+ 404: {
2378
+ headers: {
2379
+ [name: string]: unknown;
2380
+ };
2381
+ content?: never;
2382
+ };
2383
+ /** @description The user is not a member of the organization */
2384
+ 409: {
2385
+ headers: {
2386
+ [name: string]: unknown;
2387
+ };
2388
+ content?: never;
2389
+ };
2390
+ };
2391
+ };
2392
+ adminRemoveAdditionalRole: {
2393
+ parameters: {
2394
+ query?: never;
2395
+ header?: never;
2396
+ path: {
2397
+ id: string;
2398
+ user_id: string;
2399
+ role_name: string;
2400
+ };
2401
+ cookie?: never;
2402
+ };
2403
+ requestBody?: never;
2404
+ responses: {
2405
+ /** @description Removed */
2406
+ 204: {
2407
+ headers: {
2408
+ [name: string]: unknown;
2409
+ };
2410
+ content?: never;
2411
+ };
2412
+ };
2413
+ };
2414
+ adminListPermissions: {
2415
+ parameters: {
2416
+ query?: never;
2417
+ header?: never;
2418
+ path?: never;
2419
+ cookie?: never;
2420
+ };
2421
+ requestBody?: never;
2422
+ responses: {
2423
+ /** @description `{items: [{name, status}]}` */
2424
+ 200: {
2425
+ headers: {
2426
+ [name: string]: unknown;
2427
+ };
2428
+ content?: never;
2429
+ };
2430
+ };
2431
+ };
2432
+ IdentityAdminService_ListRealms: {
2433
+ parameters: {
2434
+ query?: {
2435
+ cursor?: string;
2436
+ limit?: number;
2437
+ };
2438
+ header?: never;
2439
+ path?: never;
2440
+ cookie?: never;
2441
+ };
2442
+ requestBody?: never;
2443
+ responses: {
2444
+ /** @description A successful response. */
2445
+ 200: {
2446
+ headers: {
2447
+ [name: string]: unknown;
2448
+ };
2449
+ content: {
2450
+ "application/json": components["schemas"]["v1RealmPage"];
2451
+ };
2452
+ };
2453
+ /** @description An unexpected error response. */
2454
+ default: {
2455
+ headers: {
2456
+ [name: string]: unknown;
2457
+ };
2458
+ content: {
2459
+ "application/json": components["schemas"]["rpcStatus"];
2460
+ };
2461
+ };
2462
+ };
2463
+ };
2464
+ IdentityAdminService_GetRealm: {
2465
+ parameters: {
2466
+ query?: never;
2467
+ header?: never;
2468
+ path: {
2469
+ id: string;
2470
+ };
2471
+ cookie?: never;
2472
+ };
2473
+ requestBody?: never;
2474
+ responses: {
2475
+ /** @description A successful response. */
2476
+ 200: {
2477
+ headers: {
2478
+ [name: string]: unknown;
2479
+ };
2480
+ content: {
2481
+ "application/json": components["schemas"]["v1Realm"];
2482
+ };
2483
+ };
2484
+ /** @description An unexpected error response. */
2485
+ default: {
2486
+ headers: {
2487
+ [name: string]: unknown;
2488
+ };
2489
+ content: {
2490
+ "application/json": components["schemas"]["rpcStatus"];
2491
+ };
2492
+ };
2493
+ };
2494
+ };
2495
+ IdentityAdminService_DeleteRealm: {
2496
+ parameters: {
2497
+ query?: never;
2498
+ header?: never;
2499
+ path: {
2500
+ id: string;
2501
+ };
2502
+ cookie?: never;
2503
+ };
2504
+ requestBody?: never;
2505
+ responses: {
2506
+ /** @description A successful response. */
2507
+ 200: {
2508
+ headers: {
2509
+ [name: string]: unknown;
2510
+ };
2511
+ content: {
2512
+ "application/json": components["schemas"]["v1Empty"];
2513
+ };
2514
+ };
2515
+ /** @description An unexpected error response. */
2516
+ default: {
2517
+ headers: {
2518
+ [name: string]: unknown;
2519
+ };
2520
+ content: {
2521
+ "application/json": components["schemas"]["rpcStatus"];
2522
+ };
2523
+ };
2524
+ };
2525
+ };
2526
+ adminGetRealmBranding: {
2527
+ parameters: {
2528
+ query?: never;
2529
+ header?: never;
2530
+ path: {
2531
+ id: string;
2532
+ };
2533
+ cookie?: never;
2534
+ };
2535
+ requestBody?: never;
2536
+ responses: {
2537
+ /** @description Branding config */
2538
+ 200: {
2539
+ headers: {
2540
+ [name: string]: unknown;
2541
+ };
2542
+ content?: never;
2543
+ };
2544
+ };
2545
+ };
2546
+ adminPatchRealmBranding: {
2547
+ parameters: {
2548
+ query?: never;
2549
+ header?: never;
2550
+ path: {
2551
+ id: string;
2552
+ };
2553
+ cookie?: never;
2554
+ };
2555
+ requestBody: {
2556
+ content: {
2557
+ "application/json": Record<string, never>;
2558
+ };
2559
+ };
2560
+ responses: {
2561
+ /** @description Updated branding config */
2562
+ 200: {
2563
+ headers: {
2564
+ [name: string]: unknown;
2565
+ };
2566
+ content?: never;
2567
+ };
2568
+ };
2569
+ };
2570
+ adminListRealmEmailTemplates: {
2571
+ parameters: {
2572
+ query?: never;
2573
+ header?: never;
2574
+ path: {
2575
+ id: string;
2576
+ };
2577
+ cookie?: never;
2578
+ };
2579
+ requestBody?: never;
2580
+ responses: {
2581
+ /** @description List of email templates */
2582
+ 200: {
2583
+ headers: {
2584
+ [name: string]: unknown;
2585
+ };
2586
+ content?: never;
2587
+ };
2588
+ };
2589
+ };
2590
+ adminGetRealmEmailTemplate: {
2591
+ parameters: {
2592
+ query?: never;
2593
+ header?: never;
2594
+ path: {
2595
+ id: string;
2596
+ kind: string;
2597
+ };
2598
+ cookie?: never;
2599
+ };
2600
+ requestBody?: never;
2601
+ responses: {
2602
+ /** @description Email template */
2603
+ 200: {
2604
+ headers: {
2605
+ [name: string]: unknown;
2606
+ };
2607
+ content?: never;
2608
+ };
2609
+ };
2610
+ };
2611
+ adminPutRealmEmailTemplate: {
2612
+ parameters: {
2613
+ query?: never;
2614
+ header?: never;
2615
+ path: {
2616
+ id: string;
2617
+ kind: string;
2618
+ };
2619
+ cookie?: never;
2620
+ };
2621
+ requestBody: {
2622
+ content: {
2623
+ "application/json": Record<string, never>;
2624
+ };
2625
+ };
2626
+ responses: {
2627
+ /** @description Updated template */
2628
+ 200: {
2629
+ headers: {
2630
+ [name: string]: unknown;
2631
+ };
2632
+ content?: never;
2633
+ };
2634
+ };
2635
+ };
2636
+ adminDeleteRealmEmailTemplate: {
2637
+ parameters: {
2638
+ query?: never;
2639
+ header?: never;
2640
+ path: {
2641
+ id: string;
2642
+ kind: string;
2643
+ };
2644
+ cookie?: never;
2645
+ };
2646
+ requestBody?: never;
2647
+ responses: {
2648
+ /** @description Template deleted */
2649
+ 204: {
2650
+ headers: {
2651
+ [name: string]: unknown;
2652
+ };
2653
+ content?: never;
2654
+ };
2655
+ };
2656
+ };
2657
+ adminRotateRealmSigningKey: {
2658
+ parameters: {
2659
+ query?: {
2660
+ /** @description Seconds the retired key stays valid. Omit, or pass 0, to revoke it immediately. A value that is not a non-negative integer is rejected with 400. */
2661
+ grace_period_secs?: number;
2662
+ };
2663
+ header?: never;
2664
+ path: {
2665
+ id: string;
2666
+ };
2667
+ cookie?: never;
2668
+ };
2669
+ requestBody?: never;
2670
+ responses: {
2671
+ /** @description New signing key published */
2672
+ 200: {
2673
+ headers: {
2674
+ [name: string]: unknown;
2675
+ };
2676
+ content?: never;
2677
+ };
2678
+ /** @description grace_period_secs was not a non-negative integer */
2679
+ 400: {
2680
+ headers: {
2681
+ [name: string]: unknown;
2682
+ };
2683
+ content?: never;
2684
+ };
2685
+ };
2686
+ };
2687
+ IdentityAdminService_SuspendRealm: {
2688
+ parameters: {
2689
+ query?: never;
2690
+ header?: never;
2691
+ path: {
2692
+ id: string;
2693
+ };
2694
+ cookie?: never;
2695
+ };
2696
+ requestBody?: never;
2697
+ responses: {
2698
+ /** @description The realm, now suspended */
2699
+ 200: {
2700
+ headers: {
2701
+ [name: string]: unknown;
2702
+ };
2703
+ content: {
2704
+ "application/json": components["schemas"]["v1Realm"];
2705
+ };
2706
+ };
2707
+ /** @description Not a system-realm hearth.realm.admin, the target is the system realm, or the target's trust policy refuses the crossing */
2708
+ 403: {
2709
+ headers: {
2710
+ [name: string]: unknown;
2711
+ };
2712
+ content?: never;
2713
+ };
2714
+ /** @description Realm not found */
2715
+ 404: {
2716
+ headers: {
2717
+ [name: string]: unknown;
2718
+ };
2719
+ content?: never;
2720
+ };
2721
+ /** @description The realm is archived or being deleted (HEARTH_REALM_ARCHIVED) */
2722
+ 409: {
2723
+ headers: {
2724
+ [name: string]: unknown;
2725
+ };
2726
+ content?: never;
2727
+ };
2728
+ };
2729
+ };
2730
+ IdentityAdminService_UnsuspendRealm: {
2731
+ parameters: {
2732
+ query?: never;
2733
+ header?: never;
2734
+ path: {
2735
+ id: string;
2736
+ };
2737
+ cookie?: never;
2738
+ };
2739
+ requestBody?: never;
2740
+ responses: {
2741
+ /** @description The realm, now active */
2742
+ 200: {
2743
+ headers: {
2744
+ [name: string]: unknown;
2745
+ };
2746
+ content: {
2747
+ "application/json": components["schemas"]["v1Realm"];
2748
+ };
2749
+ };
2750
+ /** @description Not a system-realm hearth.realm.admin, or the target's trust policy refuses the crossing */
2751
+ 403: {
2752
+ headers: {
2753
+ [name: string]: unknown;
2754
+ };
2755
+ content?: never;
2756
+ };
2757
+ /** @description Realm not found */
2758
+ 404: {
2759
+ headers: {
2760
+ [name: string]: unknown;
2761
+ };
2762
+ content?: never;
2763
+ };
2764
+ /** @description The realm is archived or being deleted (HEARTH_REALM_ARCHIVED) */
2765
+ 409: {
2766
+ headers: {
2767
+ [name: string]: unknown;
2768
+ };
2769
+ content?: never;
2770
+ };
2771
+ };
2772
+ };
2773
+ adminPatchRealmConfig: {
2774
+ parameters: {
2775
+ query?: never;
2776
+ header?: never;
2777
+ path: {
2778
+ realm_id: string;
2779
+ };
2780
+ cookie?: never;
2781
+ };
2782
+ requestBody: {
2783
+ content: {
2784
+ "application/json": Record<string, never>;
2785
+ };
2786
+ };
2787
+ responses: {
2788
+ /** @description Updated config */
2789
+ 200: {
2790
+ headers: {
2791
+ [name: string]: unknown;
2792
+ };
2793
+ content?: never;
2794
+ };
2795
+ };
2796
+ };
2797
+ adminSvBumpAll: {
2798
+ parameters: {
2799
+ query?: never;
2800
+ header?: never;
2801
+ path: {
2802
+ realm_id: string;
2803
+ };
2804
+ cookie?: never;
2805
+ };
2806
+ requestBody?: never;
2807
+ responses: {
2808
+ /** @description All session versions bumped */
2809
+ 204: {
2810
+ headers: {
2811
+ [name: string]: unknown;
2812
+ };
2813
+ content?: never;
2814
+ };
2815
+ };
2816
+ };
2817
+ adminPatchUserRequiredActions: {
2818
+ parameters: {
2819
+ query?: never;
2820
+ header?: never;
2821
+ path: {
2822
+ realm_id: string;
2823
+ user_id: string;
2824
+ };
2825
+ cookie?: never;
2826
+ };
2827
+ requestBody: {
2828
+ content: {
2829
+ "application/json": Record<string, never>;
2830
+ };
2831
+ };
2832
+ responses: {
2833
+ /** @description Updated required actions */
2834
+ 200: {
2835
+ headers: {
2836
+ [name: string]: unknown;
2837
+ };
2838
+ content?: never;
2839
+ };
2840
+ };
2841
+ };
2842
+ adminListRoles: {
2843
+ parameters: {
2844
+ query?: {
2845
+ cursor?: string;
2846
+ limit?: number;
2847
+ };
2848
+ header?: never;
2849
+ path?: never;
2850
+ cookie?: never;
2851
+ };
2852
+ requestBody?: never;
2853
+ responses: {
2854
+ /** @description A page of roles */
2855
+ 200: {
2856
+ headers: {
2857
+ [name: string]: unknown;
2858
+ };
2859
+ content: {
2860
+ "application/json": components["schemas"]["AdminRolePage"];
2861
+ };
2862
+ };
2863
+ };
2864
+ };
2865
+ adminCreateRole: {
2866
+ parameters: {
2867
+ query?: never;
2868
+ header?: never;
2869
+ path?: never;
2870
+ cookie?: never;
2871
+ };
2872
+ requestBody: {
2873
+ content: {
2874
+ "application/json": components["schemas"]["AdminCreateRoleRequest"];
2875
+ };
2876
+ };
2877
+ responses: {
2878
+ /** @description The created role */
2879
+ 201: {
2880
+ headers: {
2881
+ [name: string]: unknown;
2882
+ };
2883
+ content: {
2884
+ "application/json": components["schemas"]["AdminRole"];
2885
+ };
2886
+ };
2887
+ /** @description Invalid name, permission or parent role */
2888
+ 400: {
2889
+ headers: {
2890
+ [name: string]: unknown;
2891
+ };
2892
+ content?: never;
2893
+ };
2894
+ /** @description A role with this name exists */
2895
+ 409: {
2896
+ headers: {
2897
+ [name: string]: unknown;
2898
+ };
2899
+ content?: never;
2900
+ };
2901
+ };
2902
+ };
2903
+ adminGetRole: {
2904
+ parameters: {
2905
+ query?: never;
2906
+ header?: never;
2907
+ path: {
2908
+ id: string;
2909
+ };
2910
+ cookie?: never;
2911
+ };
2912
+ requestBody?: never;
2913
+ responses: {
2914
+ /** @description The role */
2915
+ 200: {
2916
+ headers: {
2917
+ [name: string]: unknown;
2918
+ };
2919
+ content: {
2920
+ "application/json": components["schemas"]["AdminRole"];
2921
+ };
2922
+ };
2923
+ /** @description No such role in the realm */
2924
+ 404: {
2925
+ headers: {
2926
+ [name: string]: unknown;
2927
+ };
2928
+ content?: never;
2929
+ };
2930
+ };
2931
+ };
2932
+ adminDeleteRole: {
2933
+ parameters: {
2934
+ query?: {
2935
+ /** @description Also remove the role's assignments, parent links and extra org-role rows. Without it a referenced role answers `409 role_in_use`. */
2936
+ cascade?: boolean;
2937
+ };
2938
+ header?: never;
2939
+ path: {
2940
+ id: string;
2941
+ };
2942
+ cookie?: never;
2943
+ };
2944
+ requestBody?: never;
2945
+ responses: {
2946
+ /** @description Deleted */
2947
+ 204: {
2948
+ headers: {
2949
+ [name: string]: unknown;
2950
+ };
2951
+ content?: never;
2952
+ };
2953
+ /** @description No such role in the realm */
2954
+ 404: {
2955
+ headers: {
2956
+ [name: string]: unknown;
2957
+ };
2958
+ content?: never;
2959
+ };
2960
+ /** @description The role is in use and `cascade` is not set */
2961
+ 409: {
2962
+ headers: {
2963
+ [name: string]: unknown;
2964
+ };
2965
+ content?: never;
2966
+ };
2967
+ };
2968
+ };
2969
+ adminUpdateRole: {
2970
+ parameters: {
2971
+ query?: never;
2972
+ header?: never;
2973
+ path: {
2974
+ id: string;
2975
+ };
2976
+ cookie?: never;
2977
+ };
2978
+ requestBody: {
2979
+ content: {
2980
+ "application/json": components["schemas"]["AdminUpdateRoleRequest"];
2981
+ };
2982
+ };
2983
+ responses: {
2984
+ /** @description The updated role */
2985
+ 200: {
2986
+ headers: {
2987
+ [name: string]: unknown;
2988
+ };
2989
+ content: {
2990
+ "application/json": components["schemas"]["AdminRole"];
2991
+ };
2992
+ };
2993
+ /** @description No such role in the realm */
2994
+ 404: {
2995
+ headers: {
2996
+ [name: string]: unknown;
2997
+ };
2998
+ content?: never;
2999
+ };
3000
+ };
3001
+ };
3002
+ adminListRoleMembers: {
3003
+ parameters: {
3004
+ query?: {
3005
+ cursor?: string;
3006
+ limit?: number;
3007
+ };
3008
+ header?: never;
3009
+ path: {
3010
+ id: string;
3011
+ };
3012
+ cookie?: never;
3013
+ };
3014
+ requestBody?: never;
3015
+ responses: {
3016
+ /** @description `{items: [{subject_type, subject_id}], next_cursor}` */
3017
+ 200: {
3018
+ headers: {
3019
+ [name: string]: unknown;
3020
+ };
3021
+ content?: never;
3022
+ };
3023
+ };
3024
+ };
3025
+ adminSvBumpSession: {
3026
+ parameters: {
3027
+ query?: never;
3028
+ header?: never;
3029
+ path: {
3030
+ session_id: string;
3031
+ };
3032
+ cookie?: never;
3033
+ };
3034
+ requestBody?: never;
3035
+ responses: {
3036
+ /** @description Session version bumped */
3037
+ 204: {
3038
+ headers: {
3039
+ [name: string]: unknown;
3040
+ };
3041
+ content?: never;
3042
+ };
3043
+ };
3044
+ };
3045
+ IdentityAdminService_ListUsers: {
3046
+ parameters: {
3047
+ query?: {
3048
+ cursor?: string;
3049
+ limit?: number;
3050
+ };
3051
+ header?: never;
3052
+ path?: never;
3053
+ cookie?: never;
3054
+ };
3055
+ requestBody?: never;
3056
+ responses: {
3057
+ /** @description A successful response. */
3058
+ 200: {
3059
+ headers: {
3060
+ [name: string]: unknown;
3061
+ };
3062
+ content: {
3063
+ "application/json": components["schemas"]["v1UserPage"];
3064
+ };
3065
+ };
3066
+ /** @description An unexpected error response. */
3067
+ default: {
3068
+ headers: {
3069
+ [name: string]: unknown;
3070
+ };
3071
+ content: {
3072
+ "application/json": components["schemas"]["rpcStatus"];
3073
+ };
3074
+ };
3075
+ };
3076
+ };
3077
+ IdentityAdminService_CreateUser: {
3078
+ parameters: {
3079
+ query?: never;
3080
+ header?: never;
3081
+ path?: never;
3082
+ cookie?: never;
3083
+ };
3084
+ requestBody: {
3085
+ content: {
3086
+ "application/json": components["schemas"]["v1CreateUserRequest"];
3087
+ };
3088
+ };
3089
+ responses: {
3090
+ /** @description A successful response. */
3091
+ 201: {
3092
+ headers: {
3093
+ [name: string]: unknown;
3094
+ };
3095
+ content: {
3096
+ "application/json": components["schemas"]["v1User"];
3097
+ };
3098
+ };
3099
+ /** @description An unexpected error response. */
3100
+ default: {
3101
+ headers: {
3102
+ [name: string]: unknown;
3103
+ };
3104
+ content: {
3105
+ "application/json": components["schemas"]["rpcStatus"];
3106
+ };
3107
+ };
3108
+ };
3109
+ };
3110
+ adminBulkUsers: {
3111
+ parameters: {
3112
+ query?: never;
3113
+ header?: never;
3114
+ path?: never;
3115
+ cookie?: never;
3116
+ };
3117
+ requestBody: {
3118
+ content: {
3119
+ "application/json": Record<string, never>;
3120
+ };
3121
+ };
3122
+ responses: {
3123
+ /** @description Bulk operation result */
3124
+ 200: {
3125
+ headers: {
3126
+ [name: string]: unknown;
3127
+ };
3128
+ content?: never;
3129
+ };
3130
+ };
3131
+ };
3132
+ adminExportUsers: {
3133
+ parameters: {
3134
+ query?: never;
3135
+ header?: never;
3136
+ path?: never;
3137
+ cookie?: never;
3138
+ };
3139
+ requestBody?: never;
3140
+ responses: {
3141
+ /** @description Exported users */
3142
+ 200: {
3143
+ headers: {
3144
+ [name: string]: unknown;
3145
+ };
3146
+ content?: never;
3147
+ };
3148
+ };
3149
+ };
3150
+ adminImportUsers: {
3151
+ parameters: {
3152
+ query?: never;
3153
+ header?: never;
3154
+ path?: never;
3155
+ cookie?: never;
3156
+ };
3157
+ requestBody: {
3158
+ content: {
3159
+ "application/json": Record<string, never>;
3160
+ };
3161
+ };
3162
+ responses: {
3163
+ /** @description Import result */
3164
+ 200: {
3165
+ headers: {
3166
+ [name: string]: unknown;
3167
+ };
3168
+ content?: never;
3169
+ };
3170
+ };
3171
+ };
3172
+ IdentityAdminService_GetUser: {
3173
+ parameters: {
3174
+ query?: never;
3175
+ header?: never;
3176
+ path: {
3177
+ id: string;
3178
+ };
3179
+ cookie?: never;
3180
+ };
3181
+ requestBody?: never;
3182
+ responses: {
3183
+ /** @description A successful response. */
3184
+ 200: {
3185
+ headers: {
3186
+ [name: string]: unknown;
3187
+ };
3188
+ content: {
3189
+ "application/json": components["schemas"]["v1User"];
3190
+ };
3191
+ };
3192
+ /** @description An unexpected error response. */
3193
+ default: {
3194
+ headers: {
3195
+ [name: string]: unknown;
3196
+ };
3197
+ content: {
3198
+ "application/json": components["schemas"]["rpcStatus"];
3199
+ };
3200
+ };
3201
+ };
3202
+ };
3203
+ IdentityAdminService_DeleteUser: {
3204
+ parameters: {
3205
+ query?: never;
3206
+ header?: never;
3207
+ path: {
3208
+ id: string;
3209
+ };
3210
+ cookie?: never;
3211
+ };
3212
+ requestBody?: never;
3213
+ responses: {
3214
+ /** @description A successful response. */
3215
+ 204: {
3216
+ headers: {
3217
+ [name: string]: unknown;
3218
+ };
3219
+ content?: never;
3220
+ };
3221
+ /** @description An unexpected error response. */
3222
+ default: {
3223
+ headers: {
3224
+ [name: string]: unknown;
3225
+ };
3226
+ content: {
3227
+ "application/json": components["schemas"]["rpcStatus"];
3228
+ };
3229
+ };
3230
+ };
3231
+ };
3232
+ IdentityAdminService_UpdateUser: {
3233
+ parameters: {
3234
+ query?: never;
3235
+ header?: never;
3236
+ path: {
3237
+ id: string;
3238
+ };
3239
+ cookie?: never;
3240
+ };
3241
+ requestBody: {
3242
+ content: {
3243
+ "application/json": components["schemas"]["v1UpdateUserRequest"];
3244
+ };
3245
+ };
3246
+ responses: {
3247
+ /** @description A successful response. */
3248
+ 200: {
3249
+ headers: {
3250
+ [name: string]: unknown;
3251
+ };
3252
+ content: {
3253
+ "application/json": components["schemas"]["v1User"];
3254
+ };
3255
+ };
3256
+ /** @description An unexpected error response. */
3257
+ default: {
3258
+ headers: {
3259
+ [name: string]: unknown;
3260
+ };
3261
+ content: {
3262
+ "application/json": components["schemas"]["rpcStatus"];
3263
+ };
3264
+ };
3265
+ };
3266
+ };
3267
+ adminListUserPermissions: {
3268
+ parameters: {
3269
+ query?: never;
3270
+ header?: never;
3271
+ path: {
3272
+ id: string;
3273
+ };
3274
+ cookie?: never;
3275
+ };
3276
+ requestBody?: never;
3277
+ responses: {
3278
+ /** @description `{items: [{permission, scope_type, org_id, granted_by, granted_at}]}` */
3279
+ 200: {
3280
+ headers: {
3281
+ [name: string]: unknown;
3282
+ };
3283
+ content?: never;
3284
+ };
3285
+ };
3286
+ };
3287
+ adminGrantUserPermission: {
3288
+ parameters: {
3289
+ query?: never;
3290
+ header?: never;
3291
+ path: {
3292
+ id: string;
3293
+ };
3294
+ cookie?: never;
3295
+ };
3296
+ requestBody?: never;
3297
+ responses: {
3298
+ /** @description The grant */
3299
+ 201: {
3300
+ headers: {
3301
+ [name: string]: unknown;
3302
+ };
3303
+ content?: never;
3304
+ };
3305
+ /** @description The caller does not hold the permission */
3306
+ 403: {
3307
+ headers: {
3308
+ [name: string]: unknown;
3309
+ };
3310
+ content?: never;
3311
+ };
3312
+ /** @description No such user or organization */
3313
+ 404: {
3314
+ headers: {
3315
+ [name: string]: unknown;
3316
+ };
3317
+ content?: never;
3318
+ };
3319
+ };
3320
+ };
3321
+ adminRevokeUserPermission: {
3322
+ parameters: {
3323
+ query?: {
3324
+ org_id?: string;
3325
+ };
3326
+ header?: never;
3327
+ path: {
3328
+ id: string;
3329
+ permission: string;
3330
+ };
3331
+ cookie?: never;
3332
+ };
3333
+ requestBody?: never;
3334
+ responses: {
3335
+ /** @description Revoked */
3336
+ 204: {
3337
+ headers: {
3338
+ [name: string]: unknown;
3339
+ };
3340
+ content?: never;
3341
+ };
3342
+ /** @description Admin privilege ceiling */
3343
+ 403: {
3344
+ headers: {
3345
+ [name: string]: unknown;
3346
+ };
3347
+ content?: never;
3348
+ };
3349
+ };
3350
+ };
3351
+ adminListUserAssignments: {
3352
+ parameters: {
3353
+ query?: never;
3354
+ header?: never;
3355
+ path: {
3356
+ id: string;
3357
+ };
3358
+ cookie?: never;
3359
+ };
3360
+ requestBody?: never;
3361
+ responses: {
3362
+ /** @description The user's direct role assignments */
3363
+ 200: {
3364
+ headers: {
3365
+ [name: string]: unknown;
3366
+ };
3367
+ content: {
3368
+ "application/json": components["schemas"]["AdminRoleAssignmentList"];
3369
+ };
3370
+ };
3371
+ /** @description No such user in the realm */
3372
+ 404: {
3373
+ headers: {
3374
+ [name: string]: unknown;
3375
+ };
3376
+ content?: never;
3377
+ };
3378
+ };
3379
+ };
3380
+ adminAssignUserRole: {
3381
+ parameters: {
3382
+ query?: never;
3383
+ header?: never;
3384
+ path: {
3385
+ id: string;
3386
+ };
3387
+ cookie?: never;
3388
+ };
3389
+ requestBody: {
3390
+ content: {
3391
+ "application/json": components["schemas"]["AdminAssignRoleRequest"];
3392
+ };
3393
+ };
3394
+ responses: {
3395
+ /** @description The new assignment */
3396
+ 201: {
3397
+ headers: {
3398
+ [name: string]: unknown;
3399
+ };
3400
+ content: {
3401
+ "application/json": components["schemas"]["AdminRoleAssignment"];
3402
+ };
3403
+ };
3404
+ /** @description The role holds permissions the caller lacks */
3405
+ 403: {
3406
+ headers: {
3407
+ [name: string]: unknown;
3408
+ };
3409
+ content?: never;
3410
+ };
3411
+ /** @description No such user or role in the realm */
3412
+ 404: {
3413
+ headers: {
3414
+ [name: string]: unknown;
3415
+ };
3416
+ content?: never;
3417
+ };
3418
+ };
3419
+ };
3420
+ RbacAdminService_ListUserConsents: {
3421
+ parameters: {
3422
+ query?: {
3423
+ realm_id?: string;
3424
+ };
3425
+ header?: never;
3426
+ path: {
3427
+ user_id: string;
3428
+ };
3429
+ cookie?: never;
3430
+ };
3431
+ requestBody?: never;
3432
+ responses: {
3433
+ /** @description A successful response. */
3434
+ 200: {
3435
+ headers: {
3436
+ [name: string]: unknown;
3437
+ };
3438
+ content: {
3439
+ "application/json": components["schemas"]["v1ListUserConsentsResponse"];
3440
+ };
3441
+ };
3442
+ /** @description An unexpected error response. */
3443
+ default: {
3444
+ headers: {
3445
+ [name: string]: unknown;
3446
+ };
3447
+ content: {
3448
+ "application/json": components["schemas"]["rpcStatus"];
3449
+ };
3450
+ };
3451
+ };
3452
+ };
3453
+ RbacAdminService_RevokeConsent: {
3454
+ parameters: {
3455
+ query?: {
3456
+ realm_id?: string;
3457
+ };
3458
+ header?: never;
3459
+ path: {
3460
+ user_id: string;
3461
+ client_id: string;
3462
+ };
3463
+ cookie?: never;
3464
+ };
3465
+ requestBody?: never;
3466
+ responses: {
3467
+ /** @description A successful response. */
3468
+ 200: {
3469
+ headers: {
3470
+ [name: string]: unknown;
3471
+ };
3472
+ content: {
3473
+ "application/json": components["schemas"]["v1RevokeConsentResponse"];
3474
+ };
3475
+ };
3476
+ /** @description An unexpected error response. */
3477
+ default: {
3478
+ headers: {
3479
+ [name: string]: unknown;
3480
+ };
3481
+ content: {
3482
+ "application/json": components["schemas"]["rpcStatus"];
3483
+ };
3484
+ };
3485
+ };
3486
+ };
3487
+ RbacAdminService_ResolveEffectivePermissions: {
3488
+ parameters: {
3489
+ query?: {
3490
+ realm_id?: string;
3491
+ /** @description optional; empty means realm-only */
3492
+ org_id?: string;
3493
+ /** @description optional; empty means no narrowing */
3494
+ scope?: string;
3495
+ };
3496
+ header?: never;
3497
+ path: {
3498
+ user_id: string;
3499
+ };
3500
+ cookie?: never;
3501
+ };
3502
+ requestBody?: never;
3503
+ responses: {
3504
+ /** @description A successful response. */
3505
+ 200: {
3506
+ headers: {
3507
+ [name: string]: unknown;
3508
+ };
3509
+ content: {
3510
+ "application/json": components["schemas"]["v1ResolveEffectivePermissionsResponse"];
3511
+ };
3512
+ };
3513
+ /** @description An unexpected error response. */
3514
+ default: {
3515
+ headers: {
3516
+ [name: string]: unknown;
3517
+ };
3518
+ content: {
3519
+ "application/json": components["schemas"]["rpcStatus"];
3520
+ };
3521
+ };
3522
+ };
3523
+ };
3524
+ adminListWebhooks: {
3525
+ parameters: {
3526
+ query?: never;
3527
+ header?: never;
3528
+ path?: never;
3529
+ cookie?: never;
3530
+ };
3531
+ requestBody?: never;
3532
+ responses: {
3533
+ /** @description List of webhooks */
3534
+ 200: {
3535
+ headers: {
3536
+ [name: string]: unknown;
3537
+ };
3538
+ content?: never;
3539
+ };
3540
+ };
3541
+ };
3542
+ adminCreateWebhook: {
3543
+ parameters: {
3544
+ query?: never;
3545
+ header?: never;
3546
+ path?: never;
3547
+ cookie?: never;
3548
+ };
3549
+ requestBody: {
3550
+ content: {
3551
+ "application/json": Record<string, never>;
3552
+ };
3553
+ };
3554
+ responses: {
3555
+ /** @description Webhook created */
3556
+ 201: {
3557
+ headers: {
3558
+ [name: string]: unknown;
3559
+ };
3560
+ content?: never;
3561
+ };
3562
+ };
3563
+ };
3564
+ adminGetWebhook: {
3565
+ parameters: {
3566
+ query?: never;
3567
+ header?: never;
3568
+ path: {
3569
+ id: string;
3570
+ };
3571
+ cookie?: never;
3572
+ };
3573
+ requestBody?: never;
3574
+ responses: {
3575
+ /** @description Webhook */
3576
+ 200: {
3577
+ headers: {
3578
+ [name: string]: unknown;
3579
+ };
3580
+ content?: never;
3581
+ };
3582
+ };
3583
+ };
3584
+ adminUpdateWebhook: {
3585
+ parameters: {
3586
+ query?: never;
3587
+ header?: never;
3588
+ path: {
3589
+ id: string;
3590
+ };
3591
+ cookie?: never;
3592
+ };
3593
+ requestBody: {
3594
+ content: {
3595
+ "application/json": Record<string, never>;
3596
+ };
3597
+ };
3598
+ responses: {
3599
+ /** @description Updated webhook */
3600
+ 200: {
3601
+ headers: {
3602
+ [name: string]: unknown;
3603
+ };
3604
+ content?: never;
3605
+ };
3606
+ };
3607
+ };
3608
+ adminDeleteWebhook: {
3609
+ parameters: {
3610
+ query?: never;
3611
+ header?: never;
3612
+ path: {
3613
+ id: string;
3614
+ };
3615
+ cookie?: never;
3616
+ };
3617
+ requestBody?: never;
3618
+ responses: {
3619
+ /** @description Webhook deleted */
3620
+ 204: {
3621
+ headers: {
3622
+ [name: string]: unknown;
3623
+ };
3624
+ content?: never;
3625
+ };
3626
+ };
3627
+ };
3628
+ adminListWebhookDeliveries: {
3629
+ parameters: {
3630
+ query?: never;
3631
+ header?: never;
3632
+ path: {
3633
+ id: string;
3634
+ };
3635
+ cookie?: never;
3636
+ };
3637
+ requestBody?: never;
3638
+ responses: {
3639
+ /** @description List of delivery attempts */
3640
+ 200: {
3641
+ headers: {
3642
+ [name: string]: unknown;
3643
+ };
3644
+ content?: never;
3645
+ };
3646
+ };
3647
+ };
3648
+ }