straddle 0.1.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 (193) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +43 -0
  3. data/README.md +2 -2
  4. data/SECURITY.md +1 -1
  5. data/lib/straddle/client.rb +3 -3
  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 -1
  30. data/lib/straddle/models/customer_delete_params.rb +7 -1
  31. data/lib/straddle/models/customer_refresh_review_params.rb +7 -1
  32. data/lib/straddle/models/customer_unmasked_v1.rb +1 -4
  33. data/lib/straddle/models/customer_update_params.rb +8 -1
  34. data/lib/straddle/models/customers/customer_review_v1.rb +15 -50
  35. data/lib/straddle/models/customers/review_decision_params.rb +8 -1
  36. data/lib/straddle/models/embed/account_create_params.rb +8 -1
  37. data/lib/straddle/models/embed/account_onboard_params.rb +7 -1
  38. data/lib/straddle/models/embed/account_paged_v1.rb +3 -12
  39. data/lib/straddle/models/embed/account_simulate_params.rb +7 -1
  40. data/lib/straddle/models/embed/account_update_params.rb +8 -1
  41. data/lib/straddle/models/embed/account_v1.rb +2 -8
  42. data/lib/straddle/models/embed/accounts/capability_request_create_params.rb +8 -1
  43. data/lib/straddle/models/embed/accounts/capability_request_paged_v1.rb +3 -11
  44. data/lib/straddle/models/embed/linked_bank_account_cancel_params.rb +34 -0
  45. data/lib/straddle/models/embed/linked_bank_account_create_params.rb +51 -4
  46. data/lib/straddle/models/embed/linked_bank_account_paged_v1.rb +33 -13
  47. data/lib/straddle/models/embed/linked_bank_account_unmask_v1.rb +3 -8
  48. data/lib/straddle/models/embed/linked_bank_account_update_params.rb +8 -1
  49. data/lib/straddle/models/embed/linked_bank_account_v1.rb +30 -1
  50. data/lib/straddle/models/embed/organization_create_params.rb +8 -1
  51. data/lib/straddle/models/embed/representative.rb +10 -1
  52. data/lib/straddle/models/embed/representative_create_params.rb +17 -1
  53. data/lib/straddle/models/embed/representative_paged.rb +10 -1
  54. data/lib/straddle/models/embed/representative_update_params.rb +17 -1
  55. data/lib/straddle/models/paykey_cancel_params.rb +7 -1
  56. data/lib/straddle/models/paykey_review_params.rb +54 -0
  57. data/lib/straddle/models/payout_cancel_params.rb +8 -1
  58. data/lib/straddle/models/payout_create_params.rb +8 -1
  59. data/lib/straddle/models/payout_hold_params.rb +8 -1
  60. data/lib/straddle/models/payout_release_params.rb +8 -1
  61. data/lib/straddle/models/payout_update_params.rb +8 -1
  62. data/lib/straddle/models.rb +2 -0
  63. data/lib/straddle/resources/bridge/link.rb +16 -4
  64. data/lib/straddle/resources/bridge.rb +4 -1
  65. data/lib/straddle/resources/charges.rb +20 -5
  66. data/lib/straddle/resources/customers/review.rb +4 -1
  67. data/lib/straddle/resources/customers.rb +16 -4
  68. data/lib/straddle/resources/embed/accounts/capability_requests.rb +5 -2
  69. data/lib/straddle/resources/embed/accounts.rb +19 -7
  70. data/lib/straddle/resources/embed/linked_bank_accounts.rb +51 -5
  71. data/lib/straddle/resources/embed/organizations.rb +5 -2
  72. data/lib/straddle/resources/embed/representatives.rb +14 -4
  73. data/lib/straddle/resources/paykeys.rb +47 -1
  74. data/lib/straddle/resources/payouts.rb +20 -5
  75. data/lib/straddle/version.rb +1 -1
  76. data/lib/straddle.rb +2 -0
  77. data/rbi/straddle/client.rbi +4 -4
  78. data/rbi/straddle/errors.rbi +31 -4
  79. data/rbi/straddle/file_part.rbi +1 -1
  80. data/rbi/straddle/internal/transport/base_client.rbi +5 -6
  81. data/rbi/straddle/internal/type/base_page.rbi +1 -1
  82. data/rbi/straddle/internal/type/converter.rbi +54 -0
  83. data/rbi/straddle/internal/type/union.rbi +9 -2
  84. data/rbi/straddle/internal/util.rbi +1 -1
  85. data/rbi/straddle/models/bridge/link_bank_account_params.rbi +9 -0
  86. data/rbi/straddle/models/bridge/link_create_paykey_params.rbi +9 -0
  87. data/rbi/straddle/models/bridge/link_create_tan_params.rbi +9 -0
  88. data/rbi/straddle/models/bridge/link_plaid_params.rbi +9 -0
  89. data/rbi/straddle/models/bridge_initialize_params.rbi +9 -0
  90. data/rbi/straddle/models/charge_cancel_params.rbi +9 -0
  91. data/rbi/straddle/models/charge_create_params.rbi +9 -0
  92. data/rbi/straddle/models/charge_hold_params.rbi +9 -0
  93. data/rbi/straddle/models/charge_release_params.rbi +9 -0
  94. data/rbi/straddle/models/charge_update_params.rbi +9 -0
  95. data/rbi/straddle/models/customer_create_params.rbi +9 -0
  96. data/rbi/straddle/models/customer_delete_params.rbi +9 -0
  97. data/rbi/straddle/models/customer_refresh_review_params.rbi +9 -0
  98. data/rbi/straddle/models/customer_update_params.rbi +9 -0
  99. data/rbi/straddle/models/customers/review_decision_params.rbi +9 -0
  100. data/rbi/straddle/models/embed/account_create_params.rbi +9 -0
  101. data/rbi/straddle/models/embed/account_onboard_params.rbi +9 -0
  102. data/rbi/straddle/models/embed/account_simulate_params.rbi +9 -0
  103. data/rbi/straddle/models/embed/account_update_params.rbi +9 -0
  104. data/rbi/straddle/models/embed/accounts/capability_request_create_params.rbi +9 -0
  105. data/rbi/straddle/models/embed/linked_bank_account_cancel_params.rbi +67 -0
  106. data/rbi/straddle/models/embed/linked_bank_account_create_params.rbi +95 -3
  107. data/rbi/straddle/models/embed/linked_bank_account_paged_v1.rbi +72 -0
  108. data/rbi/straddle/models/embed/linked_bank_account_unmask_v1.rbi +5 -0
  109. data/rbi/straddle/models/embed/linked_bank_account_update_params.rbi +9 -0
  110. data/rbi/straddle/models/embed/linked_bank_account_v1.rbi +72 -0
  111. data/rbi/straddle/models/embed/organization_create_params.rbi +9 -0
  112. data/rbi/straddle/models/embed/representative.rbi +10 -0
  113. data/rbi/straddle/models/embed/representative_create_params.rbi +19 -0
  114. data/rbi/straddle/models/embed/representative_paged.rbi +10 -0
  115. data/rbi/straddle/models/embed/representative_update_params.rbi +19 -0
  116. data/rbi/straddle/models/paykey_cancel_params.rbi +9 -0
  117. data/rbi/straddle/models/paykey_review_params.rbi +98 -0
  118. data/rbi/straddle/models/payout_cancel_params.rbi +9 -0
  119. data/rbi/straddle/models/payout_create_params.rbi +9 -0
  120. data/rbi/straddle/models/payout_hold_params.rbi +9 -0
  121. data/rbi/straddle/models/payout_release_params.rbi +9 -0
  122. data/rbi/straddle/models/payout_update_params.rbi +9 -0
  123. data/rbi/straddle/models.rbi +2 -0
  124. data/rbi/straddle/resources/bridge/link.rbi +12 -0
  125. data/rbi/straddle/resources/bridge.rbi +3 -0
  126. data/rbi/straddle/resources/charges.rbi +15 -0
  127. data/rbi/straddle/resources/customers/review.rbi +3 -0
  128. data/rbi/straddle/resources/customers.rbi +12 -0
  129. data/rbi/straddle/resources/embed/accounts/capability_requests.rbi +3 -0
  130. data/rbi/straddle/resources/embed/accounts.rbi +12 -0
  131. data/rbi/straddle/resources/embed/linked_bank_accounts.rbi +46 -1
  132. data/rbi/straddle/resources/embed/organizations.rbi +3 -0
  133. data/rbi/straddle/resources/embed/representatives.rbi +14 -0
  134. data/rbi/straddle/resources/paykeys.rbi +34 -0
  135. data/rbi/straddle/resources/payouts.rbi +15 -0
  136. data/sig/straddle/client.rbs +2 -2
  137. data/sig/straddle/errors.rbs +7 -0
  138. data/sig/straddle/file_part.rbs +1 -1
  139. data/sig/straddle/internal/transport/base_client.rbs +1 -1
  140. data/sig/straddle/internal/type/converter.rbs +17 -0
  141. data/sig/straddle/internal/type/union.rbs +2 -2
  142. data/sig/straddle/models/bridge/link_bank_account_params.rbs +7 -0
  143. data/sig/straddle/models/bridge/link_create_paykey_params.rbs +7 -0
  144. data/sig/straddle/models/bridge/link_create_tan_params.rbs +7 -0
  145. data/sig/straddle/models/bridge/link_plaid_params.rbs +7 -0
  146. data/sig/straddle/models/bridge_initialize_params.rbs +7 -0
  147. data/sig/straddle/models/charge_cancel_params.rbs +7 -0
  148. data/sig/straddle/models/charge_create_params.rbs +7 -0
  149. data/sig/straddle/models/charge_hold_params.rbs +7 -0
  150. data/sig/straddle/models/charge_release_params.rbs +7 -0
  151. data/sig/straddle/models/charge_update_params.rbs +7 -0
  152. data/sig/straddle/models/customer_create_params.rbs +7 -0
  153. data/sig/straddle/models/customer_delete_params.rbs +7 -0
  154. data/sig/straddle/models/customer_refresh_review_params.rbs +7 -0
  155. data/sig/straddle/models/customer_update_params.rbs +7 -0
  156. data/sig/straddle/models/customers/review_decision_params.rbs +7 -0
  157. data/sig/straddle/models/embed/account_create_params.rbs +7 -0
  158. data/sig/straddle/models/embed/account_onboard_params.rbs +7 -0
  159. data/sig/straddle/models/embed/account_simulate_params.rbs +7 -0
  160. data/sig/straddle/models/embed/account_update_params.rbs +7 -0
  161. data/sig/straddle/models/embed/accounts/capability_request_create_params.rbs +7 -0
  162. data/sig/straddle/models/embed/linked_bank_account_cancel_params.rbs +40 -0
  163. data/sig/straddle/models/embed/linked_bank_account_create_params.rbs +38 -4
  164. data/sig/straddle/models/embed/linked_bank_account_paged_v1.rbs +25 -1
  165. data/sig/straddle/models/embed/linked_bank_account_unmask_v1.rbs +3 -1
  166. data/sig/straddle/models/embed/linked_bank_account_update_params.rbs +7 -0
  167. data/sig/straddle/models/embed/linked_bank_account_v1.rbs +25 -1
  168. data/sig/straddle/models/embed/organization_create_params.rbs +7 -0
  169. data/sig/straddle/models/embed/representative.rbs +5 -0
  170. data/sig/straddle/models/embed/representative_create_params.rbs +12 -0
  171. data/sig/straddle/models/embed/representative_paged.rbs +5 -0
  172. data/sig/straddle/models/embed/representative_update_params.rbs +12 -0
  173. data/sig/straddle/models/paykey_cancel_params.rbs +7 -0
  174. data/sig/straddle/models/paykey_review_params.rbs +65 -0
  175. data/sig/straddle/models/payout_cancel_params.rbs +7 -0
  176. data/sig/straddle/models/payout_create_params.rbs +7 -0
  177. data/sig/straddle/models/payout_hold_params.rbs +7 -0
  178. data/sig/straddle/models/payout_release_params.rbs +7 -0
  179. data/sig/straddle/models/payout_update_params.rbs +7 -0
  180. data/sig/straddle/models.rbs +2 -0
  181. data/sig/straddle/resources/bridge/link.rbs +4 -0
  182. data/sig/straddle/resources/bridge.rbs +1 -0
  183. data/sig/straddle/resources/charges.rbs +5 -0
  184. data/sig/straddle/resources/customers/review.rbs +1 -0
  185. data/sig/straddle/resources/customers.rbs +4 -0
  186. data/sig/straddle/resources/embed/accounts/capability_requests.rbs +1 -0
  187. data/sig/straddle/resources/embed/accounts.rbs +4 -0
  188. data/sig/straddle/resources/embed/linked_bank_accounts.rbs +14 -1
  189. data/sig/straddle/resources/embed/organizations.rbs +1 -0
  190. data/sig/straddle/resources/embed/representatives.rbs +4 -0
  191. data/sig/straddle/resources/paykeys.rbs +11 -0
  192. data/sig/straddle/resources/payouts.rbs +5 -0
  193. metadata +9 -3
@@ -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
  }
@@ -155,6 +155,11 @@ module Straddle
155
155
  sig { returns(T.nilable(String)) }
156
156
  attr_accessor :external_id
157
157
 
158
+ # Up to 20 additional user-defined key-value pairs. Useful for storing additional
159
+ # information about the represetative in a structured format.
160
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
161
+ attr_accessor :metadata
162
+
158
163
  sig { returns(T.nilable(String)) }
159
164
  attr_accessor :phone
160
165
 
@@ -182,6 +187,7 @@ module Straddle
182
187
  Straddle::Embed::Representative::Data::StatusDetail::OrHash,
183
188
  updated_at: Time,
184
189
  external_id: T.nilable(String),
190
+ metadata: T.nilable(T::Hash[Symbol, String]),
185
191
  phone: T.nilable(String),
186
192
  user_id: T.nilable(String)
187
193
  ).returns(T.attached_class)
@@ -215,6 +221,9 @@ module Straddle
215
221
  # Unique identifier for the representative in your database, used for
216
222
  # cross-referencing between Straddle and your systems.
217
223
  external_id: nil,
224
+ # Up to 20 additional user-defined key-value pairs. Useful for storing additional
225
+ # information about the represetative in a structured format.
226
+ metadata: nil,
218
227
  phone: nil,
219
228
  # The unique identifier of the user account associated with this representative,
220
229
  # if applicable.
@@ -243,6 +252,7 @@ module Straddle
243
252
  Straddle::Embed::Representative::Data::StatusDetail,
244
253
  updated_at: Time,
245
254
  external_id: T.nilable(String),
255
+ metadata: T.nilable(T::Hash[Symbol, String]),
246
256
  phone: T.nilable(String),
247
257
  user_id: T.nilable(String)
248
258
  }
@@ -61,12 +61,23 @@ module Straddle
61
61
  sig { returns(T.nilable(String)) }
62
62
  attr_accessor :external_id
63
63
 
64
+ # Up to 20 additional user-defined key-value pairs. Useful for storing additional
65
+ # information about the represetative in a structured format.
66
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
67
+ attr_accessor :metadata
68
+
64
69
  sig { returns(T.nilable(String)) }
65
70
  attr_reader :correlation_id
66
71
 
67
72
  sig { params(correlation_id: String).void }
68
73
  attr_writer :correlation_id
69
74
 
75
+ sig { returns(T.nilable(String)) }
76
+ attr_reader :idempotency_key
77
+
78
+ sig { params(idempotency_key: String).void }
79
+ attr_writer :idempotency_key
80
+
70
81
  sig { returns(T.nilable(String)) }
71
82
  attr_reader :request_id
72
83
 
@@ -85,7 +96,9 @@ module Straddle
85
96
  Straddle::Embed::RepresentativeCreateParams::Relationship::OrHash,
86
97
  ssn_last4: String,
87
98
  external_id: T.nilable(String),
99
+ metadata: T.nilable(T::Hash[Symbol, String]),
88
100
  correlation_id: String,
101
+ idempotency_key: String,
89
102
  request_id: String,
90
103
  request_options: Straddle::RequestOptions::OrHash
91
104
  ).returns(T.attached_class)
@@ -109,7 +122,11 @@ module Straddle
109
122
  # Unique identifier for the representative in your database, used for
110
123
  # cross-referencing between Straddle and your systems.
111
124
  external_id: nil,
125
+ # Up to 20 additional user-defined key-value pairs. Useful for storing additional
126
+ # information about the represetative in a structured format.
127
+ metadata: nil,
112
128
  correlation_id: nil,
129
+ idempotency_key: nil,
113
130
  request_id: nil,
114
131
  request_options: {}
115
132
  )
@@ -128,7 +145,9 @@ module Straddle
128
145
  Straddle::Embed::RepresentativeCreateParams::Relationship,
129
146
  ssn_last4: String,
130
147
  external_id: T.nilable(String),
148
+ metadata: T.nilable(T::Hash[Symbol, String]),
131
149
  correlation_id: String,
150
+ idempotency_key: String,
132
151
  request_id: String,
133
152
  request_options: Straddle::RequestOptions
134
153
  }
@@ -165,6 +165,11 @@ module Straddle
165
165
  sig { returns(T.nilable(String)) }
166
166
  attr_accessor :external_id
167
167
 
168
+ # Up to 20 additional user-defined key-value pairs. Useful for storing additional
169
+ # information about the represetative in a structured format.
170
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
171
+ attr_accessor :metadata
172
+
168
173
  sig { returns(T.nilable(String)) }
169
174
  attr_accessor :phone
170
175
 
@@ -193,6 +198,7 @@ module Straddle
193
198
  Straddle::Embed::RepresentativePaged::Data::StatusDetail::OrHash,
194
199
  updated_at: Time,
195
200
  external_id: T.nilable(String),
201
+ metadata: T.nilable(T::Hash[Symbol, String]),
196
202
  phone: T.nilable(String),
197
203
  user_id: T.nilable(String)
198
204
  ).returns(T.attached_class)
@@ -226,6 +232,9 @@ module Straddle
226
232
  # Unique identifier for the representative in your database, used for
227
233
  # cross-referencing between Straddle and your systems.
228
234
  external_id: nil,
235
+ # Up to 20 additional user-defined key-value pairs. Useful for storing additional
236
+ # information about the represetative in a structured format.
237
+ metadata: nil,
229
238
  phone: nil,
230
239
  # The unique identifier of the user account associated with this representative,
231
240
  # if applicable.
@@ -254,6 +263,7 @@ module Straddle
254
263
  Straddle::Embed::RepresentativePaged::Data::StatusDetail,
255
264
  updated_at: Time,
256
265
  external_id: T.nilable(String),
266
+ metadata: T.nilable(T::Hash[Symbol, String]),
257
267
  phone: T.nilable(String),
258
268
  user_id: T.nilable(String)
259
269
  }
@@ -57,12 +57,23 @@ module Straddle
57
57
  sig { returns(T.nilable(String)) }
58
58
  attr_accessor :external_id
59
59
 
60
+ # Up to 20 additional user-defined key-value pairs. Useful for storing additional
61
+ # information about the represetative in a structured format.
62
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
63
+ attr_accessor :metadata
64
+
60
65
  sig { returns(T.nilable(String)) }
61
66
  attr_reader :correlation_id
62
67
 
63
68
  sig { params(correlation_id: String).void }
64
69
  attr_writer :correlation_id
65
70
 
71
+ sig { returns(T.nilable(String)) }
72
+ attr_reader :idempotency_key
73
+
74
+ sig { params(idempotency_key: String).void }
75
+ attr_writer :idempotency_key
76
+
66
77
  sig { returns(T.nilable(String)) }
67
78
  attr_reader :request_id
68
79
 
@@ -80,7 +91,9 @@ module Straddle
80
91
  Straddle::Embed::RepresentativeUpdateParams::Relationship::OrHash,
81
92
  ssn_last4: String,
82
93
  external_id: T.nilable(String),
94
+ metadata: T.nilable(T::Hash[Symbol, String]),
83
95
  correlation_id: String,
96
+ idempotency_key: String,
84
97
  request_id: String,
85
98
  request_options: Straddle::RequestOptions::OrHash
86
99
  ).returns(T.attached_class)
@@ -102,7 +115,11 @@ module Straddle
102
115
  # Unique identifier for the representative in your database, used for
103
116
  # cross-referencing between Straddle and your systems.
104
117
  external_id: nil,
118
+ # Up to 20 additional user-defined key-value pairs. Useful for storing additional
119
+ # information about the represetative in a structured format.
120
+ metadata: nil,
105
121
  correlation_id: nil,
122
+ idempotency_key: nil,
106
123
  request_id: nil,
107
124
  request_options: {}
108
125
  )
@@ -120,7 +137,9 @@ module Straddle
120
137
  Straddle::Embed::RepresentativeUpdateParams::Relationship,
121
138
  ssn_last4: String,
122
139
  external_id: T.nilable(String),
140
+ metadata: T.nilable(T::Hash[Symbol, String]),
123
141
  correlation_id: String,
142
+ idempotency_key: String,
124
143
  request_id: String,
125
144
  request_options: Straddle::RequestOptions
126
145
  }
@@ -20,6 +20,12 @@ module Straddle
20
20
  sig { params(correlation_id: String).void }
21
21
  attr_writer :correlation_id
22
22
 
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :idempotency_key
25
+
26
+ sig { params(idempotency_key: String).void }
27
+ attr_writer :idempotency_key
28
+
23
29
  sig { returns(T.nilable(String)) }
24
30
  attr_reader :request_id
25
31
 
@@ -36,6 +42,7 @@ module Straddle
36
42
  params(
37
43
  reason: T.nilable(String),
38
44
  correlation_id: String,
45
+ idempotency_key: String,
39
46
  request_id: String,
40
47
  straddle_account_id: String,
41
48
  request_options: Straddle::RequestOptions::OrHash
@@ -44,6 +51,7 @@ module Straddle
44
51
  def self.new(
45
52
  reason: nil,
46
53
  correlation_id: nil,
54
+ idempotency_key: nil,
47
55
  request_id: nil,
48
56
  straddle_account_id: nil,
49
57
  request_options: {}
@@ -55,6 +63,7 @@ module Straddle
55
63
  {
56
64
  reason: T.nilable(String),
57
65
  correlation_id: String,
66
+ idempotency_key: String,
58
67
  request_id: String,
59
68
  straddle_account_id: String,
60
69
  request_options: Straddle::RequestOptions
@@ -0,0 +1,98 @@
1
+ # typed: strong
2
+
3
+ module Straddle
4
+ module Models
5
+ class PaykeyReviewParams < Straddle::Internal::Type::BaseModel
6
+ extend Straddle::Internal::Type::RequestParameters::Converter
7
+ include Straddle::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Straddle::PaykeyReviewParams, Straddle::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(Straddle::PaykeyReviewParams::Status::OrSymbol) }
15
+ attr_accessor :status
16
+
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :correlation_id
19
+
20
+ sig { params(correlation_id: String).void }
21
+ attr_writer :correlation_id
22
+
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :idempotency_key
25
+
26
+ sig { params(idempotency_key: String).void }
27
+ attr_writer :idempotency_key
28
+
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :request_id
31
+
32
+ sig { params(request_id: String).void }
33
+ attr_writer :request_id
34
+
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :straddle_account_id
37
+
38
+ sig { params(straddle_account_id: String).void }
39
+ attr_writer :straddle_account_id
40
+
41
+ sig do
42
+ params(
43
+ status: Straddle::PaykeyReviewParams::Status::OrSymbol,
44
+ correlation_id: String,
45
+ idempotency_key: String,
46
+ request_id: String,
47
+ straddle_account_id: String,
48
+ request_options: Straddle::RequestOptions::OrHash
49
+ ).returns(T.attached_class)
50
+ end
51
+ def self.new(
52
+ status:,
53
+ correlation_id: nil,
54
+ idempotency_key: nil,
55
+ request_id: nil,
56
+ straddle_account_id: nil,
57
+ request_options: {}
58
+ )
59
+ end
60
+
61
+ sig do
62
+ override.returns(
63
+ {
64
+ status: Straddle::PaykeyReviewParams::Status::OrSymbol,
65
+ correlation_id: String,
66
+ idempotency_key: String,
67
+ request_id: String,
68
+ straddle_account_id: String,
69
+ request_options: Straddle::RequestOptions
70
+ }
71
+ )
72
+ end
73
+ def to_hash
74
+ end
75
+
76
+ module Status
77
+ extend Straddle::Internal::Type::Enum
78
+
79
+ TaggedSymbol =
80
+ T.type_alias { T.all(Symbol, Straddle::PaykeyReviewParams::Status) }
81
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
82
+
83
+ ACTIVE =
84
+ T.let(:active, Straddle::PaykeyReviewParams::Status::TaggedSymbol)
85
+ REJECTED =
86
+ T.let(:rejected, Straddle::PaykeyReviewParams::Status::TaggedSymbol)
87
+
88
+ sig do
89
+ override.returns(
90
+ T::Array[Straddle::PaykeyReviewParams::Status::TaggedSymbol]
91
+ )
92
+ end
93
+ def self.values
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -21,6 +21,12 @@ module Straddle
21
21
  sig { params(correlation_id: String).void }
22
22
  attr_writer :correlation_id
23
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
+
24
30
  sig { returns(T.nilable(String)) }
25
31
  attr_reader :request_id
26
32
 
@@ -37,6 +43,7 @@ module Straddle
37
43
  params(
38
44
  reason: String,
39
45
  correlation_id: String,
46
+ idempotency_key: String,
40
47
  request_id: String,
41
48
  straddle_account_id: String,
42
49
  request_options: Straddle::RequestOptions::OrHash
@@ -46,6 +53,7 @@ module Straddle
46
53
  # Details about why the payout status was updated.
47
54
  reason:,
48
55
  correlation_id: nil,
56
+ idempotency_key: nil,
49
57
  request_id: nil,
50
58
  straddle_account_id: nil,
51
59
  request_options: {}
@@ -57,6 +65,7 @@ module Straddle
57
65
  {
58
66
  reason: String,
59
67
  correlation_id: String,
68
+ idempotency_key: String,
60
69
  request_id: String,
61
70
  straddle_account_id: String,
62
71
  request_options: Straddle::RequestOptions
@@ -61,6 +61,12 @@ module Straddle
61
61
  sig { params(correlation_id: String).void }
62
62
  attr_writer :correlation_id
63
63
 
64
+ sig { returns(T.nilable(String)) }
65
+ attr_reader :idempotency_key
66
+
67
+ sig { params(idempotency_key: String).void }
68
+ attr_writer :idempotency_key
69
+
64
70
  sig { returns(T.nilable(String)) }
65
71
  attr_reader :request_id
66
72
 
@@ -85,6 +91,7 @@ module Straddle
85
91
  config: Straddle::PayoutCreateParams::Config::OrHash,
86
92
  metadata: T.nilable(T::Hash[Symbol, String]),
87
93
  correlation_id: String,
94
+ idempotency_key: String,
88
95
  request_id: String,
89
96
  straddle_account_id: String,
90
97
  request_options: Straddle::RequestOptions::OrHash
@@ -112,6 +119,7 @@ module Straddle
112
119
  # information about the payout in a structured format.
113
120
  metadata: nil,
114
121
  correlation_id: nil,
122
+ idempotency_key: nil,
115
123
  request_id: nil,
116
124
  straddle_account_id: nil,
117
125
  request_options: {}
@@ -131,6 +139,7 @@ module Straddle
131
139
  config: Straddle::PayoutCreateParams::Config,
132
140
  metadata: T.nilable(T::Hash[Symbol, String]),
133
141
  correlation_id: String,
142
+ idempotency_key: String,
134
143
  request_id: String,
135
144
  straddle_account_id: String,
136
145
  request_options: Straddle::RequestOptions
@@ -21,6 +21,12 @@ module Straddle
21
21
  sig { params(correlation_id: String).void }
22
22
  attr_writer :correlation_id
23
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
+
24
30
  sig { returns(T.nilable(String)) }
25
31
  attr_reader :request_id
26
32
 
@@ -37,6 +43,7 @@ module Straddle
37
43
  params(
38
44
  reason: String,
39
45
  correlation_id: String,
46
+ idempotency_key: String,
40
47
  request_id: String,
41
48
  straddle_account_id: String,
42
49
  request_options: Straddle::RequestOptions::OrHash
@@ -46,6 +53,7 @@ module Straddle
46
53
  # Details about why the payout status was updated.
47
54
  reason:,
48
55
  correlation_id: nil,
56
+ idempotency_key: nil,
49
57
  request_id: nil,
50
58
  straddle_account_id: nil,
51
59
  request_options: {}
@@ -57,6 +65,7 @@ module Straddle
57
65
  {
58
66
  reason: String,
59
67
  correlation_id: String,
68
+ idempotency_key: String,
60
69
  request_id: String,
61
70
  straddle_account_id: String,
62
71
  request_options: Straddle::RequestOptions
@@ -21,6 +21,12 @@ module Straddle
21
21
  sig { params(correlation_id: String).void }
22
22
  attr_writer :correlation_id
23
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
+
24
30
  sig { returns(T.nilable(String)) }
25
31
  attr_reader :request_id
26
32
 
@@ -37,6 +43,7 @@ module Straddle
37
43
  params(
38
44
  reason: String,
39
45
  correlation_id: String,
46
+ idempotency_key: String,
40
47
  request_id: String,
41
48
  straddle_account_id: String,
42
49
  request_options: Straddle::RequestOptions::OrHash
@@ -46,6 +53,7 @@ module Straddle
46
53
  # Details about why the payout status was updated.
47
54
  reason:,
48
55
  correlation_id: nil,
56
+ idempotency_key: nil,
49
57
  request_id: nil,
50
58
  straddle_account_id: nil,
51
59
  request_options: {}
@@ -57,6 +65,7 @@ module Straddle
57
65
  {
58
66
  reason: String,
59
67
  correlation_id: String,
68
+ idempotency_key: String,
60
69
  request_id: String,
61
70
  straddle_account_id: String,
62
71
  request_options: Straddle::RequestOptions