@turnkey/http 1.0.1 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +22 -17
  3. package/dist/__generated__/services/coordinator/public/v1/public_api.client.d.ts +548 -0
  4. package/dist/__generated__/services/coordinator/public/v1/public_api.client.d.ts.map +1 -0
  5. package/dist/__generated__/services/coordinator/public/v1/public_api.client.js +938 -0
  6. package/dist/__generated__/services/coordinator/public/v1/public_api.client.js.map +1 -0
  7. package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.d.ts +1516 -281
  8. package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.d.ts.map +1 -1
  9. package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.js +25 -9
  10. package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.js.map +1 -1
  11. package/dist/__generated__/services/coordinator/public/v1/public_api.swagger.json +437 -706
  12. package/dist/__generated__/services/coordinator/public/v1/public_api.types.d.ts +210 -789
  13. package/dist/__generated__/services/coordinator/public/v1/public_api.types.d.ts.map +1 -1
  14. package/dist/async.d.ts +20 -1
  15. package/dist/async.d.ts.map +1 -1
  16. package/dist/async.js +78 -2
  17. package/dist/async.js.map +1 -1
  18. package/dist/base.d.ts +51 -1
  19. package/dist/base.d.ts.map +1 -1
  20. package/dist/base.js +27 -5
  21. package/dist/base.js.map +1 -1
  22. package/dist/config.d.ts +6 -0
  23. package/dist/config.d.ts.map +1 -1
  24. package/dist/config.js +6 -0
  25. package/dist/config.js.map +1 -1
  26. package/dist/encoding.d.ts +0 -4
  27. package/dist/encoding.d.ts.map +1 -1
  28. package/dist/encoding.js +1 -24
  29. package/dist/encoding.js.map +1 -1
  30. package/dist/index.d.ts +5 -3
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +8 -4
  33. package/dist/index.js.map +1 -1
  34. package/dist/shared.d.ts +1 -27
  35. package/dist/shared.d.ts.map +1 -1
  36. package/dist/shared.js +4 -13
  37. package/dist/shared.js.map +1 -1
  38. package/dist/universal.d.ts +1 -3
  39. package/dist/universal.d.ts.map +1 -1
  40. package/dist/universal.js +2 -10
  41. package/dist/universal.js.map +1 -1
  42. package/package.json +5 -3
  43. package/dist/stamp.node.d.ts +0 -3
  44. package/dist/stamp.node.d.ts.map +0 -1
  45. package/dist/stamp.node.js +0 -51
  46. package/dist/stamp.node.js.map +0 -1
  47. package/dist/stamp.webcrypto.d.ts +0 -4
  48. package/dist/stamp.webcrypto.d.ts.map +0 -1
  49. package/dist/stamp.webcrypto.js +0 -110
  50. package/dist/stamp.webcrypto.js.map +0 -1
  51. package/dist/tink/bytes.d.ts +0 -45
  52. package/dist/tink/bytes.d.ts.map +0 -1
  53. package/dist/tink/bytes.js +0 -82
  54. package/dist/tink/bytes.js.map +0 -1
  55. package/dist/tink/elliptic_curves.d.ts +0 -14
  56. package/dist/tink/elliptic_curves.d.ts.map +0 -1
  57. package/dist/tink/elliptic_curves.js +0 -178
  58. package/dist/tink/elliptic_curves.js.map +0 -1
@@ -1,20 +1,61 @@
1
1
  {
2
2
  "swagger": "2.0",
3
3
  "info": {
4
- "title": "Turnkey Public API",
4
+ "title": "API Reference",
5
+ "description": "Review our [API Introduction](../api-introduction) to get started.",
5
6
  "version": "1.0",
6
- "contact": {
7
- "name": "Turnkey Engineering",
8
- "url": "https://turnkey.io/contact",
9
- "email": "eng@turnkey.io"
10
- }
7
+ "contact": {}
11
8
  },
12
9
  "tags": [
13
10
  {
14
11
  "name": "PublicApiService"
12
+ },
13
+ {
14
+ "name": "Organizations",
15
+ "description": "An Organization is the highest level of hierarchy in Turnkey. It can contain many Users, Private Keys, and Policies managed by a Root Quorum. The Root Quorum consists of a set of Users with a consensus threshold. This consensus threshold must be reached by Quorum members in order for any actions to take place.\n\nSee [Root Quorum](../managing-users/root-quorum) for more information"
16
+ },
17
+ {
18
+ "name": "Invitations",
19
+ "description": "Invitations allow you to invite Users into your Organization via email. Alternatively, Users can be added directly without an Invitation if their ApiKey or Authenticator credentials are known ahead of time.\n\nSee [Users](./api#tag/Users) for more information"
20
+ },
21
+ {
22
+ "name": "Policies",
23
+ "description": "Policies allow for deep customization of the security of your Organization. They can be used to grant permissions or restrict usage of Users and Private Keys. The Policy Engine analyzes all of your Policies on each request to determine whether an Activity is allowed.\n\nSee [Policy Overview](../managing-policies/overview) for more information"
24
+ },
25
+ {
26
+ "name": "Private Keys",
27
+ "description": "Private Keys are cryptographic public / private key pairs that can be used for cryptocurrency needs or more generalized encryption. Think of Private Keys as your own programmable wallet. Turnkey securely holds all Private Key materials for you, but only you can access them."
28
+ },
29
+ {
30
+ "name": "Private Key Tags",
31
+ "description": "Private Key Tags allow you to easily group and permission Private Keys through Policies."
32
+ },
33
+ {
34
+ "name": "Users",
35
+ "description": "Users are responsible for any action taken within an Organization. They can have ApiKey or Auuthenticator credentials, allowing you to onboard teammates to the Organization, or create API-only Users to run as part of your infrastructure."
36
+ },
37
+ {
38
+ "name": "User Tags",
39
+ "description": "User Key Tags allow you to easily group and permission Users through Policies."
40
+ },
41
+ {
42
+ "name": "Authenticators",
43
+ "description": "Authenticators are WebAuthN hardware devices, such as a Macbook TouchID or Yubikey, that can be used to authenticate requests."
44
+ },
45
+ {
46
+ "name": "API Keys",
47
+ "description": "API Keys are used to authenticate requests\n\nSee our [CLI](https://github.com/tkhq/tkcli) for instructions on generating API Keys"
48
+ },
49
+ {
50
+ "name": "Activities",
51
+ "description": "Activities encapsulate all the possible actions that can be taken with Turnkey. Some examples include adding a new user, creating a private key, and signing a transaction.\n\nActivities that modify your Organization are processed asynchronously. To confirm processing is complete and retrieve the Activity results, these activities must be polled until that status has been updated to a finalized state: `COMPLETED` when the activity is successful or `FAILED` when the activity has failed"
52
+ },
53
+ {
54
+ "name": "Consensus",
55
+ "description": "Policies can enforce consensus requirements for Activities. For example, adding a new user requires two admins to approve the request.\n\nActivities that have been proposed, but don't yet meet the Consesnsus requirements will have the status: `REQUIRES_CONSENSUS`. Activities in this state can be approved or rejected using the unique fingerprint generated when an Activity is created."
15
56
  }
16
57
  ],
17
- "host": "coordinator-beta.turnkey.io",
58
+ "host": "api.turnkey.com",
18
59
  "schemes": ["https"],
19
60
  "consumes": ["application/json"],
20
61
  "produces": ["application/json"],
@@ -31,17 +72,6 @@
31
72
  "$ref": "#/definitions/v1ActivityResponse"
32
73
  }
33
74
  },
34
- "403": {
35
- "description": "Returned when the user does not have permission to access the resource.",
36
- "schema": {}
37
- },
38
- "404": {
39
- "description": "Returned when the resource does not exist.",
40
- "schema": {
41
- "type": "string",
42
- "format": "string"
43
- }
44
- },
45
75
  "default": {
46
76
  "description": "An unexpected error response.",
47
77
  "schema": {
@@ -74,17 +104,6 @@
74
104
  "$ref": "#/definitions/v1GetAuthenticatorResponse"
75
105
  }
76
106
  },
77
- "403": {
78
- "description": "Returned when the user does not have permission to access the resource.",
79
- "schema": {}
80
- },
81
- "404": {
82
- "description": "Returned when the resource does not exist.",
83
- "schema": {
84
- "type": "string",
85
- "format": "string"
86
- }
87
- },
88
107
  "default": {
89
108
  "description": "An unexpected error response.",
90
109
  "schema": {
@@ -117,17 +136,6 @@
117
136
  "$ref": "#/definitions/v1GetAuthenticatorsResponse"
118
137
  }
119
138
  },
120
- "403": {
121
- "description": "Returned when the user does not have permission to access the resource.",
122
- "schema": {}
123
- },
124
- "404": {
125
- "description": "Returned when the resource does not exist.",
126
- "schema": {
127
- "type": "string",
128
- "format": "string"
129
- }
130
- },
131
139
  "default": {
132
140
  "description": "An unexpected error response.",
133
141
  "schema": {
@@ -160,17 +168,6 @@
160
168
  "$ref": "#/definitions/v1GetOrganizationResponse"
161
169
  }
162
170
  },
163
- "403": {
164
- "description": "Returned when the user does not have permission to access the resource.",
165
- "schema": {}
166
- },
167
- "404": {
168
- "description": "Returned when the resource does not exist.",
169
- "schema": {
170
- "type": "string",
171
- "format": "string"
172
- }
173
- },
174
171
  "default": {
175
172
  "description": "An unexpected error response.",
176
173
  "schema": {
@@ -203,17 +200,6 @@
203
200
  "$ref": "#/definitions/v1GetPolicyResponse"
204
201
  }
205
202
  },
206
- "403": {
207
- "description": "Returned when the user does not have permission to access the resource.",
208
- "schema": {}
209
- },
210
- "404": {
211
- "description": "Returned when the resource does not exist.",
212
- "schema": {
213
- "type": "string",
214
- "format": "string"
215
- }
216
- },
217
203
  "default": {
218
204
  "description": "An unexpected error response.",
219
205
  "schema": {
@@ -246,17 +232,6 @@
246
232
  "$ref": "#/definitions/v1GetPrivateKeyResponse"
247
233
  }
248
234
  },
249
- "403": {
250
- "description": "Returned when the user does not have permission to access the resource.",
251
- "schema": {}
252
- },
253
- "404": {
254
- "description": "Returned when the resource does not exist.",
255
- "schema": {
256
- "type": "string",
257
- "format": "string"
258
- }
259
- },
260
235
  "default": {
261
236
  "description": "An unexpected error response.",
262
237
  "schema": {
@@ -289,17 +264,6 @@
289
264
  "$ref": "#/definitions/v1GetUserResponse"
290
265
  }
291
266
  },
292
- "403": {
293
- "description": "Returned when the user does not have permission to access the resource.",
294
- "schema": {}
295
- },
296
- "404": {
297
- "description": "Returned when the resource does not exist.",
298
- "schema": {
299
- "type": "string",
300
- "format": "string"
301
- }
302
- },
303
267
  "default": {
304
268
  "description": "An unexpected error response.",
305
269
  "schema": {
@@ -332,17 +296,6 @@
332
296
  "$ref": "#/definitions/v1GetActivitiesResponse"
333
297
  }
334
298
  },
335
- "403": {
336
- "description": "Returned when the user does not have permission to access the resource.",
337
- "schema": {}
338
- },
339
- "404": {
340
- "description": "Returned when the resource does not exist.",
341
- "schema": {
342
- "type": "string",
343
- "format": "string"
344
- }
345
- },
346
299
  "default": {
347
300
  "description": "An unexpected error response.",
348
301
  "schema": {
@@ -375,17 +328,6 @@
375
328
  "$ref": "#/definitions/v1GetPoliciesResponse"
376
329
  }
377
330
  },
378
- "403": {
379
- "description": "Returned when the user does not have permission to access the resource.",
380
- "schema": {}
381
- },
382
- "404": {
383
- "description": "Returned when the resource does not exist.",
384
- "schema": {
385
- "type": "string",
386
- "format": "string"
387
- }
388
- },
389
331
  "default": {
390
332
  "description": "An unexpected error response.",
391
333
  "schema": {
@@ -418,17 +360,6 @@
418
360
  "$ref": "#/definitions/v1GetPrivateKeysResponse"
419
361
  }
420
362
  },
421
- "403": {
422
- "description": "Returned when the user does not have permission to access the resource.",
423
- "schema": {}
424
- },
425
- "404": {
426
- "description": "Returned when the resource does not exist.",
427
- "schema": {
428
- "type": "string",
429
- "format": "string"
430
- }
431
- },
432
363
  "default": {
433
364
  "description": "An unexpected error response.",
434
365
  "schema": {
@@ -461,17 +392,6 @@
461
392
  "$ref": "#/definitions/v1GetUsersResponse"
462
393
  }
463
394
  },
464
- "403": {
465
- "description": "Returned when the user does not have permission to access the resource.",
466
- "schema": {}
467
- },
468
- "404": {
469
- "description": "Returned when the resource does not exist.",
470
- "schema": {
471
- "type": "string",
472
- "format": "string"
473
- }
474
- },
475
395
  "default": {
476
396
  "description": "An unexpected error response.",
477
397
  "schema": {
@@ -504,17 +424,6 @@
504
424
  "$ref": "#/definitions/v1GetWhoamiResponse"
505
425
  }
506
426
  },
507
- "403": {
508
- "description": "Returned when the user does not have permission to access the resource.",
509
- "schema": {}
510
- },
511
- "404": {
512
- "description": "Returned when the resource does not exist.",
513
- "schema": {
514
- "type": "string",
515
- "format": "string"
516
- }
517
- },
518
427
  "default": {
519
428
  "description": "An unexpected error response.",
520
429
  "schema": {
@@ -532,7 +441,7 @@
532
441
  }
533
442
  }
534
443
  ],
535
- "tags": ["Users"]
444
+ "tags": ["Who am I?"]
536
445
  }
537
446
  },
538
447
  "/public/v1/submit/approve_activity": {
@@ -547,17 +456,6 @@
547
456
  "$ref": "#/definitions/v1ActivityResponse"
548
457
  }
549
458
  },
550
- "403": {
551
- "description": "Returned when the user does not have permission to access the resource.",
552
- "schema": {}
553
- },
554
- "404": {
555
- "description": "Returned when the resource does not exist.",
556
- "schema": {
557
- "type": "string",
558
- "format": "string"
559
- }
560
- },
561
459
  "default": {
562
460
  "description": "An unexpected error response.",
563
461
  "schema": {
@@ -575,7 +473,7 @@
575
473
  }
576
474
  }
577
475
  ],
578
- "tags": ["Activities"]
476
+ "tags": ["Consensus"]
579
477
  }
580
478
  },
581
479
  "/public/v1/submit/create_api_keys": {
@@ -590,17 +488,6 @@
590
488
  "$ref": "#/definitions/v1ActivityResponse"
591
489
  }
592
490
  },
593
- "403": {
594
- "description": "Returned when the user does not have permission to access the resource.",
595
- "schema": {}
596
- },
597
- "404": {
598
- "description": "Returned when the resource does not exist.",
599
- "schema": {
600
- "type": "string",
601
- "format": "string"
602
- }
603
- },
604
491
  "default": {
605
492
  "description": "An unexpected error response.",
606
493
  "schema": {
@@ -618,7 +505,7 @@
618
505
  }
619
506
  }
620
507
  ],
621
- "tags": ["Users"]
508
+ "tags": ["API Keys"]
622
509
  }
623
510
  },
624
511
  "/public/v1/submit/create_api_only_users": {
@@ -633,17 +520,6 @@
633
520
  "$ref": "#/definitions/v1ActivityResponse"
634
521
  }
635
522
  },
636
- "403": {
637
- "description": "Returned when the user does not have permission to access the resource.",
638
- "schema": {}
639
- },
640
- "404": {
641
- "description": "Returned when the resource does not exist.",
642
- "schema": {
643
- "type": "string",
644
- "format": "string"
645
- }
646
- },
647
523
  "default": {
648
524
  "description": "An unexpected error response.",
649
525
  "schema": {
@@ -676,17 +552,6 @@
676
552
  "$ref": "#/definitions/v1ActivityResponse"
677
553
  }
678
554
  },
679
- "403": {
680
- "description": "Returned when the user does not have permission to access the resource.",
681
- "schema": {}
682
- },
683
- "404": {
684
- "description": "Returned when the resource does not exist.",
685
- "schema": {
686
- "type": "string",
687
- "format": "string"
688
- }
689
- },
690
555
  "default": {
691
556
  "description": "An unexpected error response.",
692
557
  "schema": {
@@ -719,17 +584,6 @@
719
584
  "$ref": "#/definitions/v1ActivityResponse"
720
585
  }
721
586
  },
722
- "403": {
723
- "description": "Returned when the user does not have permission to access the resource.",
724
- "schema": {}
725
- },
726
- "404": {
727
- "description": "Returned when the resource does not exist.",
728
- "schema": {
729
- "type": "string",
730
- "format": "string"
731
- }
732
- },
733
587
  "default": {
734
588
  "description": "An unexpected error response.",
735
589
  "schema": {
@@ -762,17 +616,6 @@
762
616
  "$ref": "#/definitions/v1ActivityResponse"
763
617
  }
764
618
  },
765
- "403": {
766
- "description": "Returned when the user does not have permission to access the resource.",
767
- "schema": {}
768
- },
769
- "404": {
770
- "description": "Returned when the resource does not exist.",
771
- "schema": {
772
- "type": "string",
773
- "format": "string"
774
- }
775
- },
776
619
  "default": {
777
620
  "description": "An unexpected error response.",
778
621
  "schema": {
@@ -805,17 +648,6 @@
805
648
  "$ref": "#/definitions/v1ActivityResponse"
806
649
  }
807
650
  },
808
- "403": {
809
- "description": "Returned when the user does not have permission to access the resource.",
810
- "schema": {}
811
- },
812
- "404": {
813
- "description": "Returned when the resource does not exist.",
814
- "schema": {
815
- "type": "string",
816
- "format": "string"
817
- }
818
- },
819
651
  "default": {
820
652
  "description": "An unexpected error response.",
821
653
  "schema": {
@@ -833,7 +665,7 @@
833
665
  }
834
666
  }
835
667
  ],
836
- "tags": ["Private Keys"]
668
+ "tags": ["Private Key Tags"]
837
669
  }
838
670
  },
839
671
  "/public/v1/submit/create_private_keys": {
@@ -848,17 +680,6 @@
848
680
  "$ref": "#/definitions/v1ActivityResponse"
849
681
  }
850
682
  },
851
- "403": {
852
- "description": "Returned when the user does not have permission to access the resource.",
853
- "schema": {}
854
- },
855
- "404": {
856
- "description": "Returned when the resource does not exist.",
857
- "schema": {
858
- "type": "string",
859
- "format": "string"
860
- }
861
- },
862
683
  "default": {
863
684
  "description": "An unexpected error response.",
864
685
  "schema": {
@@ -891,17 +712,6 @@
891
712
  "$ref": "#/definitions/v1ActivityResponse"
892
713
  }
893
714
  },
894
- "403": {
895
- "description": "Returned when the user does not have permission to access the resource.",
896
- "schema": {}
897
- },
898
- "404": {
899
- "description": "Returned when the resource does not exist.",
900
- "schema": {
901
- "type": "string",
902
- "format": "string"
903
- }
904
- },
905
715
  "default": {
906
716
  "description": "An unexpected error response.",
907
717
  "schema": {
@@ -934,17 +744,6 @@
934
744
  "$ref": "#/definitions/v1ActivityResponse"
935
745
  }
936
746
  },
937
- "403": {
938
- "description": "Returned when the user does not have permission to access the resource.",
939
- "schema": {}
940
- },
941
- "404": {
942
- "description": "Returned when the resource does not exist.",
943
- "schema": {
944
- "type": "string",
945
- "format": "string"
946
- }
947
- },
948
747
  "default": {
949
748
  "description": "An unexpected error response.",
950
749
  "schema": {
@@ -962,7 +761,7 @@
962
761
  }
963
762
  }
964
763
  ],
965
- "tags": ["Users"]
764
+ "tags": ["User Tags"]
966
765
  }
967
766
  },
968
767
  "/public/v1/submit/create_users": {
@@ -977,17 +776,6 @@
977
776
  "$ref": "#/definitions/v1ActivityResponse"
978
777
  }
979
778
  },
980
- "403": {
981
- "description": "Returned when the user does not have permission to access the resource.",
982
- "schema": {}
983
- },
984
- "404": {
985
- "description": "Returned when the resource does not exist.",
986
- "schema": {
987
- "type": "string",
988
- "format": "string"
989
- }
990
- },
991
779
  "default": {
992
780
  "description": "An unexpected error response.",
993
781
  "schema": {
@@ -1005,8 +793,7 @@
1005
793
  }
1006
794
  }
1007
795
  ],
1008
- "tags": ["Users"],
1009
- "deprecated": true
796
+ "tags": ["Users"]
1010
797
  }
1011
798
  },
1012
799
  "/public/v1/submit/delete_api_keys": {
@@ -1021,17 +808,6 @@
1021
808
  "$ref": "#/definitions/v1ActivityResponse"
1022
809
  }
1023
810
  },
1024
- "403": {
1025
- "description": "Returned when the user does not have permission to access the resource.",
1026
- "schema": {}
1027
- },
1028
- "404": {
1029
- "description": "Returned when the resource does not exist.",
1030
- "schema": {
1031
- "type": "string",
1032
- "format": "string"
1033
- }
1034
- },
1035
811
  "default": {
1036
812
  "description": "An unexpected error response.",
1037
813
  "schema": {
@@ -1049,7 +825,7 @@
1049
825
  }
1050
826
  }
1051
827
  ],
1052
- "tags": ["Users"]
828
+ "tags": ["API Keys"]
1053
829
  }
1054
830
  },
1055
831
  "/public/v1/submit/delete_authenticators": {
@@ -1064,17 +840,6 @@
1064
840
  "$ref": "#/definitions/v1ActivityResponse"
1065
841
  }
1066
842
  },
1067
- "403": {
1068
- "description": "Returned when the user does not have permission to access the resource.",
1069
- "schema": {}
1070
- },
1071
- "404": {
1072
- "description": "Returned when the resource does not exist.",
1073
- "schema": {
1074
- "type": "string",
1075
- "format": "string"
1076
- }
1077
- },
1078
843
  "default": {
1079
844
  "description": "An unexpected error response.",
1080
845
  "schema": {
@@ -1107,17 +872,6 @@
1107
872
  "$ref": "#/definitions/v1ActivityResponse"
1108
873
  }
1109
874
  },
1110
- "403": {
1111
- "description": "Returned when the user does not have permission to access the resource.",
1112
- "schema": {}
1113
- },
1114
- "404": {
1115
- "description": "Returned when the resource does not exist.",
1116
- "schema": {
1117
- "type": "string",
1118
- "format": "string"
1119
- }
1120
- },
1121
875
  "default": {
1122
876
  "description": "An unexpected error response.",
1123
877
  "schema": {
@@ -1150,17 +904,6 @@
1150
904
  "$ref": "#/definitions/v1ActivityResponse"
1151
905
  }
1152
906
  },
1153
- "403": {
1154
- "description": "Returned when the user does not have permission to access the resource.",
1155
- "schema": {}
1156
- },
1157
- "404": {
1158
- "description": "Returned when the resource does not exist.",
1159
- "schema": {
1160
- "type": "string",
1161
- "format": "string"
1162
- }
1163
- },
1164
907
  "default": {
1165
908
  "description": "An unexpected error response.",
1166
909
  "schema": {
@@ -1193,17 +936,6 @@
1193
936
  "$ref": "#/definitions/v1ActivityResponse"
1194
937
  }
1195
938
  },
1196
- "403": {
1197
- "description": "Returned when the user does not have permission to access the resource.",
1198
- "schema": {}
1199
- },
1200
- "404": {
1201
- "description": "Returned when the resource does not exist.",
1202
- "schema": {
1203
- "type": "string",
1204
- "format": "string"
1205
- }
1206
- },
1207
939
  "default": {
1208
940
  "description": "An unexpected error response.",
1209
941
  "schema": {
@@ -1221,7 +953,7 @@
1221
953
  }
1222
954
  }
1223
955
  ],
1224
- "tags": ["Activities"]
956
+ "tags": ["Consensus"]
1225
957
  }
1226
958
  },
1227
959
  "/public/v1/submit/sign_raw_payload": {
@@ -1236,17 +968,6 @@
1236
968
  "$ref": "#/definitions/v1ActivityResponse"
1237
969
  }
1238
970
  },
1239
- "403": {
1240
- "description": "Returned when the user does not have permission to access the resource.",
1241
- "schema": {}
1242
- },
1243
- "404": {
1244
- "description": "Returned when the resource does not exist.",
1245
- "schema": {
1246
- "type": "string",
1247
- "format": "string"
1248
- }
1249
- },
1250
971
  "default": {
1251
972
  "description": "An unexpected error response.",
1252
973
  "schema": {
@@ -1279,17 +1000,6 @@
1279
1000
  "$ref": "#/definitions/v1ActivityResponse"
1280
1001
  }
1281
1002
  },
1282
- "403": {
1283
- "description": "Returned when the user does not have permission to access the resource.",
1284
- "schema": {}
1285
- },
1286
- "404": {
1287
- "description": "Returned when the resource does not exist.",
1288
- "schema": {
1289
- "type": "string",
1290
- "format": "string"
1291
- }
1292
- },
1293
1003
  "default": {
1294
1004
  "description": "An unexpected error response.",
1295
1005
  "schema": {
@@ -1322,17 +1032,6 @@
1322
1032
  "$ref": "#/definitions/v1ActivityResponse"
1323
1033
  }
1324
1034
  },
1325
- "403": {
1326
- "description": "Returned when the user does not have permission to access the resource.",
1327
- "schema": {}
1328
- },
1329
- "404": {
1330
- "description": "Returned when the resource does not exist.",
1331
- "schema": {
1332
- "type": "string",
1333
- "format": "string"
1334
- }
1335
- },
1336
1035
  "default": {
1337
1036
  "description": "An unexpected error response.",
1338
1037
  "schema": {
@@ -1365,17 +1064,6 @@
1365
1064
  "$ref": "#/definitions/v1ActivityResponse"
1366
1065
  }
1367
1066
  },
1368
- "403": {
1369
- "description": "Returned when the user does not have permission to access the resource.",
1370
- "schema": {}
1371
- },
1372
- "404": {
1373
- "description": "Returned when the resource does not exist.",
1374
- "schema": {
1375
- "type": "string",
1376
- "format": "string"
1377
- }
1378
- },
1379
1067
  "default": {
1380
1068
  "description": "An unexpected error response.",
1381
1069
  "schema": {
@@ -1408,17 +1096,6 @@
1408
1096
  "$ref": "#/definitions/v1ActivityResponse"
1409
1097
  }
1410
1098
  },
1411
- "403": {
1412
- "description": "Returned when the user does not have permission to access the resource.",
1413
- "schema": {}
1414
- },
1415
- "404": {
1416
- "description": "Returned when the resource does not exist.",
1417
- "schema": {
1418
- "type": "string",
1419
- "format": "string"
1420
- }
1421
- },
1422
1099
  "default": {
1423
1100
  "description": "An unexpected error response.",
1424
1101
  "schema": {
@@ -1436,7 +1113,7 @@
1436
1113
  }
1437
1114
  }
1438
1115
  ],
1439
- "tags": ["Private Keys"]
1116
+ "tags": ["Private Key Tags"]
1440
1117
  }
1441
1118
  },
1442
1119
  "/public/v1/submit/update_root_quorum": {
@@ -1451,15 +1128,36 @@
1451
1128
  "$ref": "#/definitions/v1ActivityResponse"
1452
1129
  }
1453
1130
  },
1454
- "403": {
1455
- "description": "Returned when the user does not have permission to access the resource.",
1456
- "schema": {}
1457
- },
1458
- "404": {
1459
- "description": "Returned when the resource does not exist.",
1131
+ "default": {
1132
+ "description": "An unexpected error response.",
1133
+ "schema": {
1134
+ "$ref": "#/definitions/rpcStatus"
1135
+ }
1136
+ }
1137
+ },
1138
+ "parameters": [
1139
+ {
1140
+ "name": "body",
1141
+ "in": "body",
1142
+ "required": true,
1460
1143
  "schema": {
1461
- "type": "string",
1462
- "format": "string"
1144
+ "$ref": "#/definitions/v1UpdateRootQuorumRequest"
1145
+ }
1146
+ }
1147
+ ],
1148
+ "tags": ["Organizations"]
1149
+ }
1150
+ },
1151
+ "/public/v1/submit/update_user": {
1152
+ "post": {
1153
+ "summary": "Update User",
1154
+ "description": "Update a User in an existing Organization",
1155
+ "operationId": "PublicApiService_UpdateUser",
1156
+ "responses": {
1157
+ "200": {
1158
+ "description": "A successful response.",
1159
+ "schema": {
1160
+ "$ref": "#/definitions/v1ActivityResponse"
1463
1161
  }
1464
1162
  },
1465
1163
  "default": {
@@ -1475,11 +1173,11 @@
1475
1173
  "in": "body",
1476
1174
  "required": true,
1477
1175
  "schema": {
1478
- "$ref": "#/definitions/v1UpdateRootQuorumRequest"
1176
+ "$ref": "#/definitions/v1UpdateUserRequest"
1479
1177
  }
1480
1178
  }
1481
1179
  ],
1482
- "tags": ["Organizations"]
1180
+ "tags": ["Users"]
1483
1181
  }
1484
1182
  },
1485
1183
  "/public/v1/submit/update_user_tag": {
@@ -1494,17 +1192,6 @@
1494
1192
  "$ref": "#/definitions/v1ActivityResponse"
1495
1193
  }
1496
1194
  },
1497
- "403": {
1498
- "description": "Returned when the user does not have permission to access the resource.",
1499
- "schema": {}
1500
- },
1501
- "404": {
1502
- "description": "Returned when the resource does not exist.",
1503
- "schema": {
1504
- "type": "string",
1505
- "format": "string"
1506
- }
1507
- },
1508
1195
  "default": {
1509
1196
  "description": "An unexpected error response.",
1510
1197
  "schema": {
@@ -1522,12 +1209,11 @@
1522
1209
  }
1523
1210
  }
1524
1211
  ],
1525
- "tags": ["Users"]
1212
+ "tags": ["User Tags"]
1526
1213
  }
1527
1214
  },
1528
1215
  "/tkhq/api/v1/noop-codegen-anchor": {
1529
1216
  "post": {
1530
- "summary": "This route does nothing and does not need an implementation, but please don't remove it.\nIt's used at compile time for generating extra OpenAPI/TypeScript types\nthat are not directly referenced in requests.",
1531
1217
  "operationId": "PublicApiService_NOOPCodegenAnchor",
1532
1218
  "responses": {
1533
1219
  "200": {
@@ -1536,17 +1222,6 @@
1536
1222
  "$ref": "#/definitions/v1NOOPCodegenAnchorResponse"
1537
1223
  }
1538
1224
  },
1539
- "403": {
1540
- "description": "Returned when the user does not have permission to access the resource.",
1541
- "schema": {}
1542
- },
1543
- "404": {
1544
- "description": "Returned when the resource does not exist.",
1545
- "schema": {
1546
- "type": "string",
1547
- "format": "string"
1548
- }
1549
- },
1550
1225
  "default": {
1551
1226
  "description": "An unexpected error response.",
1552
1227
  "schema": {
@@ -1603,8 +1278,7 @@
1603
1278
  "ADDRESS_FORMAT_UNCOMPRESSED",
1604
1279
  "ADDRESS_FORMAT_COMPRESSED",
1605
1280
  "ADDRESS_FORMAT_ETHEREUM"
1606
- ],
1607
- "description": " - ADDRESS_FORMAT_UNCOMPRESSED: 04\u003cX_COORDINATE\u003e\u003cY_COORDINATE\u003e\n - ADDRESS_FORMAT_COMPRESSED: 02 or 03, followed by the X coordinate\n - ADDRESS_FORMAT_ETHEREUM: Your standard Ethereum address (0x...). We apply EIP55 casing."
1281
+ ]
1608
1282
  },
1609
1283
  "externaldatav1AuthenticatorTransport": {
1610
1284
  "type": "string",
@@ -1618,8 +1292,7 @@
1618
1292
  },
1619
1293
  "externaldatav1Curve": {
1620
1294
  "type": "string",
1621
- "enum": ["CURVE_SECP256K1", "CURVE_ED25519"],
1622
- "description": "Cryptographic Curve used to generate a given Private Key."
1295
+ "enum": ["CURVE_SECP256K1", "CURVE_ED25519"]
1623
1296
  },
1624
1297
  "externaldatav1Effect": {
1625
1298
  "type": "string",
@@ -1639,8 +1312,7 @@
1639
1312
  "OPERATOR_NOT_IN",
1640
1313
  "OPERATOR_CONTAINS_ONE",
1641
1314
  "OPERATOR_CONTAINS_ALL"
1642
- ],
1643
- "description": "Logical operators."
1315
+ ]
1644
1316
  },
1645
1317
  "externaldatav1Selector": {
1646
1318
  "type": "object",
@@ -1650,7 +1322,8 @@
1650
1322
  "description": "The resource being referenced within a policy (e.g., user.tags or activities.type)."
1651
1323
  },
1652
1324
  "operator": {
1653
- "$ref": "#/definitions/externaldatav1Operator"
1325
+ "$ref": "#/definitions/externaldatav1Operator",
1326
+ "description": "Logical operators like OPERATOR_CONTAINS or OPERATOR_EQUAL."
1654
1327
  },
1655
1328
  "targets": {
1656
1329
  "type": "array",
@@ -1683,13 +1356,11 @@
1683
1356
  "ADDRESS_FORMAT_UNCOMPRESSED",
1684
1357
  "ADDRESS_FORMAT_COMPRESSED",
1685
1358
  "ADDRESS_FORMAT_ETHEREUM"
1686
- ],
1687
- "description": " - ADDRESS_FORMAT_UNCOMPRESSED: 04\u003cX_COORDINATE\u003e\u003cY_COORDINATE\u003e\n - ADDRESS_FORMAT_COMPRESSED: 02 or 03, followed by the X coordinate\n - ADDRESS_FORMAT_ETHEREUM: Your standard Ethereum address (0x...). We apply EIP55 casing."
1359
+ ]
1688
1360
  },
1689
1361
  "immutableactivityv1Curve": {
1690
1362
  "type": "string",
1691
- "enum": ["CURVE_SECP256K1", "CURVE_ED25519"],
1692
- "description": "Cryptographic Curve used to generate a given Private Key."
1363
+ "enum": ["CURVE_SECP256K1", "CURVE_ED25519"]
1693
1364
  },
1694
1365
  "immutableactivityv1Effect": {
1695
1366
  "type": "string",
@@ -1727,8 +1398,7 @@
1727
1398
  },
1728
1399
  "immutableactivityv1TransactionType": {
1729
1400
  "type": "string",
1730
- "enum": ["TRANSACTION_TYPE_ETHEREUM"],
1731
- "title": "- TRANSACTION_TYPE_ETHEREUM: Unsigned Ethereum transaction, RLP-encoded and hex-encoded"
1401
+ "enum": ["TRANSACTION_TYPE_ETHEREUM"]
1732
1402
  },
1733
1403
  "immutablewebauthnv1AuthenticatorTransport": {
1734
1404
  "type": "string",
@@ -1762,6 +1432,7 @@
1762
1432
  "details": {
1763
1433
  "type": "array",
1764
1434
  "items": {
1435
+ "type": "object",
1765
1436
  "$ref": "#/definitions/protobufAny"
1766
1437
  }
1767
1438
  }
@@ -1772,16 +1443,15 @@
1772
1443
  "properties": {
1773
1444
  "invitationId": {
1774
1445
  "type": "string",
1775
- "description": "Unique identifier for a given Invitation object.",
1776
- "title": "@inject_tag: validate:\"required,uuid\""
1446
+ "description": "Unique identifier for a given Invitation object."
1777
1447
  },
1778
1448
  "userId": {
1779
1449
  "type": "string",
1780
- "description": "Unique identifier for a given User.",
1781
- "title": "@inject_tag: validate:\"required,uuid\""
1450
+ "description": "Unique identifier for a given User."
1782
1451
  },
1783
1452
  "authenticator": {
1784
- "$ref": "#/definitions/v1AuthenticatorParams"
1453
+ "$ref": "#/definitions/v1AuthenticatorParams",
1454
+ "description": "WebAuthN hardware devices that can be used to log in to the Turnkey web app."
1785
1455
  }
1786
1456
  },
1787
1457
  "required": ["invitationId", "userId", "authenticator"]
@@ -1791,16 +1461,15 @@
1791
1461
  "properties": {
1792
1462
  "invitationId": {
1793
1463
  "type": "string",
1794
- "description": "Unique identifier for a given Invitation object.",
1795
- "title": "@inject_tag: validate:\"required,uuid\""
1464
+ "description": "Unique identifier for a given Invitation object."
1796
1465
  },
1797
1466
  "userId": {
1798
1467
  "type": "string",
1799
- "description": "Unique identifier for a given User.",
1800
- "title": "@inject_tag: validate:\"required,uuid\""
1468
+ "description": "Unique identifier for a given User."
1801
1469
  },
1802
1470
  "authenticator": {
1803
- "$ref": "#/definitions/v1AuthenticatorParamsV2"
1471
+ "$ref": "#/definitions/v1AuthenticatorParamsV2",
1472
+ "description": "WebAuthN hardware devices that can be used to log in to the Turnkey web app."
1804
1473
  }
1805
1474
  },
1806
1475
  "required": ["invitationId", "userId", "authenticator"]
@@ -1824,8 +1493,7 @@
1824
1493
  "properties": {
1825
1494
  "productId": {
1826
1495
  "type": "string",
1827
- "description": "The product that the customer wants to subscribe to.",
1828
- "title": "@inject_tag: validate:\"required\""
1496
+ "description": "The product that the customer wants to subscribe to."
1829
1497
  }
1830
1498
  },
1831
1499
  "required": ["productId"]
@@ -1852,20 +1520,25 @@
1852
1520
  "description": "Unique identifier for a given Organization."
1853
1521
  },
1854
1522
  "status": {
1855
- "$ref": "#/definitions/v1ActivityStatus"
1523
+ "$ref": "#/definitions/v1ActivityStatus",
1524
+ "description": "The current processing status of a specified Activity."
1856
1525
  },
1857
1526
  "type": {
1858
- "$ref": "#/definitions/v1ActivityType"
1527
+ "$ref": "#/definitions/v1ActivityType",
1528
+ "description": "Type of Activity, such as Add User, or Sign Transaction."
1859
1529
  },
1860
1530
  "intent": {
1861
- "$ref": "#/definitions/v1Intent"
1531
+ "$ref": "#/definitions/v1Intent",
1532
+ "description": "Intent object crafted by Turnkey based on the user request, used to assess the permissibility of an action."
1862
1533
  },
1863
1534
  "result": {
1864
- "$ref": "#/definitions/v1Result"
1535
+ "$ref": "#/definitions/v1Result",
1536
+ "description": "Result of the intended action."
1865
1537
  },
1866
1538
  "votes": {
1867
1539
  "type": "array",
1868
1540
  "items": {
1541
+ "type": "object",
1869
1542
  "$ref": "#/definitions/v1Vote"
1870
1543
  },
1871
1544
  "description": "A list of objects representing a particular User's approval or rejection of a Consensus request, including all relevant metadata."
@@ -1887,7 +1560,6 @@
1887
1560
  "$ref": "#/definitions/v1Timestamp"
1888
1561
  }
1889
1562
  },
1890
- "description": "An action that can that can be taken within the Turnkey infrastructure.",
1891
1563
  "required": [
1892
1564
  "id",
1893
1565
  "organizationId",
@@ -1907,7 +1579,8 @@
1907
1579
  "type": "object",
1908
1580
  "properties": {
1909
1581
  "activity": {
1910
- "$ref": "#/definitions/v1Activity"
1582
+ "$ref": "#/definitions/v1Activity",
1583
+ "description": "An action that can that can be taken within the Turnkey infrastructure."
1911
1584
  }
1912
1585
  },
1913
1586
  "required": ["activity"]
@@ -1921,8 +1594,7 @@
1921
1594
  "ACTIVITY_STATUS_FAILED",
1922
1595
  "ACTIVITY_STATUS_CONSENSUS_NEEDED",
1923
1596
  "ACTIVITY_STATUS_REJECTED"
1924
- ],
1925
- "description": "The current processing status of an Activity."
1597
+ ]
1926
1598
  },
1927
1599
  "v1ActivityType": {
1928
1600
  "type": "string",
@@ -1967,15 +1639,17 @@
1967
1639
  "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V2",
1968
1640
  "ACTIVITY_TYPE_UPDATE_ALLOWED_ORIGINS",
1969
1641
  "ACTIVITY_TYPE_CREATE_PRIVATE_KEYS_V2",
1970
- "ACTIVITY_TYPE_UPDATE_POLICY"
1971
- ],
1972
- "description": "Type of Activity, such as Add User, or Sign Transaction."
1642
+ "ACTIVITY_TYPE_UPDATE_USER",
1643
+ "ACTIVITY_TYPE_UPDATE_POLICY",
1644
+ "ACTIVITY_TYPE_SET_PAYMENT_METHOD_V2"
1645
+ ]
1973
1646
  },
1974
1647
  "v1ApiKey": {
1975
1648
  "type": "object",
1976
1649
  "properties": {
1977
1650
  "credential": {
1978
- "$ref": "#/definitions/v1Credential"
1651
+ "$ref": "#/definitions/v1Credential",
1652
+ "description": "A User credential that can be used to authenticate to Turnkey."
1979
1653
  },
1980
1654
  "apiKeyId": {
1981
1655
  "type": "string",
@@ -2005,13 +1679,11 @@
2005
1679
  "properties": {
2006
1680
  "apiKeyName": {
2007
1681
  "type": "string",
2008
- "description": "Human-readable name for an API Key.",
2009
- "title": "@inject_tag: validate:\"required,tk_label_length,tk_label\""
1682
+ "description": "Human-readable name for an API Key."
2010
1683
  },
2011
1684
  "publicKey": {
2012
1685
  "type": "string",
2013
- "description": "The public component of a cryptographic key pair used to sign messages and transactions.",
2014
- "title": "@inject_tag: validate:\"hexadecimal,len=66\""
1686
+ "description": "The public component of a cryptographic key pair used to sign messages and transactions."
2015
1687
  }
2016
1688
  },
2017
1689
  "required": ["apiKeyName", "publicKey"]
@@ -2021,29 +1693,26 @@
2021
1693
  "properties": {
2022
1694
  "userName": {
2023
1695
  "type": "string",
2024
- "description": "The name of the new API-only User.",
2025
- "title": "@inject_tag: validate:\"required,tk_label_length,tk_label\""
1696
+ "description": "The name of the new API-only User."
2026
1697
  },
2027
1698
  "userEmail": {
2028
1699
  "type": "string",
2029
- "description": "The email address for this API-only User (optional).",
2030
- "title": "@inject_tag: validate:\"omitempty,email,tk_email\""
1700
+ "description": "The email address for this API-only User (optional)."
2031
1701
  },
2032
1702
  "userTags": {
2033
1703
  "type": "array",
2034
1704
  "items": {
2035
1705
  "type": "string"
2036
1706
  },
2037
- "description": "A list of tags assigned to the new API-only User.",
2038
- "title": "@inject_tag: validate:\"dive,uuid\""
1707
+ "description": "A list of tags assigned to the new API-only User."
2039
1708
  },
2040
1709
  "apiKeys": {
2041
1710
  "type": "array",
2042
1711
  "items": {
1712
+ "type": "object",
2043
1713
  "$ref": "#/definitions/v1ApiKeyParams"
2044
1714
  },
2045
- "description": "A list of API Key parameters.",
2046
- "title": "@inject_tag: validate:\"dive,uuid\""
1715
+ "description": "A list of API Key parameters."
2047
1716
  }
2048
1717
  },
2049
1718
  "required": ["userName", "userTags", "apiKeys"]
@@ -2053,8 +1722,7 @@
2053
1722
  "properties": {
2054
1723
  "fingerprint": {
2055
1724
  "type": "string",
2056
- "description": "An artifact verifying a User's action.",
2057
- "title": "@inject_tag: validate:\"required\""
1725
+ "description": "An artifact verifying a User's action."
2058
1726
  }
2059
1727
  },
2060
1728
  "required": ["fingerprint"]
@@ -2085,18 +1753,15 @@
2085
1753
  "properties": {
2086
1754
  "credentialId": {
2087
1755
  "type": "string",
2088
- "description": "The cbor encoded then base64 url encoded id of the credential.",
2089
- "title": "@inject_tag: validate:\"required,max=256\""
1756
+ "description": "The cbor encoded then base64 url encoded id of the credential."
2090
1757
  },
2091
1758
  "clientDataJson": {
2092
1759
  "type": "string",
2093
- "description": "A base64 url encoded payload containing metadata about the signing context and the challenge.",
2094
- "title": "@inject_tag: validate:\"required\""
1760
+ "description": "A base64 url encoded payload containing metadata about the signing context and the challenge."
2095
1761
  },
2096
1762
  "attestationObject": {
2097
1763
  "type": "string",
2098
- "description": "A base64 url encoded payload containing authenticator data and any attestation the webauthn provider chooses.",
2099
- "title": "@inject_tag: validate:\"required\""
1764
+ "description": "A base64 url encoded payload containing authenticator data and any attestation the webauthn provider chooses."
2100
1765
  },
2101
1766
  "transports": {
2102
1767
  "type": "array",
@@ -2139,7 +1804,8 @@
2139
1804
  "description": "The type of Authenticator device."
2140
1805
  },
2141
1806
  "credential": {
2142
- "$ref": "#/definitions/v1Credential"
1807
+ "$ref": "#/definitions/v1Credential",
1808
+ "description": "A User credential that can be used to authenticate to Turnkey."
2143
1809
  },
2144
1810
  "authenticatorId": {
2145
1811
  "type": "string",
@@ -2173,12 +1839,10 @@
2173
1839
  "type": "object",
2174
1840
  "properties": {
2175
1841
  "clientDataJson": {
2176
- "type": "string",
2177
- "title": "ENCODING: base64url"
1842
+ "type": "string"
2178
1843
  },
2179
1844
  "attestationObject": {
2180
- "type": "string",
2181
- "title": "ENCODING: base64url"
1845
+ "type": "string"
2182
1846
  },
2183
1847
  "transports": {
2184
1848
  "type": "array",
@@ -2199,21 +1863,18 @@
2199
1863
  "properties": {
2200
1864
  "authenticatorName": {
2201
1865
  "type": "string",
2202
- "description": "Human-readable name for an Authenticator.",
2203
- "title": "@inject_tag: validate:\"required,tk_label_length,tk_label\""
1866
+ "description": "Human-readable name for an Authenticator."
2204
1867
  },
2205
1868
  "userId": {
2206
1869
  "type": "string",
2207
- "description": "Unique identifier for a given User.",
2208
- "title": "@inject_tag: validate:\"required,uuid\""
1870
+ "description": "Unique identifier for a given User."
2209
1871
  },
2210
1872
  "attestation": {
2211
1873
  "$ref": "#/definitions/v1PublicKeyCredentialWithAttestation"
2212
1874
  },
2213
1875
  "challenge": {
2214
1876
  "type": "string",
2215
- "description": "Challenge presented for authentication purposes.",
2216
- "title": "@inject_tag: validate:\"required,max=256\""
1877
+ "description": "Challenge presented for authentication purposes."
2217
1878
  }
2218
1879
  },
2219
1880
  "required": ["authenticatorName", "userId", "attestation", "challenge"]
@@ -2223,16 +1884,15 @@
2223
1884
  "properties": {
2224
1885
  "authenticatorName": {
2225
1886
  "type": "string",
2226
- "description": "Human-readable name for an Authenticator.",
2227
- "title": "@inject_tag: validate:\"required,tk_label_length,tk_label\""
1887
+ "description": "Human-readable name for an Authenticator."
2228
1888
  },
2229
1889
  "challenge": {
2230
1890
  "type": "string",
2231
- "description": "Challenge presented for authentication purposes.",
2232
- "title": "@inject_tag: validate:\"required,max=256\""
1891
+ "description": "Challenge presented for authentication purposes."
2233
1892
  },
2234
1893
  "attestation": {
2235
- "$ref": "#/definitions/v1Attestation"
1894
+ "$ref": "#/definitions/v1Attestation",
1895
+ "description": "The attestation that proves custody of the authenticator and provides metadata about it."
2236
1896
  }
2237
1897
  },
2238
1898
  "required": ["authenticatorName", "challenge", "attestation"]
@@ -2243,15 +1903,14 @@
2243
1903
  "apiKeys": {
2244
1904
  "type": "array",
2245
1905
  "items": {
1906
+ "type": "object",
2246
1907
  "$ref": "#/definitions/v1ApiKeyParams"
2247
1908
  },
2248
- "description": "A list of API Keys.",
2249
- "title": "@inject_tag: validate:\"dive,required\""
1909
+ "description": "A list of API Keys."
2250
1910
  },
2251
1911
  "userId": {
2252
1912
  "type": "string",
2253
- "description": "Unique identifier for a given User.",
2254
- "title": "@inject_tag: validate:\"required,uuid\""
1913
+ "description": "Unique identifier for a given User."
2255
1914
  }
2256
1915
  },
2257
1916
  "required": ["apiKeys", "userId"]
@@ -2296,10 +1955,10 @@
2296
1955
  "apiOnlyUsers": {
2297
1956
  "type": "array",
2298
1957
  "items": {
1958
+ "type": "object",
2299
1959
  "$ref": "#/definitions/v1ApiOnlyUserParams"
2300
1960
  },
2301
- "description": "A list of API-only Users to create.",
2302
- "title": "@inject_tag: validate:\"required,dive,required\""
1961
+ "description": "A list of API-only Users to create."
2303
1962
  }
2304
1963
  },
2305
1964
  "required": ["apiOnlyUsers"]
@@ -2344,15 +2003,14 @@
2344
2003
  "authenticators": {
2345
2004
  "type": "array",
2346
2005
  "items": {
2006
+ "type": "object",
2347
2007
  "$ref": "#/definitions/v1AuthenticatorParams"
2348
2008
  },
2349
- "description": "A list of Authenticators.",
2350
- "title": "@inject_tag: validate:\"dive,required\""
2009
+ "description": "A list of Authenticators."
2351
2010
  },
2352
2011
  "userId": {
2353
2012
  "type": "string",
2354
- "description": "Unique identifier for a given User.",
2355
- "title": "@inject_tag: validate:\"required,uuid\""
2013
+ "description": "Unique identifier for a given User."
2356
2014
  }
2357
2015
  },
2358
2016
  "required": ["authenticators", "userId"]
@@ -2363,15 +2021,14 @@
2363
2021
  "authenticators": {
2364
2022
  "type": "array",
2365
2023
  "items": {
2024
+ "type": "object",
2366
2025
  "$ref": "#/definitions/v1AuthenticatorParamsV2"
2367
2026
  },
2368
- "description": "A list of Authenticators.",
2369
- "title": "@inject_tag: validate:\"dive,required\""
2027
+ "description": "A list of Authenticators."
2370
2028
  },
2371
2029
  "userId": {
2372
2030
  "type": "string",
2373
- "description": "Unique identifier for a given User.",
2374
- "title": "@inject_tag: validate:\"required,uuid\""
2031
+ "description": "Unique identifier for a given User."
2375
2032
  }
2376
2033
  },
2377
2034
  "required": ["authenticators", "userId"]
@@ -2416,10 +2073,10 @@
2416
2073
  "invitations": {
2417
2074
  "type": "array",
2418
2075
  "items": {
2076
+ "type": "object",
2419
2077
  "$ref": "#/definitions/v1InvitationParams"
2420
2078
  },
2421
- "description": "A list of Invitations.",
2422
- "title": "@inject_tag: validate:\"required,dive,required\""
2079
+ "description": "A list of Invitations."
2423
2080
  }
2424
2081
  },
2425
2082
  "required": ["invitations"]
@@ -2463,21 +2120,19 @@
2463
2120
  "properties": {
2464
2121
  "organizationName": {
2465
2122
  "type": "string",
2466
- "description": "Human-readable name for an Organization.",
2467
- "title": "@inject_tag: validate:\"required,tk_label_length\""
2123
+ "description": "Human-readable name for an Organization."
2468
2124
  },
2469
2125
  "rootEmail": {
2470
2126
  "type": "string",
2471
- "description": "The root user's email address.",
2472
- "title": "@inject_tag: validate:\"required,email,tk_email\""
2127
+ "description": "The root user's email address."
2473
2128
  },
2474
2129
  "rootAuthenticator": {
2475
- "$ref": "#/definitions/v1AuthenticatorParams"
2130
+ "$ref": "#/definitions/v1AuthenticatorParams",
2131
+ "description": "The root user's Authenticator."
2476
2132
  },
2477
2133
  "rootUserId": {
2478
2134
  "type": "string",
2479
- "description": "Unique identifier for the root user object.",
2480
- "title": "@inject_tag: validate:\"uuid\""
2135
+ "description": "Unique identifier for the root user object."
2481
2136
  }
2482
2137
  },
2483
2138
  "required": ["organizationName", "rootEmail", "rootAuthenticator"]
@@ -2487,21 +2142,19 @@
2487
2142
  "properties": {
2488
2143
  "organizationName": {
2489
2144
  "type": "string",
2490
- "description": "Human-readable name for an Organization.",
2491
- "title": "@inject_tag: validate:\"required,tk_label,tk_label_length\""
2145
+ "description": "Human-readable name for an Organization."
2492
2146
  },
2493
2147
  "rootEmail": {
2494
2148
  "type": "string",
2495
- "description": "The root user's email address.",
2496
- "title": "@inject_tag: validate:\"required,email,tk_email\""
2149
+ "description": "The root user's email address."
2497
2150
  },
2498
2151
  "rootAuthenticator": {
2499
- "$ref": "#/definitions/v1AuthenticatorParamsV2"
2152
+ "$ref": "#/definitions/v1AuthenticatorParamsV2",
2153
+ "description": "The root user's Authenticator."
2500
2154
  },
2501
2155
  "rootUserId": {
2502
2156
  "type": "string",
2503
- "description": "Unique identifier for the root user object.",
2504
- "title": "@inject_tag: validate:\"uuid\""
2157
+ "description": "Unique identifier for the root user object."
2505
2158
  }
2506
2159
  },
2507
2160
  "required": ["organizationName", "rootEmail", "rootAuthenticator"]
@@ -2521,19 +2174,19 @@
2521
2174
  "properties": {
2522
2175
  "policyName": {
2523
2176
  "type": "string",
2524
- "description": "Human-readable name for a Policy.",
2525
- "title": "@inject_tag: validate:\"required,tk_label_length\""
2177
+ "description": "Human-readable name for a Policy."
2526
2178
  },
2527
2179
  "selectors": {
2528
2180
  "type": "array",
2529
2181
  "items": {
2182
+ "type": "object",
2530
2183
  "$ref": "#/definitions/immutableactivityv1Selector"
2531
2184
  },
2532
- "description": "A list of simple functions each including a subject, target and boolean. See Policy Engine Language section for additional details.",
2533
- "title": "@inject_tag: validate:\"required,dive,required\""
2185
+ "description": "A list of simple functions each including a subject, target and boolean. See Policy Engine Language section for additional details."
2534
2186
  },
2535
2187
  "effect": {
2536
- "$ref": "#/definitions/immutableactivityv1Effect"
2188
+ "$ref": "#/definitions/immutableactivityv1Effect",
2189
+ "description": "The instruction to DENY or ALLOW a particular activity following policy selector(s)."
2537
2190
  },
2538
2191
  "notes": {
2539
2192
  "type": "string"
@@ -2546,19 +2199,19 @@
2546
2199
  "properties": {
2547
2200
  "policyName": {
2548
2201
  "type": "string",
2549
- "description": "Human-readable name for a Policy.",
2550
- "title": "@inject_tag: validate:\"required,tk_label_length\""
2202
+ "description": "Human-readable name for a Policy."
2551
2203
  },
2552
2204
  "selectors": {
2553
2205
  "type": "array",
2554
2206
  "items": {
2207
+ "type": "object",
2555
2208
  "$ref": "#/definitions/v1SelectorV2"
2556
2209
  },
2557
- "description": "A list of simple functions each including a subject, target and boolean. See Policy Engine Language section for additional details.",
2558
- "title": "@inject_tag: validate:\"required,dive,required\""
2210
+ "description": "A list of simple functions each including a subject, target and boolean. See Policy Engine Language section for additional details."
2559
2211
  },
2560
2212
  "effect": {
2561
- "$ref": "#/definitions/immutableactivityv1Effect"
2213
+ "$ref": "#/definitions/immutableactivityv1Effect",
2214
+ "description": "Whether to ALLOW or DENY requests that match the condition and consensus requirements."
2562
2215
  },
2563
2216
  "notes": {
2564
2217
  "type": "string"
@@ -2571,11 +2224,11 @@
2571
2224
  "properties": {
2572
2225
  "policyName": {
2573
2226
  "type": "string",
2574
- "description": "Human-readable name for a Policy.",
2575
- "title": "@inject_tag: validate:\"required,tk_label,tk_label_length\""
2227
+ "description": "Human-readable name for a Policy."
2576
2228
  },
2577
2229
  "effect": {
2578
- "$ref": "#/definitions/immutableactivityv1Effect"
2230
+ "$ref": "#/definitions/immutableactivityv1Effect",
2231
+ "description": "The instruction to DENY or ALLOW an activity."
2579
2232
  },
2580
2233
  "condition": {
2581
2234
  "type": "string",
@@ -2627,16 +2280,14 @@
2627
2280
  "properties": {
2628
2281
  "privateKeyTagName": {
2629
2282
  "type": "string",
2630
- "description": "Human-readable name for a Private Key Tag.",
2631
- "title": "@inject_tag: validate:\"required,tk_label,tk_label_length\""
2283
+ "description": "Human-readable name for a Private Key Tag."
2632
2284
  },
2633
2285
  "privateKeyIds": {
2634
2286
  "type": "array",
2635
2287
  "items": {
2636
2288
  "type": "string"
2637
2289
  },
2638
- "description": "A list of Private Key IDs.",
2639
- "title": "@inject_tag: validate:\"dive,uuid\""
2290
+ "description": "A list of Private Key IDs."
2640
2291
  }
2641
2292
  },
2642
2293
  "required": ["privateKeyTagName", "privateKeyIds"]
@@ -2685,10 +2336,10 @@
2685
2336
  "privateKeys": {
2686
2337
  "type": "array",
2687
2338
  "items": {
2339
+ "type": "object",
2688
2340
  "$ref": "#/definitions/v1PrivateKeyParams"
2689
2341
  },
2690
- "description": "A list of Private Keys.",
2691
- "title": "@inject_tag: validate:\"dive,required\""
2342
+ "description": "A list of Private Keys."
2692
2343
  }
2693
2344
  },
2694
2345
  "required": ["privateKeys"]
@@ -2699,10 +2350,10 @@
2699
2350
  "privateKeys": {
2700
2351
  "type": "array",
2701
2352
  "items": {
2353
+ "type": "object",
2702
2354
  "$ref": "#/definitions/v1PrivateKeyParams"
2703
2355
  },
2704
- "description": "A list of Private Keys.",
2705
- "title": "@inject_tag: validate:\"dive,required\""
2356
+ "description": "A list of Private Keys."
2706
2357
  }
2707
2358
  },
2708
2359
  "required": ["privateKeys"]
@@ -2747,6 +2398,7 @@
2747
2398
  "privateKeys": {
2748
2399
  "type": "array",
2749
2400
  "items": {
2401
+ "type": "object",
2750
2402
  "$ref": "#/definitions/v1PrivateKeyResult"
2751
2403
  },
2752
2404
  "description": "A list of Private Key IDs and addresses."
@@ -2759,11 +2411,11 @@
2759
2411
  "properties": {
2760
2412
  "name": {
2761
2413
  "type": "string",
2762
- "description": "Name for this sub-organization",
2763
- "title": "@inject_tag: validate:\"omitempty,tk_label,tk_label_length\""
2414
+ "description": "Name for this sub-organization"
2764
2415
  },
2765
2416
  "rootAuthenticator": {
2766
- "$ref": "#/definitions/v1AuthenticatorParamsV2"
2417
+ "$ref": "#/definitions/v1AuthenticatorParamsV2",
2418
+ "description": "Root User authenticator for this new sub-organization"
2767
2419
  }
2768
2420
  },
2769
2421
  "required": ["name", "rootAuthenticator"]
@@ -2773,22 +2425,20 @@
2773
2425
  "properties": {
2774
2426
  "subOrganizationName": {
2775
2427
  "type": "string",
2776
- "description": "Name for this sub-organization",
2777
- "title": "@inject_tag: validate:\"omitempty,tk_label,tk_label_length\""
2428
+ "description": "Name for this sub-organization"
2778
2429
  },
2779
2430
  "rootUsers": {
2780
2431
  "type": "array",
2781
2432
  "items": {
2433
+ "type": "object",
2782
2434
  "$ref": "#/definitions/v1RootUserParams"
2783
2435
  },
2784
- "description": "Root users to create within this sub-organization",
2785
- "title": "@inject_tag: validate:\"required\""
2436
+ "description": "Root users to create within this sub-organization"
2786
2437
  },
2787
2438
  "rootQuorumThreshold": {
2788
2439
  "type": "integer",
2789
2440
  "format": "int32",
2790
- "description": "The threshold of unique approvals to reach root quorum. This value must be less than or equal to the number of root users",
2791
- "title": "@inject_tag: validate:\"required\""
2441
+ "description": "The threshold of unique approvals to reach root quorum. This value must be less than or equal to the number of root users"
2792
2442
  }
2793
2443
  },
2794
2444
  "required": ["subOrganizationName", "rootUsers", "rootQuorumThreshold"]
@@ -2828,16 +2478,14 @@
2828
2478
  "properties": {
2829
2479
  "userTagName": {
2830
2480
  "type": "string",
2831
- "description": "Human-readable name for a User Tag.",
2832
- "title": "@inject_tag: validate:\"required,tk_label,tk_label_length\""
2481
+ "description": "Human-readable name for a User Tag."
2833
2482
  },
2834
2483
  "userIds": {
2835
2484
  "type": "array",
2836
2485
  "items": {
2837
2486
  "type": "string"
2838
2487
  },
2839
- "description": "A list of User IDs.",
2840
- "title": "@inject_tag: validate:\"dive,uuid\""
2488
+ "description": "A list of User IDs."
2841
2489
  }
2842
2490
  },
2843
2491
  "required": ["userTagName", "userIds"]
@@ -2886,10 +2534,10 @@
2886
2534
  "users": {
2887
2535
  "type": "array",
2888
2536
  "items": {
2537
+ "type": "object",
2889
2538
  "$ref": "#/definitions/v1UserParams"
2890
2539
  },
2891
- "description": "A list of Users.",
2892
- "title": "@inject_tag: validate:\"required,dive,required\""
2540
+ "description": "A list of Users."
2893
2541
  }
2894
2542
  },
2895
2543
  "required": ["users"]
@@ -2900,10 +2548,10 @@
2900
2548
  "users": {
2901
2549
  "type": "array",
2902
2550
  "items": {
2551
+ "type": "object",
2903
2552
  "$ref": "#/definitions/v1UserParamsV2"
2904
2553
  },
2905
- "description": "A list of Users.",
2906
- "title": "@inject_tag: validate:\"required,dive,required\""
2554
+ "description": "A list of Users."
2907
2555
  }
2908
2556
  },
2909
2557
  "required": ["users"]
@@ -2976,16 +2624,14 @@
2976
2624
  "properties": {
2977
2625
  "userId": {
2978
2626
  "type": "string",
2979
- "description": "Unique identifier for a given User.",
2980
- "title": "@inject_tag: validate:\"required,uuid\""
2627
+ "description": "Unique identifier for a given User."
2981
2628
  },
2982
2629
  "apiKeyIds": {
2983
2630
  "type": "array",
2984
2631
  "items": {
2985
2632
  "type": "string"
2986
2633
  },
2987
- "description": "A list of API Key IDs.",
2988
- "title": "@inject_tag: validate:\"required,dive,required,uuid\""
2634
+ "description": "A list of API Key IDs."
2989
2635
  }
2990
2636
  },
2991
2637
  "required": ["userId", "apiKeyIds"]
@@ -3029,16 +2675,14 @@
3029
2675
  "properties": {
3030
2676
  "userId": {
3031
2677
  "type": "string",
3032
- "description": "Unique identifier for a given User.",
3033
- "title": "@inject_tag: validate:\"required,uuid\""
2678
+ "description": "Unique identifier for a given User."
3034
2679
  },
3035
2680
  "authenticatorIds": {
3036
2681
  "type": "array",
3037
2682
  "items": {
3038
2683
  "type": "string"
3039
2684
  },
3040
- "description": "A list of Authenticator IDs.",
3041
- "title": "@inject_tag: validate:\"required,dive,required,uuid\""
2685
+ "description": "A list of Authenticator IDs."
3042
2686
  }
3043
2687
  },
3044
2688
  "required": ["userId", "authenticatorIds"]
@@ -3082,8 +2726,7 @@
3082
2726
  "properties": {
3083
2727
  "invitationId": {
3084
2728
  "type": "string",
3085
- "description": "Unique identifier for a given Invitation object.",
3086
- "title": "@inject_tag: validate:\"required,uuid\""
2729
+ "description": "Unique identifier for a given Invitation object."
3087
2730
  }
3088
2731
  },
3089
2732
  "required": ["invitationId"]
@@ -3124,8 +2767,7 @@
3124
2767
  "properties": {
3125
2768
  "organizationId": {
3126
2769
  "type": "string",
3127
- "description": "Unique identifier for a given Organization.",
3128
- "title": "@inject_tag: validate:\"required,uuid\""
2770
+ "description": "Unique identifier for a given Organization."
3129
2771
  }
3130
2772
  },
3131
2773
  "required": ["organizationId"]
@@ -3165,8 +2807,7 @@
3165
2807
  "properties": {
3166
2808
  "policyId": {
3167
2809
  "type": "string",
3168
- "description": "Unique identifier for a given Policy.",
3169
- "title": "@inject_tag: validate:\"required,uuid\""
2810
+ "description": "Unique identifier for a given Policy."
3170
2811
  }
3171
2812
  },
3172
2813
  "required": ["policyId"]
@@ -3210,8 +2851,7 @@
3210
2851
  "items": {
3211
2852
  "type": "string"
3212
2853
  },
3213
- "description": "A list of Private Key Tag IDs.",
3214
- "title": "@inject_tag: validate:\"required,dive,required,uuid\""
2854
+ "description": "A list of Private Key Tag IDs."
3215
2855
  }
3216
2856
  },
3217
2857
  "required": ["privateKeyTagIds"]
@@ -3244,8 +2884,7 @@
3244
2884
  "items": {
3245
2885
  "type": "string"
3246
2886
  },
3247
- "description": "A list of User Tag IDs.",
3248
- "title": "@inject_tag: validate:\"required,dive,required,uuid\""
2887
+ "description": "A list of User Tag IDs."
3249
2888
  }
3250
2889
  },
3251
2890
  "required": ["userTagIds"]
@@ -3278,8 +2917,7 @@
3278
2917
  "items": {
3279
2918
  "type": "string"
3280
2919
  },
3281
- "description": "A list of User IDs.",
3282
- "title": "@inject_tag: validate:\"required,dive,required,uuid\""
2920
+ "description": "A list of User IDs."
3283
2921
  }
3284
2922
  },
3285
2923
  "required": ["userIds"]
@@ -3302,8 +2940,7 @@
3302
2940
  "properties": {
3303
2941
  "privateKeyId": {
3304
2942
  "type": "string",
3305
- "description": "Unique identifier for a given Private Key.",
3306
- "title": "@inject_tag: validate:\"required,uuid\""
2943
+ "description": "Unique identifier for a given Private Key."
3307
2944
  }
3308
2945
  },
3309
2946
  "required": ["privateKeyId"]
@@ -3333,7 +2970,8 @@
3333
2970
  "description": "Array of Activity Statuses filtering which Activities will be listed in the response."
3334
2971
  },
3335
2972
  "paginationOptions": {
3336
- "$ref": "#/definitions/v1Pagination"
2973
+ "$ref": "#/definitions/v1Pagination",
2974
+ "description": "Parameters used for cursor-based pagination."
3337
2975
  },
3338
2976
  "filterByType": {
3339
2977
  "type": "array",
@@ -3351,6 +2989,7 @@
3351
2989
  "activities": {
3352
2990
  "type": "array",
3353
2991
  "items": {
2992
+ "type": "object",
3354
2993
  "$ref": "#/definitions/v1Activity"
3355
2994
  },
3356
2995
  "description": "A list of Activities."
@@ -3390,7 +3029,8 @@
3390
3029
  "type": "object",
3391
3030
  "properties": {
3392
3031
  "authenticator": {
3393
- "$ref": "#/definitions/v1Authenticator"
3032
+ "$ref": "#/definitions/v1Authenticator",
3033
+ "description": "An authenticator."
3394
3034
  }
3395
3035
  },
3396
3036
  "required": ["authenticator"]
@@ -3415,6 +3055,7 @@
3415
3055
  "authenticators": {
3416
3056
  "type": "array",
3417
3057
  "items": {
3058
+ "type": "object",
3418
3059
  "$ref": "#/definitions/v1Authenticator"
3419
3060
  },
3420
3061
  "description": "A list of authenticators."
@@ -3436,7 +3077,8 @@
3436
3077
  "type": "object",
3437
3078
  "properties": {
3438
3079
  "organizationData": {
3439
- "$ref": "#/definitions/v1OrganizationData"
3080
+ "$ref": "#/definitions/v1OrganizationData",
3081
+ "description": "Object representing the full current and deleted / disabled collection of Users, Policies, Private Keys, and Invitations attributable to a particular Organization."
3440
3082
  }
3441
3083
  },
3442
3084
  "required": ["organizationData"]
@@ -3457,6 +3099,7 @@
3457
3099
  "policies": {
3458
3100
  "type": "array",
3459
3101
  "items": {
3102
+ "type": "object",
3460
3103
  "$ref": "#/definitions/v1Policy"
3461
3104
  },
3462
3105
  "description": "A list of Policies."
@@ -3482,7 +3125,8 @@
3482
3125
  "type": "object",
3483
3126
  "properties": {
3484
3127
  "policy": {
3485
- "$ref": "#/definitions/v1Policy"
3128
+ "$ref": "#/definitions/v1Policy",
3129
+ "description": "Object that codifies rules defining the actions that are permissible within an Organization."
3486
3130
  }
3487
3131
  },
3488
3132
  "required": ["policy"]
@@ -3505,7 +3149,8 @@
3505
3149
  "type": "object",
3506
3150
  "properties": {
3507
3151
  "privateKey": {
3508
- "$ref": "#/definitions/v1PrivateKey"
3152
+ "$ref": "#/definitions/v1PrivateKey",
3153
+ "description": "Cryptographic public/private key pair that can be used for cryptocurrency needs or more generalized encryption."
3509
3154
  }
3510
3155
  },
3511
3156
  "required": ["privateKey"]
@@ -3526,6 +3171,7 @@
3526
3171
  "privateKeys": {
3527
3172
  "type": "array",
3528
3173
  "items": {
3174
+ "type": "object",
3529
3175
  "$ref": "#/definitions/v1PrivateKey"
3530
3176
  },
3531
3177
  "description": "A list of Private Keys."
@@ -3551,7 +3197,8 @@
3551
3197
  "type": "object",
3552
3198
  "properties": {
3553
3199
  "user": {
3554
- "$ref": "#/definitions/v1User"
3200
+ "$ref": "#/definitions/v1User",
3201
+ "description": "Web and/or API user within your Organization."
3555
3202
  }
3556
3203
  },
3557
3204
  "required": ["user"]
@@ -3572,6 +3219,7 @@
3572
3219
  "users": {
3573
3220
  "type": "array",
3574
3221
  "items": {
3222
+ "type": "object",
3575
3223
  "$ref": "#/definitions/v1User"
3576
3224
  },
3577
3225
  "description": "A list of Users."
@@ -3618,8 +3266,7 @@
3618
3266
  "HASH_FUNCTION_SHA256",
3619
3267
  "HASH_FUNCTION_KECCAK256",
3620
3268
  "HASH_FUNCTION_NOT_APPLICABLE"
3621
- ],
3622
- "description": " - HASH_FUNCTION_UNSPECIFIED: Default value if a hash function is not set explicitly.\n - HASH_FUNCTION_NO_OP: No-op function. Useful if you want to pass raw digests to sign (ECDSA-only)\n - HASH_FUNCTION_SHA256: Standard SHA-256. Used in the Bitcoin ecosystem.\n - HASH_FUNCTION_KECCAK256: Keccak-256 (not the same as NIST SHA-3!).\nThis is the hash function used in the Ethereum ecosystem.\n - HASH_FUNCTION_NOT_APPLICABLE: Callers must use this enum value when signing with ed25519 keys.\nThis is because, unlike ECDSA, EdDSA's API does not support signing raw digests (see RFC 8032)."
3269
+ ]
3623
3270
  },
3624
3271
  "v1Intent": {
3625
3272
  "type": "object",
@@ -3744,11 +3391,16 @@
3744
3391
  "createPrivateKeysIntentV2": {
3745
3392
  "$ref": "#/definitions/v1CreatePrivateKeysIntentV2"
3746
3393
  },
3394
+ "updateUserIntent": {
3395
+ "$ref": "#/definitions/v1UpdateUserIntent"
3396
+ },
3747
3397
  "updatePolicyIntent": {
3748
3398
  "$ref": "#/definitions/v1UpdatePolicyIntent"
3399
+ },
3400
+ "setPaymentMethodIntentV2": {
3401
+ "$ref": "#/definitions/v1SetPaymentMethodIntentV2"
3749
3402
  }
3750
3403
  },
3751
- "description": "Intent object crafted by Turnkey based on the user request, used to assess the permissibility of an action.",
3752
3404
  "required": ["createOrganizationIntent"]
3753
3405
  },
3754
3406
  "v1Invitation": {
@@ -3774,10 +3426,12 @@
3774
3426
  "description": "A list of tags assigned to the Invitation recipient."
3775
3427
  },
3776
3428
  "accessType": {
3777
- "$ref": "#/definitions/externaldatav1AccessType"
3429
+ "$ref": "#/definitions/externaldatav1AccessType",
3430
+ "description": "The User's permissible access method(s)."
3778
3431
  },
3779
3432
  "status": {
3780
- "$ref": "#/definitions/v1InvitationStatus"
3433
+ "$ref": "#/definitions/v1InvitationStatus",
3434
+ "description": "The current processing status of a specified Invitation."
3781
3435
  },
3782
3436
  "createdAt": {
3783
3437
  "$ref": "#/definitions/v1Timestamp"
@@ -3807,29 +3461,26 @@
3807
3461
  "properties": {
3808
3462
  "receiverUserName": {
3809
3463
  "type": "string",
3810
- "description": "The name of the intended Invitation recipient.",
3811
- "title": "@inject_tag: validate:\"required,tk_label_length,tk_label\""
3464
+ "description": "The name of the intended Invitation recipient."
3812
3465
  },
3813
3466
  "receiverUserEmail": {
3814
3467
  "type": "string",
3815
- "description": "The email address of the intended Invitation recipient.",
3816
- "title": "@inject_tag: validate:\"required,email,tk_email\""
3468
+ "description": "The email address of the intended Invitation recipient."
3817
3469
  },
3818
3470
  "receiverUserTags": {
3819
3471
  "type": "array",
3820
3472
  "items": {
3821
3473
  "type": "string"
3822
3474
  },
3823
- "description": "A list of tags assigned to the Invitation recipient.",
3824
- "title": "@inject_tag: validate:\"dive,uuid\""
3475
+ "description": "A list of tags assigned to the Invitation recipient."
3825
3476
  },
3826
3477
  "accessType": {
3827
- "$ref": "#/definitions/immutableactivityv1AccessType"
3478
+ "$ref": "#/definitions/immutableactivityv1AccessType",
3479
+ "description": "The User's permissible access method(s)."
3828
3480
  },
3829
3481
  "senderUserId": {
3830
3482
  "type": "string",
3831
- "description": "Unique identifier for the Sender of an Invitation.",
3832
- "title": "@inject_tag: validate:\"required,uuid\""
3483
+ "description": "Unique identifier for the Sender of an Invitation."
3833
3484
  }
3834
3485
  },
3835
3486
  "required": [
@@ -3869,36 +3520,42 @@
3869
3520
  "users": {
3870
3521
  "type": "array",
3871
3522
  "items": {
3523
+ "type": "object",
3872
3524
  "$ref": "#/definitions/v1User"
3873
3525
  }
3874
3526
  },
3875
3527
  "policies": {
3876
3528
  "type": "array",
3877
3529
  "items": {
3530
+ "type": "object",
3878
3531
  "$ref": "#/definitions/v1Policy"
3879
3532
  }
3880
3533
  },
3881
3534
  "privateKeys": {
3882
3535
  "type": "array",
3883
3536
  "items": {
3537
+ "type": "object",
3884
3538
  "$ref": "#/definitions/v1PrivateKey"
3885
3539
  }
3886
3540
  },
3887
3541
  "invitations": {
3888
3542
  "type": "array",
3889
3543
  "items": {
3544
+ "type": "object",
3890
3545
  "$ref": "#/definitions/v1Invitation"
3891
3546
  }
3892
3547
  },
3893
3548
  "tags": {
3894
3549
  "type": "array",
3895
3550
  "items": {
3551
+ "type": "object",
3896
3552
  "$ref": "#/definitions/datav1Tag"
3897
3553
  }
3898
3554
  },
3899
3555
  "disabledPrivateKeys": {
3900
3556
  "type": "array",
3901
3557
  "items": {
3558
+ "type": "object",
3902
3559
  "$ref": "#/definitions/v1PrivateKey"
3903
3560
  }
3904
3561
  },
@@ -3911,16 +3568,14 @@
3911
3568
  "type": "string"
3912
3569
  }
3913
3570
  }
3914
- },
3915
- "description": "This proto definition is used in our external-facing APIs.\nIt's important to leverage annotations because they're used in our external interfaces."
3571
+ }
3916
3572
  },
3917
3573
  "v1Pagination": {
3918
3574
  "type": "object",
3919
3575
  "properties": {
3920
3576
  "limit": {
3921
- "type": "integer",
3922
- "format": "int32",
3923
- "description": "A limit of the number of object to be returned, between 1 and 100. Defaults to 10 if omitted or set to 0."
3577
+ "type": "string",
3578
+ "description": "A limit of the number of object to be returned, between 1 and 100. Defaults to 10."
3924
3579
  },
3925
3580
  "before": {
3926
3581
  "type": "string",
@@ -3934,8 +3589,7 @@
3934
3589
  },
3935
3590
  "v1PayloadEncoding": {
3936
3591
  "type": "string",
3937
- "enum": ["PAYLOAD_ENCODING_HEXADECIMAL", "PAYLOAD_ENCODING_TEXT_UTF8"],
3938
- "title": "- PAYLOAD_ENCODING_UNSPECIFIED: Default value if payload encoding is not set explicitly\n - PAYLOAD_ENCODING_HEXADECIMAL: Payload is encoded in hexadecimal\nWe accept 0x-prefixed or non-0x prefixed payloads.\nWe accept any casing (uppercase, lowercase, or mixed)\n - PAYLOAD_ENCODING_TEXT_UTF8: Payload is encoded as utf-8 text\nWill be converted to bytes for signature with Rust's standard String.as_bytes()"
3592
+ "enum": ["PAYLOAD_ENCODING_HEXADECIMAL", "PAYLOAD_ENCODING_TEXT_UTF8"]
3939
3593
  },
3940
3594
  "v1Policy": {
3941
3595
  "type": "object",
@@ -3949,11 +3603,13 @@
3949
3603
  "description": "Human-readable name for a Policy."
3950
3604
  },
3951
3605
  "effect": {
3952
- "$ref": "#/definitions/externaldatav1Effect"
3606
+ "$ref": "#/definitions/externaldatav1Effect",
3607
+ "description": "The instruction to DENY or ALLOW a particular activity following policy selector(s)."
3953
3608
  },
3954
3609
  "selectors": {
3955
3610
  "type": "array",
3956
3611
  "items": {
3612
+ "type": "object",
3957
3613
  "$ref": "#/definitions/externaldatav1Selector"
3958
3614
  },
3959
3615
  "description": "A list of simple functions each including a subject, target and boolean. See Policy Engine Language section for additional details."
@@ -4005,11 +3661,13 @@
4005
3661
  "description": "Human-readable name for a Private Key."
4006
3662
  },
4007
3663
  "curve": {
4008
- "$ref": "#/definitions/externaldatav1Curve"
3664
+ "$ref": "#/definitions/externaldatav1Curve",
3665
+ "description": "Cryptographic Curve used to generate a given Private Key."
4009
3666
  },
4010
3667
  "addresses": {
4011
3668
  "type": "array",
4012
3669
  "items": {
3670
+ "type": "object",
4013
3671
  "$ref": "#/definitions/externaldatav1Address"
4014
3672
  },
4015
3673
  "description": "Derived cryptocurrency addresses for a given Private Key."
@@ -4040,27 +3698,25 @@
4040
3698
  "properties": {
4041
3699
  "privateKeyName": {
4042
3700
  "type": "string",
4043
- "description": "Human-readable name for a Private Key.",
4044
- "title": "@inject_tag: validate:\"required,tk_label_length,tk_label\""
3701
+ "description": "Human-readable name for a Private Key."
4045
3702
  },
4046
3703
  "curve": {
4047
- "$ref": "#/definitions/immutableactivityv1Curve"
3704
+ "$ref": "#/definitions/immutableactivityv1Curve",
3705
+ "description": "Cryptographic Curve used to generate a given Private Key."
4048
3706
  },
4049
3707
  "privateKeyTags": {
4050
3708
  "type": "array",
4051
3709
  "items": {
4052
3710
  "type": "string"
4053
3711
  },
4054
- "description": "A list of Private Key Tag IDs.",
4055
- "title": "@inject_tag: validate:\"dive,uuid\""
3712
+ "description": "A list of Private Key Tag IDs."
4056
3713
  },
4057
3714
  "addressFormats": {
4058
3715
  "type": "array",
4059
3716
  "items": {
4060
3717
  "$ref": "#/definitions/immutableactivityv1AddressFormat"
4061
3718
  },
4062
- "description": "Cryptocurrency-specific formats for a derived address (e.g., Ethereum).",
4063
- "title": "@inject_tag: validate:\"dive\""
3719
+ "description": "Cryptocurrency-specific formats for a derived address (e.g., Ethereum)."
4064
3720
  }
4065
3721
  },
4066
3722
  "required": [
@@ -4079,6 +3735,7 @@
4079
3735
  "addresses": {
4080
3736
  "type": "array",
4081
3737
  "items": {
3738
+ "type": "object",
4082
3739
  "$ref": "#/definitions/immutableactivityv1Address"
4083
3740
  }
4084
3741
  }
@@ -4092,12 +3749,10 @@
4092
3749
  },
4093
3750
  "type": {
4094
3751
  "type": "string",
4095
- "enum": ["public-key"],
4096
- "title": "Must be literal string \"public-key\""
3752
+ "enum": ["public-key"]
4097
3753
  },
4098
3754
  "rawId": {
4099
- "type": "string",
4100
- "title": "ENCODING: base64url"
3755
+ "type": "string"
4101
3756
  },
4102
3757
  "authenticatorAttachment": {
4103
3758
  "type": "string",
@@ -4136,8 +3791,7 @@
4136
3791
  "properties": {
4137
3792
  "fingerprint": {
4138
3793
  "type": "string",
4139
- "description": "An artifact verifying a User's action.",
4140
- "title": "@inject_tag: validate:\"required\""
3794
+ "description": "An artifact verifying a User's action."
4141
3795
  }
4142
3796
  },
4143
3797
  "required": ["fingerprint"]
@@ -4259,40 +3913,40 @@
4259
3913
  "createPrivateKeysResultV2": {
4260
3914
  "$ref": "#/definitions/v1CreatePrivateKeysResultV2"
4261
3915
  },
3916
+ "updateUserResult": {
3917
+ "$ref": "#/definitions/v1UpdateUserResult"
3918
+ },
4262
3919
  "updatePolicyResult": {
4263
3920
  "$ref": "#/definitions/v1UpdatePolicyResult"
4264
3921
  }
4265
- },
4266
- "description": "Result of the intended action."
3922
+ }
4267
3923
  },
4268
3924
  "v1RootUserParams": {
4269
3925
  "type": "object",
4270
3926
  "properties": {
4271
3927
  "userName": {
4272
3928
  "type": "string",
4273
- "description": "Human-readable name for a User.",
4274
- "title": "@inject_tag: validate:\"required,tk_label_length,tk_label\""
3929
+ "description": "Human-readable name for a User."
4275
3930
  },
4276
3931
  "userEmail": {
4277
3932
  "type": "string",
4278
- "description": "The user's email address.",
4279
- "title": "@inject_tag: validate:\"omitempty,email,tk_email\""
3933
+ "description": "The user's email address."
4280
3934
  },
4281
3935
  "apiKeys": {
4282
3936
  "type": "array",
4283
3937
  "items": {
3938
+ "type": "object",
4284
3939
  "$ref": "#/definitions/v1ApiKeyParams"
4285
3940
  },
4286
- "description": "A list of API Key parameters.",
4287
- "title": "@inject_tag: validate:\"dive\""
3941
+ "description": "A list of API Key parameters."
4288
3942
  },
4289
3943
  "authenticators": {
4290
3944
  "type": "array",
4291
3945
  "items": {
3946
+ "type": "object",
4292
3947
  "$ref": "#/definitions/v1AuthenticatorParamsV2"
4293
3948
  },
4294
- "description": "A list of Authenticator parameters.",
4295
- "title": "@inject_tag: validate:\"dive\""
3949
+ "description": "A list of Authenticator parameters."
4296
3950
  }
4297
3951
  },
4298
3952
  "required": ["userName", "apiKeys", "authenticators"]
@@ -4319,33 +3973,27 @@
4319
3973
  "properties": {
4320
3974
  "number": {
4321
3975
  "type": "string",
4322
- "description": "The account number of the customer's credit card.",
4323
- "title": "@inject_tag: validate:\"required,max=16,numeric\""
3976
+ "description": "The account number of the customer's credit card."
4324
3977
  },
4325
3978
  "cvv": {
4326
3979
  "type": "string",
4327
- "description": "The verification digits of the customer's credit card.",
4328
- "title": "@inject_tag: validate:\"required,max=4,numeric\""
3980
+ "description": "The verification digits of the customer's credit card."
4329
3981
  },
4330
3982
  "expiryMonth": {
4331
3983
  "type": "string",
4332
- "description": "The month that the credit card expires.",
4333
- "title": "@inject_tag: validate:\"required,numeric,len=2\""
3984
+ "description": "The month that the credit card expires."
4334
3985
  },
4335
3986
  "expiryYear": {
4336
3987
  "type": "string",
4337
- "description": "The year that the credit card expires.",
4338
- "title": "@inject_tag: validate:\"required,numeric,len=4\""
3988
+ "description": "The year that the credit card expires."
4339
3989
  },
4340
3990
  "cardHolderEmail": {
4341
3991
  "type": "string",
4342
- "description": "The email that will receive invoices for the credit card.",
4343
- "title": "@inject_tag: validate:\"required,email,tk_email\""
3992
+ "description": "The email that will receive invoices for the credit card."
4344
3993
  },
4345
3994
  "cardHolderName": {
4346
3995
  "type": "string",
4347
- "description": "The name associated with the credit card.",
4348
- "title": "@inject_tag: validate:\"required,tk_label_length\""
3996
+ "description": "The name associated with the credit card."
4349
3997
  }
4350
3998
  },
4351
3999
  "required": [
@@ -4357,6 +4005,24 @@
4357
4005
  "cardHolderName"
4358
4006
  ]
4359
4007
  },
4008
+ "v1SetPaymentMethodIntentV2": {
4009
+ "type": "object",
4010
+ "properties": {
4011
+ "paymentMethodId": {
4012
+ "type": "string",
4013
+ "description": "The id of the payment method that was created clientside."
4014
+ },
4015
+ "cardHolderEmail": {
4016
+ "type": "string",
4017
+ "description": "The email that will receive invoices for the credit card."
4018
+ },
4019
+ "cardHolderName": {
4020
+ "type": "string",
4021
+ "description": "The name associated with the credit card."
4022
+ }
4023
+ },
4024
+ "required": ["paymentMethodId", "cardHolderEmail", "cardHolderName"]
4025
+ },
4360
4026
  "v1SetPaymentMethodResult": {
4361
4027
  "type": "object",
4362
4028
  "properties": {
@@ -4380,19 +4046,19 @@
4380
4046
  "properties": {
4381
4047
  "privateKeyId": {
4382
4048
  "type": "string",
4383
- "description": "Unique identifier for a given Private Key.",
4384
- "title": "@inject_tag: validate:\"required,uuid\""
4049
+ "description": "Unique identifier for a given Private Key."
4385
4050
  },
4386
4051
  "payload": {
4387
4052
  "type": "string",
4388
- "description": "Raw unsigned payload to be signed.",
4389
- "title": "@inject_tag: validate:\"required\""
4053
+ "description": "Raw unsigned payload to be signed."
4390
4054
  },
4391
4055
  "encoding": {
4392
- "$ref": "#/definitions/v1PayloadEncoding"
4056
+ "$ref": "#/definitions/v1PayloadEncoding",
4057
+ "description": "Encoding of the `payload` string. Turnkey uses this information to convert `payload` into bytes with the correct decoder (e.g. hex, utf8)."
4393
4058
  },
4394
4059
  "hashFunction": {
4395
- "$ref": "#/definitions/v1HashFunction"
4060
+ "$ref": "#/definitions/v1HashFunction",
4061
+ "description": "Hash function to apply to payload bytes before signing. This field must be set to HASH_FUNCTION_NOT_APPLICABLE for EdDSA/ed25519 signature requests; configurable payload hashing is not supported by RFC 8032."
4396
4062
  }
4397
4063
  },
4398
4064
  "required": ["privateKeyId", "payload", "encoding", "hashFunction"]
@@ -4441,13 +4107,11 @@
4441
4107
  "properties": {
4442
4108
  "privateKeyId": {
4443
4109
  "type": "string",
4444
- "description": "Unique identifier for a given Private Key.",
4445
- "title": "@inject_tag: validate:\"required,uuid\""
4110
+ "description": "Unique identifier for a given Private Key."
4446
4111
  },
4447
4112
  "unsignedTransaction": {
4448
4113
  "type": "string",
4449
- "description": "Raw unsigned transaction to be signed by a particular Private Key.",
4450
- "title": "@inject_tag: validate:\"required\""
4114
+ "description": "Raw unsigned transaction to be signed by a particular Private Key."
4451
4115
  },
4452
4116
  "type": {
4453
4117
  "$ref": "#/definitions/immutableactivityv1TransactionType"
@@ -4523,8 +4187,7 @@
4523
4187
  "items": {
4524
4188
  "type": "string"
4525
4189
  },
4526
- "description": "Additional origins requests are allowed from besides Turnkey origins",
4527
- "title": "@inject_tag: validate:\"required\""
4190
+ "description": "Additional origins requests are allowed from besides Turnkey origins"
4528
4191
  }
4529
4192
  },
4530
4193
  "required": ["allowedOrigins"]
@@ -4558,16 +4221,15 @@
4558
4221
  "properties": {
4559
4222
  "policyId": {
4560
4223
  "type": "string",
4561
- "description": "Unique identifier for a given Policy.",
4562
- "title": "@inject_tag: validate:\"uuid\""
4224
+ "description": "Unique identifier for a given Policy."
4563
4225
  },
4564
4226
  "policyName": {
4565
4227
  "type": "string",
4566
- "description": "Human-readable name for a Policy.",
4567
- "title": "@inject_tag: validate:\"omitempty,tk_label,tk_label_length\""
4228
+ "description": "Human-readable name for a Policy."
4568
4229
  },
4569
4230
  "policyEffect": {
4570
- "$ref": "#/definitions/immutableactivityv1Effect"
4231
+ "$ref": "#/definitions/immutableactivityv1Effect",
4232
+ "description": "The instruction to DENY or ALLOW an activity (optional)."
4571
4233
  },
4572
4234
  "policyCondition": {
4573
4235
  "type": "string",
@@ -4620,29 +4282,25 @@
4620
4282
  "properties": {
4621
4283
  "privateKeyTagId": {
4622
4284
  "type": "string",
4623
- "description": "Unique identifier for a given Private Key Tag.",
4624
- "title": "@inject_tag: validate:\"uuid\""
4285
+ "description": "Unique identifier for a given Private Key Tag."
4625
4286
  },
4626
4287
  "newPrivateKeyTagName": {
4627
4288
  "type": "string",
4628
- "description": "The new, human-readable name for the tag with the given ID.",
4629
- "title": "@inject_tag: validate:\"omitempty,tk_label,tk_label_length\""
4289
+ "description": "The new, human-readable name for the tag with the given ID."
4630
4290
  },
4631
4291
  "addPrivateKeyIds": {
4632
4292
  "type": "array",
4633
4293
  "items": {
4634
4294
  "type": "string"
4635
4295
  },
4636
- "description": "A list of Private Keys IDs to add this tag to.",
4637
- "title": "@inject_tag: validate:\"dive,uuid\""
4296
+ "description": "A list of Private Keys IDs to add this tag to."
4638
4297
  },
4639
4298
  "removePrivateKeyIds": {
4640
4299
  "type": "array",
4641
4300
  "items": {
4642
4301
  "type": "string"
4643
4302
  },
4644
- "description": "A list of Private Key IDs to remove this tag from.",
4645
- "title": "@inject_tag: validate:\"dive,uuid\""
4303
+ "description": "A list of Private Key IDs to remove this tag from."
4646
4304
  }
4647
4305
  },
4648
4306
  "required": ["privateKeyTagId", "addPrivateKeyIds", "removePrivateKeyIds"]
@@ -4684,16 +4342,14 @@
4684
4342
  "threshold": {
4685
4343
  "type": "integer",
4686
4344
  "format": "int32",
4687
- "description": "The threshold of unique approvals to reach quorum.",
4688
- "title": "@inject_tag: validate:\"required\""
4345
+ "description": "The threshold of unique approvals to reach quorum."
4689
4346
  },
4690
4347
  "userIds": {
4691
4348
  "type": "array",
4692
4349
  "items": {
4693
4350
  "type": "string"
4694
4351
  },
4695
- "description": "The unique identifiers of users who comprise the quorum set.",
4696
- "title": "@inject_tag: validate:\"dive,uuid\""
4352
+ "description": "The unique identifiers of users who comprise the quorum set."
4697
4353
  }
4698
4354
  },
4699
4355
  "required": ["threshold", "userIds"]
@@ -4722,34 +4378,86 @@
4722
4378
  "v1UpdateRootQuorumResult": {
4723
4379
  "type": "object"
4724
4380
  },
4381
+ "v1UpdateUserIntent": {
4382
+ "type": "object",
4383
+ "properties": {
4384
+ "userId": {
4385
+ "type": "string",
4386
+ "description": "Unique identifier for a given User."
4387
+ },
4388
+ "userName": {
4389
+ "type": "string",
4390
+ "description": "Human-readable name for a User."
4391
+ },
4392
+ "userEmail": {
4393
+ "type": "string",
4394
+ "description": "The user's email address."
4395
+ },
4396
+ "userTagIds": {
4397
+ "type": "array",
4398
+ "items": {
4399
+ "type": "string"
4400
+ },
4401
+ "description": "An updated list of User Tags to apply to this User."
4402
+ }
4403
+ },
4404
+ "required": ["userId"]
4405
+ },
4406
+ "v1UpdateUserRequest": {
4407
+ "type": "object",
4408
+ "properties": {
4409
+ "type": {
4410
+ "type": "string",
4411
+ "enum": ["ACTIVITY_TYPE_UPDATE_USER"]
4412
+ },
4413
+ "timestampMs": {
4414
+ "type": "string",
4415
+ "description": "Timestamp (in milliseconds) of the request, used to verify liveness of user requests."
4416
+ },
4417
+ "organizationId": {
4418
+ "type": "string",
4419
+ "description": "Unique identifier for a given Organization."
4420
+ },
4421
+ "parameters": {
4422
+ "$ref": "#/definitions/v1UpdateUserIntent"
4423
+ }
4424
+ },
4425
+ "required": ["type", "timestampMs", "organizationId", "parameters"]
4426
+ },
4427
+ "v1UpdateUserResult": {
4428
+ "type": "object",
4429
+ "properties": {
4430
+ "userId": {
4431
+ "type": "string",
4432
+ "description": "A User ID."
4433
+ }
4434
+ },
4435
+ "required": ["userId"]
4436
+ },
4725
4437
  "v1UpdateUserTagIntent": {
4726
4438
  "type": "object",
4727
4439
  "properties": {
4728
4440
  "userTagId": {
4729
4441
  "type": "string",
4730
- "description": "Unique identifier for a given User Tag.",
4731
- "title": "@inject_tag: validate:\"uuid\""
4442
+ "description": "Unique identifier for a given User Tag."
4732
4443
  },
4733
4444
  "newUserTagName": {
4734
4445
  "type": "string",
4735
- "description": "The new, human-readable name for the tag with the given ID.",
4736
- "title": "@inject_tag: validate:\"omitempty,tk_label,tk_label_length\""
4446
+ "description": "The new, human-readable name for the tag with the given ID."
4737
4447
  },
4738
4448
  "addUserIds": {
4739
4449
  "type": "array",
4740
4450
  "items": {
4741
4451
  "type": "string"
4742
4452
  },
4743
- "description": "A list of User IDs to add this tag to.",
4744
- "title": "@inject_tag: validate:\"dive,uuid\""
4453
+ "description": "A list of User IDs to add this tag to."
4745
4454
  },
4746
4455
  "removeUserIds": {
4747
4456
  "type": "array",
4748
4457
  "items": {
4749
4458
  "type": "string"
4750
4459
  },
4751
- "description": "A list of User IDs to remove this tag from.",
4752
- "title": "@inject_tag: validate:\"dive,uuid\""
4460
+ "description": "A list of User IDs to remove this tag from."
4753
4461
  }
4754
4462
  },
4755
4463
  "required": ["userTagId", "addUserIds", "removeUserIds"]
@@ -4798,15 +4506,16 @@
4798
4506
  },
4799
4507
  "userEmail": {
4800
4508
  "type": "string",
4801
- "description": "The user's email address.",
4802
- "title": "some users do not have emails (programmatic users)"
4509
+ "description": "The user's email address."
4803
4510
  },
4804
4511
  "accessType": {
4805
- "$ref": "#/definitions/externaldatav1AccessType"
4512
+ "$ref": "#/definitions/externaldatav1AccessType",
4513
+ "description": "The User's permissible access method(s)."
4806
4514
  },
4807
4515
  "authenticators": {
4808
4516
  "type": "array",
4809
4517
  "items": {
4518
+ "type": "object",
4810
4519
  "$ref": "#/definitions/v1Authenticator"
4811
4520
  },
4812
4521
  "description": "A list of Authenticator parameters."
@@ -4814,6 +4523,7 @@
4814
4523
  "apiKeys": {
4815
4524
  "type": "array",
4816
4525
  "items": {
4526
+ "type": "object",
4817
4527
  "$ref": "#/definitions/v1ApiKey"
4818
4528
  },
4819
4529
  "description": "A list of API Key parameters."
@@ -4848,40 +4558,38 @@
4848
4558
  "properties": {
4849
4559
  "userName": {
4850
4560
  "type": "string",
4851
- "description": "Human-readable name for a User.",
4852
- "title": "@inject_tag: validate:\"required,tk_label_length,tk_label\""
4561
+ "description": "Human-readable name for a User."
4853
4562
  },
4854
4563
  "userEmail": {
4855
4564
  "type": "string",
4856
- "description": "The user's email address.",
4857
- "title": "@inject_tag: validate:\"omitempty,email,tk_email\""
4565
+ "description": "The user's email address."
4858
4566
  },
4859
4567
  "accessType": {
4860
- "$ref": "#/definitions/immutableactivityv1AccessType"
4568
+ "$ref": "#/definitions/immutableactivityv1AccessType",
4569
+ "description": "The User's permissible access method(s)."
4861
4570
  },
4862
4571
  "apiKeys": {
4863
4572
  "type": "array",
4864
4573
  "items": {
4574
+ "type": "object",
4865
4575
  "$ref": "#/definitions/v1ApiKeyParams"
4866
4576
  },
4867
- "description": "A list of API Key parameters.",
4868
- "title": "@inject_tag: validate:\"dive,uuid\""
4577
+ "description": "A list of API Key parameters."
4869
4578
  },
4870
4579
  "authenticators": {
4871
4580
  "type": "array",
4872
4581
  "items": {
4582
+ "type": "object",
4873
4583
  "$ref": "#/definitions/v1AuthenticatorParams"
4874
4584
  },
4875
- "description": "A list of Authenticator parameters.",
4876
- "title": "@inject_tag: validate:\"dive\""
4585
+ "description": "A list of Authenticator parameters."
4877
4586
  },
4878
4587
  "userTags": {
4879
4588
  "type": "array",
4880
4589
  "items": {
4881
4590
  "type": "string"
4882
4591
  },
4883
- "description": "A list of User Tag IDs.",
4884
- "title": "@inject_tag: validate:\"dive,uuid\""
4592
+ "description": "A list of User Tag IDs."
4885
4593
  }
4886
4594
  },
4887
4595
  "required": [
@@ -4897,40 +4605,38 @@
4897
4605
  "properties": {
4898
4606
  "userName": {
4899
4607
  "type": "string",
4900
- "description": "Human-readable name for a User.",
4901
- "title": "@inject_tag: validate:\"required,tk_label_length,tk_label\""
4608
+ "description": "Human-readable name for a User."
4902
4609
  },
4903
4610
  "userEmail": {
4904
4611
  "type": "string",
4905
- "description": "The user's email address.",
4906
- "title": "@inject_tag: validate:\"omitempty,email,tk_email\""
4612
+ "description": "The user's email address."
4907
4613
  },
4908
4614
  "accessType": {
4909
- "$ref": "#/definitions/immutableactivityv1AccessType"
4615
+ "$ref": "#/definitions/immutableactivityv1AccessType",
4616
+ "description": "The User's permissible access method(s)."
4910
4617
  },
4911
4618
  "apiKeys": {
4912
4619
  "type": "array",
4913
4620
  "items": {
4621
+ "type": "object",
4914
4622
  "$ref": "#/definitions/v1ApiKeyParams"
4915
4623
  },
4916
- "description": "A list of API Key parameters.",
4917
- "title": "@inject_tag: validate:\"dive,uuid\""
4624
+ "description": "A list of API Key parameters."
4918
4625
  },
4919
4626
  "authenticators": {
4920
4627
  "type": "array",
4921
4628
  "items": {
4629
+ "type": "object",
4922
4630
  "$ref": "#/definitions/v1AuthenticatorParamsV2"
4923
4631
  },
4924
- "description": "A list of Authenticator parameters.",
4925
- "title": "@inject_tag: validate:\"dive\""
4632
+ "description": "A list of Authenticator parameters."
4926
4633
  },
4927
4634
  "userTags": {
4928
4635
  "type": "array",
4929
4636
  "items": {
4930
4637
  "type": "string"
4931
4638
  },
4932
- "description": "A list of User Tag IDs.",
4933
- "title": "@inject_tag: validate:\"dive,uuid\""
4639
+ "description": "A list of User Tag IDs."
4934
4640
  }
4935
4641
  },
4936
4642
  "required": [
@@ -4953,7 +4659,8 @@
4953
4659
  "description": "Unique identifier for a given User."
4954
4660
  },
4955
4661
  "user": {
4956
- "$ref": "#/definitions/v1User"
4662
+ "$ref": "#/definitions/v1User",
4663
+ "description": "Web and/or API user within your Organization."
4957
4664
  },
4958
4665
  "activityId": {
4959
4666
  "type": "string",
@@ -4983,7 +4690,6 @@
4983
4690
  "$ref": "#/definitions/v1Timestamp"
4984
4691
  }
4985
4692
  },
4986
- "description": "Object representing a particular User's approval or rejection of a Consensus request, including all relevant metadata.",
4987
4693
  "required": [
4988
4694
  "id",
4989
4695
  "userId",
@@ -5017,7 +4723,6 @@
5017
4723
  "description": "The base64 url encoded signature bytes contained within the WebAuthn assertion response."
5018
4724
  }
5019
4725
  },
5020
- "title": "We expect this to be passed in as a JSON-encoded, then base64-encoded string within a X-Stamp-Webauthn header",
5021
4726
  "required": [
5022
4727
  "credentialId",
5023
4728
  "clientDataJson",
@@ -5031,11 +4736,37 @@
5031
4736
  "type": "apiKey",
5032
4737
  "name": "X-Stamp",
5033
4738
  "in": "header"
4739
+ },
4740
+ "AuthenticatorAuth": {
4741
+ "type": "apiKey",
4742
+ "name": "X-Stamp-WebAuthn",
4743
+ "in": "header"
5034
4744
  }
5035
4745
  },
5036
4746
  "security": [
5037
4747
  {
5038
4748
  "ApiKeyAuth": []
4749
+ },
4750
+ {
4751
+ "AuthenticatorAuth": []
4752
+ }
4753
+ ],
4754
+ "x-tagGroups": [
4755
+ {
4756
+ "name": "ORGANIZATIONS",
4757
+ "tags": ["Organizations", "Invitations", "Policies"]
4758
+ },
4759
+ {
4760
+ "name": "PRIVATE KEYS",
4761
+ "tags": ["Private Keys", "Private Key Tags"]
4762
+ },
4763
+ {
4764
+ "name": "USERS",
4765
+ "tags": ["Users", "User Tags", "Authenticators", "API Keys", "Who am I?"]
4766
+ },
4767
+ {
4768
+ "name": "ACTIVITIES",
4769
+ "tags": ["Activities", "Consensus"]
5039
4770
  }
5040
4771
  ]
5041
4772
  }