straddle 0.1.0.pre.alpha.1 → 0.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 (213) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +3 -3
  4. data/SECURITY.md +1 -1
  5. data/lib/straddle/client.rb +4 -4
  6. data/lib/straddle/errors.rb +25 -11
  7. data/lib/straddle/file_part.rb +10 -7
  8. data/lib/straddle/internal/page_number_schema.rb +1 -1
  9. data/lib/straddle/internal/transport/base_client.rb +12 -8
  10. data/lib/straddle/internal/transport/pooled_net_requester.rb +8 -19
  11. data/lib/straddle/internal/type/array_of.rb +1 -0
  12. data/lib/straddle/internal/type/base_model.rb +4 -9
  13. data/lib/straddle/internal/type/base_page.rb +1 -1
  14. data/lib/straddle/internal/type/converter.rb +27 -0
  15. data/lib/straddle/internal/type/file_input.rb +7 -4
  16. data/lib/straddle/internal/type/hash_of.rb +1 -0
  17. data/lib/straddle/internal/type/union.rb +9 -7
  18. data/lib/straddle/internal/util.rb +4 -3
  19. data/lib/straddle/models/bridge/link_bank_account_params.rb +9 -5
  20. data/lib/straddle/models/bridge/link_create_paykey_params.rb +9 -5
  21. data/lib/straddle/models/bridge/link_create_tan_params.rb +9 -5
  22. data/lib/straddle/models/bridge/link_plaid_params.rb +8 -1
  23. data/lib/straddle/models/bridge_initialize_params.rb +8 -1
  24. data/lib/straddle/models/charge_cancel_params.rb +8 -1
  25. data/lib/straddle/models/charge_create_params.rb +8 -1
  26. data/lib/straddle/models/charge_hold_params.rb +8 -1
  27. data/lib/straddle/models/charge_release_params.rb +8 -1
  28. data/lib/straddle/models/charge_update_params.rb +8 -1
  29. data/lib/straddle/models/customer_create_params.rb +8 -2
  30. data/lib/straddle/models/customer_delete_params.rb +7 -1
  31. data/lib/straddle/models/customer_list_params.rb +0 -1
  32. data/lib/straddle/models/customer_refresh_review_params.rb +7 -1
  33. data/lib/straddle/models/customer_summary_paged_v1.rb +0 -1
  34. data/lib/straddle/models/customer_unmasked_v1.rb +1 -5
  35. data/lib/straddle/models/customer_update_params.rb +8 -1
  36. data/lib/straddle/models/customer_v1.rb +0 -1
  37. data/lib/straddle/models/customers/customer_review_v1.rb +15 -52
  38. data/lib/straddle/models/customers/identity_verification_breakdown_v1.rb +0 -1
  39. data/lib/straddle/models/customers/review_decision_params.rb +8 -1
  40. data/lib/straddle/models/embed/account_create_params.rb +8 -2
  41. data/lib/straddle/models/embed/account_onboard_params.rb +7 -1
  42. data/lib/straddle/models/embed/account_paged_v1.rb +3 -17
  43. data/lib/straddle/models/embed/account_simulate_params.rb +7 -1
  44. data/lib/straddle/models/embed/account_update_params.rb +8 -1
  45. data/lib/straddle/models/embed/account_v1.rb +2 -13
  46. data/lib/straddle/models/embed/accounts/capability_request_create_params.rb +8 -1
  47. data/lib/straddle/models/embed/accounts/capability_request_paged_v1.rb +3 -11
  48. data/lib/straddle/models/embed/linked_bank_account_cancel_params.rb +34 -0
  49. data/lib/straddle/models/embed/linked_bank_account_create_params.rb +51 -4
  50. data/lib/straddle/models/embed/linked_bank_account_paged_v1.rb +33 -13
  51. data/lib/straddle/models/embed/linked_bank_account_unmask_v1.rb +3 -8
  52. data/lib/straddle/models/embed/linked_bank_account_update_params.rb +8 -1
  53. data/lib/straddle/models/embed/linked_bank_account_v1.rb +30 -1
  54. data/lib/straddle/models/embed/organization_create_params.rb +8 -1
  55. data/lib/straddle/models/embed/representative.rb +10 -1
  56. data/lib/straddle/models/embed/representative_create_params.rb +17 -1
  57. data/lib/straddle/models/embed/representative_paged.rb +10 -1
  58. data/lib/straddle/models/embed/representative_update_params.rb +17 -1
  59. data/lib/straddle/models/paykey_cancel_params.rb +7 -1
  60. data/lib/straddle/models/paykey_review_params.rb +54 -0
  61. data/lib/straddle/models/payout_cancel_params.rb +8 -1
  62. data/lib/straddle/models/payout_create_params.rb +8 -1
  63. data/lib/straddle/models/payout_hold_params.rb +8 -1
  64. data/lib/straddle/models/payout_release_params.rb +8 -1
  65. data/lib/straddle/models/payout_update_params.rb +8 -1
  66. data/lib/straddle/models.rb +2 -0
  67. data/lib/straddle/resources/bridge/link.rb +16 -4
  68. data/lib/straddle/resources/bridge.rb +4 -1
  69. data/lib/straddle/resources/charges.rb +20 -5
  70. data/lib/straddle/resources/customers/review.rb +4 -1
  71. data/lib/straddle/resources/customers.rb +16 -4
  72. data/lib/straddle/resources/embed/accounts/capability_requests.rb +5 -2
  73. data/lib/straddle/resources/embed/accounts.rb +19 -7
  74. data/lib/straddle/resources/embed/linked_bank_accounts.rb +51 -5
  75. data/lib/straddle/resources/embed/organizations.rb +5 -2
  76. data/lib/straddle/resources/embed/representatives.rb +14 -4
  77. data/lib/straddle/resources/paykeys.rb +47 -1
  78. data/lib/straddle/resources/payouts.rb +20 -5
  79. data/lib/straddle/version.rb +1 -1
  80. data/lib/straddle.rb +2 -0
  81. data/rbi/straddle/client.rbi +4 -4
  82. data/rbi/straddle/errors.rbi +31 -4
  83. data/rbi/straddle/file_part.rbi +1 -1
  84. data/rbi/straddle/internal/transport/base_client.rbi +5 -6
  85. data/rbi/straddle/internal/type/base_page.rbi +1 -1
  86. data/rbi/straddle/internal/type/converter.rbi +54 -0
  87. data/rbi/straddle/internal/type/union.rbi +9 -2
  88. data/rbi/straddle/internal/util.rbi +1 -1
  89. data/rbi/straddle/models/bridge/link_bank_account_params.rbi +9 -0
  90. data/rbi/straddle/models/bridge/link_create_paykey_params.rbi +9 -0
  91. data/rbi/straddle/models/bridge/link_create_tan_params.rbi +9 -0
  92. data/rbi/straddle/models/bridge/link_plaid_params.rbi +9 -0
  93. data/rbi/straddle/models/bridge_initialize_params.rbi +9 -0
  94. data/rbi/straddle/models/charge_cancel_params.rbi +9 -0
  95. data/rbi/straddle/models/charge_create_params.rbi +9 -0
  96. data/rbi/straddle/models/charge_hold_params.rbi +9 -0
  97. data/rbi/straddle/models/charge_release_params.rbi +9 -0
  98. data/rbi/straddle/models/charge_update_params.rbi +9 -0
  99. data/rbi/straddle/models/customer_create_params.rbi +9 -2
  100. data/rbi/straddle/models/customer_delete_params.rbi +9 -0
  101. data/rbi/straddle/models/customer_list_params.rbi +0 -2
  102. data/rbi/straddle/models/customer_refresh_review_params.rbi +9 -0
  103. data/rbi/straddle/models/customer_summary_paged_v1.rbi +0 -5
  104. data/rbi/straddle/models/customer_unmasked_v1.rbi +0 -5
  105. data/rbi/straddle/models/customer_update_params.rbi +9 -0
  106. data/rbi/straddle/models/customer_v1.rbi +0 -2
  107. data/rbi/straddle/models/customers/customer_review_v1.rbi +0 -10
  108. data/rbi/straddle/models/customers/identity_verification_breakdown_v1.rbi +0 -5
  109. data/rbi/straddle/models/customers/review_decision_params.rbi +9 -0
  110. data/rbi/straddle/models/embed/account_create_params.rbi +9 -5
  111. data/rbi/straddle/models/embed/account_onboard_params.rbi +9 -0
  112. data/rbi/straddle/models/embed/account_paged_v1.rbi +0 -25
  113. data/rbi/straddle/models/embed/account_simulate_params.rbi +9 -0
  114. data/rbi/straddle/models/embed/account_update_params.rbi +9 -0
  115. data/rbi/straddle/models/embed/account_v1.rbi +0 -25
  116. data/rbi/straddle/models/embed/accounts/capability_request_create_params.rbi +9 -0
  117. data/rbi/straddle/models/embed/linked_bank_account_cancel_params.rbi +67 -0
  118. data/rbi/straddle/models/embed/linked_bank_account_create_params.rbi +95 -3
  119. data/rbi/straddle/models/embed/linked_bank_account_paged_v1.rbi +72 -0
  120. data/rbi/straddle/models/embed/linked_bank_account_unmask_v1.rbi +5 -0
  121. data/rbi/straddle/models/embed/linked_bank_account_update_params.rbi +9 -0
  122. data/rbi/straddle/models/embed/linked_bank_account_v1.rbi +72 -0
  123. data/rbi/straddle/models/embed/organization_create_params.rbi +9 -0
  124. data/rbi/straddle/models/embed/representative.rbi +10 -0
  125. data/rbi/straddle/models/embed/representative_create_params.rbi +19 -0
  126. data/rbi/straddle/models/embed/representative_paged.rbi +10 -0
  127. data/rbi/straddle/models/embed/representative_update_params.rbi +19 -0
  128. data/rbi/straddle/models/paykey_cancel_params.rbi +9 -0
  129. data/rbi/straddle/models/paykey_review_params.rbi +98 -0
  130. data/rbi/straddle/models/payout_cancel_params.rbi +9 -0
  131. data/rbi/straddle/models/payout_create_params.rbi +9 -0
  132. data/rbi/straddle/models/payout_hold_params.rbi +9 -0
  133. data/rbi/straddle/models/payout_release_params.rbi +9 -0
  134. data/rbi/straddle/models/payout_update_params.rbi +9 -0
  135. data/rbi/straddle/models.rbi +2 -0
  136. data/rbi/straddle/resources/bridge/link.rbi +12 -0
  137. data/rbi/straddle/resources/bridge.rbi +3 -0
  138. data/rbi/straddle/resources/charges.rbi +15 -0
  139. data/rbi/straddle/resources/customers/review.rbi +3 -0
  140. data/rbi/straddle/resources/customers.rbi +12 -0
  141. data/rbi/straddle/resources/embed/accounts/capability_requests.rbi +3 -0
  142. data/rbi/straddle/resources/embed/accounts.rbi +12 -0
  143. data/rbi/straddle/resources/embed/linked_bank_accounts.rbi +46 -1
  144. data/rbi/straddle/resources/embed/organizations.rbi +3 -0
  145. data/rbi/straddle/resources/embed/representatives.rbi +14 -0
  146. data/rbi/straddle/resources/paykeys.rbi +34 -0
  147. data/rbi/straddle/resources/payouts.rbi +15 -0
  148. data/sig/straddle/client.rbs +3 -3
  149. data/sig/straddle/errors.rbs +7 -0
  150. data/sig/straddle/file_part.rbs +1 -1
  151. data/sig/straddle/internal/transport/base_client.rbs +1 -1
  152. data/sig/straddle/internal/type/converter.rbs +17 -0
  153. data/sig/straddle/internal/type/union.rbs +2 -2
  154. data/sig/straddle/models/bridge/link_bank_account_params.rbs +7 -0
  155. data/sig/straddle/models/bridge/link_create_paykey_params.rbs +7 -0
  156. data/sig/straddle/models/bridge/link_create_tan_params.rbs +7 -0
  157. data/sig/straddle/models/bridge/link_plaid_params.rbs +7 -0
  158. data/sig/straddle/models/bridge_initialize_params.rbs +7 -0
  159. data/sig/straddle/models/charge_cancel_params.rbs +7 -0
  160. data/sig/straddle/models/charge_create_params.rbs +7 -0
  161. data/sig/straddle/models/charge_hold_params.rbs +7 -0
  162. data/sig/straddle/models/charge_release_params.rbs +7 -0
  163. data/sig/straddle/models/charge_update_params.rbs +7 -0
  164. data/sig/straddle/models/customer_create_params.rbs +8 -2
  165. data/sig/straddle/models/customer_delete_params.rbs +7 -0
  166. data/sig/straddle/models/customer_list_params.rbs +1 -2
  167. data/sig/straddle/models/customer_refresh_review_params.rbs +7 -0
  168. data/sig/straddle/models/customer_summary_paged_v1.rbs +1 -2
  169. data/sig/straddle/models/customer_unmasked_v1.rbs +1 -2
  170. data/sig/straddle/models/customer_update_params.rbs +7 -0
  171. data/sig/straddle/models/customer_v1.rbs +1 -2
  172. data/sig/straddle/models/customers/customer_review_v1.rbs +1 -4
  173. data/sig/straddle/models/customers/identity_verification_breakdown_v1.rbs +1 -6
  174. data/sig/straddle/models/customers/review_decision_params.rbs +7 -0
  175. data/sig/straddle/models/embed/account_create_params.rbs +8 -2
  176. data/sig/straddle/models/embed/account_onboard_params.rbs +7 -0
  177. data/sig/straddle/models/embed/account_paged_v1.rbs +4 -21
  178. data/sig/straddle/models/embed/account_simulate_params.rbs +7 -0
  179. data/sig/straddle/models/embed/account_update_params.rbs +7 -0
  180. data/sig/straddle/models/embed/account_v1.rbs +4 -21
  181. data/sig/straddle/models/embed/accounts/capability_request_create_params.rbs +7 -0
  182. data/sig/straddle/models/embed/linked_bank_account_cancel_params.rbs +40 -0
  183. data/sig/straddle/models/embed/linked_bank_account_create_params.rbs +38 -4
  184. data/sig/straddle/models/embed/linked_bank_account_paged_v1.rbs +25 -1
  185. data/sig/straddle/models/embed/linked_bank_account_unmask_v1.rbs +3 -1
  186. data/sig/straddle/models/embed/linked_bank_account_update_params.rbs +7 -0
  187. data/sig/straddle/models/embed/linked_bank_account_v1.rbs +25 -1
  188. data/sig/straddle/models/embed/organization_create_params.rbs +7 -0
  189. data/sig/straddle/models/embed/representative.rbs +5 -0
  190. data/sig/straddle/models/embed/representative_create_params.rbs +12 -0
  191. data/sig/straddle/models/embed/representative_paged.rbs +5 -0
  192. data/sig/straddle/models/embed/representative_update_params.rbs +12 -0
  193. data/sig/straddle/models/paykey_cancel_params.rbs +7 -0
  194. data/sig/straddle/models/paykey_review_params.rbs +65 -0
  195. data/sig/straddle/models/payout_cancel_params.rbs +7 -0
  196. data/sig/straddle/models/payout_create_params.rbs +7 -0
  197. data/sig/straddle/models/payout_hold_params.rbs +7 -0
  198. data/sig/straddle/models/payout_release_params.rbs +7 -0
  199. data/sig/straddle/models/payout_update_params.rbs +7 -0
  200. data/sig/straddle/models.rbs +2 -0
  201. data/sig/straddle/resources/bridge/link.rbs +4 -0
  202. data/sig/straddle/resources/bridge.rbs +1 -0
  203. data/sig/straddle/resources/charges.rbs +5 -0
  204. data/sig/straddle/resources/customers/review.rbs +1 -0
  205. data/sig/straddle/resources/customers.rbs +4 -0
  206. data/sig/straddle/resources/embed/accounts/capability_requests.rbs +1 -0
  207. data/sig/straddle/resources/embed/accounts.rbs +4 -0
  208. data/sig/straddle/resources/embed/linked_bank_accounts.rbs +14 -1
  209. data/sig/straddle/resources/embed/organizations.rbs +1 -0
  210. data/sig/straddle/resources/embed/representatives.rbs +4 -0
  211. data/sig/straddle/resources/paykeys.rbs +11 -0
  212. data/sig/straddle/resources/payouts.rbs +5 -0
  213. metadata +11 -5
@@ -316,11 +316,6 @@ module Straddle
316
316
  :inactive,
317
317
  Straddle::Embed::AccountV1::Data::Status::TaggedSymbol
318
318
  )
319
- UNKNOWN =
320
- T.let(
321
- :unknown,
322
- Straddle::Embed::AccountV1::Data::Status::TaggedSymbol
323
- )
324
319
 
325
320
  sig do
326
321
  override.returns(
@@ -466,11 +461,6 @@ module Straddle
466
461
  :new,
467
462
  Straddle::Embed::AccountV1::Data::StatusDetail::Reason::TaggedSymbol
468
463
  )
469
- UNKNOWN =
470
- T.let(
471
- :unknown,
472
- Straddle::Embed::AccountV1::Data::StatusDetail::Reason::TaggedSymbol
473
- )
474
464
 
475
465
  sig do
476
466
  override.returns(
@@ -530,11 +520,6 @@ module Straddle
530
520
  :business,
531
521
  Straddle::Embed::AccountV1::Data::Type::TaggedSymbol
532
522
  )
533
- UNKNOWN =
534
- T.let(
535
- :unknown,
536
- Straddle::Embed::AccountV1::Data::Type::TaggedSymbol
537
- )
538
523
 
539
524
  sig do
540
525
  override.returns(
@@ -955,11 +940,6 @@ module Straddle
955
940
  :three_day,
956
941
  Straddle::Embed::AccountV1::Data::Settings::Charges::FundingTime::TaggedSymbol
957
942
  )
958
- UNKNOWN =
959
- T.let(
960
- :unknown,
961
- Straddle::Embed::AccountV1::Data::Settings::Charges::FundingTime::TaggedSymbol
962
- )
963
943
 
964
944
  sig do
965
945
  override.returns(
@@ -1094,11 +1074,6 @@ module Straddle
1094
1074
  :three_day,
1095
1075
  Straddle::Embed::AccountV1::Data::Settings::Payouts::FundingTime::TaggedSymbol
1096
1076
  )
1097
- UNKNOWN =
1098
- T.let(
1099
- :unknown,
1100
- Straddle::Embed::AccountV1::Data::Settings::Payouts::FundingTime::TaggedSymbol
1101
- )
1102
1077
 
1103
1078
  sig do
1104
1079
  override.returns(
@@ -132,6 +132,12 @@ module Straddle
132
132
  sig { params(correlation_id: String).void }
133
133
  attr_writer :correlation_id
134
134
 
135
+ sig { returns(T.nilable(String)) }
136
+ attr_reader :idempotency_key
137
+
138
+ sig { params(idempotency_key: String).void }
139
+ attr_writer :idempotency_key
140
+
135
141
  sig { returns(T.nilable(String)) }
136
142
  attr_reader :request_id
137
143
 
@@ -153,6 +159,7 @@ module Straddle
153
159
  signed_agreement:
154
160
  Straddle::Embed::Accounts::CapabilityRequestCreateParams::SignedAgreement::OrHash,
155
161
  correlation_id: String,
162
+ idempotency_key: String,
156
163
  request_id: String,
157
164
  request_options: Straddle::RequestOptions::OrHash
158
165
  ).returns(T.attached_class)
@@ -173,6 +180,7 @@ module Straddle
173
180
  # contracts.
174
181
  signed_agreement: nil,
175
182
  correlation_id: nil,
183
+ idempotency_key: nil,
176
184
  request_id: nil,
177
185
  request_options: {}
178
186
  )
@@ -194,6 +202,7 @@ module Straddle
194
202
  signed_agreement:
195
203
  Straddle::Embed::Accounts::CapabilityRequestCreateParams::SignedAgreement,
196
204
  correlation_id: String,
205
+ idempotency_key: String,
197
206
  request_id: String,
198
207
  request_options: Straddle::RequestOptions
199
208
  }
@@ -0,0 +1,67 @@
1
+ # typed: strong
2
+
3
+ module Straddle
4
+ module Models
5
+ module Embed
6
+ class LinkedBankAccountCancelParams < Straddle::Internal::Type::BaseModel
7
+ extend Straddle::Internal::Type::RequestParameters::Converter
8
+ include Straddle::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Straddle::Embed::LinkedBankAccountCancelParams,
14
+ Straddle::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(T.nilable(String)) }
19
+ attr_reader :correlation_id
20
+
21
+ sig { params(correlation_id: String).void }
22
+ attr_writer :correlation_id
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :idempotency_key
26
+
27
+ sig { params(idempotency_key: String).void }
28
+ attr_writer :idempotency_key
29
+
30
+ sig { returns(T.nilable(String)) }
31
+ attr_reader :request_id
32
+
33
+ sig { params(request_id: String).void }
34
+ attr_writer :request_id
35
+
36
+ sig do
37
+ params(
38
+ correlation_id: String,
39
+ idempotency_key: String,
40
+ request_id: String,
41
+ request_options: Straddle::RequestOptions::OrHash
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(
45
+ correlation_id: nil,
46
+ idempotency_key: nil,
47
+ request_id: nil,
48
+ request_options: {}
49
+ )
50
+ end
51
+
52
+ sig do
53
+ override.returns(
54
+ {
55
+ correlation_id: String,
56
+ idempotency_key: String,
57
+ request_id: String,
58
+ request_options: Straddle::RequestOptions
59
+ }
60
+ )
61
+ end
62
+ def to_hash
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -17,7 +17,7 @@ module Straddle
17
17
 
18
18
  # The unique identifier of the Straddle account to associate this bank account
19
19
  # with.
20
- sig { returns(String) }
20
+ sig { returns(T.nilable(String)) }
21
21
  attr_accessor :account_id
22
22
 
23
23
  sig do
@@ -33,17 +33,44 @@ module Straddle
33
33
  end
34
34
  attr_writer :bank_account
35
35
 
36
+ # Optional description for the bank account.
37
+ sig { returns(T.nilable(String)) }
38
+ attr_accessor :description
39
+
36
40
  # Up to 20 additional user-defined key-value pairs. Useful for storing additional
37
41
  # information about the linked bank account in a structured format.
38
42
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
39
43
  attr_accessor :metadata
40
44
 
45
+ # The unique identifier of the Straddle Platform to associate this bank account
46
+ # with.
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :platform_id
49
+
50
+ # The purposes for the linked bank account.
51
+ sig do
52
+ returns(
53
+ T.nilable(
54
+ T::Array[
55
+ Straddle::Embed::LinkedBankAccountCreateParams::Purpose::OrSymbol
56
+ ]
57
+ )
58
+ )
59
+ end
60
+ attr_accessor :purposes
61
+
41
62
  sig { returns(T.nilable(String)) }
42
63
  attr_reader :correlation_id
43
64
 
44
65
  sig { params(correlation_id: String).void }
45
66
  attr_writer :correlation_id
46
67
 
68
+ sig { returns(T.nilable(String)) }
69
+ attr_reader :idempotency_key
70
+
71
+ sig { params(idempotency_key: String).void }
72
+ attr_writer :idempotency_key
73
+
47
74
  sig { returns(T.nilable(String)) }
48
75
  attr_reader :request_id
49
76
 
@@ -52,11 +79,20 @@ module Straddle
52
79
 
53
80
  sig do
54
81
  params(
55
- account_id: String,
82
+ account_id: T.nilable(String),
56
83
  bank_account:
57
84
  Straddle::Embed::LinkedBankAccountCreateParams::BankAccount::OrHash,
85
+ description: T.nilable(String),
58
86
  metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
87
+ platform_id: T.nilable(String),
88
+ purposes:
89
+ T.nilable(
90
+ T::Array[
91
+ Straddle::Embed::LinkedBankAccountCreateParams::Purpose::OrSymbol
92
+ ]
93
+ ),
59
94
  correlation_id: String,
95
+ idempotency_key: String,
60
96
  request_id: String,
61
97
  request_options: Straddle::RequestOptions::OrHash
62
98
  ).returns(T.attached_class)
@@ -66,10 +102,18 @@ module Straddle
66
102
  # with.
67
103
  account_id:,
68
104
  bank_account:,
105
+ # Optional description for the bank account.
106
+ description: nil,
69
107
  # Up to 20 additional user-defined key-value pairs. Useful for storing additional
70
108
  # information about the linked bank account in a structured format.
71
109
  metadata: nil,
110
+ # The unique identifier of the Straddle Platform to associate this bank account
111
+ # with.
112
+ platform_id: nil,
113
+ # The purposes for the linked bank account.
114
+ purposes: nil,
72
115
  correlation_id: nil,
116
+ idempotency_key: nil,
73
117
  request_id: nil,
74
118
  request_options: {}
75
119
  )
@@ -78,11 +122,20 @@ module Straddle
78
122
  sig do
79
123
  override.returns(
80
124
  {
81
- account_id: String,
125
+ account_id: T.nilable(String),
82
126
  bank_account:
83
127
  Straddle::Embed::LinkedBankAccountCreateParams::BankAccount,
128
+ description: T.nilable(String),
84
129
  metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
130
+ platform_id: T.nilable(String),
131
+ purposes:
132
+ T.nilable(
133
+ T::Array[
134
+ Straddle::Embed::LinkedBankAccountCreateParams::Purpose::OrSymbol
135
+ ]
136
+ ),
85
137
  correlation_id: String,
138
+ idempotency_key: String,
86
139
  request_id: String,
87
140
  request_options: Straddle::RequestOptions
88
141
  }
@@ -143,6 +196,45 @@ module Straddle
143
196
  def to_hash
144
197
  end
145
198
  end
199
+
200
+ module Purpose
201
+ extend Straddle::Internal::Type::Enum
202
+
203
+ TaggedSymbol =
204
+ T.type_alias do
205
+ T.all(
206
+ Symbol,
207
+ Straddle::Embed::LinkedBankAccountCreateParams::Purpose
208
+ )
209
+ end
210
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
211
+
212
+ CHARGES =
213
+ T.let(
214
+ :charges,
215
+ Straddle::Embed::LinkedBankAccountCreateParams::Purpose::TaggedSymbol
216
+ )
217
+ PAYOUTS =
218
+ T.let(
219
+ :payouts,
220
+ Straddle::Embed::LinkedBankAccountCreateParams::Purpose::TaggedSymbol
221
+ )
222
+ BILLING =
223
+ T.let(
224
+ :billing,
225
+ Straddle::Embed::LinkedBankAccountCreateParams::Purpose::TaggedSymbol
226
+ )
227
+
228
+ sig do
229
+ override.returns(
230
+ T::Array[
231
+ Straddle::Embed::LinkedBankAccountCreateParams::Purpose::TaggedSymbol
232
+ ]
233
+ )
234
+ end
235
+ def self.values
236
+ end
237
+ end
146
238
  end
147
239
  end
148
240
  end
@@ -113,6 +113,16 @@ module Straddle
113
113
  sig { returns(Time) }
114
114
  attr_accessor :created_at
115
115
 
116
+ # The purposes for the linked bank account.
117
+ sig do
118
+ returns(
119
+ T::Array[
120
+ Straddle::Embed::LinkedBankAccountPagedV1::Data::Purpose::TaggedSymbol
121
+ ]
122
+ )
123
+ end
124
+ attr_accessor :purposes
125
+
116
126
  # The current status of the linked bank account.
117
127
  sig do
118
128
  returns(
@@ -140,6 +150,10 @@ module Straddle
140
150
  sig { returns(Time) }
141
151
  attr_accessor :updated_at
142
152
 
153
+ # Optional description for the bank account.
154
+ sig { returns(T.nilable(String)) }
155
+ attr_accessor :description
156
+
143
157
  # Up to 20 additional user-defined key-value pairs. Useful for storing additional
144
158
  # information about the linked bank account in a structured format.
145
159
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
@@ -156,11 +170,16 @@ module Straddle
156
170
  bank_account:
157
171
  Straddle::Embed::LinkedBankAccountPagedV1::Data::BankAccount::OrHash,
158
172
  created_at: Time,
173
+ purposes:
174
+ T::Array[
175
+ Straddle::Embed::LinkedBankAccountPagedV1::Data::Purpose::OrSymbol
176
+ ],
159
177
  status:
160
178
  Straddle::Embed::LinkedBankAccountPagedV1::Data::Status::OrSymbol,
161
179
  status_detail:
162
180
  Straddle::Embed::LinkedBankAccountPagedV1::Data::StatusDetail::OrHash,
163
181
  updated_at: Time,
182
+ description: T.nilable(String),
164
183
  metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
165
184
  platform_id: T.nilable(String)
166
185
  ).returns(T.attached_class)
@@ -173,11 +192,15 @@ module Straddle
173
192
  bank_account:,
174
193
  # Timestamp of when the bank account object was created.
175
194
  created_at:,
195
+ # The purposes for the linked bank account.
196
+ purposes:,
176
197
  # The current status of the linked bank account.
177
198
  status:,
178
199
  status_detail:,
179
200
  # Timestamp of the most recent update to the linked bank account.
180
201
  updated_at:,
202
+ # Optional description for the bank account.
203
+ description: nil,
181
204
  # Up to 20 additional user-defined key-value pairs. Useful for storing additional
182
205
  # information about the linked bank account in a structured format.
183
206
  metadata: nil,
@@ -194,11 +217,16 @@ module Straddle
194
217
  bank_account:
195
218
  Straddle::Embed::LinkedBankAccountPagedV1::Data::BankAccount,
196
219
  created_at: Time,
220
+ purposes:
221
+ T::Array[
222
+ Straddle::Embed::LinkedBankAccountPagedV1::Data::Purpose::TaggedSymbol
223
+ ],
197
224
  status:
198
225
  Straddle::Embed::LinkedBankAccountPagedV1::Data::Status::TaggedSymbol,
199
226
  status_detail:
200
227
  Straddle::Embed::LinkedBankAccountPagedV1::Data::StatusDetail,
201
228
  updated_at: Time,
229
+ description: T.nilable(String),
202
230
  metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
203
231
  platform_id: T.nilable(String)
204
232
  }
@@ -258,6 +286,45 @@ module Straddle
258
286
  end
259
287
  end
260
288
 
289
+ module Purpose
290
+ extend Straddle::Internal::Type::Enum
291
+
292
+ TaggedSymbol =
293
+ T.type_alias do
294
+ T.all(
295
+ Symbol,
296
+ Straddle::Embed::LinkedBankAccountPagedV1::Data::Purpose
297
+ )
298
+ end
299
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
300
+
301
+ CHARGES =
302
+ T.let(
303
+ :charges,
304
+ Straddle::Embed::LinkedBankAccountPagedV1::Data::Purpose::TaggedSymbol
305
+ )
306
+ PAYOUTS =
307
+ T.let(
308
+ :payouts,
309
+ Straddle::Embed::LinkedBankAccountPagedV1::Data::Purpose::TaggedSymbol
310
+ )
311
+ BILLING =
312
+ T.let(
313
+ :billing,
314
+ Straddle::Embed::LinkedBankAccountPagedV1::Data::Purpose::TaggedSymbol
315
+ )
316
+
317
+ sig do
318
+ override.returns(
319
+ T::Array[
320
+ Straddle::Embed::LinkedBankAccountPagedV1::Data::Purpose::TaggedSymbol
321
+ ]
322
+ )
323
+ end
324
+ def self.values
325
+ end
326
+ end
327
+
261
328
  # The current status of the linked bank account.
262
329
  module Status
263
330
  extend Straddle::Internal::Type::Enum
@@ -296,6 +363,11 @@ module Straddle
296
363
  :inactive,
297
364
  Straddle::Embed::LinkedBankAccountPagedV1::Data::Status::TaggedSymbol
298
365
  )
366
+ CANCELED =
367
+ T.let(
368
+ :canceled,
369
+ Straddle::Embed::LinkedBankAccountPagedV1::Data::Status::TaggedSymbol
370
+ )
299
371
 
300
372
  sig do
301
373
  override.returns(
@@ -291,6 +291,11 @@ module Straddle
291
291
  :inactive,
292
292
  Straddle::Embed::LinkedBankAccountUnmaskV1::Data::Status::TaggedSymbol
293
293
  )
294
+ CANCELED =
295
+ T.let(
296
+ :canceled,
297
+ Straddle::Embed::LinkedBankAccountUnmaskV1::Data::Status::TaggedSymbol
298
+ )
294
299
 
295
300
  sig do
296
301
  override.returns(
@@ -39,6 +39,12 @@ module Straddle
39
39
  sig { params(correlation_id: String).void }
40
40
  attr_writer :correlation_id
41
41
 
42
+ sig { returns(T.nilable(String)) }
43
+ attr_reader :idempotency_key
44
+
45
+ sig { params(idempotency_key: String).void }
46
+ attr_writer :idempotency_key
47
+
42
48
  sig { returns(T.nilable(String)) }
43
49
  attr_reader :request_id
44
50
 
@@ -51,6 +57,7 @@ module Straddle
51
57
  Straddle::Embed::LinkedBankAccountUpdateParams::BankAccount::OrHash,
52
58
  metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
53
59
  correlation_id: String,
60
+ idempotency_key: String,
54
61
  request_id: String,
55
62
  request_options: Straddle::RequestOptions::OrHash
56
63
  ).returns(T.attached_class)
@@ -61,6 +68,7 @@ module Straddle
61
68
  # information about the linked bank account in a structured format.
62
69
  metadata: nil,
63
70
  correlation_id: nil,
71
+ idempotency_key: nil,
64
72
  request_id: nil,
65
73
  request_options: {}
66
74
  )
@@ -73,6 +81,7 @@ module Straddle
73
81
  Straddle::Embed::LinkedBankAccountUpdateParams::BankAccount,
74
82
  metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
75
83
  correlation_id: String,
84
+ idempotency_key: String,
76
85
  request_id: String,
77
86
  request_options: Straddle::RequestOptions
78
87
  }
@@ -111,6 +111,16 @@ module Straddle
111
111
  sig { returns(Time) }
112
112
  attr_accessor :created_at
113
113
 
114
+ # The purposes for the linked bank account.
115
+ sig do
116
+ returns(
117
+ T::Array[
118
+ Straddle::Embed::LinkedBankAccountV1::Data::Purpose::TaggedSymbol
119
+ ]
120
+ )
121
+ end
122
+ attr_accessor :purposes
123
+
114
124
  # The current status of the linked bank account.
115
125
  sig do
116
126
  returns(
@@ -136,6 +146,10 @@ module Straddle
136
146
  sig { returns(Time) }
137
147
  attr_accessor :updated_at
138
148
 
149
+ # Optional description for the bank account.
150
+ sig { returns(T.nilable(String)) }
151
+ attr_accessor :description
152
+
139
153
  # Up to 20 additional user-defined key-value pairs. Useful for storing additional
140
154
  # information about the linked bank account in a structured format.
141
155
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
@@ -152,11 +166,16 @@ module Straddle
152
166
  bank_account:
153
167
  Straddle::Embed::LinkedBankAccountV1::Data::BankAccount::OrHash,
154
168
  created_at: Time,
169
+ purposes:
170
+ T::Array[
171
+ Straddle::Embed::LinkedBankAccountV1::Data::Purpose::OrSymbol
172
+ ],
155
173
  status:
156
174
  Straddle::Embed::LinkedBankAccountV1::Data::Status::OrSymbol,
157
175
  status_detail:
158
176
  Straddle::Embed::LinkedBankAccountV1::Data::StatusDetail::OrHash,
159
177
  updated_at: Time,
178
+ description: T.nilable(String),
160
179
  metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
161
180
  platform_id: T.nilable(String)
162
181
  ).returns(T.attached_class)
@@ -169,11 +188,15 @@ module Straddle
169
188
  bank_account:,
170
189
  # Timestamp of when the bank account object was created.
171
190
  created_at:,
191
+ # The purposes for the linked bank account.
192
+ purposes:,
172
193
  # The current status of the linked bank account.
173
194
  status:,
174
195
  status_detail:,
175
196
  # Timestamp of the most recent update to the linked bank account.
176
197
  updated_at:,
198
+ # Optional description for the bank account.
199
+ description: nil,
177
200
  # Up to 20 additional user-defined key-value pairs. Useful for storing additional
178
201
  # information about the linked bank account in a structured format.
179
202
  metadata: nil,
@@ -190,11 +213,16 @@ module Straddle
190
213
  bank_account:
191
214
  Straddle::Embed::LinkedBankAccountV1::Data::BankAccount,
192
215
  created_at: Time,
216
+ purposes:
217
+ T::Array[
218
+ Straddle::Embed::LinkedBankAccountV1::Data::Purpose::TaggedSymbol
219
+ ],
193
220
  status:
194
221
  Straddle::Embed::LinkedBankAccountV1::Data::Status::TaggedSymbol,
195
222
  status_detail:
196
223
  Straddle::Embed::LinkedBankAccountV1::Data::StatusDetail,
197
224
  updated_at: Time,
225
+ description: T.nilable(String),
198
226
  metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
199
227
  platform_id: T.nilable(String)
200
228
  }
@@ -254,6 +282,45 @@ module Straddle
254
282
  end
255
283
  end
256
284
 
285
+ module Purpose
286
+ extend Straddle::Internal::Type::Enum
287
+
288
+ TaggedSymbol =
289
+ T.type_alias do
290
+ T.all(
291
+ Symbol,
292
+ Straddle::Embed::LinkedBankAccountV1::Data::Purpose
293
+ )
294
+ end
295
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
296
+
297
+ CHARGES =
298
+ T.let(
299
+ :charges,
300
+ Straddle::Embed::LinkedBankAccountV1::Data::Purpose::TaggedSymbol
301
+ )
302
+ PAYOUTS =
303
+ T.let(
304
+ :payouts,
305
+ Straddle::Embed::LinkedBankAccountV1::Data::Purpose::TaggedSymbol
306
+ )
307
+ BILLING =
308
+ T.let(
309
+ :billing,
310
+ Straddle::Embed::LinkedBankAccountV1::Data::Purpose::TaggedSymbol
311
+ )
312
+
313
+ sig do
314
+ override.returns(
315
+ T::Array[
316
+ Straddle::Embed::LinkedBankAccountV1::Data::Purpose::TaggedSymbol
317
+ ]
318
+ )
319
+ end
320
+ def self.values
321
+ end
322
+ end
323
+
257
324
  # The current status of the linked bank account.
258
325
  module Status
259
326
  extend Straddle::Internal::Type::Enum
@@ -292,6 +359,11 @@ module Straddle
292
359
  :inactive,
293
360
  Straddle::Embed::LinkedBankAccountV1::Data::Status::TaggedSymbol
294
361
  )
362
+ CANCELED =
363
+ T.let(
364
+ :canceled,
365
+ Straddle::Embed::LinkedBankAccountV1::Data::Status::TaggedSymbol
366
+ )
295
367
 
296
368
  sig do
297
369
  override.returns(
@@ -35,6 +35,12 @@ module Straddle
35
35
  sig { params(correlation_id: String).void }
36
36
  attr_writer :correlation_id
37
37
 
38
+ sig { returns(T.nilable(String)) }
39
+ attr_reader :idempotency_key
40
+
41
+ sig { params(idempotency_key: String).void }
42
+ attr_writer :idempotency_key
43
+
38
44
  sig { returns(T.nilable(String)) }
39
45
  attr_reader :request_id
40
46
 
@@ -47,6 +53,7 @@ module Straddle
47
53
  external_id: T.nilable(String),
48
54
  metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
49
55
  correlation_id: String,
56
+ idempotency_key: String,
50
57
  request_id: String,
51
58
  request_options: Straddle::RequestOptions::OrHash
52
59
  ).returns(T.attached_class)
@@ -61,6 +68,7 @@ module Straddle
61
68
  # information about the organization in a structured format.
62
69
  metadata: nil,
63
70
  correlation_id: nil,
71
+ idempotency_key: nil,
64
72
  request_id: nil,
65
73
  request_options: {}
66
74
  )
@@ -73,6 +81,7 @@ module Straddle
73
81
  external_id: T.nilable(String),
74
82
  metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
75
83
  correlation_id: String,
84
+ idempotency_key: String,
76
85
  request_id: String,
77
86
  request_options: Straddle::RequestOptions
78
87
  }