@turnkey/http 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -82,8 +82,10 @@ export type paths = {
82
82
  };
83
83
  export type definitions = {
84
84
  datav1Tag: {
85
+ /** @description Unique identifier for a given Tag. */
85
86
  tagId: string;
86
- label: string;
87
+ /** @description Human-readable name for a Tag. */
88
+ tagName: string;
87
89
  tagType: definitions["v1TagType"];
88
90
  createdAt: definitions["v1Timestamp"];
89
91
  updatedAt: definitions["v1Timestamp"];
@@ -98,25 +100,30 @@ export type definitions = {
98
100
  * - ADDRESS_FORMAT_UNCOMPRESSED: 04<X_COORDINATE><Y_COORDINATE>
99
101
  * - ADDRESS_FORMAT_COMPRESSED: 02 or 03, followed by the X coordinate
100
102
  * - ADDRESS_FORMAT_ETHEREUM: Your standard Ethereum address (0x...). We apply EIP55 casing.
101
- * - ADDRESS_FORMAT_BITCOIN_P2PKH: Bitoin formats. See https://en.bitcoin.it/wiki/List_of_address_prefixes
103
+ * - ADDRESS_FORMAT_BITCOIN_P2PKH: Bitcoin formats. See https://en.bitcoin.it/wiki/List_of_address_prefixes
102
104
  * @enum {string}
103
105
  */
104
106
  externaldatav1AddressFormat: "ADDRESS_FORMAT_UNCOMPRESSED" | "ADDRESS_FORMAT_COMPRESSED" | "ADDRESS_FORMAT_ETHEREUM" | "ADDRESS_FORMAT_BITCOIN_P2PKH" | "ADDRESS_FORMAT_BITCOIN_P2PKH_TESTNET";
105
107
  /** @enum {string} */
106
108
  externaldatav1AuthenticatorTransport: "AUTHENTICATOR_TRANSPORT_BLE" | "AUTHENTICATOR_TRANSPORT_INTERNAL" | "AUTHENTICATOR_TRANSPORT_NFC" | "AUTHENTICATOR_TRANSPORT_USB" | "AUTHENTICATOR_TRANSPORT_HYBRID";
107
109
  /**
108
- * - CURVE_SECP256K1: The only curve we're planning to support short-term
110
+ * @description Cryptographic Curve used to generate a given Private Key.
109
111
  * @enum {string}
110
112
  */
111
113
  externaldatav1Curve: "CURVE_SECP256K1";
112
114
  /** @enum {string} */
113
115
  externaldatav1Effect: "EFFECT_ALLOW" | "EFFECT_DENY";
114
- /** @enum {string} */
115
- externaldatav1Operator: "OPERATOR_EQUAL" | "OPERATOR_MORE_THAN" | "OPERATOR_MORE_THAN_OR_EQUAL" | "OPERATOR_LESS_THAN" | "OPERATOR_LESS_THAN_OR_EQUAL" | "OPERATOR_CONTAINS" | "OPERATOR_NOT_EQUAL";
116
+ /**
117
+ * @description Logical operators.
118
+ * @enum {string}
119
+ */
120
+ externaldatav1Operator: "OPERATOR_EQUAL" | "OPERATOR_MORE_THAN" | "OPERATOR_MORE_THAN_OR_EQUAL" | "OPERATOR_LESS_THAN" | "OPERATOR_LESS_THAN_OR_EQUAL" | "OPERATOR_CONTAINS" | "OPERATOR_NOT_EQUAL" | "OPERATOR_IN" | "OPERATOR_NOT_IN" | "OPERATOR_CONTAINS_ONE" | "OPERATOR_CONTAINS_ALL";
116
121
  externaldatav1Selector: {
122
+ /** @description The resource being referenced within a policy (e.g., user.tags or activities.type). */
117
123
  subject: string;
118
124
  operator: definitions["externaldatav1Operator"];
119
- target: string;
125
+ /** @description The specific parameter from the subject being referenced, like a specific user ID. */
126
+ targets: string[];
120
127
  };
121
128
  /** @enum {string} */
122
129
  immutableactivityv1AccessType: "ACCESS_TYPE_WEB" | "ACCESS_TYPE_API" | "ACCESS_TYPE_ALL";
@@ -124,19 +131,19 @@ export type definitions = {
124
131
  * - ADDRESS_FORMAT_UNCOMPRESSED: 04<X_COORDINATE><Y_COORDINATE>
125
132
  * - ADDRESS_FORMAT_COMPRESSED: 02 or 03, followed by the X coordinate
126
133
  * - ADDRESS_FORMAT_ETHEREUM: Your standard Ethereum address (0x...). We apply EIP55 casing.
127
- * - ADDRESS_FORMAT_BITCOIN_P2PKH: Bitoin formats. See https://en.bitcoin.it/wiki/List_of_address_prefixes
134
+ * - ADDRESS_FORMAT_BITCOIN_P2PKH: Bitcoin formats. See https://en.bitcoin.it/wiki/List_of_address_prefixes
128
135
  * @enum {string}
129
136
  */
130
137
  immutableactivityv1AddressFormat: "ADDRESS_FORMAT_UNCOMPRESSED" | "ADDRESS_FORMAT_COMPRESSED" | "ADDRESS_FORMAT_ETHEREUM" | "ADDRESS_FORMAT_BITCOIN_P2PKH" | "ADDRESS_FORMAT_BITCOIN_P2PKH_TESTNET";
131
138
  /**
132
- * - CURVE_SECP256K1: The only curve we're planning to support short-term
139
+ * @description Cryptographic Curve used to generate a given Private Key.
133
140
  * @enum {string}
134
141
  */
135
142
  immutableactivityv1Curve: "CURVE_SECP256K1";
136
143
  /** @enum {string} */
137
144
  immutableactivityv1Effect: "EFFECT_ALLOW" | "EFFECT_DENY";
138
145
  /** @enum {string} */
139
- immutableactivityv1Operator: "OPERATOR_EQUAL" | "OPERATOR_MORE_THAN" | "OPERATOR_MORE_THAN_OR_EQUAL" | "OPERATOR_LESS_THAN" | "OPERATOR_LESS_THAN_OR_EQUAL" | "OPERATOR_CONTAINS" | "OPERATOR_NOT_EQUAL";
146
+ immutableactivityv1Operator: "OPERATOR_EQUAL" | "OPERATOR_MORE_THAN" | "OPERATOR_MORE_THAN_OR_EQUAL" | "OPERATOR_LESS_THAN" | "OPERATOR_LESS_THAN_OR_EQUAL" | "OPERATOR_CONTAINS" | "OPERATOR_NOT_EQUAL" | "OPERATOR_IN" | "OPERATOR_NOT_IN" | "OPERATOR_CONTAINS_ONE" | "OPERATOR_CONTAINS_ALL";
140
147
  immutableactivityv1Selector: {
141
148
  subject?: string;
142
149
  operator?: definitions["immutableactivityv1Operator"];
@@ -161,24 +168,37 @@ export type definitions = {
161
168
  details?: definitions["protobufAny"][];
162
169
  };
163
170
  v1AcceptInvitationIntent: {
164
- /** @inject_tag: validate:"required,uuid" */
171
+ /**
172
+ * @inject_tag: validate:"required,uuid"
173
+ * @description Unique identifier for a given Invitation object.
174
+ */
165
175
  invitationId: string;
166
- /** @inject_tag: validate:"required,uuid" */
176
+ /**
177
+ * @inject_tag: validate:"required,uuid"
178
+ * @description Unique identifier for a given User.
179
+ */
167
180
  userId: string;
168
181
  authenticator: definitions["v1AuthenticatorParams"];
169
182
  };
170
183
  v1AcceptInvitationResult: {
184
+ /** @description Unique identifier for a given Invitation. */
171
185
  invitationId: string;
186
+ /** @description Unique identifier for a given User. */
172
187
  userId: string;
173
188
  };
189
+ /** @description An action that can that can be taken within the Turnkey infrastructure. */
174
190
  v1Activity: {
191
+ /** @description Unique identifier for a given Activity object. */
175
192
  id: string;
193
+ /** @description Unique identifier for a given Organization. */
176
194
  organizationId: string;
177
195
  status: definitions["v1ActivityStatus"];
178
196
  type: definitions["v1ActivityType"];
179
197
  intent: definitions["v1Intent"];
180
198
  result: definitions["v1Result"];
199
+ /** @description A list of objects representing a particular User's approval or rejection of a Consensus request, including all relevant metadata. */
181
200
  votes: definitions["v1Vote"][];
201
+ /** @description An artifact verifying a User's action. */
182
202
  fingerprint: string;
183
203
  canApprove: boolean;
184
204
  canReject: boolean;
@@ -188,42 +208,61 @@ export type definitions = {
188
208
  v1ActivityResponse: {
189
209
  activity: definitions["v1Activity"];
190
210
  };
191
- /** @enum {string} */
211
+ /**
212
+ * @description The current processing status of an Activity.
213
+ * @enum {string}
214
+ */
192
215
  v1ActivityStatus: "ACTIVITY_STATUS_CREATED" | "ACTIVITY_STATUS_PENDING" | "ACTIVITY_STATUS_COMPLETED" | "ACTIVITY_STATUS_FAILED" | "ACTIVITY_STATUS_CONSENSUS_NEEDED" | "ACTIVITY_STATUS_REJECTED";
193
216
  /**
194
- * These are all of the types of user-facing activities on Turnkey
195
- * We use this to guide the polymorphic parsing of activity requests/approvals/rejections
196
- * One activity type maps to one internal Intent, but not all internal intents have a user-facing activity (e.g. Hearbeats)
217
+ * @description Type of Activity, such as Add User, or Sign Transaction.
197
218
  * @enum {string}
198
219
  */
199
220
  v1ActivityType: "ACTIVITY_TYPE_CREATE_API_KEYS" | "ACTIVITY_TYPE_CREATE_USERS" | "ACTIVITY_TYPE_CREATE_PRIVATE_KEYS" | "ACTIVITY_TYPE_SIGN_RAW_PAYLOAD" | "ACTIVITY_TYPE_CREATE_INVITATIONS" | "ACTIVITY_TYPE_ACCEPT_INVITATION" | "ACTIVITY_TYPE_CREATE_POLICY" | "ACTIVITY_TYPE_DISABLE_PRIVATE_KEY" | "ACTIVITY_TYPE_DELETE_USERS" | "ACTIVITY_TYPE_DELETE_API_KEYS" | "ACTIVITY_TYPE_DELETE_INVITATION" | "ACTIVITY_TYPE_DELETE_ORGANIZATION" | "ACTIVITY_TYPE_DELETE_POLICY" | "ACTIVITY_TYPE_CREATE_USER_TAG" | "ACTIVITY_TYPE_DELETE_USER_TAGS" | "ACTIVITY_TYPE_CREATE_ORGANIZATION" | "ACTIVITY_TYPE_SIGN_TRANSACTION" | "ACTIVITY_TYPE_APPROVE_ACTIVITY" | "ACTIVITY_TYPE_REJECT_ACTIVITY" | "ACTIVITY_TYPE_DELETE_AUTHENTICATORS" | "ACTIVITY_TYPE_CREATE_AUTHENTICATORS" | "ACTIVITY_TYPE_CREATE_PRIVATE_KEY_TAG" | "ACTIVITY_TYPE_DELETE_PRIVATE_KEY_TAGS";
200
221
  v1ApiKey: {
201
222
  credential: definitions["v1Credential"];
223
+ /** @description Unique identifier for a given API Key. */
202
224
  apiKeyId: string;
225
+ /** @description Human-readable name for an API Key. */
203
226
  apiKeyName: string;
204
227
  createdAt: definitions["v1Timestamp"];
205
228
  updatedAt: definitions["v1Timestamp"];
206
229
  };
207
230
  v1ApiKeyParams: {
208
- /** @inject_tag: validate:"required,max=40" */
231
+ /**
232
+ * @inject_tag: validate:"required,max=40"
233
+ * @description Human-readable name for an API Key.
234
+ */
209
235
  apiKeyName: string;
210
- /** @inject_tag: validate:"hexadecimal,len=66" */
236
+ /**
237
+ * @inject_tag: validate:"hexadecimal,len=66"
238
+ * @description The public component of a cryptographic key pair used to sign messages and transactions.
239
+ */
211
240
  publicKey: string;
212
241
  };
213
242
  v1ApproveActivityIntent: {
214
- /** @inject_tag: validate:"required" */
243
+ /**
244
+ * @inject_tag: validate:"required"
245
+ * @description An artifact verifying a User's action.
246
+ */
215
247
  fingerprint: string;
216
248
  };
217
249
  v1Authenticator: {
250
+ /** @description Types of transports that may be used by an Authenticator (e.g., USB, NFC, BLE). */
218
251
  transports: definitions["externaldatav1AuthenticatorTransport"][];
219
252
  attestationType: string;
253
+ /** @description Identifier indicating the type of the Security Key. */
220
254
  aaguid: string;
255
+ /** @description Unique identifier for a given User. */
221
256
  userId: string;
257
+ /** @description Unique identifier for a WebAuthn credential. */
222
258
  credentialId: string;
259
+ /** @description The type of Authenticator device. */
223
260
  model: string;
224
261
  credential: definitions["v1Credential"];
262
+ /** @description Unique identifier for a given Authenticator. */
225
263
  authenticatorId: string;
226
- label: string;
264
+ /** @description Human-readable name for an Authenticator. */
265
+ authenticatorName: string;
227
266
  createdAt: definitions["v1Timestamp"];
228
267
  updatedAt: definitions["v1Timestamp"];
229
268
  };
@@ -237,286 +276,450 @@ export type definitions = {
237
276
  authenticatorAttachment?: "cross-platform" | "platform" | null;
238
277
  };
239
278
  v1AuthenticatorParams: {
240
- /** @inject_tag: validate:"required,max=40" */
279
+ /**
280
+ * @inject_tag: validate:"required,max=40"
281
+ * @description Human-readable name for an Authenticator.
282
+ */
241
283
  authenticatorName: string;
242
- /** @inject_tag: validate:"required,uuid" */
284
+ /**
285
+ * @inject_tag: validate:"required,uuid"
286
+ * @description Unique identifier for a given User.
287
+ */
243
288
  userId: string;
244
289
  attestation: definitions["v1PublicKeyCredentialWithAttestation"];
245
- /** @inject_tag: validate:"required,max=256" */
290
+ /**
291
+ * @inject_tag: validate:"required,max=256"
292
+ * @description Challenge presented for authentication purposes.
293
+ */
246
294
  challenge: string;
247
295
  };
248
296
  v1CreateApiKeysIntent: {
249
- /** @inject_tag: validate:"dive,required" */
297
+ /**
298
+ * @inject_tag: validate:"dive,required"
299
+ * @description A list of API Keys.
300
+ */
250
301
  apiKeys: definitions["v1ApiKeyParams"][];
251
- /** @inject_tag: validate:"required,uuid" */
302
+ /**
303
+ * @inject_tag: validate:"required,uuid"
304
+ * @description Unique identifier for a given User.
305
+ */
252
306
  userId: string;
253
307
  };
254
308
  v1CreateApiKeysRequest: {
255
309
  /** @enum {string} */
256
310
  type: "ACTIVITY_TYPE_CREATE_API_KEYS";
311
+ /** @description Timestamp (in milliseconds) of the request, used to verify liveness of user requests. */
257
312
  timestampMs: string;
313
+ /** @description Unique identifier for a given Organization. */
258
314
  organizationId: string;
259
315
  parameters: definitions["v1CreateApiKeysIntent"];
260
316
  };
261
317
  v1CreateApiKeysResult: {
318
+ /** @description A list of API Key IDs. */
262
319
  apiKeyIds: string[];
263
320
  };
264
321
  v1CreateAuthenticatorsIntent: {
265
- /** @inject_tag: validate:"dive,required" */
322
+ /**
323
+ * @inject_tag: validate:"dive,required"
324
+ * @description A list of Authenticators.
325
+ */
266
326
  authenticators: definitions["v1AuthenticatorParams"][];
267
- /** @inject_tag: validate:"required,uuid" */
327
+ /**
328
+ * @inject_tag: validate:"required,uuid"
329
+ * @description Unique identifier for a given User.
330
+ */
268
331
  userId: string;
269
332
  };
270
333
  v1CreateAuthenticatorsResult: {
334
+ /** @description A list of Authenticator IDs. */
271
335
  authenticatorIds: string[];
272
336
  };
273
337
  v1CreateInvitationsIntent: {
274
- /** @inject_tag: validate:"required,dive,required" */
338
+ /**
339
+ * @inject_tag: validate:"required,dive,required"
340
+ * @description A list of Invitations.
341
+ */
275
342
  invitations: definitions["v1InvitationParams"][];
276
343
  };
277
344
  v1CreateInvitationsRequest: {
278
345
  /** @enum {string} */
279
346
  type: "ACTIVITY_TYPE_CREATE_INVITATIONS";
347
+ /** @description Timestamp (in milliseconds) of the request, used to verify liveness of user requests. */
280
348
  timestampMs: string;
349
+ /** @description Unique identifier for a given Organization. */
281
350
  organizationId: string;
282
351
  parameters: definitions["v1CreateInvitationsIntent"];
283
352
  };
284
353
  v1CreateInvitationsResult: {
354
+ /** @description A list of Invitation IDs */
285
355
  invitationIds: string[];
286
356
  };
287
357
  v1CreateOrganizationIntent: {
288
- /** @inject_tag: validate:"required,max=40" */
358
+ /**
359
+ * @inject_tag: validate:"required,max=40"
360
+ * @description Human-readable name for an Organization.
361
+ */
289
362
  organizationName: string;
290
- /** @inject_tag: validate:"required,email" */
363
+ /**
364
+ * @inject_tag: validate:"required,email"
365
+ * @description The root user's email address.
366
+ */
291
367
  rootEmail: string;
292
368
  rootAuthenticator: definitions["v1AuthenticatorParams"];
293
- /** @inject_tag: validate:"uuid" */
369
+ /**
370
+ * @inject_tag: validate:"uuid"
371
+ * @description Unique identifier for the root user object.
372
+ */
294
373
  rootUserId?: string;
295
374
  };
296
375
  v1CreateOrganizationResult: {
376
+ /** @description Unique identifier for a given Organization. */
297
377
  organizationId: string;
298
378
  };
299
379
  v1CreatePolicyIntent: {
300
- /** @inject_tag: validate:"required,max=40" */
380
+ /**
381
+ * @inject_tag: validate:"required,max=40"
382
+ * @description Human-readable name for a Policy.
383
+ */
301
384
  policyName: string;
302
- /** @inject_tag: validate:"required,dive,required" */
385
+ /**
386
+ * @inject_tag: validate:"required,dive,required"
387
+ * @description A list of simple functions each including a subject, target and boolean. See Policy Engine Language section for additional details.
388
+ */
303
389
  selectors: definitions["immutableactivityv1Selector"][];
304
390
  effect: definitions["immutableactivityv1Effect"];
305
391
  notes?: string;
306
392
  };
393
+ v1CreatePolicyIntentV2: {
394
+ /**
395
+ * @inject_tag: validate:"required,max=40"
396
+ * @description Human-readable name for a Policy.
397
+ */
398
+ policyName: string;
399
+ /**
400
+ * @inject_tag: validate:"required,dive,required"
401
+ * @description A list of simple functions each including a subject, target and boolean. See Policy Engine Language section for additional details.
402
+ */
403
+ selectors: definitions["v1SelectorV2"][];
404
+ effect: definitions["immutableactivityv1Effect"];
405
+ notes?: string;
406
+ };
307
407
  v1CreatePolicyRequest: {
308
408
  /** @enum {string} */
309
409
  type: "ACTIVITY_TYPE_CREATE_POLICY";
410
+ /** @description Timestamp (in milliseconds) of the request, used to verify liveness of user requests. */
310
411
  timestampMs: string;
412
+ /** @description Unique identifier for a given Organization. */
311
413
  organizationId: string;
312
- parameters: definitions["v1CreatePolicyIntent"];
414
+ parameters: definitions["v1CreatePolicyIntentV2"];
313
415
  };
314
416
  v1CreatePolicyResult: {
417
+ /** @description Unique identifier for a given Policy. */
315
418
  policyId: string;
316
419
  };
317
420
  v1CreatePrivateKeyTagIntent: {
318
- /** @inject_tag: validate:"required,max=20" */
421
+ /**
422
+ * @inject_tag: validate:"required,max=20"
423
+ * @description Human-readable name for a Private Key Tag.
424
+ */
319
425
  privateKeyTagName: string;
320
- /** @inject_tag: validate:"dive,uuid" */
426
+ /**
427
+ * @inject_tag: validate:"dive,uuid"
428
+ * @description A list of Private Key IDs.
429
+ */
321
430
  privateKeyIds: string[];
322
431
  };
323
432
  v1CreatePrivateKeyTagResult: {
433
+ /** @description Unique identifier for a given Private Key Tag. */
324
434
  privateKeyTagId: string;
435
+ /** @description A list of Private Key IDs. */
325
436
  privateKeyIds: string[];
326
437
  };
327
438
  v1CreatePrivateKeysIntent: {
328
- /** @inject_tag: validate:"dive,required" */
439
+ /**
440
+ * @inject_tag: validate:"dive,required"
441
+ * @description A list of Private Keys.
442
+ */
329
443
  privateKeys: definitions["v1PrivateKeyParams"][];
330
444
  };
331
445
  v1CreatePrivateKeysRequest: {
332
446
  /** @enum {string} */
333
447
  type: "ACTIVITY_TYPE_CREATE_PRIVATE_KEYS";
448
+ /** @description Timestamp (in milliseconds) of the request, used to verify liveness of user requests. */
334
449
  timestampMs: string;
450
+ /** @description Unique identifier for a given Organization. */
335
451
  organizationId: string;
336
452
  parameters: definitions["v1CreatePrivateKeysIntent"];
337
453
  };
338
454
  v1CreatePrivateKeysResult: {
455
+ /** @description A list of Private Key IDs. */
339
456
  privateKeyIds: string[];
340
457
  };
341
458
  v1CreateUserTagIntent: {
342
- /** @inject_tag: validate:"required,max=20" */
459
+ /**
460
+ * @inject_tag: validate:"required,max=20"
461
+ * @description Human-readable name for a User Tag.
462
+ */
343
463
  userTagName: string;
344
- /** @inject_tag: validate:"dive,uuid" */
464
+ /**
465
+ * @inject_tag: validate:"dive,uuid"
466
+ * @description A list of User IDs.
467
+ */
345
468
  userIds: string[];
346
469
  };
347
470
  v1CreateUserTagResult: {
471
+ /** @description Unique identifier for a given User Tag. */
348
472
  userTagId: string;
473
+ /** @description A list of User IDs. */
349
474
  userIds: string[];
350
475
  };
351
476
  v1CreateUsersIntent: {
352
- /** @inject_tag: validate:"required,dive,required" */
477
+ /**
478
+ * @inject_tag: validate:"required,dive,required"
479
+ * @description A list of Users.
480
+ */
353
481
  users: definitions["v1UserParams"][];
354
482
  };
355
483
  v1CreateUsersResult: {
484
+ /** @description A list of User IDs. */
356
485
  userIds: string[];
357
486
  };
358
487
  v1CredPropsAuthenticationExtensionsClientOutputs: {
359
488
  rk: boolean;
360
489
  };
361
490
  v1Credential: {
491
+ /** @description The public component of a cryptographic key pair used to sign messages and transactions. */
362
492
  publicKey: string;
363
493
  type: definitions["v1CredentialType"];
364
494
  };
365
495
  /** @enum {string} */
366
496
  v1CredentialType: "CREDENTIAL_TYPE_WEBAUTHN_AUTHENTICATOR" | "CREDENTIAL_TYPE_API_KEY_P256";
367
497
  v1DeleteApiKeysIntent: {
368
- /** @inject_tag: validate:"required,uuid" */
498
+ /**
499
+ * @inject_tag: validate:"required,uuid"
500
+ * @description Unique identifier for a given User.
501
+ */
369
502
  userId: string;
370
- /** @inject_tag: validate:"required,dive,required,uuid" */
503
+ /**
504
+ * @inject_tag: validate:"required,dive,required,uuid"
505
+ * @description A list of API Key IDs.
506
+ */
371
507
  apiKeyIds: string[];
372
508
  };
373
509
  v1DeleteApiKeysRequest: {
374
510
  /** @enum {string} */
375
511
  type: "ACTIVITY_TYPE_DELETE_API_KEYS";
512
+ /** @description Timestamp (in milliseconds) of the request, used to verify liveness of user requests. */
376
513
  timestampMs: string;
514
+ /** @description Unique identifier for a given Organization. */
377
515
  organizationId: string;
378
516
  parameters: definitions["v1DeleteApiKeysIntent"];
379
517
  };
380
518
  v1DeleteApiKeysResult: {
519
+ /** @description A list of API Key IDs. */
381
520
  apiKeyIds: string[];
382
521
  };
383
522
  v1DeleteAuthenticatorsIntent: {
384
- /** @inject_tag: validate:"required,uuid" */
523
+ /**
524
+ * @inject_tag: validate:"required,uuid"
525
+ * @description Unique identifier for a given User.
526
+ */
385
527
  userId: string;
386
- /** @inject_tag: validate:"required,div,required,uuid" */
528
+ /**
529
+ * @inject_tag: validate:"required,div,required,uuid"
530
+ * @description A list of Authenticator IDs.
531
+ */
387
532
  authenticatorIds: string[];
388
533
  };
389
534
  v1DeleteAuthenticatorsResult: {
535
+ /** @description Unique identifier for a given Authenticator. */
390
536
  authenticatorIds: string[];
391
537
  };
392
538
  v1DeleteInvitationIntent: {
393
- /** @inject_tag: validate:"required,uuid" */
539
+ /**
540
+ * @inject_tag: validate:"required,uuid"
541
+ * @description Unique identifier for a given Invitation object.
542
+ */
394
543
  invitationId: string;
395
544
  };
396
545
  v1DeleteInvitationRequest: {
397
546
  /** @enum {string} */
398
547
  type: "ACTIVITY_TYPE_DELETE_INVITATION";
548
+ /** @description Timestamp (in milliseconds) of the request, used to verify liveness of user requests. */
399
549
  timestampMs: string;
550
+ /** @description Unique identifier for a given Organization. */
400
551
  organizationId: string;
401
552
  parameters: definitions["v1DeleteInvitationIntent"];
402
553
  };
403
554
  v1DeleteInvitationResult: {
555
+ /** @description Unique identifier for a given Invitation. */
404
556
  invitationId: string;
405
557
  };
406
558
  v1DeleteOrganizationIntent: {
407
- /** @inject_tag: validate:"required,uuid" */
559
+ /**
560
+ * @inject_tag: validate:"required,uuid"
561
+ * @description Unique identifier for a given Organization.
562
+ */
408
563
  organizationId: string;
409
564
  };
410
565
  v1DeleteOrganizationResult: {
566
+ /** @description Unique identifier for a given Organization. */
411
567
  organizationId: string;
412
568
  };
413
569
  v1DeletePolicyIntent: {
414
- /** @inject_tag: validate:"required,uuid" */
570
+ /**
571
+ * @inject_tag: validate:"required,uuid"
572
+ * @description Unique identifier for a given Policy.
573
+ */
415
574
  policyId: string;
416
575
  };
417
576
  v1DeletePolicyRequest: {
418
577
  /** @enum {string} */
419
578
  type: "ACTIVITY_TYPE_DELETE_POLICY";
579
+ /** @description Timestamp (in milliseconds) of the request, used to verify liveness of user requests. */
420
580
  timestampMs: string;
581
+ /** @description Unique identifier for a given Organization. */
421
582
  organizationId: string;
422
583
  parameters: definitions["v1DeletePolicyIntent"];
423
584
  };
424
585
  v1DeletePolicyResult: {
586
+ /** @description Unique identifier for a given Policy. */
425
587
  policyId: string;
426
588
  };
427
589
  v1DeletePrivateKeyTagsIntent: {
428
- /** @inject_tag: validate:"required,dive,required,uuid" */
590
+ /**
591
+ * @inject_tag: validate:"required,dive,required,uuid"
592
+ * @description A list of Private Key Tag IDs.
593
+ */
429
594
  privateKeyTagIds: string[];
430
595
  };
431
596
  v1DeletePrivateKeyTagsResult: {
597
+ /** @description A list of Private Key Tag IDs. */
432
598
  privateKeyTagIds: string[];
599
+ /** @description A list of Private Key IDs. */
433
600
  privateKeyIds: string[];
434
601
  };
435
602
  v1DeleteUserTagsIntent: {
436
- /** @inject_tag: validate:"required,dive,required,uuid" */
603
+ /**
604
+ * @inject_tag: validate:"required,dive,required,uuid"
605
+ * @description A list of User Tag IDs.
606
+ */
437
607
  userTagIds: string[];
438
608
  };
439
609
  v1DeleteUserTagsResult: {
610
+ /** @description A list of User Tag IDs. */
440
611
  userTagIds: string[];
612
+ /** @description A list of User IDs. */
441
613
  userIds: string[];
442
614
  };
443
615
  v1DeleteUsersIntent: {
444
- /** @inject_tag: validate:"required,dive,required,uuid" */
616
+ /**
617
+ * @inject_tag: validate:"required,dive,required,uuid"
618
+ * @description A list of User IDs.
619
+ */
445
620
  userIds: string[];
446
621
  };
447
622
  v1DeleteUsersResult: {
623
+ /** @description A list of User IDs. */
448
624
  userIds: string[];
449
625
  };
450
626
  v1DisablePrivateKeyIntent: {
451
- /** @inject_tag: validate:"required,uuid" */
627
+ /**
628
+ * @inject_tag: validate:"required,uuid"
629
+ * @description Unique identifier for a given Private Key.
630
+ */
452
631
  privateKeyId: string;
453
632
  };
454
633
  v1DisablePrivateKeyResult: {
634
+ /** @description Unique identifier for a given Private Key. */
455
635
  privateKeyId: string;
456
636
  };
457
637
  v1GetActivitiesRequest: {
638
+ /** @description Unique identifier for a given Organization. */
458
639
  organizationId: string;
640
+ /** @description Array of Activity Statuses filtering which Activities will be listed in the response. */
459
641
  filterByStatus?: definitions["v1ActivityStatus"][];
460
642
  };
461
643
  v1GetActivitiesResponse: {
644
+ /** @description A list of Activities. */
462
645
  activities: definitions["v1Activity"][];
463
646
  };
464
647
  v1GetActivityRequest: {
648
+ /** @description Unique identifier for a given Organization. */
465
649
  organizationId: string;
650
+ /** @description Unique identifier for a given Activity object. */
466
651
  activityId: string;
467
652
  };
468
653
  v1GetOrganizationRequest: {
654
+ /** @description Unique identifier for a given Organization. */
469
655
  organizationId: string;
470
656
  };
471
657
  v1GetOrganizationResponse: {
472
658
  organizationData: definitions["v1OrganizationData"];
473
659
  };
474
660
  v1GetPoliciesRequest: {
661
+ /** @description Unique identifier for a given Organization. */
475
662
  organizationId: string;
476
663
  };
477
664
  v1GetPoliciesResponse: {
665
+ /** @description A list of Policies. */
478
666
  policies: definitions["v1Policy"][];
479
667
  };
480
668
  v1GetPolicyRequest: {
669
+ /** @description Unique identifier for a given Organization. */
481
670
  organizationId: string;
671
+ /** @description Unique identifier for a given Policy. */
482
672
  policyId: string;
483
673
  };
484
674
  v1GetPolicyResponse: {
485
675
  policy: definitions["v1Policy"];
486
676
  };
487
677
  v1GetPrivateKeyRequest: {
678
+ /** @description Unique identifier for a given Organization. */
488
679
  organizationId: string;
680
+ /** @description Unique identifier for a given Private Key. */
489
681
  privateKeyId: string;
490
682
  };
491
683
  v1GetPrivateKeyResponse: {
492
684
  privateKey: definitions["v1PrivateKey"];
493
685
  };
494
686
  v1GetPrivateKeysRequest: {
687
+ /** @description Unique identifier for a given Organization. */
495
688
  organizationId: string;
496
689
  };
497
690
  v1GetPrivateKeysResponse: {
691
+ /** @description A list of Private Keys. */
498
692
  privateKeys: definitions["v1PrivateKey"][];
499
693
  };
500
694
  v1GetUserRequest: {
695
+ /** @description Unique identifier for a given Organization. */
501
696
  organizationId: string;
697
+ /** @description Unique identifier for a given User. */
502
698
  userId: string;
503
699
  };
504
700
  v1GetUserResponse: {
505
701
  user: definitions["v1User"];
506
702
  };
507
703
  v1GetUsersRequest: {
704
+ /** @description Unique identifier for a given Organization. */
508
705
  organizationId: string;
509
706
  };
510
707
  v1GetUsersResponse: {
708
+ /** @description A list of Users. */
511
709
  users: definitions["v1User"][];
512
710
  };
513
711
  v1GetWhoamiRequest: {
712
+ /** @description Unique identifier for a given Organization. */
514
713
  organizationId: string;
515
714
  };
516
715
  v1GetWhoamiResponse: {
716
+ /** @description Unique identifier for a given Organization. */
517
717
  organizationId: string;
718
+ /** @description Human-readable name for an Organization. */
518
719
  organizationName: string;
720
+ /** @description Unique identifier for a given User. */
519
721
  userId: string;
722
+ /** @description Human-readable name for a User. */
520
723
  username: string;
521
724
  };
522
725
  /**
@@ -528,6 +731,7 @@ export type definitions = {
528
731
  * @enum {string}
529
732
  */
530
733
  v1HashFunction: "HASH_FUNCTION_NO_OP" | "HASH_FUNCTION_SHA256" | "HASH_FUNCTION_KECCAK256";
734
+ /** @description Intent object crafted by Turnkey based on the user request, used to assess the permissibility of an action. */
531
735
  v1Intent: {
532
736
  createOrganizationIntent: definitions["v1CreateOrganizationIntent"];
533
737
  createAuthenticatorsIntent?: definitions["v1CreateAuthenticatorsIntent"];
@@ -552,27 +756,45 @@ export type definitions = {
552
756
  rejectActivityIntent?: definitions["v1RejectActivityIntent"];
553
757
  createPrivateKeyTagIntent?: definitions["v1CreatePrivateKeyTagIntent"];
554
758
  deletePrivateKeyTagsIntent?: definitions["v1DeletePrivateKeyTagsIntent"];
759
+ createPolicyIntentV2?: definitions["v1CreatePolicyIntentV2"];
555
760
  };
556
761
  v1Invitation: {
762
+ /** @description Unique identifier for a given Invitation object. */
557
763
  invitationId: string;
558
- receiverAlias: string;
764
+ /** @description The name of the intended Invitation recipient. */
765
+ receiverUserName: string;
766
+ /** @description The email address of the intended Invitation recipient. */
559
767
  receiverEmail: string;
560
- receiverTags: string[];
768
+ /** @description A list of tags assigned to the Invitation recipient. */
769
+ receiverUserTags: string[];
561
770
  accessType: definitions["externaldatav1AccessType"];
562
771
  status: definitions["v1InvitationStatus"];
563
772
  createdAt: definitions["v1Timestamp"];
564
773
  updatedAt: definitions["v1Timestamp"];
774
+ /** @description Unique identifier for the Sender of an Invitation. */
565
775
  senderUserId: string;
566
776
  };
567
777
  v1InvitationParams: {
568
- /** @inject_tag: validate:"required,max=40" */
778
+ /**
779
+ * @inject_tag: validate:"required,max=40"
780
+ * @description The name of the intended Invitation recipient.
781
+ */
569
782
  receiverUserName: string;
570
- /** @inject_tag: validate:"required,email" */
783
+ /**
784
+ * @inject_tag: validate:"required,email"
785
+ * @description The email address of the intended Invitation recipient.
786
+ */
571
787
  receiverUserEmail: string;
572
- /** @inject_tag: validate:"dive,uuid" */
788
+ /**
789
+ * @inject_tag: validate:"dive,uuid"
790
+ * @description A list of tags assigned to the Invitation recipient.
791
+ */
573
792
  receiverUserTags: string[];
574
793
  accessType: definitions["immutableactivityv1AccessType"];
575
- /** @inject_tag: validate:"required,uuid" */
794
+ /**
795
+ * @inject_tag: validate:"required,uuid"
796
+ * @description Unique identifier for the Sender of an Invitation.
797
+ */
576
798
  senderUserId: string;
577
799
  };
578
800
  /** @enum {string} */
@@ -608,29 +830,48 @@ export type definitions = {
608
830
  */
609
831
  v1PayloadEncoding: "PAYLOAD_ENCODING_HEXADECIMAL" | "PAYLOAD_ENCODING_TEXT_UTF8";
610
832
  v1Policy: {
833
+ /** @description Unique identifier for a given Policy. */
611
834
  policyId: string;
835
+ /** @description Human-readable name for a Policy. */
612
836
  policyName: string;
613
837
  effect: definitions["externaldatav1Effect"];
838
+ /** @description A list of simple functions each including a subject, target and boolean. See Policy Engine Language section for additional details. */
614
839
  selectors: definitions["externaldatav1Selector"][];
615
840
  createdAt: definitions["v1Timestamp"];
616
841
  updatedAt: definitions["v1Timestamp"];
842
+ /** @description Human-readable notes added by a User to describe a particular policy. */
617
843
  notes: string;
618
844
  };
619
845
  v1PrivateKey: {
846
+ /** @description Unique identifier for a given Private Key. */
620
847
  privateKeyId: string;
848
+ /** @description The public component of a cryptographic key pair used to sign messages and transactions. */
621
849
  publicKey: string;
850
+ /** @description Human-readable name for a Private Key. */
622
851
  privateKeyName: string;
623
852
  curve: definitions["externaldatav1Curve"];
853
+ /** @description Derived cryptocurrency addresses for a given Private Key. */
624
854
  addresses: definitions["externaldatav1Address"][];
625
- tags: string[];
855
+ /** @description A list of Private Key Tag IDs. */
856
+ privateKeyTags: string[];
857
+ createdAt: definitions["v1Timestamp"];
626
858
  };
627
859
  v1PrivateKeyParams: {
628
- /** @inject_tag: validate:"required,max=40" */
860
+ /**
861
+ * @inject_tag: validate:"required,max=40"
862
+ * @description Human-readable name for a Private Key.
863
+ */
629
864
  privateKeyName: string;
630
865
  curve: definitions["immutableactivityv1Curve"];
631
- /** @inject_tag: validate:"dive,uuid" */
866
+ /**
867
+ * @inject_tag: validate:"dive,uuid"
868
+ * @description A list of Private Key Tag IDs.
869
+ */
632
870
  privateKeyTags: string[];
633
- /** @inject_tag: validate:"required" */
871
+ /**
872
+ * @inject_tag: validate:"required"
873
+ * @description Cryptocurrency-specific formats for a derived address (e.g., Ethereum).
874
+ */
634
875
  addressFormats: definitions["immutableactivityv1AddressFormat"][];
635
876
  };
636
877
  v1PublicKeyCredentialWithAttestation: {
@@ -648,9 +889,13 @@ export type definitions = {
648
889
  clientExtensionResults: definitions["v1SimpleClientExtensionResults"];
649
890
  };
650
891
  v1RejectActivityIntent: {
651
- /** @inject_tag: validate:"required" */
892
+ /**
893
+ * @inject_tag: validate:"required"
894
+ * @description An artifact verifying a User's action.
895
+ */
652
896
  fingerprint: string;
653
897
  };
898
+ /** @description Result of the intended action. */
654
899
  v1Result: {
655
900
  createOrganizationResult?: definitions["v1CreateOrganizationResult"];
656
901
  createAuthenticatorsResult?: definitions["v1CreateAuthenticatorsResult"];
@@ -674,10 +919,21 @@ export type definitions = {
674
919
  createPrivateKeyTagResult?: definitions["v1CreatePrivateKeyTagResult"];
675
920
  deletePrivateKeyTagsResult?: definitions["v1DeletePrivateKeyTagsResult"];
676
921
  };
922
+ v1SelectorV2: {
923
+ subject?: string;
924
+ operator?: definitions["immutableactivityv1Operator"];
925
+ targets?: string[];
926
+ };
677
927
  v1SignRawPayloadIntent: {
678
- /** @inject_tag: validate:"required,uuid" */
928
+ /**
929
+ * @inject_tag: validate:"required,uuid"
930
+ * @description Unique identifier for a given Private Key.
931
+ */
679
932
  privateKeyId: string;
680
- /** @inject_tag: validate:"required" */
933
+ /**
934
+ * @inject_tag: validate:"required"
935
+ * @description Raw unsigned payload to be signed.
936
+ */
681
937
  payload: string;
682
938
  encoding: definitions["v1PayloadEncoding"];
683
939
  hashFunction: definitions["v1HashFunction"];
@@ -685,26 +941,39 @@ export type definitions = {
685
941
  v1SignRawPayloadRequest: {
686
942
  /** @enum {string} */
687
943
  type: "ACTIVITY_TYPE_SIGN_RAW_PAYLOAD";
944
+ /** @description Timestamp (in milliseconds) of the request, used to verify liveness of user requests. */
688
945
  timestampMs: string;
946
+ /** @description Unique identifier for a given Organization. */
689
947
  organizationId: string;
690
948
  parameters: definitions["v1SignRawPayloadIntent"];
691
949
  };
692
950
  v1SignRawPayloadResult: {
951
+ /** @description Component of an ECSDA signature. */
693
952
  r: string;
953
+ /** @description Component of an ECSDA signature. */
694
954
  s: string;
955
+ /** @description Component of an ECSDA signature. */
695
956
  v: string;
696
957
  };
697
958
  v1SignTransactionIntent: {
698
- /** @inject_tag: validate:"required,uuid" */
959
+ /**
960
+ * @inject_tag: validate:"required,uuid"
961
+ * @description Unique identifier for a given Private Key.
962
+ */
699
963
  privateKeyId: string;
700
- /** @inject_tag: validate:"required" */
964
+ /**
965
+ * @inject_tag: validate:"required"
966
+ * @description Raw unsigned transaction to be signed by a particular Private Key.
967
+ */
701
968
  unsignedTransaction: string;
702
969
  type: definitions["immutableactivityv1TransactionType"];
703
970
  };
704
971
  v1SignTransactionRequest: {
705
972
  /** @enum {string} */
706
973
  type: "ACTIVITY_TYPE_SIGN_TRANSACTION";
974
+ /** @description Timestamp (in milliseconds) of the request, used to verify liveness of user requests. */
707
975
  timestampMs: string;
976
+ /** @description Unique identifier for a given Organization. */
708
977
  organizationId: string;
709
978
  parameters: definitions["v1SignTransactionIntent"];
710
979
  };
@@ -723,40 +992,68 @@ export type definitions = {
723
992
  nanos: string;
724
993
  };
725
994
  v1User: {
995
+ /** @description Unique identifier for a given User. */
726
996
  userId: string;
727
- alias: string;
728
- /** some users do not have emails (programmatic users) */
729
- email?: string;
997
+ /** @description Human-readable name for a User. */
998
+ userName: string;
999
+ /**
1000
+ * some users do not have emails (programmatic users)
1001
+ * @description The user's email address.
1002
+ */
1003
+ userEmail?: string;
730
1004
  accessType: definitions["externaldatav1AccessType"];
1005
+ /** @description A list of Authenticator parameters. */
731
1006
  authenticators: definitions["v1Authenticator"][];
1007
+ /** @description A list of API Key parameters. */
732
1008
  apiKeys: definitions["v1ApiKey"][];
733
- tags: string[];
1009
+ /** @description A list of User Tag IDs. */
1010
+ userTags: string[];
734
1011
  createdAt: definitions["v1Timestamp"];
735
1012
  updatedAt: definitions["v1Timestamp"];
736
1013
  };
737
1014
  v1UserParams: {
738
- /** @inject_tag: validate:"required,max=40" */
1015
+ /**
1016
+ * @inject_tag: validate:"required,max=40"
1017
+ * @description Human-readable name for a User.
1018
+ */
739
1019
  userName: string;
740
- /** @inject_tag: validate:"email" */
1020
+ /** @description The user's email address. */
741
1021
  userEmail?: string;
742
1022
  accessType: definitions["immutableactivityv1AccessType"];
743
- /** @inject_tag: validate:"dive,uuid" */
1023
+ /**
1024
+ * @inject_tag: validate:"dive,uuid"
1025
+ * @description A list of API Key parameters.
1026
+ */
744
1027
  apiKeys: definitions["v1ApiKeyParams"][];
745
- /** @inject_tag: validate:"dive" */
1028
+ /**
1029
+ * @inject_tag: validate:"dive"
1030
+ * @description A list of Authenticator parameters.
1031
+ */
746
1032
  authenticators: definitions["v1AuthenticatorParams"][];
747
- /** @inject_tag: validate:"dive,uuid" */
1033
+ /**
1034
+ * @inject_tag: validate:"dive,uuid"
1035
+ * @description A list of User Tag IDs.
1036
+ */
748
1037
  userTags: string[];
749
1038
  };
1039
+ /** @description Object representing a particular User's approval or rejection of a Consensus request, including all relevant metadata. */
750
1040
  v1Vote: {
1041
+ /** @description Unique identifier for a given Vote object. */
751
1042
  id: string;
1043
+ /** @description Unique identifier for a given User. */
752
1044
  userId: string;
753
1045
  user: definitions["v1User"];
1046
+ /** @description Unique identifier for a given Activity object. */
754
1047
  activityId: string;
755
1048
  /** @enum {string} */
756
1049
  selection: "VOTE_SELECTION_APPROVED" | "VOTE_SELECTION_REJECTED";
1050
+ /** @description The raw message being signed within a Vote. */
757
1051
  message: string;
1052
+ /** @description The public component of a cryptographic key pair used to sign messages and transactions. */
758
1053
  publicKey: string;
1054
+ /** @description The signature applied to a particular vote. */
759
1055
  signature: string;
1056
+ /** @description Method used to produce a signature. */
760
1057
  scheme: string;
761
1058
  createdAt: definitions["v1Timestamp"];
762
1059
  };