@turnkey/http 2.0.0 → 2.2.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/__generated__/services/coordinator/public/v1/public_api.client.d.ts +46 -1
  3. package/dist/__generated__/services/coordinator/public/v1/public_api.client.d.ts.map +1 -1
  4. package/dist/__generated__/services/coordinator/public/v1/public_api.client.js +76 -1
  5. package/dist/__generated__/services/coordinator/public/v1/public_api.client.js.map +1 -1
  6. package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.d.ts +722 -2061
  7. package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.d.ts.map +1 -1
  8. package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.js +76 -4
  9. package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.js.map +1 -1
  10. package/dist/__generated__/services/coordinator/public/v1/public_api.swagger.json +343 -197
  11. package/dist/__generated__/services/coordinator/public/v1/public_api.types.d.ts +164 -74
  12. package/dist/__generated__/services/coordinator/public/v1/public_api.types.d.ts.map +1 -1
  13. package/dist/esm/__generated__/barrel.js +4 -0
  14. package/dist/esm/__generated__/barrel.js.map +1 -0
  15. package/dist/esm/__generated__/services/coordinator/public/v1/public_api.client.js +1212 -0
  16. package/dist/esm/__generated__/services/coordinator/public/v1/public_api.client.js.map +1 -0
  17. package/dist/esm/__generated__/services/coordinator/public/v1/public_api.fetcher.js +1052 -0
  18. package/dist/esm/__generated__/services/coordinator/public/v1/public_api.fetcher.js.map +1 -0
  19. package/dist/esm/__generated__/services/coordinator/public/v1/public_api.swagger.json +5941 -0
  20. package/dist/esm/__generated__/services/coordinator/public/v1/public_api.types.js +6 -0
  21. package/dist/esm/__generated__/services/coordinator/public/v1/public_api.types.js.map +1 -0
  22. package/dist/esm/async.js +158 -0
  23. package/dist/esm/async.js.map +1 -0
  24. package/dist/esm/base.js +157 -0
  25. package/dist/esm/base.js.map +1 -0
  26. package/dist/esm/config.js +41 -0
  27. package/dist/esm/config.js.map +1 -0
  28. package/dist/esm/encoding.js +15 -0
  29. package/dist/esm/encoding.js.map +1 -0
  30. package/dist/esm/index.js +15 -0
  31. package/dist/esm/index.js.map +1 -0
  32. package/dist/esm/shared.js +15 -0
  33. package/dist/esm/shared.js.map +1 -0
  34. package/dist/esm/universal.js +10 -0
  35. package/dist/esm/universal.js.map +1 -0
  36. package/dist/esm/webauthn-json/api.js +24 -0
  37. package/dist/esm/webauthn-json/api.js.map +1 -0
  38. package/dist/esm/webauthn-json/base64url.js +32 -0
  39. package/dist/esm/webauthn-json/base64url.js.map +1 -0
  40. package/dist/esm/webauthn-json/convert.js +62 -0
  41. package/dist/esm/webauthn-json/convert.js.map +1 -0
  42. package/dist/esm/webauthn-json/index.js +13 -0
  43. package/dist/esm/webauthn-json/index.js.map +1 -0
  44. package/dist/esm/webauthn-json/json.js +2 -0
  45. package/dist/esm/webauthn-json/json.js.map +1 -0
  46. package/dist/esm/webauthn-json/schema-format.js +2 -0
  47. package/dist/esm/webauthn-json/schema-format.js.map +1 -0
  48. package/dist/esm/webauthn-json/schema.js +83 -0
  49. package/dist/esm/webauthn-json/schema.js.map +1 -0
  50. package/dist/esm/webauthn.js +90 -0
  51. package/dist/esm/webauthn.js.map +1 -0
  52. package/dist/webauthn.d.ts +1 -1
  53. package/dist/webauthn.d.ts.map +1 -1
  54. package/dist/webauthn.js.map +1 -1
  55. package/package.json +12 -2
@@ -24,15 +24,15 @@
24
24
  },
25
25
  {
26
26
  "name": "Wallets",
27
- "description": "Wallets contain collections of deterministically generated cryptographic public / private key pairs that share a common seed. Turnkey securely holds the common seed, but only you can access it. In most cases, Wallets should be preferred over Private Keys since they can be represented by a mnemonic phrase, used across a variety of cryptographic curves, and can derive many addresses."
27
+ "description": "Wallets contain collections of deterministically generated cryptographic public / private key pairs that share a common seed. Turnkey securely holds the common seed, but only you can access it. In most cases, Wallets should be preferred over Private Keys since they can be represented by a mnemonic phrase, used across a variety of cryptographic curves, and can derive many addresses.\n\nDerived addresses can be used to create digital signatures using the corresponding underlying private key. See [Signers](./api#tag/Signers) for more information"
28
28
  },
29
29
  {
30
- "name": "Signatures",
31
- "description": "Signatures are used to validate the authenticity and integrity of a digital message. Signatures are a fundamental building block in blockchains. Turnkey makes it easy to produce signatures by allowing you to sign with an address. If Turnkey doesn't yet support an address format you need, you can generate and sign with the public key instead by using the address format `ADDRESS_FORMAT_COMPRESSED`."
30
+ "name": "Signers",
31
+ "description": "Signers allow you to create digitial signatures. Signatures are used to validate the authenticity and integrity of a digital message. Turnkey makes it easy to produce signatures by allowing you to sign with an address. If Turnkey doesn't yet support an address format you need, you can generate and sign with the public key instead by using the address format `ADDRESS_FORMAT_COMPRESSED`."
32
32
  },
33
33
  {
34
34
  "name": "Private Keys",
35
- "description": "Private Keys are cryptographic public / private key pairs that can be used for cryptocurrency needs or more generalized encryption. Turnkey securely holds all Private Key materials for you, but only you can access them."
35
+ "description": "Private Keys are cryptographic public / private key pairs that can be used for cryptocurrency needs or more generalized encryption. Turnkey securely holds all private key materials for you, but only you can access them.\n\nThe Private Key ID or any derived address can be used to create digital signatures. See [Signers](./api#tag/Signers) for more information"
36
36
  },
37
37
  {
38
38
  "name": "Private Key Tags",
@@ -292,6 +292,38 @@
292
292
  "tags": ["Users"]
293
293
  }
294
294
  },
295
+ "/public/v1/query/get_wallet": {
296
+ "post": {
297
+ "summary": "Get Wallet",
298
+ "description": "Get details about a Wallet",
299
+ "operationId": "PublicApiService_GetWallet",
300
+ "responses": {
301
+ "200": {
302
+ "description": "A successful response.",
303
+ "schema": {
304
+ "$ref": "#/definitions/v1GetWalletResponse"
305
+ }
306
+ },
307
+ "default": {
308
+ "description": "An unexpected error response.",
309
+ "schema": {
310
+ "$ref": "#/definitions/rpcStatus"
311
+ }
312
+ }
313
+ },
314
+ "parameters": [
315
+ {
316
+ "name": "body",
317
+ "in": "body",
318
+ "required": true,
319
+ "schema": {
320
+ "$ref": "#/definitions/v1GetWalletRequest"
321
+ }
322
+ }
323
+ ],
324
+ "tags": ["Wallets"]
325
+ }
326
+ },
295
327
  "/public/v1/query/list_activities": {
296
328
  "post": {
297
329
  "summary": "List Activities",
@@ -420,6 +452,70 @@
420
452
  "tags": ["Users"]
421
453
  }
422
454
  },
455
+ "/public/v1/query/list_wallet_accounts": {
456
+ "post": {
457
+ "summary": "List Wallets Accounts",
458
+ "description": "List all Accounts wirhin a Wallet",
459
+ "operationId": "PublicApiService_GetWalletAccounts",
460
+ "responses": {
461
+ "200": {
462
+ "description": "A successful response.",
463
+ "schema": {
464
+ "$ref": "#/definitions/v1GetWalletAccountsResponse"
465
+ }
466
+ },
467
+ "default": {
468
+ "description": "An unexpected error response.",
469
+ "schema": {
470
+ "$ref": "#/definitions/rpcStatus"
471
+ }
472
+ }
473
+ },
474
+ "parameters": [
475
+ {
476
+ "name": "body",
477
+ "in": "body",
478
+ "required": true,
479
+ "schema": {
480
+ "$ref": "#/definitions/v1GetWalletAccountsRequest"
481
+ }
482
+ }
483
+ ],
484
+ "tags": ["Wallets"]
485
+ }
486
+ },
487
+ "/public/v1/query/list_wallets": {
488
+ "post": {
489
+ "summary": "List Wallets",
490
+ "description": "List all Wallets within an Organization",
491
+ "operationId": "PublicApiService_GetWallets",
492
+ "responses": {
493
+ "200": {
494
+ "description": "A successful response.",
495
+ "schema": {
496
+ "$ref": "#/definitions/v1GetWalletsResponse"
497
+ }
498
+ },
499
+ "default": {
500
+ "description": "An unexpected error response.",
501
+ "schema": {
502
+ "$ref": "#/definitions/rpcStatus"
503
+ }
504
+ }
505
+ },
506
+ "parameters": [
507
+ {
508
+ "name": "body",
509
+ "in": "body",
510
+ "required": true,
511
+ "schema": {
512
+ "$ref": "#/definitions/v1GetWalletsRequest"
513
+ }
514
+ }
515
+ ],
516
+ "tags": ["Wallets"]
517
+ }
518
+ },
423
519
  "/public/v1/query/whoami": {
424
520
  "post": {
425
521
  "summary": "Who am I?",
@@ -449,7 +545,7 @@
449
545
  }
450
546
  }
451
547
  ],
452
- "tags": ["Who am I?"]
548
+ "tags": ["Sessions"]
453
549
  }
454
550
  },
455
551
  "/public/v1/submit/approve_activity": {
@@ -1249,7 +1345,7 @@
1249
1345
  }
1250
1346
  }
1251
1347
  ],
1252
- "tags": ["Signatures"]
1348
+ "tags": ["Signers"]
1253
1349
  }
1254
1350
  },
1255
1351
  "/public/v1/submit/sign_transaction": {
@@ -1281,13 +1377,13 @@
1281
1377
  }
1282
1378
  }
1283
1379
  ],
1284
- "tags": ["Signatures"]
1380
+ "tags": ["Signers"]
1285
1381
  }
1286
1382
  },
1287
1383
  "/public/v1/submit/update_allowed_origins": {
1288
1384
  "post": {
1289
- "summary": "Update Allowable Origins",
1290
- "description": "Update the allowable origins for credentials and requests",
1385
+ "summary": "Update Allowed Origins",
1386
+ "description": "Update the origins WebAuthN credentials are allowed to sign requests from. Setting this on a Parent-Organization applies to all Sub-Organizations.",
1291
1387
  "operationId": "PublicApiService_UpdateAllowedOrigins",
1292
1388
  "responses": {
1293
1389
  "200": {
@@ -1521,39 +1617,17 @@
1521
1617
  },
1522
1618
  "required": ["tagId", "tagName", "tagType", "createdAt", "updatedAt"]
1523
1619
  },
1524
- "externaldatav1AccessType": {
1525
- "type": "string",
1526
- "enum": ["ACCESS_TYPE_WEB", "ACCESS_TYPE_API", "ACCESS_TYPE_ALL"]
1527
- },
1528
1620
  "externaldatav1Address": {
1529
1621
  "type": "object",
1530
1622
  "properties": {
1531
1623
  "format": {
1532
- "$ref": "#/definitions/externaldatav1AddressFormat"
1624
+ "$ref": "#/definitions/v1AddressFormat"
1533
1625
  },
1534
1626
  "address": {
1535
1627
  "type": "string"
1536
1628
  }
1537
1629
  }
1538
1630
  },
1539
- "externaldatav1AddressFormat": {
1540
- "type": "string",
1541
- "enum": [
1542
- "ADDRESS_FORMAT_UNCOMPRESSED",
1543
- "ADDRESS_FORMAT_COMPRESSED",
1544
- "ADDRESS_FORMAT_ETHEREUM"
1545
- ]
1546
- },
1547
- "externaldatav1AuthenticatorTransport": {
1548
- "type": "string",
1549
- "enum": [
1550
- "AUTHENTICATOR_TRANSPORT_BLE",
1551
- "AUTHENTICATOR_TRANSPORT_INTERNAL",
1552
- "AUTHENTICATOR_TRANSPORT_NFC",
1553
- "AUTHENTICATOR_TRANSPORT_USB",
1554
- "AUTHENTICATOR_TRANSPORT_HYBRID"
1555
- ]
1556
- },
1557
1631
  "externaldatav1Credential": {
1558
1632
  "type": "object",
1559
1633
  "properties": {
@@ -1562,43 +1636,11 @@
1562
1636
  "description": "The public component of a cryptographic key pair used to sign messages and transactions."
1563
1637
  },
1564
1638
  "type": {
1565
- "$ref": "#/definitions/externaldatav1CredentialType"
1639
+ "$ref": "#/definitions/v1CredentialType"
1566
1640
  }
1567
1641
  },
1568
1642
  "required": ["publicKey", "type"]
1569
1643
  },
1570
- "externaldatav1CredentialType": {
1571
- "type": "string",
1572
- "enum": [
1573
- "CREDENTIAL_TYPE_WEBAUTHN_AUTHENTICATOR",
1574
- "CREDENTIAL_TYPE_API_KEY_P256",
1575
- "CREDENTIAL_TYPE_RECOVER_USER_KEY_P256"
1576
- ]
1577
- },
1578
- "externaldatav1Curve": {
1579
- "type": "string",
1580
- "enum": ["CURVE_SECP256K1", "CURVE_ED25519"]
1581
- },
1582
- "externaldatav1Effect": {
1583
- "type": "string",
1584
- "enum": ["EFFECT_ALLOW", "EFFECT_DENY"]
1585
- },
1586
- "externaldatav1Operator": {
1587
- "type": "string",
1588
- "enum": [
1589
- "OPERATOR_EQUAL",
1590
- "OPERATOR_MORE_THAN",
1591
- "OPERATOR_MORE_THAN_OR_EQUAL",
1592
- "OPERATOR_LESS_THAN",
1593
- "OPERATOR_LESS_THAN_OR_EQUAL",
1594
- "OPERATOR_CONTAINS",
1595
- "OPERATOR_NOT_EQUAL",
1596
- "OPERATOR_IN",
1597
- "OPERATOR_NOT_IN",
1598
- "OPERATOR_CONTAINS_ONE",
1599
- "OPERATOR_CONTAINS_ALL"
1600
- ]
1601
- },
1602
1644
  "externaldatav1Quorum": {
1603
1645
  "type": "object",
1604
1646
  "properties": {
@@ -1617,27 +1659,6 @@
1617
1659
  },
1618
1660
  "required": ["threshold", "userIds"]
1619
1661
  },
1620
- "externaldatav1Selector": {
1621
- "type": "object",
1622
- "properties": {
1623
- "subject": {
1624
- "type": "string",
1625
- "description": "The resource being referenced within a policy (e.g., user.tags or activities.type)."
1626
- },
1627
- "operator": {
1628
- "$ref": "#/definitions/externaldatav1Operator",
1629
- "description": "Logical operators like OPERATOR_CONTAINS or OPERATOR_EQUAL."
1630
- },
1631
- "targets": {
1632
- "type": "array",
1633
- "items": {
1634
- "type": "string"
1635
- },
1636
- "description": "The specific parameter from the subject being referenced, like a specific user ID."
1637
- }
1638
- },
1639
- "required": ["subject", "operator", "targets"]
1640
- },
1641
1662
  "externaldatav1Timestamp": {
1642
1663
  "type": "object",
1643
1664
  "properties": {
@@ -1650,92 +1671,17 @@
1650
1671
  },
1651
1672
  "required": ["seconds", "nanos"]
1652
1673
  },
1653
- "immutableactivityv1AccessType": {
1654
- "type": "string",
1655
- "enum": ["ACCESS_TYPE_WEB", "ACCESS_TYPE_API", "ACCESS_TYPE_ALL"]
1656
- },
1657
1674
  "immutableactivityv1Address": {
1658
1675
  "type": "object",
1659
1676
  "properties": {
1660
1677
  "format": {
1661
- "$ref": "#/definitions/immutablecommonv1AddressFormat"
1678
+ "$ref": "#/definitions/v1AddressFormat"
1662
1679
  },
1663
1680
  "address": {
1664
1681
  "type": "string"
1665
1682
  }
1666
1683
  }
1667
1684
  },
1668
- "immutableactivityv1Effect": {
1669
- "type": "string",
1670
- "enum": ["EFFECT_ALLOW", "EFFECT_DENY"]
1671
- },
1672
- "immutableactivityv1HashFunction": {
1673
- "type": "string",
1674
- "enum": [
1675
- "HASH_FUNCTION_NO_OP",
1676
- "HASH_FUNCTION_SHA256",
1677
- "HASH_FUNCTION_KECCAK256",
1678
- "HASH_FUNCTION_NOT_APPLICABLE"
1679
- ]
1680
- },
1681
- "immutableactivityv1Operator": {
1682
- "type": "string",
1683
- "enum": [
1684
- "OPERATOR_EQUAL",
1685
- "OPERATOR_MORE_THAN",
1686
- "OPERATOR_MORE_THAN_OR_EQUAL",
1687
- "OPERATOR_LESS_THAN",
1688
- "OPERATOR_LESS_THAN_OR_EQUAL",
1689
- "OPERATOR_CONTAINS",
1690
- "OPERATOR_NOT_EQUAL",
1691
- "OPERATOR_IN",
1692
- "OPERATOR_NOT_IN",
1693
- "OPERATOR_CONTAINS_ONE",
1694
- "OPERATOR_CONTAINS_ALL"
1695
- ]
1696
- },
1697
- "immutableactivityv1PayloadEncoding": {
1698
- "type": "string",
1699
- "enum": ["PAYLOAD_ENCODING_HEXADECIMAL", "PAYLOAD_ENCODING_TEXT_UTF8"]
1700
- },
1701
- "immutableactivityv1Selector": {
1702
- "type": "object",
1703
- "properties": {
1704
- "subject": {
1705
- "type": "string"
1706
- },
1707
- "operator": {
1708
- "$ref": "#/definitions/immutableactivityv1Operator"
1709
- },
1710
- "target": {
1711
- "type": "string"
1712
- }
1713
- }
1714
- },
1715
- "immutablecommonv1AddressFormat": {
1716
- "type": "string",
1717
- "enum": [
1718
- "ADDRESS_FORMAT_UNCOMPRESSED",
1719
- "ADDRESS_FORMAT_COMPRESSED",
1720
- "ADDRESS_FORMAT_ETHEREUM",
1721
- "ADDRESS_FORMAT_SOLANA",
1722
- "ADDRESS_FORMAT_COSMOS"
1723
- ]
1724
- },
1725
- "immutablecommonv1Curve": {
1726
- "type": "string",
1727
- "enum": ["CURVE_SECP256K1", "CURVE_ED25519"]
1728
- },
1729
- "immutablewebauthnv1AuthenticatorTransport": {
1730
- "type": "string",
1731
- "enum": [
1732
- "AUTHENTICATOR_TRANSPORT_BLE",
1733
- "AUTHENTICATOR_TRANSPORT_INTERNAL",
1734
- "AUTHENTICATOR_TRANSPORT_NFC",
1735
- "AUTHENTICATOR_TRANSPORT_USB",
1736
- "AUTHENTICATOR_TRANSPORT_HYBRID"
1737
- ]
1738
- },
1739
1685
  "protobufAny": {
1740
1686
  "type": "object",
1741
1687
  "properties": {
@@ -1814,6 +1760,10 @@
1814
1760
  },
1815
1761
  "required": ["invitationId", "userId"]
1816
1762
  },
1763
+ "v1AccessType": {
1764
+ "type": "string",
1765
+ "enum": ["ACCESS_TYPE_WEB", "ACCESS_TYPE_API", "ACCESS_TYPE_ALL"]
1766
+ },
1817
1767
  "v1ActivateBillingTierIntent": {
1818
1768
  "type": "object",
1819
1769
  "properties": {
@@ -1982,6 +1932,16 @@
1982
1932
  "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V4"
1983
1933
  ]
1984
1934
  },
1935
+ "v1AddressFormat": {
1936
+ "type": "string",
1937
+ "enum": [
1938
+ "ADDRESS_FORMAT_UNCOMPRESSED",
1939
+ "ADDRESS_FORMAT_COMPRESSED",
1940
+ "ADDRESS_FORMAT_ETHEREUM",
1941
+ "ADDRESS_FORMAT_SOLANA",
1942
+ "ADDRESS_FORMAT_COSMOS"
1943
+ ]
1944
+ },
1985
1945
  "v1ApiKey": {
1986
1946
  "type": "object",
1987
1947
  "properties": {
@@ -2104,7 +2064,7 @@
2104
2064
  "transports": {
2105
2065
  "type": "array",
2106
2066
  "items": {
2107
- "$ref": "#/definitions/immutablewebauthnv1AuthenticatorTransport"
2067
+ "$ref": "#/definitions/v1AuthenticatorTransport"
2108
2068
  },
2109
2069
  "description": "The type of authenticator transports."
2110
2070
  }
@@ -2122,7 +2082,7 @@
2122
2082
  "transports": {
2123
2083
  "type": "array",
2124
2084
  "items": {
2125
- "$ref": "#/definitions/externaldatav1AuthenticatorTransport"
2085
+ "$ref": "#/definitions/v1AuthenticatorTransport"
2126
2086
  },
2127
2087
  "description": "Types of transports that may be used by an Authenticator (e.g., USB, NFC, BLE)."
2128
2088
  },
@@ -2185,7 +2145,7 @@
2185
2145
  "transports": {
2186
2146
  "type": "array",
2187
2147
  "items": {
2188
- "$ref": "#/definitions/immutablewebauthnv1AuthenticatorTransport"
2148
+ "$ref": "#/definitions/v1AuthenticatorTransport"
2189
2149
  }
2190
2150
  },
2191
2151
  "authenticatorAttachment": {
@@ -2235,6 +2195,16 @@
2235
2195
  },
2236
2196
  "required": ["authenticatorName", "challenge", "attestation"]
2237
2197
  },
2198
+ "v1AuthenticatorTransport": {
2199
+ "type": "string",
2200
+ "enum": [
2201
+ "AUTHENTICATOR_TRANSPORT_BLE",
2202
+ "AUTHENTICATOR_TRANSPORT_INTERNAL",
2203
+ "AUTHENTICATOR_TRANSPORT_NFC",
2204
+ "AUTHENTICATOR_TRANSPORT_USB",
2205
+ "AUTHENTICATOR_TRANSPORT_HYBRID"
2206
+ ]
2207
+ },
2238
2208
  "v1CreateApiKeysIntent": {
2239
2209
  "type": "object",
2240
2210
  "properties": {
@@ -2518,12 +2488,12 @@
2518
2488
  "type": "array",
2519
2489
  "items": {
2520
2490
  "type": "object",
2521
- "$ref": "#/definitions/immutableactivityv1Selector"
2491
+ "$ref": "#/definitions/v1Selector"
2522
2492
  },
2523
2493
  "description": "A list of simple functions each including a subject, target and boolean. See Policy Engine Language section for additional details."
2524
2494
  },
2525
2495
  "effect": {
2526
- "$ref": "#/definitions/immutableactivityv1Effect",
2496
+ "$ref": "#/definitions/v1Effect",
2527
2497
  "description": "The instruction to DENY or ALLOW a particular activity following policy selector(s)."
2528
2498
  },
2529
2499
  "notes": {
@@ -2548,7 +2518,7 @@
2548
2518
  "description": "A list of simple functions each including a subject, target and boolean. See Policy Engine Language section for additional details."
2549
2519
  },
2550
2520
  "effect": {
2551
- "$ref": "#/definitions/immutableactivityv1Effect",
2521
+ "$ref": "#/definitions/v1Effect",
2552
2522
  "description": "Whether to ALLOW or DENY requests that match the condition and consensus requirements."
2553
2523
  },
2554
2524
  "notes": {
@@ -2565,7 +2535,7 @@
2565
2535
  "description": "Human-readable name for a Policy."
2566
2536
  },
2567
2537
  "effect": {
2568
- "$ref": "#/definitions/immutableactivityv1Effect",
2538
+ "$ref": "#/definitions/v1Effect",
2569
2539
  "description": "The instruction to DENY or ALLOW an activity."
2570
2540
  },
2571
2541
  "condition": {
@@ -3141,6 +3111,18 @@
3141
3111
  },
3142
3112
  "required": ["rk"]
3143
3113
  },
3114
+ "v1CredentialType": {
3115
+ "type": "string",
3116
+ "enum": [
3117
+ "CREDENTIAL_TYPE_WEBAUTHN_AUTHENTICATOR",
3118
+ "CREDENTIAL_TYPE_API_KEY_P256",
3119
+ "CREDENTIAL_TYPE_RECOVER_USER_KEY_P256"
3120
+ ]
3121
+ },
3122
+ "v1Curve": {
3123
+ "type": "string",
3124
+ "enum": ["CURVE_SECP256K1", "CURVE_ED25519"]
3125
+ },
3144
3126
  "v1DeleteApiKeysIntent": {
3145
3127
  "type": "object",
3146
3128
  "properties": {
@@ -3477,6 +3459,10 @@
3477
3459
  },
3478
3460
  "required": ["privateKeyId"]
3479
3461
  },
3462
+ "v1Effect": {
3463
+ "type": "string",
3464
+ "enum": ["EFFECT_ALLOW", "EFFECT_DENY"]
3465
+ },
3480
3466
  "v1ExportPrivateKeyIntent": {
3481
3467
  "type": "object",
3482
3468
  "properties": {
@@ -3866,6 +3852,82 @@
3866
3852
  },
3867
3853
  "required": ["users"]
3868
3854
  },
3855
+ "v1GetWalletAccountsRequest": {
3856
+ "type": "object",
3857
+ "properties": {
3858
+ "organizationId": {
3859
+ "type": "string",
3860
+ "description": "Unique identifier for a given Organization."
3861
+ },
3862
+ "walletId": {
3863
+ "type": "string",
3864
+ "description": "Unique identifier for a given Wallet."
3865
+ }
3866
+ },
3867
+ "required": ["organizationId", "walletId"]
3868
+ },
3869
+ "v1GetWalletAccountsResponse": {
3870
+ "type": "object",
3871
+ "properties": {
3872
+ "accounts": {
3873
+ "type": "array",
3874
+ "items": {
3875
+ "type": "object",
3876
+ "$ref": "#/definitions/v1WalletAccount"
3877
+ },
3878
+ "description": "A list of Accounts generated from a Wallet that share a common seed"
3879
+ }
3880
+ },
3881
+ "required": ["accounts"]
3882
+ },
3883
+ "v1GetWalletRequest": {
3884
+ "type": "object",
3885
+ "properties": {
3886
+ "organizationId": {
3887
+ "type": "string",
3888
+ "description": "Unique identifier for a given Organization."
3889
+ },
3890
+ "walletId": {
3891
+ "type": "string",
3892
+ "description": "Unique identifier for a given Wallet."
3893
+ }
3894
+ },
3895
+ "required": ["organizationId", "walletId"]
3896
+ },
3897
+ "v1GetWalletResponse": {
3898
+ "type": "object",
3899
+ "properties": {
3900
+ "wallet": {
3901
+ "$ref": "#/definitions/v1Wallet",
3902
+ "description": "A collection of deterministically generated cryptographic public / private key pairs that share a common seed"
3903
+ }
3904
+ },
3905
+ "required": ["wallet"]
3906
+ },
3907
+ "v1GetWalletsRequest": {
3908
+ "type": "object",
3909
+ "properties": {
3910
+ "organizationId": {
3911
+ "type": "string",
3912
+ "description": "Unique identifier for a given Organization."
3913
+ }
3914
+ },
3915
+ "required": ["organizationId"]
3916
+ },
3917
+ "v1GetWalletsResponse": {
3918
+ "type": "object",
3919
+ "properties": {
3920
+ "wallets": {
3921
+ "type": "array",
3922
+ "items": {
3923
+ "type": "object",
3924
+ "$ref": "#/definitions/v1Wallet"
3925
+ },
3926
+ "description": "A list of Wallets."
3927
+ }
3928
+ },
3929
+ "required": ["wallets"]
3930
+ },
3869
3931
  "v1GetWhoamiRequest": {
3870
3932
  "type": "object",
3871
3933
  "properties": {
@@ -3898,6 +3960,15 @@
3898
3960
  },
3899
3961
  "required": ["organizationId", "organizationName", "userId", "username"]
3900
3962
  },
3963
+ "v1HashFunction": {
3964
+ "type": "string",
3965
+ "enum": [
3966
+ "HASH_FUNCTION_NO_OP",
3967
+ "HASH_FUNCTION_SHA256",
3968
+ "HASH_FUNCTION_KECCAK256",
3969
+ "HASH_FUNCTION_NOT_APPLICABLE"
3970
+ ]
3971
+ },
3901
3972
  "v1InitUserEmailRecoveryIntent": {
3902
3973
  "type": "object",
3903
3974
  "properties": {
@@ -4137,7 +4208,7 @@
4137
4208
  "description": "A list of tags assigned to the Invitation recipient."
4138
4209
  },
4139
4210
  "accessType": {
4140
- "$ref": "#/definitions/externaldatav1AccessType",
4211
+ "$ref": "#/definitions/v1AccessType",
4141
4212
  "description": "The User's permissible access method(s)."
4142
4213
  },
4143
4214
  "status": {
@@ -4186,7 +4257,7 @@
4186
4257
  "description": "A list of tags assigned to the Invitation recipient."
4187
4258
  },
4188
4259
  "accessType": {
4189
- "$ref": "#/definitions/immutableactivityv1AccessType",
4260
+ "$ref": "#/definitions/v1AccessType",
4190
4261
  "description": "The User's permissible access method(s)."
4191
4262
  },
4192
4263
  "senderUserId": {
@@ -4233,6 +4304,22 @@
4233
4304
  },
4234
4305
  "required": ["stamp"]
4235
4306
  },
4307
+ "v1Operator": {
4308
+ "type": "string",
4309
+ "enum": [
4310
+ "OPERATOR_EQUAL",
4311
+ "OPERATOR_MORE_THAN",
4312
+ "OPERATOR_MORE_THAN_OR_EQUAL",
4313
+ "OPERATOR_LESS_THAN",
4314
+ "OPERATOR_LESS_THAN_OR_EQUAL",
4315
+ "OPERATOR_CONTAINS",
4316
+ "OPERATOR_NOT_EQUAL",
4317
+ "OPERATOR_IN",
4318
+ "OPERATOR_NOT_IN",
4319
+ "OPERATOR_CONTAINS_ONE",
4320
+ "OPERATOR_CONTAINS_ALL"
4321
+ ]
4322
+ },
4236
4323
  "v1OrganizationData": {
4237
4324
  "type": "object",
4238
4325
  "properties": {
@@ -4330,6 +4417,10 @@
4330
4417
  "type": "string",
4331
4418
  "enum": ["PATH_FORMAT_BIP32"]
4332
4419
  },
4420
+ "v1PayloadEncoding": {
4421
+ "type": "string",
4422
+ "enum": ["PAYLOAD_ENCODING_HEXADECIMAL", "PAYLOAD_ENCODING_TEXT_UTF8"]
4423
+ },
4333
4424
  "v1Policy": {
4334
4425
  "type": "object",
4335
4426
  "properties": {
@@ -4342,17 +4433,9 @@
4342
4433
  "description": "Human-readable name for a Policy."
4343
4434
  },
4344
4435
  "effect": {
4345
- "$ref": "#/definitions/externaldatav1Effect",
4436
+ "$ref": "#/definitions/v1Effect",
4346
4437
  "description": "The instruction to DENY or ALLOW a particular activity following policy selector(s)."
4347
4438
  },
4348
- "selectors": {
4349
- "type": "array",
4350
- "items": {
4351
- "type": "object",
4352
- "$ref": "#/definitions/externaldatav1Selector"
4353
- },
4354
- "description": "A list of simple functions each including a subject, target and boolean. See Policy Engine Language section for additional details."
4355
- },
4356
4439
  "createdAt": {
4357
4440
  "$ref": "#/definitions/externaldatav1Timestamp"
4358
4441
  },
@@ -4376,7 +4459,6 @@
4376
4459
  "policyId",
4377
4460
  "policyName",
4378
4461
  "effect",
4379
- "selectors",
4380
4462
  "createdAt",
4381
4463
  "updatedAt",
4382
4464
  "notes",
@@ -4400,7 +4482,7 @@
4400
4482
  "description": "Human-readable name for a Private Key."
4401
4483
  },
4402
4484
  "curve": {
4403
- "$ref": "#/definitions/externaldatav1Curve",
4485
+ "$ref": "#/definitions/v1Curve",
4404
4486
  "description": "Cryptographic Curve used to generate a given Private Key."
4405
4487
  },
4406
4488
  "addresses": {
@@ -4449,7 +4531,7 @@
4449
4531
  "description": "Human-readable name for a Private Key."
4450
4532
  },
4451
4533
  "curve": {
4452
- "$ref": "#/definitions/immutablecommonv1Curve",
4534
+ "$ref": "#/definitions/v1Curve",
4453
4535
  "description": "Cryptographic Curve used to generate a given Private Key."
4454
4536
  },
4455
4537
  "privateKeyTags": {
@@ -4462,7 +4544,7 @@
4462
4544
  "addressFormats": {
4463
4545
  "type": "array",
4464
4546
  "items": {
4465
- "$ref": "#/definitions/immutablecommonv1AddressFormat"
4547
+ "$ref": "#/definitions/v1AddressFormat"
4466
4548
  },
4467
4549
  "description": "Cryptocurrency-specific formats for a derived address (e.g., Ethereum)."
4468
4550
  }
@@ -4804,6 +4886,20 @@
4804
4886
  },
4805
4887
  "required": ["userName", "apiKeys", "authenticators"]
4806
4888
  },
4889
+ "v1Selector": {
4890
+ "type": "object",
4891
+ "properties": {
4892
+ "subject": {
4893
+ "type": "string"
4894
+ },
4895
+ "operator": {
4896
+ "$ref": "#/definitions/v1Operator"
4897
+ },
4898
+ "target": {
4899
+ "type": "string"
4900
+ }
4901
+ }
4902
+ },
4807
4903
  "v1SelectorV2": {
4808
4904
  "type": "object",
4809
4905
  "properties": {
@@ -4811,7 +4907,7 @@
4811
4907
  "type": "string"
4812
4908
  },
4813
4909
  "operator": {
4814
- "$ref": "#/definitions/immutableactivityv1Operator"
4910
+ "$ref": "#/definitions/v1Operator"
4815
4911
  },
4816
4912
  "targets": {
4817
4913
  "type": "array",
@@ -4955,11 +5051,11 @@
4955
5051
  "description": "Raw unsigned payload to be signed."
4956
5052
  },
4957
5053
  "encoding": {
4958
- "$ref": "#/definitions/immutableactivityv1PayloadEncoding",
5054
+ "$ref": "#/definitions/v1PayloadEncoding",
4959
5055
  "description": "Encoding of the `payload` string. Turnkey uses this information to convert `payload` into bytes with the correct decoder (e.g. hex, utf8)."
4960
5056
  },
4961
5057
  "hashFunction": {
4962
- "$ref": "#/definitions/immutableactivityv1HashFunction",
5058
+ "$ref": "#/definitions/v1HashFunction",
4963
5059
  "description": "Hash function to apply to payload bytes before signing. This field must be set to HASH_FUNCTION_NOT_APPLICABLE for EdDSA/ed25519 signature requests; configurable payload hashing is not supported by RFC 8032."
4964
5060
  }
4965
5061
  },
@@ -4977,11 +5073,11 @@
4977
5073
  "description": "Raw unsigned payload to be signed."
4978
5074
  },
4979
5075
  "encoding": {
4980
- "$ref": "#/definitions/immutableactivityv1PayloadEncoding",
5076
+ "$ref": "#/definitions/v1PayloadEncoding",
4981
5077
  "description": "Encoding of the `payload` string. Turnkey uses this information to convert `payload` into bytes with the correct decoder (e.g. hex, utf8)."
4982
5078
  },
4983
5079
  "hashFunction": {
4984
- "$ref": "#/definitions/immutableactivityv1HashFunction",
5080
+ "$ref": "#/definitions/v1HashFunction",
4985
5081
  "description": "Hash function to apply to payload bytes before signing. This field must be set to HASH_FUNCTION_NOT_APPLICABLE for EdDSA/ed25519 signature requests; configurable payload hashing is not supported by RFC 8032."
4986
5082
  }
4987
5083
  },
@@ -5161,7 +5257,7 @@
5161
5257
  "description": "Human-readable name for a Policy."
5162
5258
  },
5163
5259
  "policyEffect": {
5164
- "$ref": "#/definitions/immutableactivityv1Effect",
5260
+ "$ref": "#/definitions/v1Effect",
5165
5261
  "description": "The instruction to DENY or ALLOW an activity (optional)."
5166
5262
  },
5167
5263
  "policyCondition": {
@@ -5442,7 +5538,7 @@
5442
5538
  "description": "The user's email address."
5443
5539
  },
5444
5540
  "accessType": {
5445
- "$ref": "#/definitions/externaldatav1AccessType",
5541
+ "$ref": "#/definitions/v1AccessType",
5446
5542
  "description": "The User's permissible access method(s)."
5447
5543
  },
5448
5544
  "authenticators": {
@@ -5498,7 +5594,7 @@
5498
5594
  "description": "The user's email address."
5499
5595
  },
5500
5596
  "accessType": {
5501
- "$ref": "#/definitions/immutableactivityv1AccessType",
5597
+ "$ref": "#/definitions/v1AccessType",
5502
5598
  "description": "The User's permissible access method(s)."
5503
5599
  },
5504
5600
  "apiKeys": {
@@ -5545,7 +5641,7 @@
5545
5641
  "description": "The user's email address."
5546
5642
  },
5547
5643
  "accessType": {
5548
- "$ref": "#/definitions/immutableactivityv1AccessType",
5644
+ "$ref": "#/definitions/v1AccessType",
5549
5645
  "description": "The User's permissible access method(s)."
5550
5646
  },
5551
5647
  "apiKeys": {
@@ -5666,11 +5762,61 @@
5666
5762
  "exported"
5667
5763
  ]
5668
5764
  },
5765
+ "v1WalletAccount": {
5766
+ "type": "object",
5767
+ "properties": {
5768
+ "organizationId": {
5769
+ "type": "string",
5770
+ "description": "The Organization the Account belongs to."
5771
+ },
5772
+ "walletId": {
5773
+ "type": "string",
5774
+ "description": "The Wallet the Account was derived from."
5775
+ },
5776
+ "curve": {
5777
+ "$ref": "#/definitions/v1Curve",
5778
+ "description": "Cryptographic curve used to generate the Account."
5779
+ },
5780
+ "pathFormat": {
5781
+ "$ref": "#/definitions/v1PathFormat",
5782
+ "description": "Path format used to generate the Account."
5783
+ },
5784
+ "path": {
5785
+ "type": "string",
5786
+ "description": "Path used to generate the Account."
5787
+ },
5788
+ "addressFormat": {
5789
+ "$ref": "#/definitions/v1AddressFormat",
5790
+ "description": "Address format used to generate the Acccount."
5791
+ },
5792
+ "address": {
5793
+ "type": "string",
5794
+ "description": "Address generated using the Wallet seed and Account parameters."
5795
+ },
5796
+ "createdAt": {
5797
+ "$ref": "#/definitions/externaldatav1Timestamp"
5798
+ },
5799
+ "updatedAt": {
5800
+ "$ref": "#/definitions/externaldatav1Timestamp"
5801
+ }
5802
+ },
5803
+ "required": [
5804
+ "organizationId",
5805
+ "walletId",
5806
+ "curve",
5807
+ "pathFormat",
5808
+ "path",
5809
+ "addressFormat",
5810
+ "address",
5811
+ "createdAt",
5812
+ "updatedAt"
5813
+ ]
5814
+ },
5669
5815
  "v1WalletAccountParams": {
5670
5816
  "type": "object",
5671
5817
  "properties": {
5672
5818
  "curve": {
5673
- "$ref": "#/definitions/immutablecommonv1Curve",
5819
+ "$ref": "#/definitions/v1Curve",
5674
5820
  "description": "Cryptographic curve used to generate a wallet Account."
5675
5821
  },
5676
5822
  "pathFormat": {
@@ -5682,7 +5828,7 @@
5682
5828
  "description": "Path used to generate a wallet Account."
5683
5829
  },
5684
5830
  "addressFormat": {
5685
- "$ref": "#/definitions/immutablecommonv1AddressFormat",
5831
+ "$ref": "#/definitions/v1AddressFormat",
5686
5832
  "description": "Address format used to generate a wallet Acccount."
5687
5833
  }
5688
5834
  },
@@ -5777,7 +5923,7 @@
5777
5923
  },
5778
5924
  {
5779
5925
  "name": "PRIVATE KEYS",
5780
- "tags": ["Wallets", "Signatures", "Private Keys", "Private Key Tags"]
5926
+ "tags": ["Wallets", "Signers", "Private Keys", "Private Key Tags"]
5781
5927
  },
5782
5928
  {
5783
5929
  "name": "USERS",
@@ -5785,7 +5931,7 @@
5785
5931
  },
5786
5932
  {
5787
5933
  "name": "CREDENTIALS",
5788
- "tags": ["Authenticators", "API Keys", "Who am I?"]
5934
+ "tags": ["Authenticators", "API Keys", "Sessions"]
5789
5935
  },
5790
5936
  {
5791
5937
  "name": "ACTIVITIES",