@stable_sea/sdk 0.2.24 → 0.2.26

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.
@@ -1260,7 +1260,7 @@ export interface paths {
1260
1260
  };
1261
1261
  /**
1262
1262
  * List what depends on a member's approval
1263
- * @description Approval rules, other members' approver choices and open requests in your current business that need this member's own sign-off. Suspending or removing the member stalls each of them until someone edits the rule or choice. Read before you confirm; nothing is changed. Requires permissions_manage. Request rows also require transfers_approve in a KYB-approved business; otherwise only their count is returned.
1263
+ * @description Approval rules, other members' approver choices, open money requests and the count of wallet registrations that depend on this member's access in your current business. Suspending or removing the member stalls each of them until someone edits the rule or choice. Read before you confirm; nothing is changed. Requires permissions_manage. Request rows also require transfers_approve in a KYB-approved business; otherwise only their count is returned.
1264
1264
  */
1265
1265
  get: operations["money.member_approval_dependencies.get"];
1266
1266
  put?: never;
@@ -1539,6 +1539,147 @@ export interface paths {
1539
1539
  patch?: never;
1540
1540
  trace?: never;
1541
1541
  };
1542
+ "/money/accounts/wallet_registrations": {
1543
+ parameters: {
1544
+ query?: never;
1545
+ header?: never;
1546
+ path?: never;
1547
+ cookie?: never;
1548
+ };
1549
+ /** List wallet registration instructions */
1550
+ get: operations["money.accounts.wallet_registrations.list"];
1551
+ put?: never;
1552
+ post?: never;
1553
+ delete?: never;
1554
+ options?: never;
1555
+ head?: never;
1556
+ patch?: never;
1557
+ trace?: never;
1558
+ };
1559
+ "/money/accounts/wallet_registrations/{id}": {
1560
+ parameters: {
1561
+ query?: never;
1562
+ header?: never;
1563
+ path?: never;
1564
+ cookie?: never;
1565
+ };
1566
+ /**
1567
+ * Get wallet registration instruction
1568
+ * @description One immutable instruction with at most 3 embedded lifecycle entries: pending, optional human decision, and terminal outcome.
1569
+ */
1570
+ get: operations["money.accounts.wallet_registrations.get"];
1571
+ put?: never;
1572
+ post?: never;
1573
+ delete?: never;
1574
+ options?: never;
1575
+ head?: never;
1576
+ patch?: never;
1577
+ trace?: never;
1578
+ };
1579
+ "/money/accounts/wallet_registrations/{id}/approve": {
1580
+ parameters: {
1581
+ query?: never;
1582
+ header?: never;
1583
+ path?: never;
1584
+ cookie?: never;
1585
+ };
1586
+ get?: never;
1587
+ put?: never;
1588
+ /**
1589
+ * Decide wallet registration
1590
+ * @description Conditional immutable human decision only; matching authorized replays return the current instruction, conflicting decisions return 409. Provider registration is owned by the durable worker. The single instruction embeds at most 3 append-only lifecycle entries: pending, optional human decision, and terminal outcome.
1591
+ */
1592
+ post: operations["money.accounts.wallet_registrations.approved"];
1593
+ delete?: never;
1594
+ options?: never;
1595
+ head?: never;
1596
+ patch?: never;
1597
+ trace?: never;
1598
+ };
1599
+ "/money/accounts/wallet_registrations/{id}/cancel": {
1600
+ parameters: {
1601
+ query?: never;
1602
+ header?: never;
1603
+ path?: never;
1604
+ cookie?: never;
1605
+ };
1606
+ get?: never;
1607
+ put?: never;
1608
+ /**
1609
+ * Cancel wallet registration
1610
+ * @description Conditional cancellation of one instruction; matching requester replays return the current instruction, conflicting decisions return 409. No partner call. One instruction embeds at most 3 lifecycle entries: pending, optional human decision, and terminal outcome.
1611
+ */
1612
+ post: operations["money.accounts.wallet_registrations.cancel"];
1613
+ delete?: never;
1614
+ options?: never;
1615
+ head?: never;
1616
+ patch?: never;
1617
+ trace?: never;
1618
+ };
1619
+ "/money/accounts/wallet_registrations/{id}/deny": {
1620
+ parameters: {
1621
+ query?: never;
1622
+ header?: never;
1623
+ path?: never;
1624
+ cookie?: never;
1625
+ };
1626
+ get?: never;
1627
+ put?: never;
1628
+ /**
1629
+ * Decide wallet registration
1630
+ * @description Conditional immutable human decision only; matching authorized replays return the current instruction, conflicting decisions return 409. Provider registration is owned by the durable worker. The single instruction embeds at most 3 append-only lifecycle entries: pending, optional human decision, and terminal outcome.
1631
+ */
1632
+ post: operations["money.accounts.wallet_registrations.denied"];
1633
+ delete?: never;
1634
+ options?: never;
1635
+ head?: never;
1636
+ patch?: never;
1637
+ trace?: never;
1638
+ };
1639
+ "/money/accounts/whitelist": {
1640
+ parameters: {
1641
+ query?: never;
1642
+ header?: never;
1643
+ path?: never;
1644
+ cookie?: never;
1645
+ };
1646
+ /**
1647
+ * List saved on-chain destinations
1648
+ * @description Lists the business's saved on-chain destinations. Set `customer_visible_only=true` to exclude platform-provisioned rails. Use a destination's `id` as `account_id` when submitting an on-chain withdrawal; its asset, network, address and memo are resolved from that saved account. Listing a destination does not guarantee withdrawal eligibility. Submission rechecks its current status, screening, network and financial controls. Use `next_cursor` as `cursor` to read the next page.
1649
+ */
1650
+ get: operations["money.accounts.whitelist.list"];
1651
+ put?: never;
1652
+ /**
1653
+ * Create onchain whitelisted address (business)
1654
+ * @description Business-scoped creation of a user-defined USDC whitelisted external address. Requires owner_attestation: true. An onchain_stellar address requires either memo_id or memo_not_required: true. With selected member approval, the acknowledgement carries one immutable instruction with at most 3 lifecycle entries.
1655
+ */
1656
+ post: operations["money.accounts.whitelist.create"];
1657
+ delete?: never;
1658
+ options?: never;
1659
+ head?: never;
1660
+ patch?: never;
1661
+ trace?: never;
1662
+ };
1663
+ "/money/accounts/whitelist/{id}/rename": {
1664
+ parameters: {
1665
+ query?: never;
1666
+ header?: never;
1667
+ path?: never;
1668
+ cookie?: never;
1669
+ };
1670
+ get?: never;
1671
+ put?: never;
1672
+ /**
1673
+ * Rename a connected wallet (business)
1674
+ * @description Renames a whitelisted external address the customer connected, re-running the counterparty-name sanctions screen on the new name. The address, network, memo, status and every other property are unchanged. A name bound to a wallet registration instruction cannot be changed, including after approval or activation (409 wallet_registration_state_conflict). Renaming to the current name is a no-op.
1675
+ */
1676
+ post: operations["money.accounts.whitelist.rename"];
1677
+ delete?: never;
1678
+ options?: never;
1679
+ head?: never;
1680
+ patch?: never;
1681
+ trace?: never;
1682
+ };
1542
1683
  "/money/approval_rules": {
1543
1684
  parameters: {
1544
1685
  query?: never;
@@ -1643,6 +1784,28 @@ export interface paths {
1643
1784
  patch?: never;
1644
1785
  trace?: never;
1645
1786
  };
1787
+ "/money/onchain/withdrawals": {
1788
+ parameters: {
1789
+ query?: never;
1790
+ header?: never;
1791
+ path?: never;
1792
+ cookie?: never;
1793
+ };
1794
+ get?: never;
1795
+ put?: never;
1796
+ /**
1797
+ * Create an on-chain withdrawal
1798
+ * @description Creates a withdrawal to an existing allowlisted external-wallet account. The account supplies the asset, network, address and any memo; raw destination addresses are not accepted. Requires business verification and `funds_withdraw`, plus the current network, compliance, balance and approval checks.
1799
+ *
1800
+ * An `approval_pending` outcome contains the approval request and moves no money. A `created` outcome identifies the booked movement; it does not mean settlement has completed. Keep the same `Idempotency-Key` and body after an uncertain submission; a duplicate returns 409.
1801
+ */
1802
+ post: operations["money.onchain.withdrawals.create"];
1803
+ delete?: never;
1804
+ options?: never;
1805
+ head?: never;
1806
+ patch?: never;
1807
+ trace?: never;
1808
+ };
1646
1809
  "/money/test_approval_rules": {
1647
1810
  parameters: {
1648
1811
  query?: never;
@@ -3238,6 +3401,7 @@ export interface components {
3238
3401
  fund_buy?: components["schemas"]["MembersMemberActionOverride"];
3239
3402
  fund_sell?: components["schemas"]["MembersMemberActionOverride"];
3240
3403
  onchain_withdrawal?: components["schemas"]["MembersMemberActionOverride"];
3404
+ wallet_add?: components["schemas"]["MembersMemberActionOverride"];
3241
3405
  wire_withdrawal?: components["schemas"]["MembersMemberActionOverride"];
3242
3406
  };
3243
3407
  MembersMemberActionOverride: {
@@ -3287,6 +3451,7 @@ export interface components {
3287
3451
  fund_buy?: components["schemas"]["MembersMemberActionOverride"];
3288
3452
  fund_sell?: components["schemas"]["MembersMemberActionOverride"];
3289
3453
  onchain_withdrawal?: components["schemas"]["MembersMemberActionOverride"];
3454
+ wallet_add?: components["schemas"]["MembersMemberActionOverride"];
3290
3455
  wire_withdrawal?: components["schemas"]["MembersMemberActionOverride"];
3291
3456
  };
3292
3457
  MembersActionSettingsPermissionPatch: {
@@ -3355,25 +3520,30 @@ export interface components {
3355
3520
  approver_choices: components["schemas"]["MoneyMovementsMemberApproverChoiceView"][];
3356
3521
  /** Format: int64 */
3357
3522
  pending_request_count: number;
3358
- /** @description Open approval requests whose saved policy needs the member's separate sign-off, newest first. At most 50. Empty when the caller cannot read the business's approval queue (business: transfers_approve in a KYB-approved business; OpsDash: transactions_view); pending_request_count counts all of them either way. */
3523
+ /** @description Open money approval requests whose saved policy needs the member's separate sign-off, newest first. At most 50. Empty when the caller cannot read the business's approval queue (business: transfers_approve in a KYB-approved business; OpsDash: transactions_view); pending_request_count counts all of them either way. */
3359
3524
  pending_requests: components["schemas"]["MoneyMovementsMemberApprovalPendingRequestView"][];
3360
3525
  /** Format: int64 */
3361
3526
  rule_count: number;
3362
3527
  /** @description Current approval rules that name the member as the additional required approver. At most 100, the rule cap. Empty when the caller cannot read approval rules (OpsDash: compliance_view); rule_count still counts them. */
3363
3528
  rules: components["schemas"]["MoneyMovementsApprovalRuleView"][];
3529
+ /**
3530
+ * Format: int64
3531
+ * @description Unexpired wallet registrations that select this member and await approval or activation. Count only: no wallet details, comments or history are disclosed.
3532
+ */
3533
+ wallet_registration_count: number;
3364
3534
  };
3365
3535
  MoneyMovementsMemberApproverChoiceView: {
3366
- action: components["schemas"]["MoneyMovementsApprovalFlow"];
3536
+ action: components["schemas"]["MoneyMovementsMemberApprovalDependencyAction"];
3367
3537
  /** @description Fund type of this selected-member condition; absent for an all-assets setting. */
3368
3538
  fund_category?: string;
3369
3539
  /** @description The member whose setting selects the addressed member. */
3370
3540
  individual_id: string;
3371
3541
  member_name: string;
3372
- /** @description Exact USD threshold, or null when this fund-type condition applies to every amount. */
3542
+ /** @description Exact USD threshold, or null for every amount or a non-money wallet registration. */
3373
3543
  min_amount_usd: string | null;
3374
3544
  };
3375
3545
  /** @enum {string} */
3376
- MoneyMovementsApprovalFlow: "ach_withdrawal" | "wire_withdrawal" | "onchain_withdrawal" | "fund_buy" | "fund_sell";
3546
+ MoneyMovementsMemberApprovalDependencyAction: "ach_withdrawal" | "wire_withdrawal" | "onchain_withdrawal" | "fund_buy" | "fund_sell" | "wallet_add";
3377
3547
  MoneyMovementsMemberApprovalPendingRequestView: {
3378
3548
  amount_usd?: components["schemas"]["MoneyfmtMoneyAmountView"];
3379
3549
  /** Format: date-time */
@@ -3394,6 +3564,8 @@ export interface components {
3394
3564
  /** Format: int32 */
3395
3565
  required_approvals?: number;
3396
3566
  };
3567
+ /** @enum {string} */
3568
+ MoneyMovementsApprovalFlow: "ach_withdrawal" | "wire_withdrawal" | "onchain_withdrawal" | "fund_buy" | "fund_sell";
3397
3569
  MembersSetMemberRBACPolicyInput: {
3398
3570
  enabled?: boolean;
3399
3571
  rbac_type: string;
@@ -3444,11 +3616,18 @@ export interface components {
3444
3616
  session_token?: string;
3445
3617
  };
3446
3618
  MembersSaveTestMemberActionSettingsInput: {
3447
- actions: components["schemas"]["MembersMemberActionSettingsPatch"];
3619
+ actions: components["schemas"]["MembersTestMemberActionSettingsPatch"];
3448
3620
  expected_revision: string;
3449
3621
  /** Format: int32 */
3450
3622
  policy_schema_version?: number;
3451
3623
  };
3624
+ MembersTestMemberActionSettingsPatch: {
3625
+ ach_withdrawal?: components["schemas"]["MembersMemberActionOverride"];
3626
+ fund_buy?: components["schemas"]["MembersMemberActionOverride"];
3627
+ fund_sell?: components["schemas"]["MembersMemberActionOverride"];
3628
+ onchain_withdrawal?: components["schemas"]["MembersMemberActionOverride"];
3629
+ wire_withdrawal?: components["schemas"]["MembersMemberActionOverride"];
3630
+ };
3452
3631
  IdentityTwofaOutput: {
3453
3632
  /** @enum {string} */
3454
3633
  method?: "sms" | "totp";
@@ -3479,6 +3658,100 @@ export interface components {
3479
3658
  MiscAck: {
3480
3659
  ok?: boolean;
3481
3660
  };
3661
+ Page_MoneyAccountsWalletRegistrationView: {
3662
+ data: components["schemas"]["MoneyAccountsWalletRegistrationView"][] | null;
3663
+ has_more: boolean;
3664
+ next_cursor: string | null;
3665
+ total_count?: number | null;
3666
+ };
3667
+ MoneyAccountsWalletRegistrationView: {
3668
+ account_id?: string;
3669
+ address?: string;
3670
+ approval_allowed?: boolean;
3671
+ cancellation_allowed?: boolean;
3672
+ /** Format: date-time */
3673
+ created_ts?: string;
3674
+ /** Format: date-time */
3675
+ expires_ts?: string;
3676
+ history?: components["schemas"]["MoneyAccountsWalletRegistrationDecision"][] | null;
3677
+ id?: string;
3678
+ memo_id?: string;
3679
+ memo_not_required?: boolean;
3680
+ name?: string;
3681
+ owner_attested?: boolean;
3682
+ payment_rail?: string;
3683
+ requester_id?: string;
3684
+ requester_name?: string;
3685
+ selected_approver_id?: string;
3686
+ selected_approver_name?: string;
3687
+ state?: components["schemas"]["WalletregistrationState"];
3688
+ symbol?: string;
3689
+ };
3690
+ MoneyAccountsWalletRegistrationDecision: {
3691
+ actor_id?: string | null;
3692
+ actor_name?: string;
3693
+ note?: string | null;
3694
+ /** Format: date-time */
3695
+ recorded_ts?: string;
3696
+ state?: components["schemas"]["WalletregistrationState"];
3697
+ };
3698
+ /** @enum {string} */
3699
+ WalletregistrationState: "pending" | "approved" | "activated" | "denied" | "cancelled" | "expired" | "policy_changed";
3700
+ MoneyAccountsWalletRegistrationDecisionInput: {
3701
+ note?: string;
3702
+ };
3703
+ Page_MoneyAccountsWhitelistedExternalAddressView: {
3704
+ data: components["schemas"]["MoneyAccountsWhitelistedExternalAddressView"][] | null;
3705
+ has_more: boolean;
3706
+ next_cursor: string | null;
3707
+ total_count?: number | null;
3708
+ };
3709
+ MoneyAccountsWhitelistedExternalAddressView: {
3710
+ /** @description True when a Stable Sea operator registered this wallet for the business; omitted when the business added it itself. */
3711
+ added_by_stable_sea?: boolean;
3712
+ address?: string;
3713
+ counterparty?: string;
3714
+ /** @description Ready-to-open block-explorer URL for the address; absent when the rail has no explorer, in which case render the address as plain text. */
3715
+ explorer_url?: string;
3716
+ id?: string;
3717
+ memo_id?: string;
3718
+ name?: string;
3719
+ payment_rail?: string;
3720
+ status?: components["schemas"]["MoneyenumAccountStatus"];
3721
+ symbol?: string;
3722
+ };
3723
+ /** @enum {string} */
3724
+ MoneyenumAccountStatus: "enabled" | "disabled";
3725
+ MoneyAccountsCreateWhitelistedExternalAddressInput: {
3726
+ /** @description The wallet address, in the payment_rail's own format. On onchain_solana it must be a wallet, not a token account: an address the SPL Token or Token-2022 program owns is refused (solana_destination_token_account), so is an address off the ed25519 curve with no account on the network (solana_destination_account_not_found), and a failed network check refuses with a 503 to retry (solana_destination_unverifiable). */
3727
+ address: string;
3728
+ memo_id?: string;
3729
+ /** @description Customer attestation that this onchain_stellar destination needs no memo. A Stellar add must carry either memo_id or memo_not_required: true (wallet_memo_required otherwise). Refused together with memo_id and on any other payment_rail. false or omitted is no attestation. */
3730
+ memo_not_required?: boolean;
3731
+ name: string;
3732
+ /** @description Must be true: on behalf of the business, the customer attests that every deposit sent from this wallet or exchange account is the business's own property, not held for, owed to, or sent on behalf of anyone else, and that the details are correct. false is refused with wallet_owner_attestation_required. */
3733
+ owner_attestation: boolean;
3734
+ /** @enum {string} */
3735
+ payment_rail: "onchain_ethereum" | "onchain_stellar" | "onchain_solana";
3736
+ /** @enum {string} */
3737
+ symbol?: "USDC" | "XLM" | "YLDS";
3738
+ };
3739
+ MoneyAccountsCreateWhitelistedExternalAddressOutput: {
3740
+ account_id?: string;
3741
+ address?: string;
3742
+ /** @description Ready-to-open block-explorer URL for the address; absent when the rail has no explorer, in which case render the address as plain text. */
3743
+ explorer_url?: string;
3744
+ memo_id?: string;
3745
+ name?: string;
3746
+ payment_rail?: string;
3747
+ status?: components["schemas"]["MoneyenumAccountStatus"];
3748
+ symbol?: string;
3749
+ wallet_registration?: components["schemas"]["MoneyAccountsWalletRegistrationView"];
3750
+ };
3751
+ MoneyAccountsRenameWhitelistedExternalAddressInput: {
3752
+ /** @description The wallet's new name. Surrounding whitespace is trimmed; a blank name is refused. */
3753
+ name: string;
3754
+ };
3482
3755
  MoneyMovementsApprovalRulesOutput: {
3483
3756
  current?: components["schemas"]["MoneyMovementsApprovalRuleVersionView"];
3484
3757
  /** @description Current eligible approvers, populated only by GET /money/approval_rules. Null on writes; fetch GET after a successful save to refresh the roster. */
@@ -3539,70 +3812,169 @@ export interface components {
3539
3812
  contents?: string;
3540
3813
  found?: boolean;
3541
3814
  };
3542
- /** @enum {string} */
3543
- MoneyMovementsTransferApprovalStatus: "pending" | "approved" | "denied" | "cancelled" | "expired" | "policy_changed" | "failed";
3544
- Page_MoneyMovementsTransferApprovalView: {
3545
- data: components["schemas"]["MoneyMovementsTransferApprovalView"][] | null;
3546
- has_more: boolean;
3547
- next_cursor: string | null;
3548
- total_count?: number | null;
3815
+ MoneyMovementsCreateOnchainWithdrawalInput: {
3816
+ account_id: string;
3817
+ amount: string;
3549
3818
  };
3550
- MoneyMovementsTransferApprovalView: {
3551
- also_required_ind_id?: string | null;
3552
- also_required_name?: string;
3553
- also_required_satisfied?: boolean;
3554
- amount_usd?: components["schemas"]["MoneyfmtMoneyAmountView"];
3555
- /** Format: int32 */
3556
- approvals_received?: number;
3557
- composed_policy?: components["schemas"]["MoneyMovementsApprovalPolicyView"];
3558
- /** @description Current eligible approver display names excluding the requester; null when roster progress is unavailable. */
3559
- current_approver_names?: string[] | null;
3560
- decided_by?: string | null;
3819
+ MoneyMovementsCreateMoneyMovementOutput: {
3820
+ money_movement_id?: string;
3821
+ /** @enum {string} */
3822
+ outcome?: "created" | "approval_pending";
3823
+ transaction?: components["schemas"]["MoneyMovementsMoneyMovementView"];
3824
+ transfer_approval?: components["schemas"]["MoneyMovementsTransferApprovalView"];
3825
+ };
3826
+ MoneyMovementsMoneyMovementView: {
3827
+ automation_id?: string | null;
3828
+ complete: boolean;
3561
3829
  /** Format: date-time */
3562
- decided_ts?: string | null;
3563
- /** @description Historical tenant member display name of the final decider; omitted when no person decided. */
3564
- decider_name?: string;
3565
- /** @description Optional comment from a recorded execution recovery decision, attributed to decided_by and decided_ts. Original vote comments remain on vote rows. The legacy decision_note can repeat a successful final decision's comment or contain a system outcome note. */
3566
- decision_comment?: string;
3567
- decision_note?: string;
3830
+ completed_ts?: string;
3831
+ created_by: string;
3568
3832
  /** Format: date-time */
3569
- expires_ts?: string;
3570
- flow_label?: string;
3571
- group_id?: string;
3572
- id?: string;
3573
- money_movement_id?: string | null;
3574
- native_asset?: components["schemas"]["MoneyMovementsTransferApprovalAssetDisplay"];
3575
- progress_available?: boolean;
3576
- rail?: string;
3577
- ramp_fees?: components["schemas"]["MoneyMovementsRampFeeDisclosure"];
3578
- request_summary?: components["schemas"]["MoneyMovementsTransferApprovalInstructions"];
3579
- requested_by?: string;
3833
+ created_ts: string;
3580
3834
  /** Format: date-time */
3581
- requested_ts?: string;
3582
- requester_name?: string;
3583
- /** Format: int32 */
3584
- required_approvals?: number;
3585
- selected_approver_name?: string;
3586
- selected_approver_satisfied?: boolean;
3587
- status?: components["schemas"]["MoneyMovementsTransferApprovalStatus"];
3588
- valuation_unavailable?: boolean;
3589
- votes?: components["schemas"]["MoneyMovementsTransferApprovalVoteView"][] | null;
3590
- };
3591
- MoneyMovementsApprovalPolicyView: {
3592
- action_allowed?: boolean;
3593
- business_policy_revision?: string | null;
3594
- permission_allowed?: boolean;
3595
- requirements?: components["schemas"]["MoneyMovementsApprovalClauseView"][] | null;
3596
- revision?: string;
3597
- valuation?: components["schemas"]["MoneyMovementsApprovalPolicyValuationView"];
3598
- };
3599
- MoneyMovementsApprovalClauseView: {
3600
- approvals_received?: number;
3601
- /** Format: int32 */
3602
- count?: number;
3603
- excluded_individual_ids?: string[];
3604
- individual_id?: string;
3605
- individual_name?: string;
3835
+ failed_ts?: string;
3836
+ fee?: components["schemas"]["MoneyfmtMoneyAmountView"];
3837
+ fund_symbol?: string;
3838
+ group_id: string;
3839
+ id: string;
3840
+ input: components["schemas"]["MoneyMovementsTransactionSideView"];
3841
+ metadata: components["schemas"]["MoneyMovementsMovementMetadataView"];
3842
+ /** @description Whether net_amount_view can still move. True while the cash leg it is computed from is neither final nor the figure the customer named at order entry, in which case the settled net is for now the quoted one. Always false on a fund buy, whose cash figure the customer fixed when placing the order; a BTC trade order gets no such exemption in either direction. False when there is no net amount at all, so read it only alongside net_amount_view. */
3843
+ net_amount_estimated?: boolean;
3844
+ net_amount_view?: components["schemas"]["MoneyfmtMoneyAmountView"];
3845
+ /** Format: date-time */
3846
+ occurred_ts: string;
3847
+ offramp_amounts?: components["schemas"]["MoneyMovementsOfframpAmountsView"];
3848
+ onchain_transactions?: components["schemas"]["MoneyMovementsOnchainTransactionView"][];
3849
+ onramp_amounts?: components["schemas"]["MoneyMovementsOnrampAmountsView"];
3850
+ output: components["schemas"]["MoneyMovementsTransactionSideView"];
3851
+ /** @description Whether price_per_unit_view was derived from a leg whose figure is not final, so the price can still move. True until both the cash leg and the share leg are final, because a fund trade prices at the net asset value struck at settlement; either leg alone is enough. False when there is no price at all, so read it only alongside price_per_unit_view. */
3852
+ price_per_unit_estimated?: boolean;
3853
+ price_per_unit_view?: components["schemas"]["MoneyfmtMoneyAmountView"];
3854
+ quoted_net_amount_view?: components["schemas"]["MoneyfmtMoneyAmountView"];
3855
+ quoted_price_per_unit_view?: components["schemas"]["MoneyfmtMoneyAmountView"];
3856
+ ramp_fee_returns?: components["schemas"]["MoneyMovementsRampFeeReturnsView"];
3857
+ settlement_commission_view?: components["schemas"]["MoneyfmtMoneyAmountView"];
3858
+ settlement_pathway?: string;
3859
+ /** Format: date-time */
3860
+ settlement_ts?: string;
3861
+ status: components["schemas"]["MoneyenumLifecycleStatus"];
3862
+ transaction_count: number;
3863
+ type: string;
3864
+ };
3865
+ MoneyMovementsTransactionSideView: {
3866
+ amount: components["schemas"]["MoneyfmtMoneyAmountView"];
3867
+ /** @description Whether amount is still an estimate — the leg's quoted subtotal, carried because the leg's figure is not final. True means the figure can still move and must be presented as an estimate rather than as a settled one. False means it can no longer change, either because the leg reached a terminal state or because it carries the figure the customer named at order entry (a fund buy's dollars, a fund sell's shares); it does not promise the figure was observed. */
3868
+ amount_estimated: boolean;
3869
+ money_account_id: string;
3870
+ money_symbol: string;
3871
+ payment_rail?: string;
3872
+ quoted_amount?: components["schemas"]["MoneyfmtMoneyAmountView"];
3873
+ };
3874
+ MoneyMovementsMovementMetadataView: {
3875
+ created_by: string;
3876
+ /** Format: date-time */
3877
+ created_ts: string;
3878
+ /** Format: date-time */
3879
+ updated_ts: string;
3880
+ };
3881
+ MoneyMovementsOfframpAmountsView: {
3882
+ bank_fee_usd: string;
3883
+ collected_platform_fee_usdc: string;
3884
+ /** @enum {string} */
3885
+ collection_status: "not_needed" | "pending" | "collected" | "failed";
3886
+ payout_delivered: boolean;
3887
+ payout_estimated: boolean;
3888
+ payout_usd: string;
3889
+ platform_fee_usdc: string;
3890
+ total_debit_usdc: string;
3891
+ };
3892
+ MoneyMovementsOnchainTransactionView: {
3893
+ chain?: string;
3894
+ explorer_url?: string;
3895
+ tx_hash: string;
3896
+ };
3897
+ MoneyMovementsOnrampAmountsView: {
3898
+ collected_platform_fee_usdc: string;
3899
+ /** @enum {string} */
3900
+ collection_status: "not_needed" | "pending" | "collected" | "failed" | "insufficient_proceeds";
3901
+ /** Format: date-time */
3902
+ first_observed_ts?: string | null;
3903
+ gross_deposit_usd: string;
3904
+ gross_proceeds_usdc: string;
3905
+ net_usdc: string;
3906
+ platform_fee_usdc: string;
3907
+ pricing_basis?: string | null;
3908
+ /** Format: date-time */
3909
+ pricing_ts?: string | null;
3910
+ proceeds_available: boolean;
3911
+ proceeds_estimated: boolean;
3912
+ };
3913
+ MoneyMovementsRampFeeReturnsView: {
3914
+ original_movement_id?: string | null;
3915
+ refund_movement_ids: string[] | null;
3916
+ refunded: boolean;
3917
+ refunded_usdc: string;
3918
+ waived: boolean;
3919
+ };
3920
+ /** @enum {string} */
3921
+ MoneyenumLifecycleStatus: "pending" | "completed" | "failed";
3922
+ MoneyMovementsTransferApprovalView: {
3923
+ also_required_ind_id?: string | null;
3924
+ also_required_name?: string;
3925
+ also_required_satisfied?: boolean;
3926
+ amount_usd?: components["schemas"]["MoneyfmtMoneyAmountView"];
3927
+ /** Format: int32 */
3928
+ approvals_received?: number;
3929
+ composed_policy?: components["schemas"]["MoneyMovementsApprovalPolicyView"];
3930
+ /** @description Current eligible approver display names excluding the requester; null when roster progress is unavailable. */
3931
+ current_approver_names?: string[] | null;
3932
+ decided_by?: string | null;
3933
+ /** Format: date-time */
3934
+ decided_ts?: string | null;
3935
+ /** @description Historical tenant member display name of the final decider; omitted when no person decided. */
3936
+ decider_name?: string;
3937
+ /** @description Optional comment from a recorded execution recovery decision, attributed to decided_by and decided_ts. Original vote comments remain on vote rows. The legacy decision_note can repeat a successful final decision's comment or contain a system outcome note. */
3938
+ decision_comment?: string;
3939
+ decision_note?: string;
3940
+ /** Format: date-time */
3941
+ expires_ts?: string;
3942
+ flow_label?: string;
3943
+ group_id?: string;
3944
+ id?: string;
3945
+ money_movement_id?: string | null;
3946
+ native_asset?: components["schemas"]["MoneyMovementsTransferApprovalAssetDisplay"];
3947
+ progress_available?: boolean;
3948
+ rail?: string;
3949
+ ramp_fees?: components["schemas"]["MoneyMovementsRampFeeDisclosure"];
3950
+ request_summary?: components["schemas"]["MoneyMovementsTransferApprovalInstructions"];
3951
+ requested_by?: string;
3952
+ /** Format: date-time */
3953
+ requested_ts?: string;
3954
+ requester_name?: string;
3955
+ /** Format: int32 */
3956
+ required_approvals?: number;
3957
+ selected_approver_name?: string;
3958
+ selected_approver_satisfied?: boolean;
3959
+ status?: components["schemas"]["MoneyMovementsTransferApprovalStatus"];
3960
+ valuation_unavailable?: boolean;
3961
+ votes?: components["schemas"]["MoneyMovementsTransferApprovalVoteView"][] | null;
3962
+ };
3963
+ MoneyMovementsApprovalPolicyView: {
3964
+ action_allowed?: boolean;
3965
+ business_policy_revision?: string | null;
3966
+ permission_allowed?: boolean;
3967
+ requirements?: components["schemas"]["MoneyMovementsApprovalClauseView"][] | null;
3968
+ revision?: string;
3969
+ valuation?: components["schemas"]["MoneyMovementsApprovalPolicyValuationView"];
3970
+ };
3971
+ MoneyMovementsApprovalClauseView: {
3972
+ approvals_received?: number;
3973
+ /** Format: int32 */
3974
+ count?: number;
3975
+ excluded_individual_ids?: string[];
3976
+ individual_id?: string;
3977
+ individual_name?: string;
3606
3978
  kind?: components["schemas"]["MoneyMovementsApprovalRequirementKind"];
3607
3979
  progress_available?: boolean;
3608
3980
  satisfied?: boolean;
@@ -3652,6 +4024,8 @@ export interface components {
3652
4024
  /** @enum {string} */
3653
4025
  source_network?: "ethereum" | "stellar";
3654
4026
  };
4027
+ /** @enum {string} */
4028
+ MoneyMovementsTransferApprovalStatus: "pending" | "approved" | "denied" | "cancelled" | "expired" | "policy_changed" | "failed";
3655
4029
  MoneyMovementsTransferApprovalVoteView: {
3656
4030
  approver?: string;
3657
4031
  /** @description Approver full name from historical business membership; a team member when identity is unavailable. Display only, independent of current voting eligibility. */
@@ -3664,6 +4038,12 @@ export interface components {
3664
4038
  };
3665
4039
  /** @enum {string} */
3666
4040
  MoneyenumTransferApprovalVoteDecision: "approved" | "denied";
4041
+ Page_MoneyMovementsTransferApprovalView: {
4042
+ data: components["schemas"]["MoneyMovementsTransferApprovalView"][] | null;
4043
+ has_more: boolean;
4044
+ next_cursor: string | null;
4045
+ total_count?: number | null;
4046
+ };
3667
4047
  MoneyMovementsApproveTransferApprovalInput: {
3668
4048
  /** @description Optional plain-text comment, at most 500 characters; recorded with the successful decision. */
3669
4049
  note?: string;
@@ -3711,102 +4091,6 @@ export interface components {
3711
4091
  transaction?: components["schemas"]["MoneyMovementsMoneyMovementView"];
3712
4092
  transfer_approval?: components["schemas"]["MoneyMovementsTransferApprovalView"];
3713
4093
  };
3714
- MoneyMovementsMoneyMovementView: {
3715
- automation_id?: string | null;
3716
- complete: boolean;
3717
- /** Format: date-time */
3718
- completed_ts?: string;
3719
- created_by: string;
3720
- /** Format: date-time */
3721
- created_ts: string;
3722
- /** Format: date-time */
3723
- failed_ts?: string;
3724
- fee?: components["schemas"]["MoneyfmtMoneyAmountView"];
3725
- fund_symbol?: string;
3726
- group_id: string;
3727
- id: string;
3728
- input: components["schemas"]["MoneyMovementsTransactionSideView"];
3729
- metadata: components["schemas"]["MoneyMovementsMovementMetadataView"];
3730
- /** @description Whether net_amount_view can still move. True while the cash leg it is computed from is neither final nor the figure the customer named at order entry, in which case the settled net is for now the quoted one. Always false on a fund buy, whose cash figure the customer fixed when placing the order; a BTC trade order gets no such exemption in either direction. False when there is no net amount at all, so read it only alongside net_amount_view. */
3731
- net_amount_estimated?: boolean;
3732
- net_amount_view?: components["schemas"]["MoneyfmtMoneyAmountView"];
3733
- /** Format: date-time */
3734
- occurred_ts: string;
3735
- offramp_amounts?: components["schemas"]["MoneyMovementsOfframpAmountsView"];
3736
- onchain_transactions?: components["schemas"]["MoneyMovementsOnchainTransactionView"][];
3737
- onramp_amounts?: components["schemas"]["MoneyMovementsOnrampAmountsView"];
3738
- output: components["schemas"]["MoneyMovementsTransactionSideView"];
3739
- /** @description Whether price_per_unit_view was derived from a leg whose figure is not final, so the price can still move. True until both the cash leg and the share leg are final, because a fund trade prices at the net asset value struck at settlement; either leg alone is enough. False when there is no price at all, so read it only alongside price_per_unit_view. */
3740
- price_per_unit_estimated?: boolean;
3741
- price_per_unit_view?: components["schemas"]["MoneyfmtMoneyAmountView"];
3742
- quoted_net_amount_view?: components["schemas"]["MoneyfmtMoneyAmountView"];
3743
- quoted_price_per_unit_view?: components["schemas"]["MoneyfmtMoneyAmountView"];
3744
- ramp_fee_returns?: components["schemas"]["MoneyMovementsRampFeeReturnsView"];
3745
- settlement_commission_view?: components["schemas"]["MoneyfmtMoneyAmountView"];
3746
- settlement_pathway?: string;
3747
- /** Format: date-time */
3748
- settlement_ts?: string;
3749
- status: components["schemas"]["MoneyenumLifecycleStatus"];
3750
- transaction_count: number;
3751
- type: string;
3752
- };
3753
- MoneyMovementsTransactionSideView: {
3754
- amount: components["schemas"]["MoneyfmtMoneyAmountView"];
3755
- /** @description Whether amount is still an estimate — the leg's quoted subtotal, carried because the leg's figure is not final. True means the figure can still move and must be presented as an estimate rather than as a settled one. False means it can no longer change, either because the leg reached a terminal state or because it carries the figure the customer named at order entry (a fund buy's dollars, a fund sell's shares); it does not promise the figure was observed. */
3756
- amount_estimated: boolean;
3757
- money_account_id: string;
3758
- money_symbol: string;
3759
- payment_rail?: string;
3760
- quoted_amount?: components["schemas"]["MoneyfmtMoneyAmountView"];
3761
- };
3762
- MoneyMovementsMovementMetadataView: {
3763
- created_by: string;
3764
- /** Format: date-time */
3765
- created_ts: string;
3766
- /** Format: date-time */
3767
- updated_ts: string;
3768
- };
3769
- MoneyMovementsOfframpAmountsView: {
3770
- bank_fee_usd: string;
3771
- collected_platform_fee_usdc: string;
3772
- /** @enum {string} */
3773
- collection_status: "not_needed" | "pending" | "collected" | "failed";
3774
- payout_delivered: boolean;
3775
- payout_estimated: boolean;
3776
- payout_usd: string;
3777
- platform_fee_usdc: string;
3778
- total_debit_usdc: string;
3779
- };
3780
- MoneyMovementsOnchainTransactionView: {
3781
- chain?: string;
3782
- explorer_url?: string;
3783
- tx_hash: string;
3784
- };
3785
- MoneyMovementsOnrampAmountsView: {
3786
- collected_platform_fee_usdc: string;
3787
- /** @enum {string} */
3788
- collection_status: "not_needed" | "pending" | "collected" | "failed" | "insufficient_proceeds";
3789
- /** Format: date-time */
3790
- first_observed_ts?: string | null;
3791
- gross_deposit_usd: string;
3792
- gross_proceeds_usdc: string;
3793
- net_usdc: string;
3794
- platform_fee_usdc: string;
3795
- pricing_basis?: string | null;
3796
- /** Format: date-time */
3797
- pricing_ts?: string | null;
3798
- proceeds_available: boolean;
3799
- proceeds_estimated: boolean;
3800
- };
3801
- MoneyMovementsRampFeeReturnsView: {
3802
- original_movement_id?: string | null;
3803
- refund_movement_ids: string[] | null;
3804
- refunded: boolean;
3805
- refunded_usdc: string;
3806
- waived: boolean;
3807
- };
3808
- /** @enum {string} */
3809
- MoneyenumLifecycleStatus: "pending" | "completed" | "failed";
3810
4094
  TradesPreviewBtcTradeFeeOutput: {
3811
4095
  below_minimum?: boolean;
3812
4096
  estimated_quantity?: string;
@@ -3832,13 +4116,6 @@ export interface components {
3832
4116
  TradesSettlementSource: "platform" | "stellar";
3833
4117
  /** @enum {string} */
3834
4118
  TradesSettlementPreference: "standard" | "instant";
3835
- MoneyMovementsCreateMoneyMovementOutput: {
3836
- money_movement_id?: string;
3837
- /** @enum {string} */
3838
- outcome?: "created" | "approval_pending";
3839
- transaction?: components["schemas"]["MoneyMovementsMoneyMovementView"];
3840
- transfer_approval?: components["schemas"]["MoneyMovementsTransferApprovalView"];
3841
- };
3842
4119
  /** @enum {string} */
3843
4120
  TradesTradeSymbol: "BTC" | "WTGXX" | "FLTTX" | "WTSIX";
3844
4121
  TradesGetPathwayAvailabilityOutput: {
@@ -8129,7 +8406,7 @@ export interface operations {
8129
8406
  "money.member_approval_dependencies.get": {
8130
8407
  parameters: {
8131
8408
  query?: {
8132
- /** @description Opt in to extended dependency details, including fund categories and every-amount conditions. Without it, choices needing these details are returned as a full count only. */
8409
+ /** @description Opt in to extended dependency details, including fund categories, every-amount conditions and wallet registrations. Without it, unsupported choices are count-only; wallet-only dependencies require a page refresh. */
8133
8410
  extended_details?: boolean;
8134
8411
  };
8135
8412
  header?: never;
@@ -8942,9 +9219,611 @@ export interface operations {
8942
9219
  };
8943
9220
  };
8944
9221
  };
8945
- "money.approval_rules.get": {
9222
+ "money.accounts.wallet_registrations.list": {
8946
9223
  parameters: {
8947
- query?: never;
9224
+ query?: {
9225
+ limit?: number;
9226
+ cursor?: string;
9227
+ };
9228
+ header?: never;
9229
+ path?: never;
9230
+ cookie?: never;
9231
+ };
9232
+ requestBody?: never;
9233
+ responses: {
9234
+ /** @description OK */
9235
+ 200: {
9236
+ headers: {
9237
+ [name: string]: unknown;
9238
+ };
9239
+ content: {
9240
+ "application/json": components["schemas"]["Page_MoneyAccountsWalletRegistrationView"];
9241
+ };
9242
+ };
9243
+ /** @description Bad Request */
9244
+ 400: {
9245
+ headers: {
9246
+ [name: string]: unknown;
9247
+ };
9248
+ content: {
9249
+ "application/json": components["schemas"]["HttputilAPIError"];
9250
+ };
9251
+ };
9252
+ /** @description Unauthorized */
9253
+ 401: {
9254
+ headers: {
9255
+ [name: string]: unknown;
9256
+ };
9257
+ content: {
9258
+ "application/json": components["schemas"]["HttputilAPIError"];
9259
+ };
9260
+ };
9261
+ /** @description Forbidden */
9262
+ 403: {
9263
+ headers: {
9264
+ [name: string]: unknown;
9265
+ };
9266
+ content: {
9267
+ "application/json": components["schemas"]["HttputilAPIError"];
9268
+ };
9269
+ };
9270
+ /** @description Service Unavailable */
9271
+ 503: {
9272
+ headers: {
9273
+ [name: string]: unknown;
9274
+ };
9275
+ content: {
9276
+ "application/json": components["schemas"]["HttputilAPIError"];
9277
+ };
9278
+ };
9279
+ /** @description Error response. */
9280
+ default: {
9281
+ headers: {
9282
+ [name: string]: unknown;
9283
+ };
9284
+ content: {
9285
+ "application/json": components["schemas"]["HttputilAPIError"];
9286
+ };
9287
+ };
9288
+ };
9289
+ };
9290
+ "money.accounts.wallet_registrations.get": {
9291
+ parameters: {
9292
+ query?: never;
9293
+ header?: never;
9294
+ path: {
9295
+ id: string;
9296
+ };
9297
+ cookie?: never;
9298
+ };
9299
+ requestBody?: never;
9300
+ responses: {
9301
+ /** @description OK */
9302
+ 200: {
9303
+ headers: {
9304
+ [name: string]: unknown;
9305
+ };
9306
+ content: {
9307
+ "application/json": components["schemas"]["MoneyAccountsWalletRegistrationView"];
9308
+ };
9309
+ };
9310
+ /** @description Unauthorized */
9311
+ 401: {
9312
+ headers: {
9313
+ [name: string]: unknown;
9314
+ };
9315
+ content: {
9316
+ "application/json": components["schemas"]["HttputilAPIError"];
9317
+ };
9318
+ };
9319
+ /** @description Forbidden */
9320
+ 403: {
9321
+ headers: {
9322
+ [name: string]: unknown;
9323
+ };
9324
+ content: {
9325
+ "application/json": components["schemas"]["HttputilAPIError"];
9326
+ };
9327
+ };
9328
+ /** @description Not Found */
9329
+ 404: {
9330
+ headers: {
9331
+ [name: string]: unknown;
9332
+ };
9333
+ content: {
9334
+ "application/json": components["schemas"]["HttputilAPIError"];
9335
+ };
9336
+ };
9337
+ /** @description Service Unavailable */
9338
+ 503: {
9339
+ headers: {
9340
+ [name: string]: unknown;
9341
+ };
9342
+ content: {
9343
+ "application/json": components["schemas"]["HttputilAPIError"];
9344
+ };
9345
+ };
9346
+ /** @description Error response. */
9347
+ default: {
9348
+ headers: {
9349
+ [name: string]: unknown;
9350
+ };
9351
+ content: {
9352
+ "application/json": components["schemas"]["HttputilAPIError"];
9353
+ };
9354
+ };
9355
+ };
9356
+ };
9357
+ "money.accounts.wallet_registrations.approved": {
9358
+ parameters: {
9359
+ query?: never;
9360
+ header?: never;
9361
+ path: {
9362
+ id: string;
9363
+ };
9364
+ cookie?: never;
9365
+ };
9366
+ requestBody?: {
9367
+ content: {
9368
+ "application/json": components["schemas"]["MoneyAccountsWalletRegistrationDecisionInput"];
9369
+ };
9370
+ };
9371
+ responses: {
9372
+ /** @description OK */
9373
+ 200: {
9374
+ headers: {
9375
+ [name: string]: unknown;
9376
+ };
9377
+ content: {
9378
+ "application/json": components["schemas"]["MoneyAccountsWalletRegistrationView"];
9379
+ };
9380
+ };
9381
+ /** @description Bad Request */
9382
+ 400: {
9383
+ headers: {
9384
+ [name: string]: unknown;
9385
+ };
9386
+ content: {
9387
+ "application/json": components["schemas"]["HttputilAPIError"];
9388
+ };
9389
+ };
9390
+ /** @description Unauthorized */
9391
+ 401: {
9392
+ headers: {
9393
+ [name: string]: unknown;
9394
+ };
9395
+ content: {
9396
+ "application/json": components["schemas"]["HttputilAPIError"];
9397
+ };
9398
+ };
9399
+ /** @description Forbidden */
9400
+ 403: {
9401
+ headers: {
9402
+ [name: string]: unknown;
9403
+ };
9404
+ content: {
9405
+ "application/json": components["schemas"]["HttputilAPIError"];
9406
+ };
9407
+ };
9408
+ /** @description Not Found */
9409
+ 404: {
9410
+ headers: {
9411
+ [name: string]: unknown;
9412
+ };
9413
+ content: {
9414
+ "application/json": components["schemas"]["HttputilAPIError"];
9415
+ };
9416
+ };
9417
+ /** @description Conflict */
9418
+ 409: {
9419
+ headers: {
9420
+ [name: string]: unknown;
9421
+ };
9422
+ content: {
9423
+ "application/json": components["schemas"]["HttputilAPIError"];
9424
+ };
9425
+ };
9426
+ /** @description Service Unavailable */
9427
+ 503: {
9428
+ headers: {
9429
+ [name: string]: unknown;
9430
+ };
9431
+ content: {
9432
+ "application/json": components["schemas"]["HttputilAPIError"];
9433
+ };
9434
+ };
9435
+ /** @description Error response. */
9436
+ default: {
9437
+ headers: {
9438
+ [name: string]: unknown;
9439
+ };
9440
+ content: {
9441
+ "application/json": components["schemas"]["HttputilAPIError"];
9442
+ };
9443
+ };
9444
+ };
9445
+ };
9446
+ "money.accounts.wallet_registrations.cancel": {
9447
+ parameters: {
9448
+ query?: never;
9449
+ header?: never;
9450
+ path: {
9451
+ id: string;
9452
+ };
9453
+ cookie?: never;
9454
+ };
9455
+ requestBody?: never;
9456
+ responses: {
9457
+ /** @description OK */
9458
+ 200: {
9459
+ headers: {
9460
+ [name: string]: unknown;
9461
+ };
9462
+ content: {
9463
+ "application/json": components["schemas"]["MoneyAccountsWalletRegistrationView"];
9464
+ };
9465
+ };
9466
+ /** @description Unauthorized */
9467
+ 401: {
9468
+ headers: {
9469
+ [name: string]: unknown;
9470
+ };
9471
+ content: {
9472
+ "application/json": components["schemas"]["HttputilAPIError"];
9473
+ };
9474
+ };
9475
+ /** @description Forbidden */
9476
+ 403: {
9477
+ headers: {
9478
+ [name: string]: unknown;
9479
+ };
9480
+ content: {
9481
+ "application/json": components["schemas"]["HttputilAPIError"];
9482
+ };
9483
+ };
9484
+ /** @description Not Found */
9485
+ 404: {
9486
+ headers: {
9487
+ [name: string]: unknown;
9488
+ };
9489
+ content: {
9490
+ "application/json": components["schemas"]["HttputilAPIError"];
9491
+ };
9492
+ };
9493
+ /** @description Conflict */
9494
+ 409: {
9495
+ headers: {
9496
+ [name: string]: unknown;
9497
+ };
9498
+ content: {
9499
+ "application/json": components["schemas"]["HttputilAPIError"];
9500
+ };
9501
+ };
9502
+ /** @description Service Unavailable */
9503
+ 503: {
9504
+ headers: {
9505
+ [name: string]: unknown;
9506
+ };
9507
+ content: {
9508
+ "application/json": components["schemas"]["HttputilAPIError"];
9509
+ };
9510
+ };
9511
+ /** @description Error response. */
9512
+ default: {
9513
+ headers: {
9514
+ [name: string]: unknown;
9515
+ };
9516
+ content: {
9517
+ "application/json": components["schemas"]["HttputilAPIError"];
9518
+ };
9519
+ };
9520
+ };
9521
+ };
9522
+ "money.accounts.wallet_registrations.denied": {
9523
+ parameters: {
9524
+ query?: never;
9525
+ header?: never;
9526
+ path: {
9527
+ id: string;
9528
+ };
9529
+ cookie?: never;
9530
+ };
9531
+ requestBody?: {
9532
+ content: {
9533
+ "application/json": components["schemas"]["MoneyAccountsWalletRegistrationDecisionInput"];
9534
+ };
9535
+ };
9536
+ responses: {
9537
+ /** @description OK */
9538
+ 200: {
9539
+ headers: {
9540
+ [name: string]: unknown;
9541
+ };
9542
+ content: {
9543
+ "application/json": components["schemas"]["MoneyAccountsWalletRegistrationView"];
9544
+ };
9545
+ };
9546
+ /** @description Bad Request */
9547
+ 400: {
9548
+ headers: {
9549
+ [name: string]: unknown;
9550
+ };
9551
+ content: {
9552
+ "application/json": components["schemas"]["HttputilAPIError"];
9553
+ };
9554
+ };
9555
+ /** @description Unauthorized */
9556
+ 401: {
9557
+ headers: {
9558
+ [name: string]: unknown;
9559
+ };
9560
+ content: {
9561
+ "application/json": components["schemas"]["HttputilAPIError"];
9562
+ };
9563
+ };
9564
+ /** @description Forbidden */
9565
+ 403: {
9566
+ headers: {
9567
+ [name: string]: unknown;
9568
+ };
9569
+ content: {
9570
+ "application/json": components["schemas"]["HttputilAPIError"];
9571
+ };
9572
+ };
9573
+ /** @description Not Found */
9574
+ 404: {
9575
+ headers: {
9576
+ [name: string]: unknown;
9577
+ };
9578
+ content: {
9579
+ "application/json": components["schemas"]["HttputilAPIError"];
9580
+ };
9581
+ };
9582
+ /** @description Conflict */
9583
+ 409: {
9584
+ headers: {
9585
+ [name: string]: unknown;
9586
+ };
9587
+ content: {
9588
+ "application/json": components["schemas"]["HttputilAPIError"];
9589
+ };
9590
+ };
9591
+ /** @description Service Unavailable */
9592
+ 503: {
9593
+ headers: {
9594
+ [name: string]: unknown;
9595
+ };
9596
+ content: {
9597
+ "application/json": components["schemas"]["HttputilAPIError"];
9598
+ };
9599
+ };
9600
+ /** @description Error response. */
9601
+ default: {
9602
+ headers: {
9603
+ [name: string]: unknown;
9604
+ };
9605
+ content: {
9606
+ "application/json": components["schemas"]["HttputilAPIError"];
9607
+ };
9608
+ };
9609
+ };
9610
+ };
9611
+ "money.accounts.whitelist.list": {
9612
+ parameters: {
9613
+ query?: {
9614
+ limit?: number;
9615
+ cursor?: string;
9616
+ /** @description List only the wallets the customer connected, excluding platform-provisioned rails. Defaults to false, which KEEPS them — the business SPA passes true. */
9617
+ customer_visible_only?: boolean;
9618
+ };
9619
+ header?: never;
9620
+ path?: never;
9621
+ cookie?: never;
9622
+ };
9623
+ requestBody?: never;
9624
+ responses: {
9625
+ /** @description OK */
9626
+ 200: {
9627
+ headers: {
9628
+ [name: string]: unknown;
9629
+ };
9630
+ content: {
9631
+ "application/json": components["schemas"]["Page_MoneyAccountsWhitelistedExternalAddressView"];
9632
+ };
9633
+ };
9634
+ /** @description Bad Request */
9635
+ 400: {
9636
+ headers: {
9637
+ [name: string]: unknown;
9638
+ };
9639
+ content: {
9640
+ "application/json": components["schemas"]["HttputilAPIError"];
9641
+ };
9642
+ };
9643
+ /** @description Unauthorized */
9644
+ 401: {
9645
+ headers: {
9646
+ [name: string]: unknown;
9647
+ };
9648
+ content: {
9649
+ "application/json": components["schemas"]["HttputilAPIError"];
9650
+ };
9651
+ };
9652
+ /** @description Forbidden */
9653
+ 403: {
9654
+ headers: {
9655
+ [name: string]: unknown;
9656
+ };
9657
+ content: {
9658
+ "application/json": components["schemas"]["HttputilAPIError"];
9659
+ };
9660
+ };
9661
+ /** @description Error response. */
9662
+ default: {
9663
+ headers: {
9664
+ [name: string]: unknown;
9665
+ };
9666
+ content: {
9667
+ "application/json": components["schemas"]["HttputilAPIError"];
9668
+ };
9669
+ };
9670
+ };
9671
+ };
9672
+ "money.accounts.whitelist.create": {
9673
+ parameters: {
9674
+ query?: never;
9675
+ header: {
9676
+ /** @description Required client idempotency key; a duplicate submission with the same key is rejected with 409. */
9677
+ "Idempotency-Key": string;
9678
+ };
9679
+ path?: never;
9680
+ cookie?: never;
9681
+ };
9682
+ requestBody?: {
9683
+ content: {
9684
+ "application/json": components["schemas"]["MoneyAccountsCreateWhitelistedExternalAddressInput"];
9685
+ };
9686
+ };
9687
+ responses: {
9688
+ /** @description OK */
9689
+ 200: {
9690
+ headers: {
9691
+ [name: string]: unknown;
9692
+ };
9693
+ content: {
9694
+ "application/json": components["schemas"]["MoneyAccountsCreateWhitelistedExternalAddressOutput"];
9695
+ };
9696
+ };
9697
+ /** @description Bad Request */
9698
+ 400: {
9699
+ headers: {
9700
+ [name: string]: unknown;
9701
+ };
9702
+ content: {
9703
+ "application/json": components["schemas"]["HttputilAPIError"];
9704
+ };
9705
+ };
9706
+ /** @description Unauthorized */
9707
+ 401: {
9708
+ headers: {
9709
+ [name: string]: unknown;
9710
+ };
9711
+ content: {
9712
+ "application/json": components["schemas"]["HttputilAPIError"];
9713
+ };
9714
+ };
9715
+ /** @description Forbidden */
9716
+ 403: {
9717
+ headers: {
9718
+ [name: string]: unknown;
9719
+ };
9720
+ content: {
9721
+ "application/json": components["schemas"]["HttputilAPIError"];
9722
+ };
9723
+ };
9724
+ /** @description Service Unavailable */
9725
+ 503: {
9726
+ headers: {
9727
+ [name: string]: unknown;
9728
+ };
9729
+ content: {
9730
+ "application/json": components["schemas"]["HttputilAPIError"];
9731
+ };
9732
+ };
9733
+ /** @description Error response. */
9734
+ default: {
9735
+ headers: {
9736
+ [name: string]: unknown;
9737
+ };
9738
+ content: {
9739
+ "application/json": components["schemas"]["HttputilAPIError"];
9740
+ };
9741
+ };
9742
+ };
9743
+ };
9744
+ "money.accounts.whitelist.rename": {
9745
+ parameters: {
9746
+ query?: never;
9747
+ header?: never;
9748
+ path: {
9749
+ id: string;
9750
+ };
9751
+ cookie?: never;
9752
+ };
9753
+ requestBody?: {
9754
+ content: {
9755
+ "application/json": components["schemas"]["MoneyAccountsRenameWhitelistedExternalAddressInput"];
9756
+ };
9757
+ };
9758
+ responses: {
9759
+ /** @description OK */
9760
+ 200: {
9761
+ headers: {
9762
+ [name: string]: unknown;
9763
+ };
9764
+ content: {
9765
+ "application/json": components["schemas"]["MoneyAccountsWhitelistedExternalAddressView"];
9766
+ };
9767
+ };
9768
+ /** @description Bad Request */
9769
+ 400: {
9770
+ headers: {
9771
+ [name: string]: unknown;
9772
+ };
9773
+ content: {
9774
+ "application/json": components["schemas"]["HttputilAPIError"];
9775
+ };
9776
+ };
9777
+ /** @description Unauthorized */
9778
+ 401: {
9779
+ headers: {
9780
+ [name: string]: unknown;
9781
+ };
9782
+ content: {
9783
+ "application/json": components["schemas"]["HttputilAPIError"];
9784
+ };
9785
+ };
9786
+ /** @description Forbidden */
9787
+ 403: {
9788
+ headers: {
9789
+ [name: string]: unknown;
9790
+ };
9791
+ content: {
9792
+ "application/json": components["schemas"]["HttputilAPIError"];
9793
+ };
9794
+ };
9795
+ /** @description Not Found */
9796
+ 404: {
9797
+ headers: {
9798
+ [name: string]: unknown;
9799
+ };
9800
+ content: {
9801
+ "application/json": components["schemas"]["HttputilAPIError"];
9802
+ };
9803
+ };
9804
+ /** @description Conflict */
9805
+ 409: {
9806
+ headers: {
9807
+ [name: string]: unknown;
9808
+ };
9809
+ content: {
9810
+ "application/json": components["schemas"]["HttputilAPIError"];
9811
+ };
9812
+ };
9813
+ /** @description Error response. */
9814
+ default: {
9815
+ headers: {
9816
+ [name: string]: unknown;
9817
+ };
9818
+ content: {
9819
+ "application/json": components["schemas"]["HttputilAPIError"];
9820
+ };
9821
+ };
9822
+ };
9823
+ };
9824
+ "money.approval_rules.get": {
9825
+ parameters: {
9826
+ query?: never;
8948
9827
  header?: never;
8949
9828
  path?: never;
8950
9829
  cookie?: never;
@@ -9287,6 +10166,87 @@ export interface operations {
9287
10166
  };
9288
10167
  };
9289
10168
  };
10169
+ "money.onchain.withdrawals.create": {
10170
+ parameters: {
10171
+ query?: never;
10172
+ header: {
10173
+ /** @description Required client idempotency key; a duplicate submission with the same key is rejected with 409. */
10174
+ "Idempotency-Key": string;
10175
+ };
10176
+ path?: never;
10177
+ cookie?: never;
10178
+ };
10179
+ requestBody?: {
10180
+ content: {
10181
+ "application/json": components["schemas"]["MoneyMovementsCreateOnchainWithdrawalInput"];
10182
+ };
10183
+ };
10184
+ responses: {
10185
+ /** @description OK */
10186
+ 200: {
10187
+ headers: {
10188
+ [name: string]: unknown;
10189
+ };
10190
+ content: {
10191
+ "application/json": components["schemas"]["MoneyMovementsCreateMoneyMovementOutput"];
10192
+ };
10193
+ };
10194
+ /** @description Bad Request */
10195
+ 400: {
10196
+ headers: {
10197
+ [name: string]: unknown;
10198
+ };
10199
+ content: {
10200
+ "application/json": components["schemas"]["HttputilAPIError"];
10201
+ };
10202
+ };
10203
+ /** @description Unauthorized */
10204
+ 401: {
10205
+ headers: {
10206
+ [name: string]: unknown;
10207
+ };
10208
+ content: {
10209
+ "application/json": components["schemas"]["HttputilAPIError"];
10210
+ };
10211
+ };
10212
+ /** @description Forbidden */
10213
+ 403: {
10214
+ headers: {
10215
+ [name: string]: unknown;
10216
+ };
10217
+ content: {
10218
+ "application/json": components["schemas"]["HttputilAPIError"];
10219
+ };
10220
+ };
10221
+ /** @description Conflict */
10222
+ 409: {
10223
+ headers: {
10224
+ [name: string]: unknown;
10225
+ };
10226
+ content: {
10227
+ "application/json": components["schemas"]["HttputilAPIError"];
10228
+ };
10229
+ };
10230
+ /** @description Service Unavailable */
10231
+ 503: {
10232
+ headers: {
10233
+ [name: string]: unknown;
10234
+ };
10235
+ content: {
10236
+ "application/json": components["schemas"]["HttputilAPIError"];
10237
+ };
10238
+ };
10239
+ /** @description Error response. */
10240
+ default: {
10241
+ headers: {
10242
+ [name: string]: unknown;
10243
+ };
10244
+ content: {
10245
+ "application/json": components["schemas"]["HttputilAPIError"];
10246
+ };
10247
+ };
10248
+ };
10249
+ };
9290
10250
  "money.test_approvals.rules_get": {
9291
10251
  parameters: {
9292
10252
  query?: never;