@1claw/sdk 0.32.1 → 0.34.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 (46) hide show
  1. package/README.md +63 -4
  2. package/dist/auth/dpop.d.ts +25 -0
  3. package/dist/auth/dpop.d.ts.map +1 -0
  4. package/dist/auth/dpop.js +95 -0
  5. package/dist/auth/dpop.js.map +1 -0
  6. package/dist/core/client.d.ts +3 -0
  7. package/dist/core/client.d.ts.map +1 -1
  8. package/dist/core/client.js +2 -0
  9. package/dist/core/client.js.map +1 -1
  10. package/dist/core/http.d.ts +4 -0
  11. package/dist/core/http.d.ts.map +1 -1
  12. package/dist/core/http.js +35 -2
  13. package/dist/core/http.js.map +1 -1
  14. package/dist/generated/api-types.d.ts +1117 -9
  15. package/dist/generated/api-types.d.ts.map +1 -1
  16. package/dist/index.d.ts +3 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +3 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/resources/agents.d.ts +6 -2
  21. package/dist/resources/agents.d.ts.map +1 -1
  22. package/dist/resources/agents.js +6 -2
  23. package/dist/resources/agents.js.map +1 -1
  24. package/dist/resources/auth.d.ts +61 -0
  25. package/dist/resources/auth.d.ts.map +1 -1
  26. package/dist/resources/auth.js +38 -0
  27. package/dist/resources/auth.js.map +1 -1
  28. package/dist/resources/org.d.ts +17 -0
  29. package/dist/resources/org.d.ts.map +1 -1
  30. package/dist/resources/org.js +14 -0
  31. package/dist/resources/org.js.map +1 -1
  32. package/dist/resources/platform.d.ts +35 -0
  33. package/dist/resources/platform.d.ts.map +1 -1
  34. package/dist/resources/platform.js +16 -0
  35. package/dist/resources/platform.js.map +1 -1
  36. package/dist/resources/risk.d.ts +80 -0
  37. package/dist/resources/risk.d.ts.map +1 -0
  38. package/dist/resources/risk.js +35 -0
  39. package/dist/resources/risk.js.map +1 -0
  40. package/dist/resources/treasury-wallets.d.ts +12 -0
  41. package/dist/resources/treasury-wallets.d.ts.map +1 -1
  42. package/dist/resources/treasury-wallets.js +4 -0
  43. package/dist/resources/treasury-wallets.js.map +1 -1
  44. package/dist/types.d.ts +2 -0
  45. package/dist/types.d.ts.map +1 -1
  46. package/package.json +1 -1
@@ -1742,6 +1742,34 @@ export interface paths {
1742
1742
  patch?: never;
1743
1743
  trace?: never;
1744
1744
  };
1745
+ "/v1/org/bankr-config": {
1746
+ parameters: {
1747
+ query?: never;
1748
+ header?: never;
1749
+ path?: never;
1750
+ cookie?: never;
1751
+ };
1752
+ /**
1753
+ * Get org Bankr partner configuration
1754
+ * @description Returns whether the org has configured Bankr BYOK (partner key prefix and default wallet only — never the secret). Users only.
1755
+ */
1756
+ get: operations["getOrgBankrConfig"];
1757
+ /**
1758
+ * Set org Bankr partner configuration
1759
+ * @description Store or replace the org's Bankr partner key (`bk_ptr_...`) and optional default wallet (`wlt_...`). Owner/admin only. Partner key encrypted at rest.
1760
+ */
1761
+ put: operations["upsertOrgBankrConfig"];
1762
+ post?: never;
1763
+ /**
1764
+ * Remove org Bankr partner configuration
1765
+ * @description Delete BYOK credentials for the org. Owner/admin only.
1766
+ */
1767
+ delete: operations["deleteOrgBankrConfig"];
1768
+ options?: never;
1769
+ head?: never;
1770
+ patch?: never;
1771
+ trace?: never;
1772
+ };
1745
1773
  "/v1/org/invite": {
1746
1774
  parameters: {
1747
1775
  query?: never;
@@ -2432,6 +2460,28 @@ export interface paths {
2432
2460
  patch?: never;
2433
2461
  trace?: never;
2434
2462
  };
2463
+ "/v1/treasury/wallets/spend-policy": {
2464
+ parameters: {
2465
+ query?: never;
2466
+ header?: never;
2467
+ path?: never;
2468
+ cookie?: never;
2469
+ };
2470
+ /**
2471
+ * Get effective spend policy for current user
2472
+ * @description Returns the effective spend policy governing the authenticated user's
2473
+ * wallet transactions. Resolves from per-user override (if set) or the
2474
+ * app-wide default. Returns null if no policy is configured.
2475
+ */
2476
+ get: operations["getEffectiveSpendPolicy"];
2477
+ put?: never;
2478
+ post?: never;
2479
+ delete?: never;
2480
+ options?: never;
2481
+ head?: never;
2482
+ patch?: never;
2483
+ trace?: never;
2484
+ };
2435
2485
  "/v1/webhooks": {
2436
2486
  parameters: {
2437
2487
  query?: never;
@@ -3568,6 +3618,71 @@ export interface paths {
3568
3618
  patch?: never;
3569
3619
  trace?: never;
3570
3620
  };
3621
+ "/v1/platform/apps/{appId}/spend-policies": {
3622
+ parameters: {
3623
+ query?: never;
3624
+ header?: never;
3625
+ path?: never;
3626
+ cookie?: never;
3627
+ };
3628
+ /**
3629
+ * List spend policies for app
3630
+ * @description Returns all spend policies configured for the platform app.
3631
+ */
3632
+ get: operations["listSpendPolicies"];
3633
+ put?: never;
3634
+ /**
3635
+ * Create wallet spend policy
3636
+ * @description Create an app-wide spend policy that governs what embedded wallet users
3637
+ * can do with their wallets. Policies apply to all connected users by default
3638
+ * and can be overridden per-user via connection-level policies.
3639
+ */
3640
+ post: operations["createSpendPolicy"];
3641
+ delete?: never;
3642
+ options?: never;
3643
+ head?: never;
3644
+ patch?: never;
3645
+ trace?: never;
3646
+ };
3647
+ "/v1/platform/apps/{appId}/spend-policies/{policyId}": {
3648
+ parameters: {
3649
+ query?: never;
3650
+ header?: never;
3651
+ path?: never;
3652
+ cookie?: never;
3653
+ };
3654
+ get?: never;
3655
+ put?: never;
3656
+ post?: never;
3657
+ /** Delete a spend policy */
3658
+ delete: operations["deleteSpendPolicy"];
3659
+ options?: never;
3660
+ head?: never;
3661
+ patch?: never;
3662
+ trace?: never;
3663
+ };
3664
+ "/v1/platform/connections/{connectionId}/spend-policy": {
3665
+ parameters: {
3666
+ query?: never;
3667
+ header?: never;
3668
+ path?: never;
3669
+ cookie?: never;
3670
+ };
3671
+ get?: never;
3672
+ /**
3673
+ * Set per-user spend policy override
3674
+ * @description Override the app-wide spend policy for a specific connected user. This
3675
+ * policy takes precedence over the app default. Remove by deleting the
3676
+ * connection-level policy.
3677
+ */
3678
+ put: operations["setUserSpendPolicy"];
3679
+ post?: never;
3680
+ delete?: never;
3681
+ options?: never;
3682
+ head?: never;
3683
+ patch?: never;
3684
+ trace?: never;
3685
+ };
3571
3686
  "/v1/approvals": {
3572
3687
  parameters: {
3573
3688
  query?: never;
@@ -3825,6 +3940,224 @@ export interface paths {
3825
3940
  patch?: never;
3826
3941
  trace?: never;
3827
3942
  };
3943
+ "/v1/auth/email-otp/send": {
3944
+ parameters: {
3945
+ query?: never;
3946
+ header?: never;
3947
+ path?: never;
3948
+ cookie?: never;
3949
+ };
3950
+ get?: never;
3951
+ put?: never;
3952
+ /**
3953
+ * Send email OTP code
3954
+ * @description Sends a 6-digit one-time code to the specified email address.
3955
+ * No authentication required. Rate-limited per IP and per email.
3956
+ */
3957
+ post: operations["sendEmailOtp"];
3958
+ delete?: never;
3959
+ options?: never;
3960
+ head?: never;
3961
+ patch?: never;
3962
+ trace?: never;
3963
+ };
3964
+ "/v1/auth/email-otp/verify": {
3965
+ parameters: {
3966
+ query?: never;
3967
+ header?: never;
3968
+ path?: never;
3969
+ cookie?: never;
3970
+ };
3971
+ get?: never;
3972
+ put?: never;
3973
+ /**
3974
+ * Verify email OTP and get JWT
3975
+ * @description Verifies the 6-digit code sent to the user's email. If the user does not
3976
+ * exist, a new account is created. Optionally auto-provisions treasury wallets
3977
+ * for the specified chains. Returns a JWT for subsequent API calls.
3978
+ */
3979
+ post: operations["verifyEmailOtp"];
3980
+ delete?: never;
3981
+ options?: never;
3982
+ head?: never;
3983
+ patch?: never;
3984
+ trace?: never;
3985
+ };
3986
+ "/v1/oauth/authorize": {
3987
+ parameters: {
3988
+ query?: never;
3989
+ header?: never;
3990
+ path?: never;
3991
+ cookie?: never;
3992
+ };
3993
+ /**
3994
+ * Get OAuth consent info
3995
+ * @description Returns information about the platform app requesting authorization so the
3996
+ * UI can display a consent screen. Used by the 1Claw-hosted consent page.
3997
+ */
3998
+ get: operations["getOAuthConsent"];
3999
+ put?: never;
4000
+ /**
4001
+ * Submit OAuth consent decision
4002
+ * @description The user approves or denies the authorization request. On approval, returns
4003
+ * a redirect URL containing the authorization code. On denial, returns a
4004
+ * redirect URL with an error parameter.
4005
+ */
4006
+ post: operations["submitOAuthConsent"];
4007
+ delete?: never;
4008
+ options?: never;
4009
+ head?: never;
4010
+ patch?: never;
4011
+ trace?: never;
4012
+ };
4013
+ "/v1/oauth/token": {
4014
+ parameters: {
4015
+ query?: never;
4016
+ header?: never;
4017
+ path?: never;
4018
+ cookie?: never;
4019
+ };
4020
+ get?: never;
4021
+ put?: never;
4022
+ /**
4023
+ * Exchange authorization code for tokens
4024
+ * @description Standard OAuth 2.0 token endpoint. Exchanges an authorization code for an
4025
+ * access token and optional OIDC ID token. Supports PKCE via `code_verifier`.
4026
+ */
4027
+ post: operations["exchangeOAuthToken"];
4028
+ delete?: never;
4029
+ options?: never;
4030
+ head?: never;
4031
+ patch?: never;
4032
+ trace?: never;
4033
+ };
4034
+ "/v1/oauth/userinfo": {
4035
+ parameters: {
4036
+ query?: never;
4037
+ header?: never;
4038
+ path?: never;
4039
+ cookie?: never;
4040
+ };
4041
+ /**
4042
+ * Get authenticated user info (OIDC UserInfo)
4043
+ * @description Standard OIDC UserInfo endpoint. Returns claims about the authenticated user
4044
+ * based on the granted scopes.
4045
+ */
4046
+ get: operations["getOAuthUserInfo"];
4047
+ put?: never;
4048
+ post?: never;
4049
+ delete?: never;
4050
+ options?: never;
4051
+ head?: never;
4052
+ patch?: never;
4053
+ trace?: never;
4054
+ };
4055
+ "/v1/risk/events": {
4056
+ parameters: {
4057
+ query?: never;
4058
+ header?: never;
4059
+ path?: never;
4060
+ cookie?: never;
4061
+ };
4062
+ /**
4063
+ * List risk events
4064
+ * @description Returns risk events detected by the risk engine, ordered by most recent first.
4065
+ * Filter by severity or principal type.
4066
+ */
4067
+ get: operations["listRiskEvents"];
4068
+ put?: never;
4069
+ post?: never;
4070
+ delete?: never;
4071
+ options?: never;
4072
+ head?: never;
4073
+ patch?: never;
4074
+ trace?: never;
4075
+ };
4076
+ "/v1/risk/verdicts": {
4077
+ parameters: {
4078
+ query?: never;
4079
+ header?: never;
4080
+ path?: never;
4081
+ cookie?: never;
4082
+ };
4083
+ /**
4084
+ * List risk verdicts
4085
+ * @description Returns all active risk verdicts for the caller's organization.
4086
+ */
4087
+ get: operations["listRiskVerdicts"];
4088
+ put?: never;
4089
+ post?: never;
4090
+ delete?: never;
4091
+ options?: never;
4092
+ head?: never;
4093
+ patch?: never;
4094
+ trace?: never;
4095
+ };
4096
+ "/v1/risk/verdicts/{principal_type}/{principal_id}": {
4097
+ parameters: {
4098
+ query?: never;
4099
+ header?: never;
4100
+ path?: never;
4101
+ cookie?: never;
4102
+ };
4103
+ /**
4104
+ * Get risk verdict for a principal
4105
+ * @description Returns the current risk verdict for a specific user or agent.
4106
+ */
4107
+ get: operations["getRiskVerdict"];
4108
+ put?: never;
4109
+ post?: never;
4110
+ delete?: never;
4111
+ options?: never;
4112
+ head?: never;
4113
+ patch?: never;
4114
+ trace?: never;
4115
+ };
4116
+ "/v1/risk/honeytokens": {
4117
+ parameters: {
4118
+ query?: never;
4119
+ header?: never;
4120
+ path?: never;
4121
+ cookie?: never;
4122
+ };
4123
+ /**
4124
+ * List honeytokens
4125
+ * @description Returns all honeytokens (canary secrets) configured for the caller's organization.
4126
+ */
4127
+ get: operations["listHoneytokens"];
4128
+ put?: never;
4129
+ /**
4130
+ * Create a honeytoken
4131
+ * @description Register a secret path as a honeytoken (canary). Any access to this secret
4132
+ * triggers a risk event and increments the trigger counter.
4133
+ */
4134
+ post: operations["createHoneytoken"];
4135
+ delete?: never;
4136
+ options?: never;
4137
+ head?: never;
4138
+ patch?: never;
4139
+ trace?: never;
4140
+ };
4141
+ "/v1/risk/honeytokens/{id}": {
4142
+ parameters: {
4143
+ query?: never;
4144
+ header?: never;
4145
+ path?: never;
4146
+ cookie?: never;
4147
+ };
4148
+ get?: never;
4149
+ put?: never;
4150
+ post?: never;
4151
+ /**
4152
+ * Delete a honeytoken
4153
+ * @description Remove a honeytoken registration. The underlying secret is not affected.
4154
+ */
4155
+ delete: operations["deleteHoneytoken"];
4156
+ options?: never;
4157
+ head?: never;
4158
+ patch?: never;
4159
+ trace?: never;
4160
+ };
3828
4161
  }
3829
4162
  export type webhooks = Record<string, never>;
3830
4163
  export interface components {
@@ -5155,6 +5488,20 @@ export interface components {
5155
5488
  /** Format: uuid */
5156
5489
  vault_id?: string;
5157
5490
  };
5491
+ OrgBankrConfigResponse: {
5492
+ configured?: boolean;
5493
+ partner_key_prefix?: string;
5494
+ default_wallet_id?: string;
5495
+ /** Format: date-time */
5496
+ updated_at?: string;
5497
+ using_platform_fallback?: boolean;
5498
+ };
5499
+ UpsertOrgBankrConfigRequest: {
5500
+ /** @description Bankr partner API key (bk_ptr_...) */
5501
+ partner_key: string;
5502
+ /** @description Default provisioned wallet (wlt_...) */
5503
+ default_wallet_id?: string;
5504
+ };
5158
5505
  UsageSummaryResponse: {
5159
5506
  billing_tier?: string;
5160
5507
  free_tier_limit?: number;
@@ -6107,15 +6454,180 @@ export interface components {
6107
6454
  /** Format: date-time */
6108
6455
  created_at: string;
6109
6456
  };
6110
- };
6111
- responses: {
6112
- /** @description Invalid request */
6113
- BadRequest: {
6114
- headers: {
6115
- [name: string]: unknown;
6116
- };
6117
- content: {
6118
- "application/json": components["schemas"]["ProblemDetails"];
6457
+ EmailOtpVerifyResponse: {
6458
+ /** @description JWT access token */
6459
+ token: string;
6460
+ /** Format: uuid */
6461
+ user_id: string;
6462
+ /** Format: uuid */
6463
+ org_id: string;
6464
+ is_new_user: boolean;
6465
+ /** Format: email */
6466
+ email: string;
6467
+ /** @description Ethereum address if auto_provision_chains included an EVM chain */
6468
+ wallet_address?: string | null;
6469
+ };
6470
+ OAuthConsentResponse: {
6471
+ app_name: string;
6472
+ app_slug: string;
6473
+ /** Format: uri */
6474
+ app_logo_url?: string | null;
6475
+ scopes: string[];
6476
+ /** Format: uri */
6477
+ redirect_uri: string;
6478
+ already_consented: boolean;
6479
+ };
6480
+ OAuthTokenResponse: {
6481
+ access_token: string;
6482
+ /** @enum {string} */
6483
+ token_type: "Bearer";
6484
+ /** @description Token lifetime in seconds */
6485
+ expires_in: number;
6486
+ /** @description OIDC ID token (when openid scope was granted) */
6487
+ id_token?: string | null;
6488
+ scope: string;
6489
+ };
6490
+ OAuthUserInfoResponse: {
6491
+ /** Format: uuid */
6492
+ sub: string;
6493
+ /** Format: email */
6494
+ email: string;
6495
+ name?: string | null;
6496
+ wallet_address?: string | null;
6497
+ };
6498
+ CreateSpendPolicyRequest: {
6499
+ /**
6500
+ * Format: uuid
6501
+ * @description Scope to a specific user (app-level policies only)
6502
+ */
6503
+ user_id?: string;
6504
+ /** @description Permitted destination addresses (empty = unrestricted) */
6505
+ to_allowlist?: string[];
6506
+ /** @description Blocked destination addresses */
6507
+ to_denylist?: string[];
6508
+ /** @description Maximum value per transaction in ETH (decimal string) */
6509
+ max_value_per_tx_eth?: string;
6510
+ /** @description Rolling 24h spend cap in ETH (decimal string) */
6511
+ daily_limit_eth?: string;
6512
+ /** @description Chains the user may transact on (empty = all enabled) */
6513
+ allowed_chains?: string[];
6514
+ /** @description Permitted ERC-20 token contract addresses */
6515
+ allowed_tokens?: string[];
6516
+ /** @description Maximum number of transactions per 24h window */
6517
+ max_transactions_per_day?: number;
6518
+ };
6519
+ SpendPolicyResponse: {
6520
+ /** Format: uuid */
6521
+ id: string;
6522
+ /** Format: uuid */
6523
+ platform_app_id: string;
6524
+ /** Format: uuid */
6525
+ user_id?: string | null;
6526
+ to_allowlist?: string[];
6527
+ to_denylist?: string[];
6528
+ max_value_per_tx_eth?: string | null;
6529
+ daily_limit_eth?: string | null;
6530
+ allowed_chains?: string[];
6531
+ allowed_tokens?: string[];
6532
+ max_transactions_per_day?: number | null;
6533
+ /** Format: date-time */
6534
+ created_at: string;
6535
+ };
6536
+ RiskEvent: {
6537
+ /** Format: uuid */
6538
+ id: string;
6539
+ /** Format: date-time */
6540
+ occurred_at: string;
6541
+ /** @enum {string} */
6542
+ principal_type: "user" | "agent";
6543
+ /** Format: uuid */
6544
+ principal_id: string;
6545
+ /** Format: uuid */
6546
+ org_id: string;
6547
+ /** @description Risk event type (e.g. first_seen, geo_velocity, honeytoken_access) */
6548
+ event_type: string;
6549
+ ip?: string | null;
6550
+ asn?: number | null;
6551
+ asn_org?: string | null;
6552
+ country_code?: string | null;
6553
+ region?: string | null;
6554
+ city?: string | null;
6555
+ latitude?: number | null;
6556
+ longitude?: number | null;
6557
+ user_agent?: string | null;
6558
+ payload: {
6559
+ [key: string]: unknown;
6560
+ };
6561
+ /** Format: date-time */
6562
+ created_at: string;
6563
+ };
6564
+ RiskEventListResponse: {
6565
+ events: components["schemas"]["RiskEvent"][];
6566
+ };
6567
+ RiskVerdictReason: {
6568
+ detector: string;
6569
+ severity: string;
6570
+ description: string;
6571
+ metadata?: {
6572
+ [key: string]: unknown;
6573
+ };
6574
+ };
6575
+ RiskVerdict: {
6576
+ principal_type: string;
6577
+ /** Format: uuid */
6578
+ principal_id: string;
6579
+ /** Format: uuid */
6580
+ org_id: string;
6581
+ /** @description Composite risk score (0.0 – 100.0) */
6582
+ score: number;
6583
+ /** @enum {string} */
6584
+ severity: "low" | "medium" | "high" | "critical";
6585
+ reasons: components["schemas"]["RiskVerdictReason"][];
6586
+ /** Format: date-time */
6587
+ computed_at: string;
6588
+ /** Format: date-time */
6589
+ expires_at: string;
6590
+ };
6591
+ RiskVerdictListResponse: {
6592
+ verdicts: components["schemas"]["RiskVerdict"][];
6593
+ };
6594
+ Honeytoken: {
6595
+ /** Format: uuid */
6596
+ id: string;
6597
+ /** Format: uuid */
6598
+ vault_id: string;
6599
+ /** Format: uuid */
6600
+ org_id: string;
6601
+ secret_path: string;
6602
+ /** Format: uuid */
6603
+ created_by: string;
6604
+ /** Format: date-time */
6605
+ created_at: string;
6606
+ notes?: string | null;
6607
+ triggered_count: number;
6608
+ /** Format: date-time */
6609
+ last_triggered_at?: string | null;
6610
+ };
6611
+ CreateHoneytokenRequest: {
6612
+ /** Format: uuid */
6613
+ vault_id: string;
6614
+ /** @description Vault secret path to monitor as a canary */
6615
+ secret_path: string;
6616
+ /** @description Optional human-readable notes about this honeytoken */
6617
+ notes?: string;
6618
+ };
6619
+ HoneytokenListResponse: {
6620
+ honeytokens: components["schemas"]["Honeytoken"][];
6621
+ };
6622
+ };
6623
+ responses: {
6624
+ /** @description Invalid request */
6625
+ BadRequest: {
6626
+ headers: {
6627
+ [name: string]: unknown;
6628
+ };
6629
+ content: {
6630
+ "application/json": components["schemas"]["ProblemDetails"];
6119
6631
  };
6120
6632
  };
6121
6633
  /** @description Authentication required or invalid */
@@ -9022,6 +9534,75 @@ export interface operations {
9022
9534
  };
9023
9535
  };
9024
9536
  };
9537
+ getOrgBankrConfig: {
9538
+ parameters: {
9539
+ query?: never;
9540
+ header?: never;
9541
+ path?: never;
9542
+ cookie?: never;
9543
+ };
9544
+ requestBody?: never;
9545
+ responses: {
9546
+ /** @description Bankr configuration status */
9547
+ 200: {
9548
+ headers: {
9549
+ [name: string]: unknown;
9550
+ };
9551
+ content: {
9552
+ "application/json": components["schemas"]["OrgBankrConfigResponse"];
9553
+ };
9554
+ };
9555
+ };
9556
+ };
9557
+ upsertOrgBankrConfig: {
9558
+ parameters: {
9559
+ query?: never;
9560
+ header?: never;
9561
+ path?: never;
9562
+ cookie?: never;
9563
+ };
9564
+ requestBody: {
9565
+ content: {
9566
+ "application/json": components["schemas"]["UpsertOrgBankrConfigRequest"];
9567
+ };
9568
+ };
9569
+ responses: {
9570
+ /** @description Configuration saved */
9571
+ 200: {
9572
+ headers: {
9573
+ [name: string]: unknown;
9574
+ };
9575
+ content: {
9576
+ "application/json": components["schemas"]["OrgBankrConfigResponse"];
9577
+ };
9578
+ };
9579
+ };
9580
+ };
9581
+ deleteOrgBankrConfig: {
9582
+ parameters: {
9583
+ query?: never;
9584
+ header?: never;
9585
+ path?: never;
9586
+ cookie?: never;
9587
+ };
9588
+ requestBody?: never;
9589
+ responses: {
9590
+ /** @description Configuration removed */
9591
+ 204: {
9592
+ headers: {
9593
+ [name: string]: unknown;
9594
+ };
9595
+ content?: never;
9596
+ };
9597
+ /** @description Configuration not found */
9598
+ 404: {
9599
+ headers: {
9600
+ [name: string]: unknown;
9601
+ };
9602
+ content?: never;
9603
+ };
9604
+ };
9605
+ };
9025
9606
  inviteMember: {
9026
9607
  parameters: {
9027
9608
  query?: never;
@@ -10125,6 +10706,29 @@ export interface operations {
10125
10706
  404: components["responses"]["NotFound"];
10126
10707
  };
10127
10708
  };
10709
+ getEffectiveSpendPolicy: {
10710
+ parameters: {
10711
+ query?: never;
10712
+ header?: never;
10713
+ path?: never;
10714
+ cookie?: never;
10715
+ };
10716
+ requestBody?: never;
10717
+ responses: {
10718
+ /** @description Effective spend policy */
10719
+ 200: {
10720
+ headers: {
10721
+ [name: string]: unknown;
10722
+ };
10723
+ content: {
10724
+ "application/json": {
10725
+ policy?: components["schemas"]["SpendPolicyResponse"] | null;
10726
+ };
10727
+ };
10728
+ };
10729
+ 401: components["responses"]["Unauthorized"];
10730
+ };
10731
+ };
10128
10732
  listWebhooks: {
10129
10733
  parameters: {
10130
10734
  query?: never;
@@ -10562,6 +11166,108 @@ export interface operations {
10562
11166
  };
10563
11167
  };
10564
11168
  };
11169
+ listSpendPolicies: {
11170
+ parameters: {
11171
+ query?: never;
11172
+ header?: never;
11173
+ path: {
11174
+ appId: string;
11175
+ };
11176
+ cookie?: never;
11177
+ };
11178
+ requestBody?: never;
11179
+ responses: {
11180
+ /** @description Spend policies */
11181
+ 200: {
11182
+ headers: {
11183
+ [name: string]: unknown;
11184
+ };
11185
+ content: {
11186
+ "application/json": {
11187
+ policies?: components["schemas"]["SpendPolicyResponse"][];
11188
+ };
11189
+ };
11190
+ };
11191
+ };
11192
+ };
11193
+ createSpendPolicy: {
11194
+ parameters: {
11195
+ query?: never;
11196
+ header?: never;
11197
+ path: {
11198
+ appId: string;
11199
+ };
11200
+ cookie?: never;
11201
+ };
11202
+ requestBody: {
11203
+ content: {
11204
+ "application/json": components["schemas"]["CreateSpendPolicyRequest"];
11205
+ };
11206
+ };
11207
+ responses: {
11208
+ /** @description Spend policy created */
11209
+ 201: {
11210
+ headers: {
11211
+ [name: string]: unknown;
11212
+ };
11213
+ content: {
11214
+ "application/json": components["schemas"]["SpendPolicyResponse"];
11215
+ };
11216
+ };
11217
+ 400: components["responses"]["BadRequest"];
11218
+ 403: components["responses"]["Forbidden"];
11219
+ };
11220
+ };
11221
+ deleteSpendPolicy: {
11222
+ parameters: {
11223
+ query?: never;
11224
+ header?: never;
11225
+ path: {
11226
+ appId: string;
11227
+ policyId: string;
11228
+ };
11229
+ cookie?: never;
11230
+ };
11231
+ requestBody?: never;
11232
+ responses: {
11233
+ /** @description Deleted */
11234
+ 204: {
11235
+ headers: {
11236
+ [name: string]: unknown;
11237
+ };
11238
+ content?: never;
11239
+ };
11240
+ 404: components["responses"]["NotFound"];
11241
+ };
11242
+ };
11243
+ setUserSpendPolicy: {
11244
+ parameters: {
11245
+ query?: never;
11246
+ header?: never;
11247
+ path: {
11248
+ connectionId: string;
11249
+ };
11250
+ cookie?: never;
11251
+ };
11252
+ requestBody: {
11253
+ content: {
11254
+ "application/json": components["schemas"]["CreateSpendPolicyRequest"];
11255
+ };
11256
+ };
11257
+ responses: {
11258
+ /** @description Spend policy set */
11259
+ 200: {
11260
+ headers: {
11261
+ [name: string]: unknown;
11262
+ };
11263
+ content: {
11264
+ "application/json": components["schemas"]["SpendPolicyResponse"];
11265
+ };
11266
+ };
11267
+ 400: components["responses"]["BadRequest"];
11268
+ 403: components["responses"]["Forbidden"];
11269
+ };
11270
+ };
10565
11271
  listApprovals: {
10566
11272
  parameters: {
10567
11273
  query?: {
@@ -10984,5 +11690,407 @@ export interface operations {
10984
11690
  };
10985
11691
  };
10986
11692
  };
11693
+ sendEmailOtp: {
11694
+ parameters: {
11695
+ query?: never;
11696
+ header?: never;
11697
+ path?: never;
11698
+ cookie?: never;
11699
+ };
11700
+ requestBody: {
11701
+ content: {
11702
+ "application/json": {
11703
+ /** Format: email */
11704
+ email: string;
11705
+ /**
11706
+ * Format: uuid
11707
+ * @description Optional platform app context for embedded wallet flows
11708
+ */
11709
+ platform_app_id?: string;
11710
+ };
11711
+ };
11712
+ };
11713
+ responses: {
11714
+ /** @description OTP sent */
11715
+ 200: {
11716
+ headers: {
11717
+ [name: string]: unknown;
11718
+ };
11719
+ content: {
11720
+ "application/json": {
11721
+ /** @enum {string} */
11722
+ status?: "sent";
11723
+ };
11724
+ };
11725
+ };
11726
+ /** @description Rate limited */
11727
+ 429: {
11728
+ headers: {
11729
+ [name: string]: unknown;
11730
+ };
11731
+ content?: never;
11732
+ };
11733
+ };
11734
+ };
11735
+ verifyEmailOtp: {
11736
+ parameters: {
11737
+ query?: never;
11738
+ header?: never;
11739
+ path?: never;
11740
+ cookie?: never;
11741
+ };
11742
+ requestBody: {
11743
+ content: {
11744
+ "application/json": {
11745
+ /** Format: email */
11746
+ email: string;
11747
+ /** @description 6-digit OTP code */
11748
+ code: string;
11749
+ /** Format: uuid */
11750
+ platform_app_id?: string;
11751
+ /** @description Chains to auto-generate wallets for (e.g. ["ethereum", "base"]) */
11752
+ auto_provision_chains?: string[];
11753
+ };
11754
+ };
11755
+ };
11756
+ responses: {
11757
+ /** @description Existing user authenticated */
11758
+ 200: {
11759
+ headers: {
11760
+ [name: string]: unknown;
11761
+ };
11762
+ content: {
11763
+ "application/json": components["schemas"]["EmailOtpVerifyResponse"];
11764
+ };
11765
+ };
11766
+ /** @description New user created and authenticated */
11767
+ 201: {
11768
+ headers: {
11769
+ [name: string]: unknown;
11770
+ };
11771
+ content: {
11772
+ "application/json": components["schemas"]["EmailOtpVerifyResponse"];
11773
+ };
11774
+ };
11775
+ /** @description Invalid or expired code */
11776
+ 400: {
11777
+ headers: {
11778
+ [name: string]: unknown;
11779
+ };
11780
+ content?: never;
11781
+ };
11782
+ /** @description Rate limited */
11783
+ 429: {
11784
+ headers: {
11785
+ [name: string]: unknown;
11786
+ };
11787
+ content?: never;
11788
+ };
11789
+ };
11790
+ };
11791
+ getOAuthConsent: {
11792
+ parameters: {
11793
+ query: {
11794
+ /** @description Platform app slug */
11795
+ client_id: string;
11796
+ redirect_uri: string;
11797
+ response_type: "code";
11798
+ /** @description Space-delimited scopes (e.g. "openid email wallet") */
11799
+ scope?: string;
11800
+ state?: string;
11801
+ /** @description PKCE code challenge */
11802
+ code_challenge?: string;
11803
+ code_challenge_method?: "S256" | "plain";
11804
+ /** @description OIDC nonce for ID token replay protection */
11805
+ nonce?: string;
11806
+ };
11807
+ header?: never;
11808
+ path?: never;
11809
+ cookie?: never;
11810
+ };
11811
+ requestBody?: never;
11812
+ responses: {
11813
+ /** @description Consent screen data */
11814
+ 200: {
11815
+ headers: {
11816
+ [name: string]: unknown;
11817
+ };
11818
+ content: {
11819
+ "application/json": components["schemas"]["OAuthConsentResponse"];
11820
+ };
11821
+ };
11822
+ /** @description Invalid client_id, redirect_uri, or response_type */
11823
+ 400: {
11824
+ headers: {
11825
+ [name: string]: unknown;
11826
+ };
11827
+ content?: never;
11828
+ };
11829
+ };
11830
+ };
11831
+ submitOAuthConsent: {
11832
+ parameters: {
11833
+ query?: never;
11834
+ header?: never;
11835
+ path?: never;
11836
+ cookie?: never;
11837
+ };
11838
+ requestBody: {
11839
+ content: {
11840
+ "application/json": {
11841
+ approve: boolean;
11842
+ client_id: string;
11843
+ /** Format: uri */
11844
+ redirect_uri: string;
11845
+ scope?: string;
11846
+ state?: string;
11847
+ code_challenge?: string;
11848
+ /** @enum {string} */
11849
+ code_challenge_method?: "S256" | "plain";
11850
+ nonce?: string;
11851
+ };
11852
+ };
11853
+ };
11854
+ responses: {
11855
+ /** @description Redirect URL with authorization code or error */
11856
+ 200: {
11857
+ headers: {
11858
+ [name: string]: unknown;
11859
+ };
11860
+ content: {
11861
+ "application/json": {
11862
+ /** Format: uri */
11863
+ redirect_url: string;
11864
+ };
11865
+ };
11866
+ };
11867
+ /** @description Invalid request */
11868
+ 400: {
11869
+ headers: {
11870
+ [name: string]: unknown;
11871
+ };
11872
+ content?: never;
11873
+ };
11874
+ };
11875
+ };
11876
+ exchangeOAuthToken: {
11877
+ parameters: {
11878
+ query?: never;
11879
+ header?: never;
11880
+ path?: never;
11881
+ cookie?: never;
11882
+ };
11883
+ requestBody: {
11884
+ content: {
11885
+ "application/json": {
11886
+ /** @enum {string} */
11887
+ grant_type: "authorization_code";
11888
+ code: string;
11889
+ client_id: string;
11890
+ /** Format: uri */
11891
+ redirect_uri: string;
11892
+ /** @description PKCE code verifier (required when code_challenge was used) */
11893
+ code_verifier?: string;
11894
+ };
11895
+ };
11896
+ };
11897
+ responses: {
11898
+ /** @description Token response */
11899
+ 200: {
11900
+ headers: {
11901
+ [name: string]: unknown;
11902
+ };
11903
+ content: {
11904
+ "application/json": components["schemas"]["OAuthTokenResponse"];
11905
+ };
11906
+ };
11907
+ /** @description Invalid grant, code, or verifier */
11908
+ 400: {
11909
+ headers: {
11910
+ [name: string]: unknown;
11911
+ };
11912
+ content?: never;
11913
+ };
11914
+ /** @description Invalid client credentials */
11915
+ 401: {
11916
+ headers: {
11917
+ [name: string]: unknown;
11918
+ };
11919
+ content?: never;
11920
+ };
11921
+ };
11922
+ };
11923
+ getOAuthUserInfo: {
11924
+ parameters: {
11925
+ query?: never;
11926
+ header?: never;
11927
+ path?: never;
11928
+ cookie?: never;
11929
+ };
11930
+ requestBody?: never;
11931
+ responses: {
11932
+ /** @description User info */
11933
+ 200: {
11934
+ headers: {
11935
+ [name: string]: unknown;
11936
+ };
11937
+ content: {
11938
+ "application/json": components["schemas"]["OAuthUserInfoResponse"];
11939
+ };
11940
+ };
11941
+ 401: components["responses"]["Unauthorized"];
11942
+ };
11943
+ };
11944
+ listRiskEvents: {
11945
+ parameters: {
11946
+ query?: {
11947
+ /** @description Filter events by severity level */
11948
+ severity?: "low" | "medium" | "high" | "critical";
11949
+ /** @description Filter events by principal type */
11950
+ principal_type?: "user" | "agent";
11951
+ limit?: number;
11952
+ offset?: number;
11953
+ };
11954
+ header?: never;
11955
+ path?: never;
11956
+ cookie?: never;
11957
+ };
11958
+ requestBody?: never;
11959
+ responses: {
11960
+ /** @description Risk event list */
11961
+ 200: {
11962
+ headers: {
11963
+ [name: string]: unknown;
11964
+ };
11965
+ content: {
11966
+ "application/json": components["schemas"]["RiskEventListResponse"];
11967
+ };
11968
+ };
11969
+ 401: components["responses"]["Unauthorized"];
11970
+ };
11971
+ };
11972
+ listRiskVerdicts: {
11973
+ parameters: {
11974
+ query?: never;
11975
+ header?: never;
11976
+ path?: never;
11977
+ cookie?: never;
11978
+ };
11979
+ requestBody?: never;
11980
+ responses: {
11981
+ /** @description Verdict list */
11982
+ 200: {
11983
+ headers: {
11984
+ [name: string]: unknown;
11985
+ };
11986
+ content: {
11987
+ "application/json": components["schemas"]["RiskVerdictListResponse"];
11988
+ };
11989
+ };
11990
+ 401: components["responses"]["Unauthorized"];
11991
+ };
11992
+ };
11993
+ getRiskVerdict: {
11994
+ parameters: {
11995
+ query?: never;
11996
+ header?: never;
11997
+ path: {
11998
+ principal_type: "user" | "agent";
11999
+ principal_id: string;
12000
+ };
12001
+ cookie?: never;
12002
+ };
12003
+ requestBody?: never;
12004
+ responses: {
12005
+ /** @description Risk verdict (null if no verdict exists) */
12006
+ 200: {
12007
+ headers: {
12008
+ [name: string]: unknown;
12009
+ };
12010
+ content: {
12011
+ "application/json": {
12012
+ verdict?: components["schemas"]["RiskVerdict"];
12013
+ };
12014
+ };
12015
+ };
12016
+ 401: components["responses"]["Unauthorized"];
12017
+ 404: components["responses"]["NotFound"];
12018
+ };
12019
+ };
12020
+ listHoneytokens: {
12021
+ parameters: {
12022
+ query?: never;
12023
+ header?: never;
12024
+ path?: never;
12025
+ cookie?: never;
12026
+ };
12027
+ requestBody?: never;
12028
+ responses: {
12029
+ /** @description Honeytoken list */
12030
+ 200: {
12031
+ headers: {
12032
+ [name: string]: unknown;
12033
+ };
12034
+ content: {
12035
+ "application/json": components["schemas"]["HoneytokenListResponse"];
12036
+ };
12037
+ };
12038
+ 401: components["responses"]["Unauthorized"];
12039
+ };
12040
+ };
12041
+ createHoneytoken: {
12042
+ parameters: {
12043
+ query?: never;
12044
+ header?: never;
12045
+ path?: never;
12046
+ cookie?: never;
12047
+ };
12048
+ requestBody: {
12049
+ content: {
12050
+ "application/json": components["schemas"]["CreateHoneytokenRequest"];
12051
+ };
12052
+ };
12053
+ responses: {
12054
+ /** @description Honeytoken created */
12055
+ 201: {
12056
+ headers: {
12057
+ [name: string]: unknown;
12058
+ };
12059
+ content: {
12060
+ "application/json": {
12061
+ honeytoken?: components["schemas"]["Honeytoken"];
12062
+ };
12063
+ };
12064
+ };
12065
+ 400: components["responses"]["BadRequest"];
12066
+ 401: components["responses"]["Unauthorized"];
12067
+ };
12068
+ };
12069
+ deleteHoneytoken: {
12070
+ parameters: {
12071
+ query?: never;
12072
+ header?: never;
12073
+ path: {
12074
+ id: string;
12075
+ };
12076
+ cookie?: never;
12077
+ };
12078
+ requestBody?: never;
12079
+ responses: {
12080
+ /** @description Honeytoken deleted */
12081
+ 200: {
12082
+ headers: {
12083
+ [name: string]: unknown;
12084
+ };
12085
+ content: {
12086
+ "application/json": {
12087
+ deleted?: boolean;
12088
+ };
12089
+ };
12090
+ };
12091
+ 401: components["responses"]["Unauthorized"];
12092
+ 404: components["responses"]["NotFound"];
12093
+ };
12094
+ };
10987
12095
  }
10988
12096
  //# sourceMappingURL=api-types.d.ts.map