@cubist-labs/cubesigner-sdk 0.3.27 → 0.3.29

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 (77) hide show
  1. package/README.md +1 -6
  2. package/dist/cjs/package.json +1 -1
  3. package/dist/cjs/src/api.d.ts +2 -1
  4. package/dist/cjs/src/api.js +4 -2
  5. package/dist/cjs/src/client.d.ts +20 -15
  6. package/dist/cjs/src/client.js +4 -3
  7. package/dist/cjs/src/key.d.ts +38 -2
  8. package/dist/cjs/src/key.js +88 -5
  9. package/dist/cjs/src/org.d.ts +3 -3
  10. package/dist/cjs/src/schema.d.ts +995 -54
  11. package/dist/cjs/src/schema.js +1 -1
  12. package/dist/cjs/src/util.d.ts +2 -0
  13. package/dist/cjs/src/util.js +1 -1
  14. package/dist/esm/package.json +1 -1
  15. package/dist/esm/src/api.d.ts +2 -1
  16. package/dist/esm/src/api.js +4 -2
  17. package/dist/esm/src/client.d.ts +20 -15
  18. package/dist/esm/src/client.js +4 -3
  19. package/dist/esm/src/key.d.ts +38 -2
  20. package/dist/esm/src/key.js +88 -5
  21. package/dist/esm/src/org.d.ts +3 -3
  22. package/dist/esm/src/schema.d.ts +995 -54
  23. package/dist/esm/src/schema.js +1 -1
  24. package/dist/esm/src/util.d.ts +2 -0
  25. package/dist/esm/src/util.js +1 -1
  26. package/package.json +1 -1
  27. package/src/api.ts +7 -1
  28. package/src/client.ts +3 -2
  29. package/src/key.ts +92 -4
  30. package/src/schema.ts +1038 -57
  31. package/src/util.ts +3 -0
  32. package/dist/cjs/src/org_event_processor.d.ts +0 -57
  33. package/dist/cjs/src/org_event_processor.js +0 -137
  34. package/dist/esm/src/org_event_processor.d.ts +0 -57
  35. package/dist/esm/src/org_event_processor.js +0 -133
  36. package/dist/package.json +0 -36
  37. package/dist/spec/env/beta.json +0 -9
  38. package/dist/spec/env/gamma.json +0 -9
  39. package/dist/spec/env/prod.json +0 -9
  40. package/dist/src/api.d.ts +0 -634
  41. package/dist/src/api.js +0 -1309
  42. package/dist/src/client.d.ts +0 -575
  43. package/dist/src/client.js +0 -381
  44. package/dist/src/env.d.ts +0 -15
  45. package/dist/src/env.js +0 -35
  46. package/dist/src/error.d.ts +0 -29
  47. package/dist/src/error.js +0 -36
  48. package/dist/src/events.d.ts +0 -84
  49. package/dist/src/events.js +0 -195
  50. package/dist/src/index.d.ts +0 -207
  51. package/dist/src/index.js +0 -308
  52. package/dist/src/key.d.ts +0 -152
  53. package/dist/src/key.js +0 -242
  54. package/dist/src/mfa.d.ts +0 -94
  55. package/dist/src/mfa.js +0 -169
  56. package/dist/src/org.d.ts +0 -99
  57. package/dist/src/org.js +0 -95
  58. package/dist/src/paginator.d.ts +0 -76
  59. package/dist/src/paginator.js +0 -99
  60. package/dist/src/response.d.ts +0 -101
  61. package/dist/src/response.js +0 -164
  62. package/dist/src/role.d.ts +0 -283
  63. package/dist/src/role.js +0 -253
  64. package/dist/src/schema.d.ts +0 -6209
  65. package/dist/src/schema.js +0 -7
  66. package/dist/src/schema_types.d.ts +0 -113
  67. package/dist/src/schema_types.js +0 -3
  68. package/dist/src/session/session_storage.d.ts +0 -47
  69. package/dist/src/session/session_storage.js +0 -76
  70. package/dist/src/session/signer_session_manager.d.ts +0 -125
  71. package/dist/src/session/signer_session_manager.js +0 -239
  72. package/dist/src/signer_session.d.ts +0 -41
  73. package/dist/src/signer_session.js +0 -77
  74. package/dist/src/user_export.d.ts +0 -52
  75. package/dist/src/user_export.js +0 -129
  76. package/dist/src/util.d.ts +0 -61
  77. package/dist/src/util.js +0 -97
package/src/schema.ts CHANGED
@@ -38,26 +38,69 @@ export interface paths {
38
38
  */
39
39
  patch: operations["updateOrg"];
40
40
  };
41
+ "/v0/org/{org_id}/ava/sign/{ava_chain}/{pubkey}": {
42
+ /**
43
+ * Sign a serialized Avalanche C/X/P-Chain Message
44
+ * @description Sign a serialized Avalanche C/X/P-Chain Message
45
+ *
46
+ * Signs an Avalanche message with a given SecpEth (C-Chain messages) or
47
+ * SecpAva (X- and P-Chain messages) key. Currently signing C-Chain messages
48
+ * with SecpEth key must also be explicitly allowed via `AllowRawBlobSigning`
49
+ * policy.
50
+ *
51
+ * This is a pre-release feature.
52
+ */
53
+ post: operations["avaSerializedTxSign"];
54
+ };
41
55
  "/v0/org/{org_id}/ava/sign/{pubkey}": {
42
56
  /**
43
- * Sign Avalanche X- or P-Chain Message
44
- * @description Sign Avalanche X- or P-Chain Message
57
+ * Sign JSON-encoded Avalanche X- or P-Chain Message
58
+ * @description Sign JSON-encoded Avalanche X- or P-Chain Message
45
59
  *
46
60
  * Signs an Avalanche message with a given SecpAva key.
47
61
  * This is a pre-release feature.
48
62
  */
49
63
  post: operations["avaSign"];
50
64
  };
65
+ "/v0/org/{org_id}/babylon/eots/nonces/{pubkey}": {
66
+ /**
67
+ * Create EOTS nonces
68
+ * @description Create EOTS nonces
69
+ *
70
+ * Generates a set of Babylon EOTS nonces for a specified chain-id, starting at a
71
+ * specified block height.
72
+ */
73
+ post: operations["createEotsNonces"];
74
+ };
75
+ "/v0/org/{org_id}/babylon/eots/sign/{pubkey}": {
76
+ /**
77
+ * Create an EOTS signature
78
+ * @description Create an EOTS signature
79
+ *
80
+ * Generates an EOTS signature for the specified chain-id, block height, and message.
81
+ */
82
+ post: operations["eotsSign"];
83
+ };
51
84
  "/v0/org/{org_id}/btc/sign/{pubkey}": {
52
85
  /**
53
- * Sign Bitcoin Transaction
54
- * @description Sign Bitcoin Transaction
86
+ * Sign Bitcoin Segwit Transaction
87
+ * @description Sign Bitcoin Segwit Transaction
55
88
  *
56
- * Signs a Bitcoin transaction with a given key.
89
+ * Signs a Bitcoin Segwit transaction with a given key.
57
90
  * This is a pre-release feature.
58
91
  */
59
92
  post: operations["btcSign"];
60
93
  };
94
+ "/v0/org/{org_id}/btc/taproot/sign/{pubkey}": {
95
+ /**
96
+ * Sign Bitcoin Taproot Transaction
97
+ * @description Sign Bitcoin Taproot Transaction
98
+ *
99
+ * Signs a Bitcoin Taproot transaction with a given key.
100
+ * This is a pre-release feature.
101
+ */
102
+ post: operations["btcTaprootSign"];
103
+ };
61
104
  "/v0/org/{org_id}/derive_key": {
62
105
  /**
63
106
  * Derive Key From Long-Lived Mnemonic
@@ -68,6 +111,9 @@ export interface paths {
68
111
  */
69
112
  put: operations["deriveKey"];
70
113
  };
114
+ "/v0/org/{org_id}/emails/otp": {
115
+ put: operations["setEmailOtp"];
116
+ };
71
117
  "/v0/org/{org_id}/evm/eip191/sign/{pubkey}": {
72
118
  /**
73
119
  * Sign EIP-191 Data
@@ -86,6 +132,23 @@ export interface paths {
86
132
  */
87
133
  post: operations["eip712Sign"];
88
134
  };
135
+ "/v0/org/{org_id}/identity": {
136
+ /**
137
+ * List associated OIDC identities with the current user.
138
+ * @description List associated OIDC identities with the current user.
139
+ */
140
+ get: operations["listOidcIdentities"];
141
+ /**
142
+ * Associate an OIDC identity with the current user in org <session.org>.
143
+ * @description Associate an OIDC identity with the current user in org <session.org>.
144
+ */
145
+ post: operations["addOidcIdentity"];
146
+ /**
147
+ * Remove an OIDC identity from the current user's account in org <session.org>.
148
+ * @description Remove an OIDC identity from the current user's account in org <session.org>.
149
+ */
150
+ delete: operations["removeOidcIdentity"];
151
+ };
89
152
  "/v0/org/{org_id}/identity/prove": {
90
153
  /**
91
154
  * Create [IdentityProof] from CubeSigner user session
@@ -181,14 +244,20 @@ export interface paths {
181
244
  * @description Delete Key
182
245
  *
183
246
  * Deletes a key specified by its ID.
247
+ *
184
248
  * Only the key owner and org owners are allowed to delete keys.
249
+ * Additionally, the role's edit policy (if set) must permit the update.
185
250
  */
186
251
  delete: operations["deleteKey"];
187
252
  /**
188
253
  * Update Key
189
254
  * @description Update Key
190
255
  *
191
- * Enable or disable a key. The user must be the owner of the key or organization to perform this action.
256
+ * Enable or disable a key. The user must be the owner of the key or
257
+ * organization to perform this action.
258
+ *
259
+ * For each requested update, the session must have the corresponding 'manage:key:update:_' scope;
260
+ * if no updates are requested, the session must have 'manage:key:get'.
192
261
  */
193
262
  patch: operations["updateKey"];
194
263
  };
@@ -296,6 +365,23 @@ export interface paths {
296
365
  */
297
366
  post: operations["oidcAuth"];
298
367
  };
368
+ "/v0/org/{org_id}/oidc/email-otp": {
369
+ /**
370
+ * Initiate login via email token
371
+ * @description Initiate login via email token
372
+ *
373
+ * This endpoint sends an email to the provided address with an OIDC token encrypted with AES-GCM.
374
+ * The decryption parameters are returned immediately in the response.
375
+ * Once that token is decrypted, it can be used with the standard OIDC authentication flows
376
+ *
377
+ *
378
+ * > [!IMPORTANT]
379
+ * > For this endpoint to succeed, the org must be configured to:
380
+ * > 1. Allow the issuer `https://shim.oauth2.cubist.dev/email-otp` and client ID being the Org ID
381
+ * > 2. Have an email sender configured for OTPs
382
+ */
383
+ post: operations["emailOtpAuth"];
384
+ };
299
385
  "/v0/org/{org_id}/roles": {
300
386
  /**
301
387
  * List Roles
@@ -326,7 +412,9 @@ export interface paths {
326
412
  * @description Delete Role
327
413
  *
328
414
  * Deletes a role in an organization.
415
+ *
329
416
  * Only users in the role can perform this action.
417
+ * Additionally, the role's edit policy (if set) must permit the update.
330
418
  */
331
419
  delete: operations["deleteRole"];
332
420
  /**
@@ -335,7 +423,9 @@ export interface paths {
335
423
  *
336
424
  * Enables or disables a role (this requires the `manage:role:update:enable` scope).
337
425
  * Updates the role's policies (this requires the `manage:role:update:policy` scope).
426
+ *
338
427
  * The user must be in the role or an owner of the organization.
428
+ * Additionally, the role's edit policy (if set) must permit the update.
339
429
  */
340
430
  patch: operations["updateRole"];
341
431
  };
@@ -345,6 +435,9 @@ export interface paths {
345
435
  * @description Add Keys
346
436
  *
347
437
  * Adds a list of existing keys to an existing role.
438
+ *
439
+ * Only the key owner can their key to a role.
440
+ * Additionally, the role's edit policy (if set) must permit the update.
348
441
  */
349
442
  put: operations["addKeysToRole"];
350
443
  };
@@ -354,7 +447,9 @@ export interface paths {
354
447
  * @description Add User
355
448
  *
356
449
  * Adds an existing user to an existing role.
357
- * Only users in the role or owners can add users to a role.
450
+ *
451
+ * Only users in the role or org owners can add users to a role.
452
+ * Additionally, the role's edit policy (if set) must permit the update.
358
453
  */
359
454
  put: operations["addUserToRole"];
360
455
  };
@@ -372,7 +467,10 @@ export interface paths {
372
467
  * Remove Key
373
468
  * @description Remove Key
374
469
  *
375
- * Removes a given key from a role
470
+ * Removes a given key from a role.
471
+ *
472
+ * Only users in the role or org owners can remove keys from a role.
473
+ * Additionally, the role's edit policy (if set) must permit the update.
376
474
  */
377
475
  delete: operations["removeKeyFromRole"];
378
476
  };
@@ -436,7 +534,9 @@ export interface paths {
436
534
  * @description Remove User
437
535
  *
438
536
  * Removes an existing user from an existing role.
537
+ *
439
538
  * Only users in the role or org owners can remove users from a role.
539
+ * Additionally, the role's edit policy (if set) must permit the update.
440
540
  */
441
541
  delete: operations["removeUserFromRole"];
442
542
  };
@@ -636,6 +736,22 @@ export interface paths {
636
736
  */
637
737
  delete: operations["deleteOidcUser"];
638
738
  };
739
+ "/v0/org/{org_id}/users/{user_id}": {
740
+ /**
741
+ * Remove a user from the org
742
+ * @description Remove a user from the org
743
+ */
744
+ delete: operations["deleteUser"];
745
+ };
746
+ "/v0/org/{org_id}/users/{user_id}/membership": {
747
+ /**
748
+ * Update a user's membership in the org
749
+ * @description Update a user's membership in the org
750
+ *
751
+ * Currently allows just enabling/disabling a user in the org.
752
+ */
753
+ patch: operations["updateUserMembership"];
754
+ };
639
755
  "/v0/user/me/fido": {
640
756
  /**
641
757
  * Initiate registration of a FIDO key
@@ -690,13 +806,19 @@ export interface paths {
690
806
  */
691
807
  post: operations["verifyTotpLegacy"];
692
808
  };
809
+ "/v0/user/orgs": {
810
+ /**
811
+ * Retrieves all the orgs the user is a part of
812
+ * @description Retrieves all the orgs the user is a part of
813
+ */
814
+ get: operations["userOrgs"];
815
+ };
693
816
  "/v1/org/{org_id}/blob/sign/{key_id}": {
694
817
  /**
695
818
  * Sign Raw Blob
696
819
  * @description Sign Raw Blob
697
820
  *
698
821
  * Signs an arbitrary blob with a given key.
699
- * This is a pre-release feature.
700
822
  *
701
823
  * - ECDSA signatures are serialized as big-endian r and s plus recovery-id
702
824
  * byte v, which can in general take any of the values 0, 1, 2, or 3.
@@ -797,6 +919,10 @@ export interface components {
797
919
  };
798
920
  /** @enum {string} */
799
921
  AcceptedValueCode: "MfaRequired";
922
+ /** @description Request to add OIDC identity to an existing user account */
923
+ AddIdentityRequest: {
924
+ oidc_token: string;
925
+ };
800
926
  AddKeysToRoleRequest: {
801
927
  /**
802
928
  * @description A list of keys to add to a role
@@ -983,7 +1109,12 @@ export interface components {
983
1109
  * @enum {string}
984
1110
  */
985
1111
  AuthenticatorTransport: "usb" | "nfc" | "ble" | "internal";
986
- /** @description Request to sign an Avalanche transactions */
1112
+ /** @description Request to sign a serialized Avalanche transaction */
1113
+ AvaSerializedTxSignRequest: {
1114
+ /** @description Serialized transaction to sign */
1115
+ tx: string;
1116
+ };
1117
+ /** @description Request to sign an Avalanche transaction */
987
1118
  AvaSignRequest: {
988
1119
  /**
989
1120
  * @description Transaction to sign.
@@ -1009,7 +1140,11 @@ export interface components {
1009
1140
  /** @description Wrapper around a zeroizing 32-byte fixed-size array */
1010
1141
  B32: string;
1011
1142
  /** @enum {string} */
1012
- BadGatewayErrorCode: "OAuthProviderError";
1143
+ BadGatewayErrorCode:
1144
+ | "OAuthProviderError"
1145
+ | "OidcDisoveryFailed"
1146
+ | "OidcIssuerJwkEndpointUnavailable"
1147
+ | "SmtpServerUnavailable";
1013
1148
  /** @enum {string} */
1014
1149
  BadRequestErrorCode:
1015
1150
  | "GenericBadRequest"
@@ -1026,12 +1161,14 @@ export interface components {
1026
1161
  | "RoleNameTaken"
1027
1162
  | "AddKeyToRoleCountTooHigh"
1028
1163
  | "InvalidKeyId"
1029
- | "InvalidKeyMetadataLength"
1030
- | "InvalidKeyMetadata"
1164
+ | "InvalidTimeLockAlreadyInThePast"
1165
+ | "InvalidUpdate"
1166
+ | "InvalidMetadataLength"
1031
1167
  | "InvalidKeyMaterialId"
1032
1168
  | "KeyNotFound"
1033
1169
  | "UserExportDerivedKey"
1034
1170
  | "UserExportPublicKeyInvalid"
1171
+ | "UnableToAccessSmtpRelay"
1035
1172
  | "UserExportInProgress"
1036
1173
  | "RoleNotFound"
1037
1174
  | "InvalidMfaReceiptOrgIdMissing"
@@ -1070,14 +1207,19 @@ export interface components {
1070
1207
  | "AvaSignHashError"
1071
1208
  | "AvaSignError"
1072
1209
  | "BtcSegwitHashError"
1210
+ | "BtcTaprootHashError"
1073
1211
  | "BtcSignError"
1212
+ | "TaprootSignError"
1074
1213
  | "Eip712SignError"
1075
1214
  | "InvalidMemberRoleInUserAdd"
1076
1215
  | "ThirdPartyUserAlreadyExists"
1216
+ | "OidcIdentityAlreadyExists"
1077
1217
  | "ThirdPartyUserNotFound"
1078
1218
  | "DeleteOidcUserError"
1219
+ | "DeleteUserError"
1079
1220
  | "SessionRoleMismatch"
1080
1221
  | "InvalidOidcToken"
1222
+ | "InvalidOidcIdentity"
1081
1223
  | "OidcIssuerUnsupported"
1082
1224
  | "OidcIssuerNotAllowed"
1083
1225
  | "OidcIssuerNoApplicableJwk"
@@ -1098,7 +1240,8 @@ export interface components {
1098
1240
  | "CannotDeletePendingSubscription"
1099
1241
  | "InvalidNotificationUrlProtocol"
1100
1242
  | "EmptyOneOfOrgEventFilter"
1101
- | "EmptyAllExceptOrgEventFilter";
1243
+ | "EmptyAllExceptOrgEventFilter"
1244
+ | "InvalidTapNodeHash";
1102
1245
  /**
1103
1246
  * @example {
1104
1247
  * "message_base64": "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTYK"
@@ -1112,11 +1255,32 @@ export interface components {
1112
1255
  * the message. For example, Secp256k1 keys require that the message is 32 bytes long.
1113
1256
  */
1114
1257
  message_base64: string;
1258
+ /**
1259
+ * @description An optional tweak value for use *only* with Taproot keys. This field is ignored
1260
+ * for all other key types.
1261
+ *
1262
+ * If this field is not present or null, no tweak is applied. If the field is an
1263
+ * empty string, the key is tweaked with an unspendable script path per BIP0341.
1264
+ * Otherwise, this field must contain a 32-byte, base-64 encoded hex string
1265
+ * representing the Merkle root with which to tweak the key before signing.
1266
+ * @example F41HAy2q5Gn8laF2CuMsZbRAQTmD+4Ob3VUMZ7TBGK4=
1267
+ */
1268
+ taproot_tweak?: string | null;
1115
1269
  };
1116
1270
  BlobSignResponse: {
1117
1271
  /** @description The hex-encoded signature. */
1118
1272
  signature: string;
1119
1273
  };
1274
+ /** @description Leaf hash and code, as per BIP341 and https://github.com/rust-bitcoin/rust-bitcoin/blob/464202109d2b2c96e9b4867461bffe420dbd8177/bitcoin/src/crypto/sighash.rs#L691 */
1275
+ BtcLeafHashCodeSeparator: {
1276
+ /**
1277
+ * Format: int32
1278
+ * @description Code separator
1279
+ */
1280
+ code_separator: number;
1281
+ /** @description Taproot-tagged hash with tag "TapLeaf". */
1282
+ leaf_hash: string;
1283
+ };
1120
1284
  /** @enum {string} */
1121
1285
  BtcSighashType:
1122
1286
  | "All"
@@ -1127,8 +1291,7 @@ export interface components {
1127
1291
  | "SinglePlusAnyoneCanPay";
1128
1292
  BtcSignRequest: {
1129
1293
  sig_kind: components["schemas"]["BtcSignatureKind"];
1130
- /** @description The bitcoin transaction to sign */
1131
- tx: Record<string, never>;
1294
+ tx: components["schemas"]["BtcTx"];
1132
1295
  };
1133
1296
  BtcSignResponse: {
1134
1297
  /**
@@ -1159,6 +1322,16 @@ export interface components {
1159
1322
  value: number;
1160
1323
  };
1161
1324
  };
1325
+ BtcTx: Record<string, never>;
1326
+ BtcTxOut: {
1327
+ /** @description The script which must be satisfied for the output to be spent. */
1328
+ script_pubkey: string;
1329
+ /**
1330
+ * Format: int64
1331
+ * @description The value of the output, in satoshis.
1332
+ */
1333
+ value: number;
1334
+ };
1162
1335
  /** @description Describes how to derive a WebAuthn challenge value. */
1163
1336
  ChallengePieces: {
1164
1337
  /**
@@ -1192,6 +1365,30 @@ export interface components {
1192
1365
  /** @description Session ID */
1193
1366
  session_id: string;
1194
1367
  };
1368
+ /** @description Fields that are common to different types of resources such as keys */
1369
+ CommonFields: {
1370
+ created?: components["schemas"]["EpochDateTime"] | null;
1371
+ edit_policy?: components["schemas"]["EditPolicy"];
1372
+ last_modified?: components["schemas"]["EpochDateTime"] | null;
1373
+ /**
1374
+ * @description User-defined metadata. When rendering (e.g., in the browser) you should treat
1375
+ * it as untrusted user data (and avoid injecting metadata into HTML directly) if
1376
+ * untrusted users can create/update keys (or their metadata).
1377
+ */
1378
+ metadata?: unknown;
1379
+ /**
1380
+ * Format: int64
1381
+ * @description Version of this object
1382
+ */
1383
+ version?: number;
1384
+ };
1385
+ ConfigureEmailOtpRequest: {
1386
+ auth: {
1387
+ smtp: string;
1388
+ };
1389
+ /** @description The email address that OTP requests will come from */
1390
+ sender: string;
1391
+ };
1195
1392
  ConfiguredMfa:
1196
1393
  | {
1197
1394
  /** @enum {string} */
@@ -1206,11 +1403,12 @@ export interface components {
1206
1403
  type: "fido";
1207
1404
  };
1208
1405
  CreateAndUpdateKeyProperties: {
1406
+ edit_policy?: components["schemas"]["EditPolicy"] | null;
1209
1407
  /**
1210
- * @description Set this key's metadata. Validation regex: ^[A-Za-z0-9_=+/ \-\.\,]{0,1024}$
1211
- * @example Contract admin key
1408
+ * @description Set this key's metadata. If this value is `null`, the metadata is erased. If the field is
1409
+ * missing, the metadata remains unchanged.
1212
1410
  */
1213
- metadata?: string | null;
1411
+ metadata?: unknown;
1214
1412
  /**
1215
1413
  * @description Specify a user other than themselves to be the (potentially new) owner of the key.
1216
1414
  * The specified owner must be an existing user who is a member of the same org.
@@ -1374,6 +1572,10 @@ export interface components {
1374
1572
  */
1375
1573
  mnemonic_id: string;
1376
1574
  };
1575
+ EditPolicy: {
1576
+ mfa?: components["schemas"]["MfaPolicy"] | null;
1577
+ time_lock_until?: components["schemas"]["EpochDateTime"] | null;
1578
+ };
1377
1579
  Eip191Or712SignResponse: {
1378
1580
  /**
1379
1581
  * @description Hex-encoded signature comprising 65 bytes in the format required
@@ -1397,6 +1599,7 @@ export interface components {
1397
1599
  * "domain": {
1398
1600
  * "chainId": 1337,
1399
1601
  * "name": "Ether Mail",
1602
+ * "salt": "0x0000000000000000000000000000000000000000000000000000000000000000",
1400
1603
  * "verifyingContract": "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC",
1401
1604
  * "version": "1"
1402
1605
  * },
@@ -1436,6 +1639,10 @@ export interface components {
1436
1639
  * {
1437
1640
  * "name": "verifyingContract",
1438
1641
  * "type": "address"
1642
+ * },
1643
+ * {
1644
+ * "name": "salt",
1645
+ * "type": "bytes32"
1439
1646
  * }
1440
1647
  * ],
1441
1648
  * "Group": [
@@ -1485,11 +1692,95 @@ export interface components {
1485
1692
  /** @description EIP-712 typed data. Refer to the JSON schema defined in EIP-712. */
1486
1693
  typed_data: Record<string, never>;
1487
1694
  };
1695
+ /** @description The request users send to initiate email OTP */
1696
+ EmailOtpRequest: {
1697
+ /** @description The email which will receive the OTP */
1698
+ email: string;
1699
+ };
1700
+ /**
1701
+ * @description The HTTP response to an email OTP request.
1702
+ *
1703
+ * Users receive an encrypted OIDC token in their email inbox.
1704
+ * The values in this response can be used to decrypt that token
1705
+ * using AES-GCM. This ensures that clients need *both* the emailed token
1706
+ * and this response to complete OTP auth.
1707
+ */
1708
+ EmailOtpResponse: {
1709
+ /**
1710
+ * Format: binary
1711
+ * @description Base64 URL encoded IV value for AES-GCM
1712
+ */
1713
+ iv: string;
1714
+ /**
1715
+ * Format: binary
1716
+ * @description Base64 URL encoded key for AES-GCM
1717
+ */
1718
+ key: string;
1719
+ };
1488
1720
  /** @default null */
1489
1721
  Empty: unknown;
1490
1722
  EmptyImpl: {
1491
1723
  status: string;
1492
1724
  };
1725
+ /**
1726
+ * @description Request to create a set of EOTS nonces for a specified chain-id, starting
1727
+ * at a specified block height.
1728
+ */
1729
+ EotsCreateNonceRequest: {
1730
+ /**
1731
+ * @description The chain id for which the nonces will be used, as a hex string
1732
+ * @example 0x11223344
1733
+ */
1734
+ chain_id: string;
1735
+ /**
1736
+ * Format: int32
1737
+ * @description The number of nonces to generate
1738
+ * @example 16
1739
+ */
1740
+ num: number;
1741
+ /**
1742
+ * @description The starting block height of the generated nonces (quoted decimal u64)
1743
+ * @example 31337
1744
+ */
1745
+ start_height: string;
1746
+ };
1747
+ /** @description Response generated when creating EOTS nonces */
1748
+ EotsCreateNonceResponse: {
1749
+ /**
1750
+ * @description The generated nonces as an array of 0x-prefixed hex strings
1751
+ * @example [
1752
+ * "0xb393bf39e71a16d784853d58255a296222a99fd3c87aa7ca206c5230c188f1c7",
1753
+ * "0xe01936584b4f0c0e97f0d3018c4f9db2bf7de41395c6403a48fd0dff0ef7b40d"
1754
+ * ]
1755
+ */
1756
+ nonces: string[];
1757
+ };
1758
+ /** @description Request for an EOTS signature on a specified message, chain-id, block-height triple */
1759
+ EotsSignRequest: {
1760
+ /**
1761
+ * @description The block height for the signature (quoted decimal u64)
1762
+ * @example 123456
1763
+ */
1764
+ block_height: string;
1765
+ /**
1766
+ * @description The chain id for the signature
1767
+ * @example 0x11223344
1768
+ */
1769
+ chain_id: string;
1770
+ /**
1771
+ * @description The message to sign
1772
+ * @example 0x5a2688faea09d42b9270fdb8de6fff6f192243a910ba66329073e12e0d0046a2
1773
+ */
1774
+ message: string;
1775
+ };
1776
+ /** @description Response to an EOTS signing request */
1777
+ EotsSignResponse: {
1778
+ /**
1779
+ * @description The resulting signature, a hex-encoded 32-byte value
1780
+ * @example 0xd9804c04a696b522472c53bd3a3c664c4c3085a017927e45ffaed711d1613700
1781
+ */
1782
+ signature: string;
1783
+ };
1493
1784
  /**
1494
1785
  * @description Epoch is a quoted `uint64`.
1495
1786
  * @example 256
@@ -1642,10 +1933,15 @@ export interface components {
1642
1933
  /** @enum {string} */
1643
1934
  ForbiddenErrorCode:
1644
1935
  | "FidoRequiredToRemoveTotp"
1936
+ | "EmailOtpNotConfigured"
1645
1937
  | "MfaChallengeExpired"
1646
1938
  | "ChainIdNotAllowed"
1647
1939
  | "InvalidOrg"
1648
1940
  | "SessionForWrongOrg"
1941
+ | "SelfDelete"
1942
+ | "SelfDisable"
1943
+ | "UserHasNoMfa"
1944
+ | "UserDisabled"
1649
1945
  | "OrgDisabled"
1650
1946
  | "OrgNotFound"
1651
1947
  | "OrgWithoutOwner"
@@ -1816,6 +2112,7 @@ export interface components {
1816
2112
  /** @description HTTP path of the request (including host or not?) */
1817
2113
  path: string;
1818
2114
  };
2115
+ Id: string;
1819
2116
  /**
1820
2117
  * @description Proof that an end-user provided CubeSigner with a valid auth token
1821
2118
  * (either an OIDC token or a CubeSigner session token)
@@ -1870,6 +2167,7 @@ export interface components {
1870
2167
  InternalErrorCode:
1871
2168
  | "SystemTimeError"
1872
2169
  | "ReqwestError"
2170
+ | "EmailConstructionError"
1873
2171
  | "DbQueryError"
1874
2172
  | "DbGetError"
1875
2173
  | "DbDeleteError"
@@ -1888,6 +2186,8 @@ export interface components {
1888
2186
  | "ParseDerivationPathError"
1889
2187
  | "SplitSignerError"
1890
2188
  | "CreateImportKeyError"
2189
+ | "CreateEotsNoncesError"
2190
+ | "EotsSignError"
1891
2191
  | "CognitoDeleteUserError"
1892
2192
  | "CognitoListUsersError"
1893
2193
  | "CognitoGetUserError"
@@ -1911,7 +2211,6 @@ export interface components {
1911
2211
  | "RequestLocalStateAlreadySet"
1912
2212
  | "OidcOrgMismatch"
1913
2213
  | "OrphanedRoleKeyId"
1914
- | "OidcIssuerJwkEndpointUnavailable"
1915
2214
  | "OidcIssuerInvalidJwk"
1916
2215
  | "InvalidPkForMaterialId"
1917
2216
  | "UncheckedOrg"
@@ -1925,7 +2224,8 @@ export interface components {
1925
2224
  | "SnsGetSubscriptionAttributesError"
1926
2225
  | "SnsSubscriptionAttributesMissing"
1927
2226
  | "SnsSetSubscriptionAttributesError"
1928
- | "SnsPublishBatchError";
2227
+ | "SnsPublishBatchError"
2228
+ | "InconsistentMultiValueTestAndSet";
1929
2229
  InviteRequest: {
1930
2230
  /**
1931
2231
  * @description The user's email address
@@ -2090,7 +2390,7 @@ export interface components {
2090
2390
  */
2091
2391
  role_id: string;
2092
2392
  };
2093
- KeyInfo: {
2393
+ KeyInfo: components["schemas"]["CommonFields"] & {
2094
2394
  derivation_info?: components["schemas"]["KeyDerivationInfo"] | null;
2095
2395
  /** @description Whether the key is enabled (only enabled keys may be used for signing) */
2096
2396
  enabled: boolean;
@@ -2106,12 +2406,6 @@ export interface components {
2106
2406
  * @example 0x8e3484687e66cdd26cf04c3647633ab4f3570148
2107
2407
  */
2108
2408
  material_id: string;
2109
- /**
2110
- * @description User-defined metadata. When rendering (e.g., in the browser) you should treat
2111
- * it as untrusted user data (and avoid injecting metadata into HTML directly) if
2112
- * untrusted users can create/update keys (or their metadata).
2113
- */
2114
- metadata?: string;
2115
2409
  /**
2116
2410
  * @description Owner of the key
2117
2411
  * @example User#c3b9379c-4e8c-4216-bd0a-65ace53cf98f
@@ -2162,7 +2456,10 @@ export interface components {
2162
2456
  | "Ed25519CardanoAddrVk"
2163
2457
  | "Ed25519StellarAddr"
2164
2458
  | "Mnemonic"
2165
- | "Stark";
2459
+ | "Stark"
2460
+ | "BabylonEots"
2461
+ | "TaprootBtc"
2462
+ | "TaprootBtcTest";
2166
2463
  /**
2167
2464
  * @description Wrapper around encrypted [UnencryptedLastEvalKey] bytes.
2168
2465
  *
@@ -2170,6 +2467,10 @@ export interface components {
2170
2467
  * so that they can pass this back to us as a url query parameter.
2171
2468
  */
2172
2469
  LastEvalKey: string;
2470
+ /** @description Third-party identities associated with the user's account */
2471
+ ListIdentitiesResponse: {
2472
+ identities: components["schemas"]["OIDCIdentity"][];
2473
+ };
2173
2474
  ListMfaResponse: {
2174
2475
  /** @description All pending MFA requests */
2175
2476
  mfa_requests: components["schemas"]["MfaRequestInfo"][];
@@ -2182,6 +2483,40 @@ export interface components {
2182
2483
  * @enum {string}
2183
2484
  */
2184
2485
  MemberRole: "Alien" | "Member" | "Owner";
2486
+ /** @enum {string} */
2487
+ MembershipStatus: "enabled" | "disabled";
2488
+ /**
2489
+ * @example {
2490
+ * "allowed_approvers": [
2491
+ * "User#fabc3f88-04e0-471b-9657-0ae12a3cd73e",
2492
+ * "User#d796c369-9974-473b-ab9e-e4a2418d2d07"
2493
+ * ],
2494
+ * "count": 2,
2495
+ * "lifetime": 900
2496
+ * }
2497
+ */
2498
+ MfaPolicy: {
2499
+ /** @description Users who are allowed to approve. If empty at creation time, default to the current user. */
2500
+ allowed_approvers?: string[];
2501
+ /** @description Allowed approval types. When omitted, defaults to any. */
2502
+ allowed_mfa_types?: components["schemas"]["MfaType"][] | null;
2503
+ /**
2504
+ * Format: int32
2505
+ * @description How many users to require to approve (defaults to 1).
2506
+ */
2507
+ count?: number;
2508
+ lifetime?: components["schemas"]["Seconds"];
2509
+ /**
2510
+ * Format: int32
2511
+ * @description How many auth factors to require per user (defaults to 1).
2512
+ */
2513
+ num_auth_factors?: number;
2514
+ /**
2515
+ * @description CubeSigner operations to which this policy should apply.
2516
+ * When omitted, applies to all operations.
2517
+ */
2518
+ restricted_operations?: components["schemas"]["OperationKind"][] | null;
2519
+ };
2185
2520
  /** @description Returned as a response from multiple routes (e.g., 'get mfa', 'approve mfa', 'approve totp'). */
2186
2521
  MfaRequestInfo: {
2187
2522
  expires_at: components["schemas"]["EpochDateTime"];
@@ -2231,6 +2566,8 @@ export interface components {
2231
2566
  */
2232
2567
  token: string;
2233
2568
  };
2569
+ /** Format: binary */
2570
+ NonceValue: string;
2234
2571
  /** @enum {string} */
2235
2572
  NotFoundErrorCode:
2236
2573
  | "UriSegmentMissing"
@@ -2265,7 +2602,7 @@ export interface components {
2265
2602
  */
2266
2603
  OIDCIdentity: {
2267
2604
  /**
2268
- * @description The root-level issuer who administrates this user. Frome the OIDC spec:
2605
+ * @description The root-level issuer who administrates this user. From the OIDC spec:
2269
2606
  * Issuer Identifier for the Issuer of the response. The iss
2270
2607
  * value is a case sensitive URL using the https scheme that contains
2271
2608
  * scheme, host, and optionally, port number and path components and
@@ -2297,6 +2634,37 @@ export interface components {
2297
2634
  scopes: string[];
2298
2635
  tokens?: components["schemas"]["RatchetConfig"];
2299
2636
  };
2637
+ /**
2638
+ * @description All different kinds of sensitive operations
2639
+ * @enum {string}
2640
+ */
2641
+ OperationKind:
2642
+ | "AvaSign"
2643
+ | "AvaChainTxSign"
2644
+ | "BlobSign"
2645
+ | "BtcSign"
2646
+ | "TaprootSign"
2647
+ | "Eip191Sign"
2648
+ | "Eip712Sign"
2649
+ | "EotsNonces"
2650
+ | "EotsSign"
2651
+ | "Eth1Sign"
2652
+ | "Eth2Sign"
2653
+ | "Eth2Stake"
2654
+ | "Eth2Unstake"
2655
+ | "SolanaSign";
2656
+ OrgData: {
2657
+ /**
2658
+ * @description The id of the org
2659
+ * @example Org#123...
2660
+ */
2661
+ org_id: string;
2662
+ /**
2663
+ * @description The human-readable name for the org
2664
+ * @example my_org_name
2665
+ */
2666
+ org_name?: string | null;
2667
+ };
2300
2668
  /**
2301
2669
  * @description Auto-generated discriminant enum variants
2302
2670
  * @enum {string}
@@ -2564,7 +2932,8 @@ export interface components {
2564
2932
  | "KeysAlreadyInRole"
2565
2933
  | "KeyInMultipleRoles"
2566
2934
  | "KeyAccessError"
2567
- | "Eip191SigningNotAllowed";
2935
+ | "Eip191SigningNotAllowed"
2936
+ | "TimeLocked";
2568
2937
  PreconditionErrorCode:
2569
2938
  | components["schemas"]["PreconditionErrorOwnCodes"]
2570
2939
  | components["schemas"]["PolicyErrorCode"];
@@ -2578,6 +2947,30 @@ export interface components {
2578
2947
  | "Eth2MultiDepositToNonGeneratedKey"
2579
2948
  | "Eth2MultiDepositUnknownInitialDeposit"
2580
2949
  | "Eth2MultiDepositWithdrawalAddressMismatch";
2950
+ /** @description Contains outputs of previous transactions. */
2951
+ PrevOutputs: OneOf<
2952
+ [
2953
+ {
2954
+ /**
2955
+ * @description `One` variant allows provision of the single previous output needed. It's useful,
2956
+ * for example, when modifier `SIGHASH_ANYONECANPAY` is provided, only previous output
2957
+ * of the current input is needed. The first `index` argument is the input index
2958
+ * this output is referring to.
2959
+ */
2960
+ One: {
2961
+ index: number;
2962
+ tx_out: components["schemas"]["BtcTxOut"];
2963
+ };
2964
+ },
2965
+ {
2966
+ /**
2967
+ * @description When `SIGHASH_ANYONECANPAY` is not provided, or when the caller is giving all
2968
+ * previous outputs so the same variable can be used for multiple inputs.
2969
+ */
2970
+ All: components["schemas"]["BtcTxOut"][];
2971
+ },
2972
+ ]
2973
+ >;
2581
2974
  /**
2582
2975
  * @description This type represents a wire-encodable form of the PublicKeyCredential interface
2583
2976
  * Clients may need to manually encode into this format to communicate with the server
@@ -2941,7 +3334,7 @@ export interface components {
2941
3334
  /** @description Tokens that were revoked. */
2942
3335
  revoked: components["schemas"]["TokenInfo"][];
2943
3336
  };
2944
- RoleInfo: {
3337
+ RoleInfo: components["schemas"]["CommonFields"] & {
2945
3338
  /**
2946
3339
  * @description Whether the role is enabled
2947
3340
  * @example true
@@ -3089,6 +3482,49 @@ export interface components {
3089
3482
  * @enum {string}
3090
3483
  */
3091
3484
  SubscriptionStatus: "Confirmed" | "Pending";
3485
+ TaprootSignRequest: {
3486
+ sig_kind: components["schemas"]["TaprootSignatureKind"];
3487
+ tx: components["schemas"]["BtcTx"];
3488
+ };
3489
+ TaprootSignResponse: {
3490
+ /**
3491
+ * @description The 64-byte signature, encoded as defined in BIP0340.
3492
+ * @example 0x14110b79e65f90f70cd3ff5adf29bed9c9fcc035772240990fb51d25a10c9667669bba0c3b335163f65d1b9d8569cf22dd8210084cd24d83cc4bb396d979e10d
3493
+ */
3494
+ signature: string;
3495
+ };
3496
+ TaprootSignatureKind: {
3497
+ /** @description Optional annex, as per BIP341 */
3498
+ annex?: string | null;
3499
+ /**
3500
+ * @description Transaction input index
3501
+ * @example 0
3502
+ */
3503
+ input_index: number;
3504
+ leaf_hash_code_separator?: components["schemas"]["BtcLeafHashCodeSeparator"] | null;
3505
+ /**
3506
+ * @description If this field is not present or null, no tweak is applied. If the field is an
3507
+ * empty string, the key is tweaked with an unspendable script path per BIP0341.
3508
+ * Otherwise, this field must contain a 32-byte, base-64 encoded hex string
3509
+ * representing the Merkle root with which to tweak the key before signing.
3510
+ * @example F41HAy2q5Gn8laF2CuMsZbRAQTmD+4Ob3VUMZ7TBGK4=
3511
+ */
3512
+ merkle_root?: string | null;
3513
+ prevouts: components["schemas"]["PrevOutputs"];
3514
+ /**
3515
+ * @description Hash type of an input's signature, encoded in the last byte of the signature.
3516
+ * Possible values:
3517
+ * - SIGHASH_ALL
3518
+ * - SIGHASH_ALL|SIGHASH_ANYONECANPAY
3519
+ * - SIGHASH_DEFAULT
3520
+ * - SIGHASH_NONE
3521
+ * - SIGHASH_NONE|SIGHASH_ANYONECANPAY
3522
+ * - SIGHASH_SINGLE
3523
+ * - SIGHASH_SINGLE|SIGHASH_ANYONECANPAY
3524
+ * @example SIGHASH_ALL
3525
+ */
3526
+ sighash_type: string;
3527
+ };
3092
3528
  TokenInfo: {
3093
3529
  /** @description Session ID. Use it to revoke a session. Cannot be used for auth. */
3094
3530
  hash: string;
@@ -3212,6 +3648,11 @@ export interface components {
3212
3648
  * Once disabled, a key cannot be used for signing.
3213
3649
  */
3214
3650
  enabled?: boolean | null;
3651
+ /**
3652
+ * Format: int64
3653
+ * @description If set, updating the metadata only succeeds if the version matches this value.
3654
+ */
3655
+ version?: number | null;
3215
3656
  };
3216
3657
  UpdateOrgRequest: {
3217
3658
  /** @description If set, update this org's `enabled` field to this value. */
@@ -3356,6 +3797,7 @@ export interface components {
3356
3797
  user_export_window?: number | null;
3357
3798
  };
3358
3799
  UpdateRoleRequest: {
3800
+ edit_policy?: components["schemas"]["EditPolicy"] | null;
3359
3801
  /**
3360
3802
  * @description If set, updates the role's `enabled` property to this value.
3361
3803
  * Once disabled, a role cannot be used; and it's tokens cannot be used for signing.
@@ -3374,6 +3816,11 @@ export interface components {
3374
3816
  */
3375
3817
  policy?: Record<string, never>[] | null;
3376
3818
  };
3819
+ /** @description Request to update an existing user */
3820
+ UpdateUserMembershipRequest: {
3821
+ /** @description Enable or disable user */
3822
+ disabled?: boolean | null;
3823
+ };
3377
3824
  /** @description A request to complete a user export */
3378
3825
  UserExportCompleteRequest: {
3379
3826
  /**
@@ -3469,10 +3916,10 @@ export interface components {
3469
3916
  };
3470
3917
  UserInOrgInfo: {
3471
3918
  /**
3472
- * @description The user's email
3919
+ * @description The user's email (optional)
3473
3920
  * @example alice@example.com
3474
3921
  */
3475
- email: string;
3922
+ email?: string | null;
3476
3923
  /**
3477
3924
  * @description The id of the user
3478
3925
  * @example User#c3b9379c-4e8c-4216-bd0a-65ace53cf98f
@@ -3481,6 +3928,7 @@ export interface components {
3481
3928
  membership: components["schemas"]["MemberRole"];
3482
3929
  /** @description Optional user name. */
3483
3930
  name?: string | null;
3931
+ status: components["schemas"]["MembershipStatus"];
3484
3932
  };
3485
3933
  /**
3486
3934
  * @description Information about a user's membership in an organization
@@ -3493,6 +3941,7 @@ export interface components {
3493
3941
  * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
3494
3942
  */
3495
3943
  org_id: string;
3944
+ status: components["schemas"]["MembershipStatus"];
3496
3945
  };
3497
3946
  UserInRoleInfo: {
3498
3947
  user_id: string;
@@ -3502,7 +3951,7 @@ export interface components {
3502
3951
  * @description Optional email
3503
3952
  * @example alice@example.com
3504
3953
  */
3505
- email: string;
3954
+ email?: string | null;
3506
3955
  /** @description All multi-factor authentication methods configured for this user */
3507
3956
  mfa: components["schemas"]["ConfiguredMfa"][];
3508
3957
  /** @description MFA policy, applies before logging in and other sensitive operations */
@@ -3528,6 +3977,11 @@ export interface components {
3528
3977
  */
3529
3978
  user_id: string;
3530
3979
  };
3980
+ /** @description The response to the user/orgs endpoint */
3981
+ UserOrgsResponse: {
3982
+ /** @description The list of orgs this user is a member of */
3983
+ orgs: components["schemas"]["OrgData"][];
3984
+ };
3531
3985
  /**
3532
3986
  * @description A WebAuthn Relying Party may require user verification for some of its
3533
3987
  * operations but not for others, and may use this type to express its needs.
@@ -3640,6 +4094,30 @@ export interface components {
3640
4094
  };
3641
4095
  };
3642
4096
  };
4097
+ /**
4098
+ * @description The HTTP response to an email OTP request.
4099
+ *
4100
+ * Users receive an encrypted OIDC token in their email inbox.
4101
+ * The values in this response can be used to decrypt that token
4102
+ * using AES-GCM. This ensures that clients need *both* the emailed token
4103
+ * and this response to complete OTP auth.
4104
+ */
4105
+ EmailOtpResponse: {
4106
+ content: {
4107
+ "application/json": {
4108
+ /**
4109
+ * Format: binary
4110
+ * @description Base64 URL encoded IV value for AES-GCM
4111
+ */
4112
+ iv: string;
4113
+ /**
4114
+ * Format: binary
4115
+ * @description Base64 URL encoded key for AES-GCM
4116
+ */
4117
+ key: string;
4118
+ };
4119
+ };
4120
+ };
3643
4121
  EmptyImpl: {
3644
4122
  content: {
3645
4123
  "application/json": {
@@ -3647,6 +4125,33 @@ export interface components {
3647
4125
  };
3648
4126
  };
3649
4127
  };
4128
+ /** @description Response generated when creating EOTS nonces */
4129
+ EotsCreateNonceResponse: {
4130
+ content: {
4131
+ "application/json": {
4132
+ /**
4133
+ * @description The generated nonces as an array of 0x-prefixed hex strings
4134
+ * @example [
4135
+ * "0xb393bf39e71a16d784853d58255a296222a99fd3c87aa7ca206c5230c188f1c7",
4136
+ * "0xe01936584b4f0c0e97f0d3018c4f9db2bf7de41395c6403a48fd0dff0ef7b40d"
4137
+ * ]
4138
+ */
4139
+ nonces: string[];
4140
+ };
4141
+ };
4142
+ };
4143
+ /** @description Response to an EOTS signing request */
4144
+ EotsSignResponse: {
4145
+ content: {
4146
+ "application/json": {
4147
+ /**
4148
+ * @description The resulting signature, a hex-encoded 32-byte value
4149
+ * @example 0xd9804c04a696b522472c53bd3a3c664c4c3085a017927e45ffaed711d1613700
4150
+ */
4151
+ signature: string;
4152
+ };
4153
+ };
4154
+ };
3650
4155
  Eth1SignResponse: {
3651
4156
  content: {
3652
4157
  "application/json": {
@@ -3767,7 +4272,7 @@ export interface components {
3767
4272
  };
3768
4273
  KeyInfo: {
3769
4274
  content: {
3770
- "application/json": {
4275
+ "application/json": components["schemas"]["CommonFields"] & {
3771
4276
  derivation_info?: components["schemas"]["KeyDerivationInfo"] | null;
3772
4277
  /** @description Whether the key is enabled (only enabled keys may be used for signing) */
3773
4278
  enabled: boolean;
@@ -3783,12 +4288,6 @@ export interface components {
3783
4288
  * @example 0x8e3484687e66cdd26cf04c3647633ab4f3570148
3784
4289
  */
3785
4290
  material_id: string;
3786
- /**
3787
- * @description User-defined metadata. When rendering (e.g., in the browser) you should treat
3788
- * it as untrusted user data (and avoid injecting metadata into HTML directly) if
3789
- * untrusted users can create/update keys (or their metadata).
3790
- */
3791
- metadata?: string;
3792
4291
  /**
3793
4292
  * @description Owner of the key
3794
4293
  * @example User#c3b9379c-4e8c-4216-bd0a-65ace53cf98f
@@ -3830,6 +4329,14 @@ export interface components {
3830
4329
  };
3831
4330
  };
3832
4331
  };
4332
+ /** @description Third-party identities associated with the user's account */
4333
+ ListIdentitiesResponse: {
4334
+ content: {
4335
+ "application/json": {
4336
+ identities: components["schemas"]["OIDCIdentity"][];
4337
+ };
4338
+ };
4339
+ };
3833
4340
  ListMfaResponse: {
3834
4341
  content: {
3835
4342
  "application/json": {
@@ -4093,7 +4600,7 @@ export interface components {
4093
4600
  };
4094
4601
  RoleInfo: {
4095
4602
  content: {
4096
- "application/json": {
4603
+ "application/json": components["schemas"]["CommonFields"] & {
4097
4604
  /**
4098
4605
  * @description Whether the role is enabled
4099
4606
  * @example true
@@ -4177,6 +4684,17 @@ export interface components {
4177
4684
  };
4178
4685
  };
4179
4686
  };
4687
+ TaprootSignResponse: {
4688
+ content: {
4689
+ "application/json": {
4690
+ /**
4691
+ * @description The 64-byte signature, encoded as defined in BIP0340.
4692
+ * @example 0x14110b79e65f90f70cd3ff5adf29bed9c9fcc035772240990fb51d25a10c9667669bba0c3b335163f65d1b9d8569cf22dd8210084cd24d83cc4bb396d979e10d
4693
+ */
4694
+ signature: string;
4695
+ };
4696
+ };
4697
+ };
4180
4698
  TokenInfo: {
4181
4699
  content: {
4182
4700
  "application/json": {
@@ -4332,6 +4850,26 @@ export interface components {
4332
4850
  };
4333
4851
  };
4334
4852
  };
4853
+ UserInOrgInfo: {
4854
+ content: {
4855
+ "application/json": {
4856
+ /**
4857
+ * @description The user's email (optional)
4858
+ * @example alice@example.com
4859
+ */
4860
+ email?: string | null;
4861
+ /**
4862
+ * @description The id of the user
4863
+ * @example User#c3b9379c-4e8c-4216-bd0a-65ace53cf98f
4864
+ */
4865
+ id: string;
4866
+ membership: components["schemas"]["MemberRole"];
4867
+ /** @description Optional user name. */
4868
+ name?: string | null;
4869
+ status: components["schemas"]["MembershipStatus"];
4870
+ };
4871
+ };
4872
+ };
4335
4873
  UserInfo: {
4336
4874
  content: {
4337
4875
  "application/json": {
@@ -4339,7 +4877,7 @@ export interface components {
4339
4877
  * @description Optional email
4340
4878
  * @example alice@example.com
4341
4879
  */
4342
- email: string;
4880
+ email?: string | null;
4343
4881
  /** @description All multi-factor authentication methods configured for this user */
4344
4882
  mfa: components["schemas"]["ConfiguredMfa"][];
4345
4883
  /** @description MFA policy, applies before logging in and other sensitive operations */
@@ -4367,10 +4905,19 @@ export interface components {
4367
4905
  };
4368
4906
  };
4369
4907
  };
4370
- };
4371
- parameters: never;
4372
- requestBodies: never;
4373
- headers: never;
4908
+ /** @description The response to the user/orgs endpoint */
4909
+ UserOrgsResponse: {
4910
+ content: {
4911
+ "application/json": {
4912
+ /** @description The list of orgs this user is a member of */
4913
+ orgs: components["schemas"]["OrgData"][];
4914
+ };
4915
+ };
4916
+ };
4917
+ };
4918
+ parameters: never;
4919
+ requestBodies: never;
4920
+ headers: never;
4374
4921
  pathItems: never;
4375
4922
  }
4376
4923
 
@@ -4451,8 +4998,58 @@ export interface operations {
4451
4998
  };
4452
4999
  };
4453
5000
  /**
4454
- * Sign Avalanche X- or P-Chain Message
4455
- * @description Sign Avalanche X- or P-Chain Message
5001
+ * Sign a serialized Avalanche C/X/P-Chain Message
5002
+ * @description Sign a serialized Avalanche C/X/P-Chain Message
5003
+ *
5004
+ * Signs an Avalanche message with a given SecpEth (C-Chain messages) or
5005
+ * SecpAva (X- and P-Chain messages) key. Currently signing C-Chain messages
5006
+ * with SecpEth key must also be explicitly allowed via `AllowRawBlobSigning`
5007
+ * policy.
5008
+ *
5009
+ * This is a pre-release feature.
5010
+ */
5011
+ avaSerializedTxSign: {
5012
+ parameters: {
5013
+ path: {
5014
+ /**
5015
+ * @description Name or ID of the desired Org
5016
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
5017
+ */
5018
+ org_id: string;
5019
+ /**
5020
+ * @description Avalanche chain
5021
+ * @example P
5022
+ */
5023
+ ava_chain: string;
5024
+ /**
5025
+ * @description Avalanche address in bech32 or ETH format
5026
+ * @example 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7
5027
+ */
5028
+ pubkey: string;
5029
+ };
5030
+ };
5031
+ requestBody: {
5032
+ content: {
5033
+ "application/json": components["schemas"]["AvaSerializedTxSignRequest"];
5034
+ };
5035
+ };
5036
+ responses: {
5037
+ 200: components["responses"]["AvaSignResponse"];
5038
+ 202: {
5039
+ content: {
5040
+ "application/json": components["schemas"]["AcceptedResponse"];
5041
+ };
5042
+ };
5043
+ default: {
5044
+ content: {
5045
+ "application/json": components["schemas"]["ErrorResponse"];
5046
+ };
5047
+ };
5048
+ };
5049
+ };
5050
+ /**
5051
+ * Sign JSON-encoded Avalanche X- or P-Chain Message
5052
+ * @description Sign JSON-encoded Avalanche X- or P-Chain Message
4456
5053
  *
4457
5054
  * Signs an Avalanche message with a given SecpAva key.
4458
5055
  * This is a pre-release feature.
@@ -4492,10 +5089,86 @@ export interface operations {
4492
5089
  };
4493
5090
  };
4494
5091
  /**
4495
- * Sign Bitcoin Transaction
4496
- * @description Sign Bitcoin Transaction
5092
+ * Create EOTS nonces
5093
+ * @description Create EOTS nonces
5094
+ *
5095
+ * Generates a set of Babylon EOTS nonces for a specified chain-id, starting at a
5096
+ * specified block height.
5097
+ */
5098
+ createEotsNonces: {
5099
+ parameters: {
5100
+ path: {
5101
+ /**
5102
+ * @description Name or ID of the desired Org
5103
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
5104
+ */
5105
+ org_id: string;
5106
+ /**
5107
+ * @description Hex-encoded public key of the EOTS key
5108
+ * @example 0x457f0f24cfb06c3c35874bbd1f59b57180a5a9d7e1f6929280839c830f5c147f
5109
+ */
5110
+ pubkey: string;
5111
+ };
5112
+ };
5113
+ requestBody: {
5114
+ content: {
5115
+ "application/json": components["schemas"]["EotsCreateNonceRequest"];
5116
+ };
5117
+ };
5118
+ responses: {
5119
+ 200: components["responses"]["EotsCreateNonceResponse"];
5120
+ default: {
5121
+ content: {
5122
+ "application/json": components["schemas"]["ErrorResponse"];
5123
+ };
5124
+ };
5125
+ };
5126
+ };
5127
+ /**
5128
+ * Create an EOTS signature
5129
+ * @description Create an EOTS signature
5130
+ *
5131
+ * Generates an EOTS signature for the specified chain-id, block height, and message.
5132
+ */
5133
+ eotsSign: {
5134
+ parameters: {
5135
+ path: {
5136
+ /**
5137
+ * @description Name or ID of the desired Org
5138
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
5139
+ */
5140
+ org_id: string;
5141
+ /**
5142
+ * @description Hex-encoded public key of the EOTS key
5143
+ * @example 0x457f0f24cfb06c3c35874bbd1f59b57180a5a9d7e1f6929280839c830f5c147f
5144
+ */
5145
+ pubkey: string;
5146
+ };
5147
+ };
5148
+ requestBody: {
5149
+ content: {
5150
+ "application/json": components["schemas"]["EotsSignRequest"];
5151
+ };
5152
+ };
5153
+ responses: {
5154
+ 200: components["responses"]["EotsSignResponse"];
5155
+ 202: {
5156
+ content: {
5157
+ "application/json": components["schemas"]["AcceptedResponse"];
5158
+ };
5159
+ };
5160
+ default: {
5161
+ content: {
5162
+ "application/json": components["schemas"]["ErrorResponse"];
5163
+ };
5164
+ };
5165
+ };
5166
+ };
5167
+ /**
5168
+ * Sign Bitcoin Segwit Transaction
5169
+ * @description Sign Bitcoin Segwit Transaction
4497
5170
  *
4498
- * Signs a Bitcoin transaction with a given key.
5171
+ * Signs a Bitcoin Segwit transaction with a given key.
4499
5172
  * This is a pre-release feature.
4500
5173
  */
4501
5174
  btcSign: {
@@ -4532,6 +5205,47 @@ export interface operations {
4532
5205
  };
4533
5206
  };
4534
5207
  };
5208
+ /**
5209
+ * Sign Bitcoin Taproot Transaction
5210
+ * @description Sign Bitcoin Taproot Transaction
5211
+ *
5212
+ * Signs a Bitcoin Taproot transaction with a given key.
5213
+ * This is a pre-release feature.
5214
+ */
5215
+ btcTaprootSign: {
5216
+ parameters: {
5217
+ path: {
5218
+ /**
5219
+ * @description Name or ID of the desired Org
5220
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
5221
+ */
5222
+ org_id: string;
5223
+ /**
5224
+ * @description bech32 encoding of the public key
5225
+ * @example bc1p2wsldez5mud2yam29q22wgfh9439spgduvct83k3pm50fcxa5dps59h4z5
5226
+ */
5227
+ pubkey: string;
5228
+ };
5229
+ };
5230
+ requestBody: {
5231
+ content: {
5232
+ "application/json": components["schemas"]["TaprootSignRequest"];
5233
+ };
5234
+ };
5235
+ responses: {
5236
+ 200: components["responses"]["TaprootSignResponse"];
5237
+ 202: {
5238
+ content: {
5239
+ "application/json": components["schemas"]["AcceptedResponse"];
5240
+ };
5241
+ };
5242
+ default: {
5243
+ content: {
5244
+ "application/json": components["schemas"]["ErrorResponse"];
5245
+ };
5246
+ };
5247
+ };
5248
+ };
4535
5249
  /**
4536
5250
  * Derive Key From Long-Lived Mnemonic
4537
5251
  * @description Derive Key From Long-Lived Mnemonic
@@ -4563,6 +5277,30 @@ export interface operations {
4563
5277
  };
4564
5278
  };
4565
5279
  };
5280
+ setEmailOtp: {
5281
+ parameters: {
5282
+ path: {
5283
+ /**
5284
+ * @description Name or ID of the desired Org
5285
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
5286
+ */
5287
+ org_id: string;
5288
+ };
5289
+ };
5290
+ requestBody: {
5291
+ content: {
5292
+ "application/json": components["schemas"]["ConfigureEmailOtpRequest"];
5293
+ };
5294
+ };
5295
+ responses: {
5296
+ 200: components["responses"]["EmptyImpl"];
5297
+ default: {
5298
+ content: {
5299
+ "application/json": components["schemas"]["ErrorResponse"];
5300
+ };
5301
+ };
5302
+ };
5303
+ };
4566
5304
  /**
4567
5305
  * Sign EIP-191 Data
4568
5306
  * @description Sign EIP-191 Data
@@ -4643,6 +5381,85 @@ export interface operations {
4643
5381
  };
4644
5382
  };
4645
5383
  };
5384
+ /**
5385
+ * List associated OIDC identities with the current user.
5386
+ * @description List associated OIDC identities with the current user.
5387
+ */
5388
+ listOidcIdentities: {
5389
+ parameters: {
5390
+ path: {
5391
+ /**
5392
+ * @description Name or ID of the desired Org
5393
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
5394
+ */
5395
+ org_id: string;
5396
+ };
5397
+ };
5398
+ responses: {
5399
+ 200: components["responses"]["ListIdentitiesResponse"];
5400
+ default: {
5401
+ content: {
5402
+ "application/json": components["schemas"]["ErrorResponse"];
5403
+ };
5404
+ };
5405
+ };
5406
+ };
5407
+ /**
5408
+ * Associate an OIDC identity with the current user in org <session.org>.
5409
+ * @description Associate an OIDC identity with the current user in org <session.org>.
5410
+ */
5411
+ addOidcIdentity: {
5412
+ parameters: {
5413
+ path: {
5414
+ /**
5415
+ * @description Name or ID of the desired Org
5416
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
5417
+ */
5418
+ org_id: string;
5419
+ };
5420
+ };
5421
+ requestBody: {
5422
+ content: {
5423
+ "application/json": components["schemas"]["AddIdentityRequest"];
5424
+ };
5425
+ };
5426
+ responses: {
5427
+ 200: components["responses"]["EmptyImpl"];
5428
+ default: {
5429
+ content: {
5430
+ "application/json": components["schemas"]["ErrorResponse"];
5431
+ };
5432
+ };
5433
+ };
5434
+ };
5435
+ /**
5436
+ * Remove an OIDC identity from the current user's account in org <session.org>.
5437
+ * @description Remove an OIDC identity from the current user's account in org <session.org>.
5438
+ */
5439
+ removeOidcIdentity: {
5440
+ parameters: {
5441
+ path: {
5442
+ /**
5443
+ * @description Name or ID of the desired Org
5444
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
5445
+ */
5446
+ org_id: string;
5447
+ };
5448
+ };
5449
+ requestBody: {
5450
+ content: {
5451
+ "application/json": components["schemas"]["OIDCIdentity"];
5452
+ };
5453
+ };
5454
+ responses: {
5455
+ 200: components["responses"]["EmptyImpl"];
5456
+ default: {
5457
+ content: {
5458
+ "application/json": components["schemas"]["ErrorResponse"];
5459
+ };
5460
+ };
5461
+ };
5462
+ };
4646
5463
  /**
4647
5464
  * Create [IdentityProof] from CubeSigner user session
4648
5465
  * @description Create [IdentityProof] from CubeSigner user session
@@ -4842,6 +5659,11 @@ export interface operations {
4842
5659
  * @example SecpEthAddr
4843
5660
  */
4844
5661
  key_type?: components["schemas"]["KeyType"] | null;
5662
+ /**
5663
+ * @description Filter by key owner
5664
+ * @example User#5269c579-b4f9-4620-9e90-e46a5a0ffb4d
5665
+ */
5666
+ key_owner?: components["schemas"]["Id"] | null;
4845
5667
  };
4846
5668
  path: {
4847
5669
  /**
@@ -4925,7 +5747,9 @@ export interface operations {
4925
5747
  * @description Delete Key
4926
5748
  *
4927
5749
  * Deletes a key specified by its ID.
5750
+ *
4928
5751
  * Only the key owner and org owners are allowed to delete keys.
5752
+ * Additionally, the role's edit policy (if set) must permit the update.
4929
5753
  */
4930
5754
  deleteKey: {
4931
5755
  parameters: {
@@ -4942,6 +5766,11 @@ export interface operations {
4942
5766
  key_id: string;
4943
5767
  };
4944
5768
  };
5769
+ requestBody: {
5770
+ content: {
5771
+ "application/json": components["schemas"]["Empty"];
5772
+ };
5773
+ };
4945
5774
  responses: {
4946
5775
  200: components["responses"]["EmptyImpl"];
4947
5776
  default: {
@@ -4955,7 +5784,11 @@ export interface operations {
4955
5784
  * Update Key
4956
5785
  * @description Update Key
4957
5786
  *
4958
- * Enable or disable a key. The user must be the owner of the key or organization to perform this action.
5787
+ * Enable or disable a key. The user must be the owner of the key or
5788
+ * organization to perform this action.
5789
+ *
5790
+ * For each requested update, the session must have the corresponding 'manage:key:update:_' scope;
5791
+ * if no updates are requested, the session must have 'manage:key:get'.
4959
5792
  */
4960
5793
  updateKey: {
4961
5794
  parameters: {
@@ -5319,6 +6152,44 @@ export interface operations {
5319
6152
  };
5320
6153
  };
5321
6154
  };
6155
+ /**
6156
+ * Initiate login via email token
6157
+ * @description Initiate login via email token
6158
+ *
6159
+ * This endpoint sends an email to the provided address with an OIDC token encrypted with AES-GCM.
6160
+ * The decryption parameters are returned immediately in the response.
6161
+ * Once that token is decrypted, it can be used with the standard OIDC authentication flows
6162
+ *
6163
+ *
6164
+ * > [!IMPORTANT]
6165
+ * > For this endpoint to succeed, the org must be configured to:
6166
+ * > 1. Allow the issuer `https://shim.oauth2.cubist.dev/email-otp` and client ID being the Org ID
6167
+ * > 2. Have an email sender configured for OTPs
6168
+ */
6169
+ emailOtpAuth: {
6170
+ parameters: {
6171
+ path: {
6172
+ /**
6173
+ * @description Name or ID of the desired Org
6174
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
6175
+ */
6176
+ org_id: string;
6177
+ };
6178
+ };
6179
+ requestBody: {
6180
+ content: {
6181
+ "application/json": components["schemas"]["EmailOtpRequest"];
6182
+ };
6183
+ };
6184
+ responses: {
6185
+ 200: components["responses"]["EmailOtpResponse"];
6186
+ default: {
6187
+ content: {
6188
+ "application/json": components["schemas"]["ErrorResponse"];
6189
+ };
6190
+ };
6191
+ };
6192
+ };
5322
6193
  /**
5323
6194
  * List Roles
5324
6195
  * @description List Roles
@@ -5428,7 +6299,9 @@ export interface operations {
5428
6299
  * @description Delete Role
5429
6300
  *
5430
6301
  * Deletes a role in an organization.
6302
+ *
5431
6303
  * Only users in the role can perform this action.
6304
+ * Additionally, the role's edit policy (if set) must permit the update.
5432
6305
  */
5433
6306
  deleteRole: {
5434
6307
  parameters: {
@@ -5445,6 +6318,11 @@ export interface operations {
5445
6318
  role_id: string;
5446
6319
  };
5447
6320
  };
6321
+ requestBody: {
6322
+ content: {
6323
+ "application/json": components["schemas"]["Empty"];
6324
+ };
6325
+ };
5448
6326
  responses: {
5449
6327
  200: components["responses"]["EmptyImpl"];
5450
6328
  default: {
@@ -5460,7 +6338,9 @@ export interface operations {
5460
6338
  *
5461
6339
  * Enables or disables a role (this requires the `manage:role:update:enable` scope).
5462
6340
  * Updates the role's policies (this requires the `manage:role:update:policy` scope).
6341
+ *
5463
6342
  * The user must be in the role or an owner of the organization.
6343
+ * Additionally, the role's edit policy (if set) must permit the update.
5464
6344
  */
5465
6345
  updateRole: {
5466
6346
  parameters: {
@@ -5496,6 +6376,9 @@ export interface operations {
5496
6376
  * @description Add Keys
5497
6377
  *
5498
6378
  * Adds a list of existing keys to an existing role.
6379
+ *
6380
+ * Only the key owner can their key to a role.
6381
+ * Additionally, the role's edit policy (if set) must permit the update.
5499
6382
  */
5500
6383
  addKeysToRole: {
5501
6384
  parameters: {
@@ -5524,7 +6407,9 @@ export interface operations {
5524
6407
  * @description Add User
5525
6408
  *
5526
6409
  * Adds an existing user to an existing role.
5527
- * Only users in the role or owners can add users to a role.
6410
+ *
6411
+ * Only users in the role or org owners can add users to a role.
6412
+ * Additionally, the role's edit policy (if set) must permit the update.
5528
6413
  */
5529
6414
  addUserToRole: {
5530
6415
  parameters: {
@@ -5546,6 +6431,11 @@ export interface operations {
5546
6431
  user_id: string;
5547
6432
  };
5548
6433
  };
6434
+ requestBody: {
6435
+ content: {
6436
+ "application/json": components["schemas"]["Empty"];
6437
+ };
6438
+ };
5549
6439
  responses: {};
5550
6440
  };
5551
6441
  /**
@@ -5597,7 +6487,10 @@ export interface operations {
5597
6487
  * Remove Key
5598
6488
  * @description Remove Key
5599
6489
  *
5600
- * Removes a given key from a role
6490
+ * Removes a given key from a role.
6491
+ *
6492
+ * Only users in the role or org owners can remove keys from a role.
6493
+ * Additionally, the role's edit policy (if set) must permit the update.
5601
6494
  */
5602
6495
  removeKeyFromRole: {
5603
6496
  parameters: {
@@ -5619,6 +6512,11 @@ export interface operations {
5619
6512
  key_id: string;
5620
6513
  };
5621
6514
  };
6515
+ requestBody: {
6516
+ content: {
6517
+ "application/json": components["schemas"]["Empty"];
6518
+ };
6519
+ };
5622
6520
  responses: {};
5623
6521
  };
5624
6522
  /**
@@ -5814,7 +6712,9 @@ export interface operations {
5814
6712
  * @description Remove User
5815
6713
  *
5816
6714
  * Removes an existing user from an existing role.
6715
+ *
5817
6716
  * Only users in the role or org owners can remove users from a role.
6717
+ * Additionally, the role's edit policy (if set) must permit the update.
5818
6718
  */
5819
6719
  removeUserFromRole: {
5820
6720
  parameters: {
@@ -5836,6 +6736,11 @@ export interface operations {
5836
6736
  user_id: string;
5837
6737
  };
5838
6738
  };
6739
+ requestBody: {
6740
+ content: {
6741
+ "application/json": components["schemas"]["Empty"];
6742
+ };
6743
+ };
5839
6744
  responses: {};
5840
6745
  };
5841
6746
  /**
@@ -6598,6 +7503,69 @@ export interface operations {
6598
7503
  };
6599
7504
  };
6600
7505
  };
7506
+ /**
7507
+ * Remove a user from the org
7508
+ * @description Remove a user from the org
7509
+ */
7510
+ deleteUser: {
7511
+ parameters: {
7512
+ path: {
7513
+ /**
7514
+ * @description Name or ID of the desired Org
7515
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
7516
+ */
7517
+ org_id: string;
7518
+ /**
7519
+ * @description ID of the desired User
7520
+ * @example User#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
7521
+ */
7522
+ user_id: string;
7523
+ };
7524
+ };
7525
+ responses: {
7526
+ 200: components["responses"]["EmptyImpl"];
7527
+ default: {
7528
+ content: {
7529
+ "application/json": components["schemas"]["ErrorResponse"];
7530
+ };
7531
+ };
7532
+ };
7533
+ };
7534
+ /**
7535
+ * Update a user's membership in the org
7536
+ * @description Update a user's membership in the org
7537
+ *
7538
+ * Currently allows just enabling/disabling a user in the org.
7539
+ */
7540
+ updateUserMembership: {
7541
+ parameters: {
7542
+ path: {
7543
+ /**
7544
+ * @description Name or ID of the desired Org
7545
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
7546
+ */
7547
+ org_id: string;
7548
+ /**
7549
+ * @description ID of the desired User
7550
+ * @example User#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
7551
+ */
7552
+ user_id: string;
7553
+ };
7554
+ };
7555
+ requestBody: {
7556
+ content: {
7557
+ "application/json": components["schemas"]["UpdateUserMembershipRequest"];
7558
+ };
7559
+ };
7560
+ responses: {
7561
+ 200: components["responses"]["UserInOrgInfo"];
7562
+ default: {
7563
+ content: {
7564
+ "application/json": components["schemas"]["ErrorResponse"];
7565
+ };
7566
+ };
7567
+ };
7568
+ };
6601
7569
  /**
6602
7570
  * Initiate registration of a FIDO key
6603
7571
  * @deprecated
@@ -6726,12 +7694,25 @@ export interface operations {
6726
7694
  };
6727
7695
  };
6728
7696
  };
7697
+ /**
7698
+ * Retrieves all the orgs the user is a part of
7699
+ * @description Retrieves all the orgs the user is a part of
7700
+ */
7701
+ userOrgs: {
7702
+ responses: {
7703
+ 200: components["responses"]["UserOrgsResponse"];
7704
+ default: {
7705
+ content: {
7706
+ "application/json": components["schemas"]["ErrorResponse"];
7707
+ };
7708
+ };
7709
+ };
7710
+ };
6729
7711
  /**
6730
7712
  * Sign Raw Blob
6731
7713
  * @description Sign Raw Blob
6732
7714
  *
6733
7715
  * Signs an arbitrary blob with a given key.
6734
- * This is a pre-release feature.
6735
7716
  *
6736
7717
  * - ECDSA signatures are serialized as big-endian r and s plus recovery-id
6737
7718
  * byte v, which can in general take any of the values 0, 1, 2, or 3.