straddle 0.3.0 → 0.5.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 (265) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +127 -0
  3. data/README.md +32 -1
  4. data/lib/straddle/client.rb +49 -1
  5. data/lib/straddle/internal/transport/base_client.rb +5 -0
  6. data/lib/straddle/internal/transport/pooled_net_requester.rb +13 -11
  7. data/lib/straddle/internal/util.rb +61 -10
  8. data/lib/straddle/models/bridge/link_create_paykey_response.rb +8 -0
  9. data/lib/straddle/models/bridge/link_create_tan_response.rb +8 -0
  10. data/lib/straddle/models/charge_cancel_params.rb +8 -1
  11. data/lib/straddle/models/charge_create_params.rb +22 -4
  12. data/lib/straddle/models/charge_get_params.rb +7 -1
  13. data/lib/straddle/models/charge_hold_params.rb +8 -1
  14. data/lib/straddle/models/charge_release_params.rb +8 -1
  15. data/lib/straddle/models/charge_unmask_params.rb +7 -1
  16. data/lib/straddle/models/charge_unmask_response.rb +190 -5
  17. data/lib/straddle/models/charge_update_params.rb +11 -4
  18. data/lib/straddle/models/charge_v1.rb +188 -5
  19. data/lib/straddle/models/customer_delete_params.rb +7 -1
  20. data/lib/straddle/models/customer_get_params.rb +7 -1
  21. data/lib/straddle/models/customer_unmasked_params.rb +7 -1
  22. data/lib/straddle/models/customer_update_params.rb +8 -1
  23. data/lib/straddle/models/customers/review_decision_params.rb +8 -1
  24. data/lib/straddle/models/customers/review_get_params.rb +7 -1
  25. data/lib/straddle/models/customers/review_refresh_review_params.rb +7 -1
  26. data/lib/straddle/models/embed/account_get_params.rb +11 -1
  27. data/lib/straddle/models/embed/account_list_params.rb +8 -1
  28. data/lib/straddle/models/embed/account_onboard_params.rb +7 -1
  29. data/lib/straddle/models/embed/account_paged_v1.rb +4 -0
  30. data/lib/straddle/models/embed/account_simulate_params.rb +7 -1
  31. data/lib/straddle/models/embed/account_update_params.rb +8 -1
  32. data/lib/straddle/models/embed/account_v1.rb +4 -0
  33. data/lib/straddle/models/embed/accounts/capability_request_create_params.rb +8 -1
  34. data/lib/straddle/models/embed/accounts/capability_request_list_params.rb +8 -1
  35. data/lib/straddle/models/embed/accounts/capability_request_paged_v1.rb +9 -1
  36. data/lib/straddle/models/embed/address_v1.rb +14 -38
  37. data/lib/straddle/models/embed/linked_bank_account_cancel_params.rb +7 -1
  38. data/lib/straddle/models/embed/linked_bank_account_get_params.rb +7 -1
  39. data/lib/straddle/models/embed/linked_bank_account_unmask_params.rb +7 -1
  40. data/lib/straddle/models/embed/linked_bank_account_update_params.rb +8 -1
  41. data/lib/straddle/models/embed/organization_get_params.rb +7 -1
  42. data/lib/straddle/models/embed/representative.rb +2 -2
  43. data/lib/straddle/models/embed/representative_create_params.rb +2 -2
  44. data/lib/straddle/models/embed/representative_get_params.rb +7 -1
  45. data/lib/straddle/models/embed/representative_paged.rb +2 -2
  46. data/lib/straddle/models/embed/representative_unmask_params.rb +7 -1
  47. data/lib/straddle/models/embed/representative_update_params.rb +10 -3
  48. data/lib/straddle/models/funding_event_get_params.rb +7 -1
  49. data/lib/straddle/models/funding_event_list_params.rb +105 -1
  50. data/lib/straddle/models/funding_event_summary_item_v1.rb +128 -1
  51. data/lib/straddle/models/funding_event_summary_paged_v1.rb +128 -1
  52. data/lib/straddle/models/paykey_cancel_params.rb +7 -1
  53. data/lib/straddle/models/paykey_get_params.rb +7 -1
  54. data/lib/straddle/models/paykey_list_params.rb +40 -1
  55. data/lib/straddle/models/paykey_reveal_params.rb +7 -1
  56. data/lib/straddle/models/paykey_reveal_response.rb +8 -0
  57. data/lib/straddle/models/paykey_summary_paged_v1.rb +19 -1
  58. data/lib/straddle/models/paykey_unmasked_params.rb +7 -1
  59. data/lib/straddle/models/paykey_unmasked_v1.rb +8 -0
  60. data/lib/straddle/models/paykey_update_balance_params.rb +7 -1
  61. data/lib/straddle/models/paykey_v1.rb +19 -1
  62. data/lib/straddle/models/paykeys/review_decision_params.rb +7 -1
  63. data/lib/straddle/models/paykeys/review_get_params.rb +7 -1
  64. data/lib/straddle/models/paykeys/review_get_response.rb +19 -4
  65. data/lib/straddle/models/paykeys/review_refresh_review_params.rb +7 -1
  66. data/lib/straddle/models/payment_list_params.rb +71 -1
  67. data/lib/straddle/models/payment_summary_paged_v1.rb +110 -4
  68. data/lib/straddle/models/payout_cancel_params.rb +8 -1
  69. data/lib/straddle/models/payout_create_params.rb +22 -4
  70. data/lib/straddle/models/payout_get_params.rb +7 -1
  71. data/lib/straddle/models/payout_hold_params.rb +8 -1
  72. data/lib/straddle/models/payout_release_params.rb +8 -1
  73. data/lib/straddle/models/payout_unmask_params.rb +7 -1
  74. data/lib/straddle/models/payout_unmask_response.rb +193 -5
  75. data/lib/straddle/models/payout_update_params.rb +11 -4
  76. data/lib/straddle/models/payout_upload_authorization_document_params.rb +57 -0
  77. data/lib/straddle/models/payout_v1.rb +188 -5
  78. data/lib/straddle/models/status_details_v1.rb +7 -0
  79. data/lib/straddle/models.rb +2 -0
  80. data/lib/straddle/resources/bridge/link.rb +12 -6
  81. data/lib/straddle/resources/bridge.rb +13 -1
  82. data/lib/straddle/resources/charges.rb +13 -8
  83. data/lib/straddle/resources/customers/review.rb +7 -1
  84. data/lib/straddle/resources/customers.rb +23 -10
  85. data/lib/straddle/resources/embed/accounts/capability_requests.rb +9 -4
  86. data/lib/straddle/resources/embed/accounts.rb +29 -15
  87. data/lib/straddle/resources/embed/linked_bank_accounts.rb +11 -6
  88. data/lib/straddle/resources/embed/organizations.rb +7 -2
  89. data/lib/straddle/resources/embed/representatives.rb +15 -8
  90. data/lib/straddle/resources/embed.rb +19 -0
  91. data/lib/straddle/resources/funding_events.rb +22 -3
  92. data/lib/straddle/resources/paykeys/review.rb +7 -2
  93. data/lib/straddle/resources/paykeys.rb +42 -11
  94. data/lib/straddle/resources/payments.rb +30 -6
  95. data/lib/straddle/resources/payouts.rb +60 -7
  96. data/lib/straddle/version.rb +1 -1
  97. data/lib/straddle.rb +2 -0
  98. data/manifest.yaml +1 -0
  99. data/rbi/straddle/client.rbi +34 -0
  100. data/rbi/straddle/internal/util.rbi +29 -1
  101. data/rbi/straddle/models/bridge/link_create_paykey_response.rbi +40 -0
  102. data/rbi/straddle/models/bridge/link_create_tan_response.rbi +40 -0
  103. data/rbi/straddle/models/charge_cancel_params.rbi +6 -0
  104. data/rbi/straddle/models/charge_create_params.rbi +29 -3
  105. data/rbi/straddle/models/charge_get_params.rbi +6 -0
  106. data/rbi/straddle/models/charge_hold_params.rbi +6 -0
  107. data/rbi/straddle/models/charge_release_params.rbi +6 -0
  108. data/rbi/straddle/models/charge_unmask_params.rbi +6 -0
  109. data/rbi/straddle/models/charge_unmask_response.rbi +396 -6
  110. data/rbi/straddle/models/charge_update_params.rbi +9 -3
  111. data/rbi/straddle/models/charge_v1.rbi +364 -6
  112. data/rbi/straddle/models/customer_delete_params.rbi +6 -0
  113. data/rbi/straddle/models/customer_get_params.rbi +6 -0
  114. data/rbi/straddle/models/customer_unmasked_params.rbi +6 -0
  115. data/rbi/straddle/models/customer_update_params.rbi +6 -0
  116. data/rbi/straddle/models/customers/review_decision_params.rbi +6 -0
  117. data/rbi/straddle/models/customers/review_get_params.rbi +6 -0
  118. data/rbi/straddle/models/customers/review_refresh_review_params.rbi +6 -0
  119. data/rbi/straddle/models/embed/account_get_params.rbi +13 -1
  120. data/rbi/straddle/models/embed/account_list_params.rbi +9 -0
  121. data/rbi/straddle/models/embed/account_onboard_params.rbi +6 -0
  122. data/rbi/straddle/models/embed/account_paged_v1.rbi +20 -0
  123. data/rbi/straddle/models/embed/account_simulate_params.rbi +6 -0
  124. data/rbi/straddle/models/embed/account_update_params.rbi +6 -0
  125. data/rbi/straddle/models/embed/account_v1.rbi +20 -0
  126. data/rbi/straddle/models/embed/accounts/capability_request_create_params.rbi +6 -0
  127. data/rbi/straddle/models/embed/accounts/capability_request_list_params.rbi +6 -0
  128. data/rbi/straddle/models/embed/accounts/capability_request_paged_v1.rbi +8 -0
  129. data/rbi/straddle/models/embed/address_v1.rbi +18 -42
  130. data/rbi/straddle/models/embed/linked_bank_account_cancel_params.rbi +6 -0
  131. data/rbi/straddle/models/embed/linked_bank_account_get_params.rbi +11 -1
  132. data/rbi/straddle/models/embed/linked_bank_account_unmask_params.rbi +11 -1
  133. data/rbi/straddle/models/embed/linked_bank_account_update_params.rbi +6 -0
  134. data/rbi/straddle/models/embed/organization_get_params.rbi +11 -1
  135. data/rbi/straddle/models/embed/representative.rbi +2 -2
  136. data/rbi/straddle/models/embed/representative_create_params.rbi +2 -2
  137. data/rbi/straddle/models/embed/representative_get_params.rbi +11 -1
  138. data/rbi/straddle/models/embed/representative_paged.rbi +2 -2
  139. data/rbi/straddle/models/embed/representative_unmask_params.rbi +11 -1
  140. data/rbi/straddle/models/embed/representative_update_params.rbi +8 -2
  141. data/rbi/straddle/models/funding_event_get_params.rbi +6 -0
  142. data/rbi/straddle/models/funding_event_list_params.rbi +333 -0
  143. data/rbi/straddle/models/funding_event_summary_item_v1.rbi +392 -0
  144. data/rbi/straddle/models/funding_event_summary_paged_v1.rbi +393 -0
  145. data/rbi/straddle/models/paykey_cancel_params.rbi +6 -0
  146. data/rbi/straddle/models/paykey_get_params.rbi +6 -0
  147. data/rbi/straddle/models/paykey_list_params.rbi +52 -0
  148. data/rbi/straddle/models/paykey_reveal_params.rbi +6 -0
  149. data/rbi/straddle/models/paykey_reveal_response.rbi +40 -0
  150. data/rbi/straddle/models/paykey_summary_paged_v1.rbi +55 -3
  151. data/rbi/straddle/models/paykey_unmasked_params.rbi +6 -0
  152. data/rbi/straddle/models/paykey_unmasked_v1.rbi +40 -0
  153. data/rbi/straddle/models/paykey_update_balance_params.rbi +6 -0
  154. data/rbi/straddle/models/paykey_v1.rbi +52 -3
  155. data/rbi/straddle/models/paykeys/review_decision_params.rbi +6 -0
  156. data/rbi/straddle/models/paykeys/review_get_params.rbi +6 -0
  157. data/rbi/straddle/models/paykeys/review_get_response.rbi +55 -18
  158. data/rbi/straddle/models/paykeys/review_refresh_review_params.rbi +6 -0
  159. data/rbi/straddle/models/payment_list_params.rbi +126 -0
  160. data/rbi/straddle/models/payment_summary_paged_v1.rbi +214 -6
  161. data/rbi/straddle/models/payout_cancel_params.rbi +6 -0
  162. data/rbi/straddle/models/payout_create_params.rbi +29 -3
  163. data/rbi/straddle/models/payout_get_params.rbi +6 -0
  164. data/rbi/straddle/models/payout_hold_params.rbi +6 -0
  165. data/rbi/straddle/models/payout_release_params.rbi +6 -0
  166. data/rbi/straddle/models/payout_unmask_params.rbi +6 -0
  167. data/rbi/straddle/models/payout_unmask_response.rbi +393 -3
  168. data/rbi/straddle/models/payout_update_params.rbi +9 -3
  169. data/rbi/straddle/models/payout_upload_authorization_document_params.rbi +88 -0
  170. data/rbi/straddle/models/payout_v1.rbi +361 -3
  171. data/rbi/straddle/models/status_details_v1.rbi +29 -0
  172. data/rbi/straddle/models.rbi +3 -0
  173. data/rbi/straddle/resources/bridge/link.rbi +12 -6
  174. data/rbi/straddle/resources/bridge.rbi +13 -1
  175. data/rbi/straddle/resources/charges.rbi +13 -8
  176. data/rbi/straddle/resources/customers/review.rbi +7 -1
  177. data/rbi/straddle/resources/customers.rbi +20 -8
  178. data/rbi/straddle/resources/embed/accounts/capability_requests.rbi +6 -2
  179. data/rbi/straddle/resources/embed/accounts.rbi +22 -10
  180. data/rbi/straddle/resources/embed/linked_bank_accounts.rbi +8 -4
  181. data/rbi/straddle/resources/embed/organizations.rbi +4 -0
  182. data/rbi/straddle/resources/embed/representatives.rbi +12 -6
  183. data/rbi/straddle/resources/embed.rbi +19 -0
  184. data/rbi/straddle/resources/funding_events.rbi +27 -0
  185. data/rbi/straddle/resources/paykeys/review.rbi +7 -2
  186. data/rbi/straddle/resources/paykeys.rbi +32 -8
  187. data/rbi/straddle/resources/payments.rbi +28 -3
  188. data/rbi/straddle/resources/payouts.rbi +44 -7
  189. data/sig/straddle/internal/util.rbs +14 -0
  190. data/sig/straddle/models/bridge/link_create_paykey_response.rbs +17 -1
  191. data/sig/straddle/models/bridge/link_create_tan_response.rbs +17 -1
  192. data/sig/straddle/models/charge_cancel_params.rbs +5 -0
  193. data/sig/straddle/models/charge_create_params.rbs +18 -4
  194. data/sig/straddle/models/charge_get_params.rbs +5 -0
  195. data/sig/straddle/models/charge_hold_params.rbs +5 -0
  196. data/sig/straddle/models/charge_release_params.rbs +5 -0
  197. data/sig/straddle/models/charge_unmask_params.rbs +5 -0
  198. data/sig/straddle/models/charge_unmask_response.rbs +166 -7
  199. data/sig/straddle/models/charge_update_params.rbs +9 -4
  200. data/sig/straddle/models/charge_v1.rbs +166 -7
  201. data/sig/straddle/models/customer_delete_params.rbs +5 -0
  202. data/sig/straddle/models/customer_get_params.rbs +5 -0
  203. data/sig/straddle/models/customer_unmasked_params.rbs +5 -0
  204. data/sig/straddle/models/customer_update_params.rbs +5 -0
  205. data/sig/straddle/models/customers/review_decision_params.rbs +5 -0
  206. data/sig/straddle/models/customers/review_get_params.rbs +5 -0
  207. data/sig/straddle/models/customers/review_refresh_review_params.rbs +5 -0
  208. data/sig/straddle/models/embed/account_get_params.rbs +5 -1
  209. data/sig/straddle/models/embed/account_list_params.rbs +7 -0
  210. data/sig/straddle/models/embed/account_onboard_params.rbs +5 -0
  211. data/sig/straddle/models/embed/account_paged_v1.rbs +18 -2
  212. data/sig/straddle/models/embed/account_simulate_params.rbs +5 -0
  213. data/sig/straddle/models/embed/account_update_params.rbs +5 -0
  214. data/sig/straddle/models/embed/account_v1.rbs +18 -2
  215. data/sig/straddle/models/embed/accounts/capability_request_create_params.rbs +5 -0
  216. data/sig/straddle/models/embed/accounts/capability_request_list_params.rbs +5 -0
  217. data/sig/straddle/models/embed/accounts/capability_request_paged_v1.rbs +5 -0
  218. data/sig/straddle/models/embed/address_v1.rbs +12 -27
  219. data/sig/straddle/models/embed/linked_bank_account_cancel_params.rbs +10 -1
  220. data/sig/straddle/models/embed/linked_bank_account_get_params.rbs +9 -1
  221. data/sig/straddle/models/embed/linked_bank_account_unmask_params.rbs +9 -1
  222. data/sig/straddle/models/embed/linked_bank_account_update_params.rbs +5 -0
  223. data/sig/straddle/models/embed/organization_get_params.rbs +5 -1
  224. data/sig/straddle/models/embed/representative_get_params.rbs +9 -1
  225. data/sig/straddle/models/embed/representative_unmask_params.rbs +9 -1
  226. data/sig/straddle/models/embed/representative_update_params.rbs +5 -0
  227. data/sig/straddle/models/funding_event_get_params.rbs +5 -0
  228. data/sig/straddle/models/funding_event_list_params.rbs +125 -0
  229. data/sig/straddle/models/funding_event_summary_item_v1.rbs +164 -0
  230. data/sig/straddle/models/funding_event_summary_paged_v1.rbs +164 -0
  231. data/sig/straddle/models/paykey_cancel_params.rbs +5 -0
  232. data/sig/straddle/models/paykey_get_params.rbs +5 -0
  233. data/sig/straddle/models/paykey_list_params.rbs +31 -1
  234. data/sig/straddle/models/paykey_reveal_params.rbs +5 -0
  235. data/sig/straddle/models/paykey_reveal_response.rbs +17 -1
  236. data/sig/straddle/models/paykey_summary_paged_v1.rbs +25 -4
  237. data/sig/straddle/models/paykey_unmasked_params.rbs +5 -0
  238. data/sig/straddle/models/paykey_unmasked_v1.rbs +17 -1
  239. data/sig/straddle/models/paykey_update_balance_params.rbs +5 -0
  240. data/sig/straddle/models/paykey_v1.rbs +25 -4
  241. data/sig/straddle/models/paykeys/review_decision_params.rbs +5 -0
  242. data/sig/straddle/models/paykeys/review_get_params.rbs +5 -0
  243. data/sig/straddle/models/paykeys/review_get_response.rbs +28 -10
  244. data/sig/straddle/models/paykeys/review_refresh_review_params.rbs +5 -0
  245. data/sig/straddle/models/payment_list_params.rbs +80 -2
  246. data/sig/straddle/models/payment_summary_paged_v1.rbs +89 -7
  247. data/sig/straddle/models/payout_cancel_params.rbs +5 -0
  248. data/sig/straddle/models/payout_create_params.rbs +18 -4
  249. data/sig/straddle/models/payout_get_params.rbs +5 -0
  250. data/sig/straddle/models/payout_hold_params.rbs +5 -0
  251. data/sig/straddle/models/payout_release_params.rbs +5 -0
  252. data/sig/straddle/models/payout_unmask_params.rbs +5 -0
  253. data/sig/straddle/models/payout_unmask_response.rbs +163 -4
  254. data/sig/straddle/models/payout_update_params.rbs +9 -4
  255. data/sig/straddle/models/payout_upload_authorization_document_params.rbs +59 -0
  256. data/sig/straddle/models/payout_v1.rbs +163 -4
  257. data/sig/straddle/models/status_details_v1.rbs +14 -0
  258. data/sig/straddle/models.rbs +2 -0
  259. data/sig/straddle/resources/charges.rbs +2 -2
  260. data/sig/straddle/resources/embed/accounts.rbs +1 -0
  261. data/sig/straddle/resources/funding_events.rbs +4 -0
  262. data/sig/straddle/resources/paykeys.rbs +4 -0
  263. data/sig/straddle/resources/payments.rbs +7 -0
  264. data/sig/straddle/resources/payouts.rbs +12 -2
  265. metadata +19 -2
@@ -3,6 +3,12 @@
3
3
  module Straddle
4
4
  module Resources
5
5
  class Bridge
6
+ # Bridge provides a comprehensive suite of tools for connecting customer bank
7
+ # accounts. Use it to generate secure widget sessions for instant account
8
+ # verification, accept tokens from major providers like Plaid and Finicity, or
9
+ # verify accounts directly via our API. Bridge handles all sensitive banking
10
+ # credentials and ensures secure, compliant connections with support for 90% of US
11
+ # bank accounts.
6
12
  class Link
7
13
  # Use Bridge to create a new paykey using a bank routing and account number as the
8
14
  # source. This endpoint allows you to create a secure payment token linked to a
@@ -27,13 +33,13 @@ module Straddle
27
33
  def bank_account(
28
34
  # Body param: The bank account number.
29
35
  account_number:,
30
- # Body param:
36
+ # Body param
31
37
  account_type:,
32
38
  # Body param: Unique identifier of the related customer object.
33
39
  customer_id:,
34
40
  # Body param: The routing number of the bank account.
35
41
  routing_number:,
36
- # Body param:
42
+ # Body param
37
43
  config: nil,
38
44
  # Body param: Unique identifier for the paykey in your database, used for
39
45
  # cross-referencing between Straddle and your systems.
@@ -78,7 +84,7 @@ module Straddle
78
84
  # Body param: Quiltt processor token generated by your application for use with
79
85
  # the Straddle API.
80
86
  quiltt_token:,
81
- # Body param:
87
+ # Body param
82
88
  config: nil,
83
89
  # Body param: Unique identifier for the paykey in your database, used for
84
90
  # cross-referencing between Straddle and your systems.
@@ -118,7 +124,7 @@ module Straddle
118
124
  ).returns(Straddle::Models::Bridge::LinkCreateTanResponse)
119
125
  end
120
126
  def create_tan(
121
- # Body param:
127
+ # Body param
122
128
  account_type:,
123
129
  # Body param: Unique identifier of the related customer object.
124
130
  customer_id:,
@@ -126,7 +132,7 @@ module Straddle
126
132
  routing_number:,
127
133
  # Body param: Tokenized account number.
128
134
  tan:,
129
- # Body param:
135
+ # Body param
130
136
  config: nil,
131
137
  # Body param: Unique identifier for the paykey in your database, used for
132
138
  # cross-referencing between Straddle and your systems.
@@ -171,7 +177,7 @@ module Straddle
171
177
  # Body param: Plaid processor token generated by your application for use with the
172
178
  # Straddle API.
173
179
  plaid_token:,
174
- # Body param:
180
+ # Body param
175
181
  config: nil,
176
182
  # Body param: Unique identifier for the paykey in your database, used for
177
183
  # cross-referencing between Straddle and your systems.
@@ -2,7 +2,19 @@
2
2
 
3
3
  module Straddle
4
4
  module Resources
5
+ # Bridge provides a comprehensive suite of tools for connecting customer bank
6
+ # accounts. Use it to generate secure widget sessions for instant account
7
+ # verification, accept tokens from major providers like Plaid and Finicity, or
8
+ # verify accounts directly via our API. Bridge handles all sensitive banking
9
+ # credentials and ensures secure, compliant connections with support for 90% of US
10
+ # bank accounts.
5
11
  class Bridge
12
+ # Bridge provides a comprehensive suite of tools for connecting customer bank
13
+ # accounts. Use it to generate secure widget sessions for instant account
14
+ # verification, accept tokens from major providers like Plaid and Finicity, or
15
+ # verify accounts directly via our API. Bridge handles all sensitive banking
16
+ # credentials and ensures secure, compliant connections with support for 90% of US
17
+ # bank accounts.
6
18
  sig { returns(Straddle::Resources::Bridge::Link) }
7
19
  attr_reader :link
8
20
 
@@ -23,7 +35,7 @@ module Straddle
23
35
  # Body param: The Straddle generated unique identifier of the `customer` to create
24
36
  # a bridge token for.
25
37
  customer_id:,
26
- # Body param:
38
+ # Body param
27
39
  config: nil,
28
40
  # Body param: Unique identifier for the paykey in your database, used for
29
41
  # cross-referencing between Straddle and your systems.
@@ -2,6 +2,11 @@
2
2
 
3
3
  module Straddle
4
4
  module Resources
5
+ # Charges represent attempts to debit money from a customer's bank account using a
6
+ # Paykey. Each charge includes automatic balance verification, real-time fraud
7
+ # screening, and multi-rail optimization and detailed status tracking throughout
8
+ # the payment lifecycle. Use charges to accept bank payments with confidence
9
+ # knowing every transaction is protected.
5
10
  class Charges
6
11
  # Use charges to collect money from a customer for the sale of goods or services.
7
12
  sig do
@@ -10,7 +15,7 @@ module Straddle
10
15
  config: Straddle::ChargeCreateParams::Config::OrHash,
11
16
  consent_type: Straddle::ChargeCreateParams::ConsentType::OrSymbol,
12
17
  currency: String,
13
- description: String,
18
+ description: T.nilable(String),
14
19
  device: Straddle::DeviceInfoV1::OrHash,
15
20
  external_id: String,
16
21
  paykey: String,
@@ -26,7 +31,7 @@ module Straddle
26
31
  def create(
27
32
  # Body param: The amount of the charge in cents.
28
33
  amount:,
29
- # Body param:
34
+ # Body param
30
35
  config:,
31
36
  # Body param: The channel or mechanism through which the payment was authorized.
32
37
  # Use `internet` for payments made online or through a mobile app and `signed` for
@@ -37,7 +42,7 @@ module Straddle
37
42
  currency:,
38
43
  # Body param: An arbitrary description for the charge.
39
44
  description:,
40
- # Body param:
45
+ # Body param
41
46
  device:,
42
47
  # Body param: Unique identifier for the charge in your database. This value must
43
48
  # be unique across all charges.
@@ -70,7 +75,7 @@ module Straddle
70
75
  params(
71
76
  id: String,
72
77
  amount: Integer,
73
- description: String,
78
+ description: T.nilable(String),
74
79
  payment_date: Date,
75
80
  metadata: T.nilable(T::Hash[Symbol, String]),
76
81
  correlation_id: String,
@@ -81,7 +86,7 @@ module Straddle
81
86
  ).returns(Straddle::ChargeV1)
82
87
  end
83
88
  def update(
84
- # Path param:
89
+ # Path param
85
90
  id,
86
91
  # Body param: The amount of the charge in cents.
87
92
  amount:,
@@ -121,7 +126,7 @@ module Straddle
121
126
  ).returns(Straddle::ChargeV1)
122
127
  end
123
128
  def cancel(
124
- # Path param:
129
+ # Path param
125
130
  id,
126
131
  # Body param: Details about why the charge status was updated.
127
132
  reason: nil,
@@ -176,7 +181,7 @@ module Straddle
176
181
  ).returns(Straddle::ChargeV1)
177
182
  end
178
183
  def hold(
179
- # Path param:
184
+ # Path param
180
185
  id,
181
186
  # Body param: Details about why the charge status was updated.
182
187
  reason: nil,
@@ -208,7 +213,7 @@ module Straddle
208
213
  ).returns(Straddle::ChargeV1)
209
214
  end
210
215
  def release(
211
- # Path param:
216
+ # Path param
212
217
  id,
213
218
  # Body param: Details about why the charge status was updated.
214
219
  reason: nil,
@@ -3,6 +3,12 @@
3
3
  module Straddle
4
4
  module Resources
5
5
  class Customers
6
+ # Customers represent the end users who send or receive payments through your
7
+ # integration. Each customer undergoes automatic identity verification and fraud
8
+ # screening upon creation. Use customers to track payment history, manage bank
9
+ # account connections, and maintain a secure record of all transactions associated
10
+ # with a user. Customers can be either individuals or businesses with appropriate
11
+ # compliance checks for each type.
6
12
  class Review
7
13
  # Updates the status of a customer's identity decision. This endpoint allows you
8
14
  # to modify the outcome of a customer risk screening and is useful for correcting
@@ -20,7 +26,7 @@ module Straddle
20
26
  ).returns(Straddle::CustomerV1)
21
27
  end
22
28
  def decision(
23
- # Path param:
29
+ # Path param
24
30
  id,
25
31
  # Body param: The final status of the customer review.
26
32
  status:,
@@ -2,7 +2,19 @@
2
2
 
3
3
  module Straddle
4
4
  module Resources
5
+ # Customers represent the end users who send or receive payments through your
6
+ # integration. Each customer undergoes automatic identity verification and fraud
7
+ # screening upon creation. Use customers to track payment history, manage bank
8
+ # account connections, and maintain a secure record of all transactions associated
9
+ # with a user. Customers can be either individuals or businesses with appropriate
10
+ # compliance checks for each type.
5
11
  class Customers
12
+ # Customers represent the end users who send or receive payments through your
13
+ # integration. Each customer undergoes automatic identity verification and fraud
14
+ # screening upon creation. Use customers to track payment history, manage bank
15
+ # account connections, and maintain a secure record of all transactions associated
16
+ # with a user. Customers can be either individuals or businesses with appropriate
17
+ # compliance checks for each type.
6
18
  sig { returns(Straddle::Resources::Customers::Review) }
7
19
  attr_reader :review
8
20
 
@@ -35,7 +47,7 @@ module Straddle
35
47
  ).returns(Straddle::CustomerV1)
36
48
  end
37
49
  def create(
38
- # Body param:
50
+ # Body param
39
51
  device:,
40
52
  # Body param: The customer's email address.
41
53
  email:,
@@ -44,7 +56,7 @@ module Straddle
44
56
  # Body param: The customer's phone number in E.164 format. Mobile number is
45
57
  # preferred.
46
58
  phone:,
47
- # Body param:
59
+ # Body param
48
60
  type:,
49
61
  # Body param: An object containing the customer's address. **This is optional.**
50
62
  # If used, all required fields must be present.
@@ -53,7 +65,7 @@ module Straddle
53
65
  # optional.** If all required fields must be present for the appropriate customer
54
66
  # type.
55
67
  compliance_profile: nil,
56
- # Body param:
68
+ # Body param
57
69
  config: nil,
58
70
  # Body param: Unique identifier for the customer in your database, used for
59
71
  # cross-referencing between Straddle and your systems.
@@ -103,9 +115,9 @@ module Straddle
103
115
  ).returns(Straddle::CustomerV1)
104
116
  end
105
117
  def update(
106
- # Path param:
118
+ # Path param
107
119
  id,
108
- # Body param:
120
+ # Body param
109
121
  device:,
110
122
  # Body param: The customer's email address.
111
123
  email:,
@@ -113,7 +125,7 @@ module Straddle
113
125
  name:,
114
126
  # Body param: The customer's phone number in E.164 format.
115
127
  phone:,
116
- # Body param:
128
+ # Body param
117
129
  status:,
118
130
  # Body param: An object containing the customer's address. This is optional, but
119
131
  # if provided, all required fields must be present.
@@ -186,9 +198,9 @@ module Straddle
186
198
  page_size: nil,
187
199
  # Query param: General search term to filter customers.
188
200
  search_text: nil,
189
- # Query param:
201
+ # Query param
190
202
  sort_by: nil,
191
- # Query param:
203
+ # Query param
192
204
  sort_order: nil,
193
205
  # Query param: Filter customers by their current `status`.
194
206
  status: nil,
@@ -4,6 +4,10 @@ module Straddle
4
4
  module Resources
5
5
  class Embed
6
6
  class Accounts
7
+ # Capabilities enable specific features and services for an Account. Use
8
+ # capability requests to unlock higher processing limits, new payment types, or
9
+ # additional platform features as your users' businesses grow. Track approval
10
+ # status and manage documentation requirements through a single interface.
7
11
  class CapabilityRequests
8
12
  # Submits a request to enable a specific capability for an account. Use this
9
13
  # endpoint to request additional features or services for an account.
@@ -29,7 +33,7 @@ module Straddle
29
33
  ).returns(Straddle::Embed::Accounts::CapabilityRequestPagedV1)
30
34
  end
31
35
  def create(
32
- # Path param:
36
+ # Path param
33
37
  account_id,
34
38
  # Body param: Allows the account to accept payments from businesses.
35
39
  businesses: nil,
@@ -83,7 +87,7 @@ module Straddle
83
87
  )
84
88
  end
85
89
  def list(
86
- # Path param:
90
+ # Path param
87
91
  account_id,
88
92
  # Query param: Filter capability requests by category.
89
93
  category: nil,
@@ -3,7 +3,16 @@
3
3
  module Straddle
4
4
  module Resources
5
5
  class Embed
6
+ # Accounts represent businesses using Straddle through your platform. Each account
7
+ # must complete automated verification before processing payments. Use accounts to
8
+ # manage your users' payment capabilities, track verification status, and control
9
+ # access to features. Accounts can be instantly created in sandbox and require
10
+ # additional verification for production access.
6
11
  class Accounts
12
+ # Capabilities enable specific features and services for an Account. Use
13
+ # capability requests to unlock higher processing limits, new payment types, or
14
+ # additional platform features as your users' businesses grow. Track approval
15
+ # status and manage documentation requirements through a single interface.
7
16
  sig do
8
17
  returns(Straddle::Resources::Embed::Accounts::CapabilityRequests)
9
18
  end
@@ -35,7 +44,7 @@ module Straddle
35
44
  # Body param: The type of account to be created. Currently, only `business` is
36
45
  # supported.
37
46
  account_type:,
38
- # Body param:
47
+ # Body param
39
48
  business_profile:,
40
49
  # Body param: The unique identifier of the organization related to this account.
41
50
  organization_id:,
@@ -71,9 +80,9 @@ module Straddle
71
80
  ).returns(Straddle::Embed::AccountV1)
72
81
  end
73
82
  def update(
74
- # Path param:
83
+ # Path param
75
84
  account_id,
76
- # Body param:
85
+ # Body param
77
86
  business_profile:,
78
87
  # Body param: Unique identifier for the account in your database, used for
79
88
  # cross-referencing between Straddle and your systems.
@@ -98,6 +107,7 @@ module Straddle
98
107
  # filtering options.
99
108
  sig do
100
109
  params(
110
+ external_id: String,
101
111
  page_number: Integer,
102
112
  page_size: Integer,
103
113
  search_text: String,
@@ -115,19 +125,21 @@ module Straddle
115
125
  )
116
126
  end
117
127
  def list(
128
+ # Query param
129
+ external_id: nil,
118
130
  # Query param: Results page number. Starts at page 1. Default value: 1
119
131
  page_number: nil,
120
132
  # Query param: Page size. Default value: 100. Max value: 1000
121
133
  page_size: nil,
122
- # Query param:
134
+ # Query param
123
135
  search_text: nil,
124
136
  # Query param: Sort By. Default value: 'id'.
125
137
  sort_by: nil,
126
138
  # Query param: Sort Order. Default value: 'asc'.
127
139
  sort_order: nil,
128
- # Query param:
140
+ # Query param
129
141
  status: nil,
130
- # Query param:
142
+ # Query param
131
143
  type: nil,
132
144
  # Header param: Optional client generated identifier to trace and debug a series
133
145
  # of requests.
@@ -174,9 +186,9 @@ module Straddle
174
186
  ).returns(Straddle::Embed::AccountV1)
175
187
  end
176
188
  def onboard(
177
- # Path param:
189
+ # Path param
178
190
  account_id,
179
- # Body param:
191
+ # Body param
180
192
  terms_of_service:,
181
193
  # Header param: Optional client generated identifier to trace and debug a series
182
194
  # of requests.
@@ -203,9 +215,9 @@ module Straddle
203
215
  ).returns(Straddle::Embed::AccountV1)
204
216
  end
205
217
  def simulate(
206
- # Path param:
218
+ # Path param
207
219
  account_id,
208
- # Query param:
220
+ # Query param
209
221
  final_status: nil,
210
222
  # Header param: Optional client generated identifier to trace and debug a series
211
223
  # of requests.
@@ -3,6 +3,10 @@
3
3
  module Straddle
4
4
  module Resources
5
5
  class Embed
6
+ # Linked bank accounts connect your platform users' external bank accounts to
7
+ # Straddle for settlements and payment funding. Each linked account undergoes
8
+ # automated verification and continuous monitoring. Use linked accounts to manage
9
+ # where clients receive deposits, fund payouts, and track settlement preferences.
6
10
  class LinkedBankAccounts
7
11
  # Creates a new linked bank account associated with a Straddle account. This
8
12
  # endpoint allows you to associate external bank accounts with a Straddle account
@@ -32,7 +36,7 @@ module Straddle
32
36
  # Body param: The unique identifier of the Straddle account to associate this bank
33
37
  # account with.
34
38
  account_id:,
35
- # Body param:
39
+ # Body param
36
40
  bank_account:,
37
41
  # Body param: Optional description for the bank account.
38
42
  description: nil,
@@ -72,9 +76,9 @@ module Straddle
72
76
  ).returns(Straddle::Embed::LinkedBankAccountV1)
73
77
  end
74
78
  def update(
75
- # Path param:
79
+ # Path param
76
80
  linked_bank_account_id,
77
- # Body param:
81
+ # Body param
78
82
  bank_account:,
79
83
  # Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
80
84
  # additional information about the linked bank account in a structured format.
@@ -120,7 +124,7 @@ module Straddle
120
124
  def list(
121
125
  # Query param: The unique identifier of the related account.
122
126
  account_id: nil,
123
- # Query param:
127
+ # Query param
124
128
  level: nil,
125
129
  # Query param: Results page number. Starts at page 1.
126
130
  page_number: nil,
@@ -3,6 +3,10 @@
3
3
  module Straddle
4
4
  module Resources
5
5
  class Embed
6
+ # Organizations are a powerful feature in Straddle that allow you to manage
7
+ # multiple accounts under a single umbrella. This hierarchical structure is
8
+ # particularly useful for businesses with complex operations, multiple
9
+ # departments, or legally related entities.
6
10
  class Organizations
7
11
  # Creates a new organization related to your Straddle integration. Organizations
8
12
  # can be used to group related accounts and manage permissions across multiple
@@ -3,6 +3,12 @@
3
3
  module Straddle
4
4
  module Resources
5
5
  class Embed
6
+ # Representatives are individuals who have legal authority or significant
7
+ # responsibility within a business entity associated with a Straddle account. Each
8
+ # representative undergoes automated verification as part of KYC/KYB compliance.
9
+ # Use representatives to collect and verify beneficial owners, control persons,
10
+ # and authorized signers required for account onboarding. Representatives also
11
+ # determine who can legally operate the account and make important changes.
6
12
  class Representatives
7
13
  # Creates a new representative associated with an account. Representatives are
8
14
  # individuals who have legal authority or significant responsibility within the
@@ -41,7 +47,7 @@ module Straddle
41
47
  last_name:,
42
48
  # Body param: The mobile phone number of the representative.
43
49
  mobile_number:,
44
- # Body param:
50
+ # Body param
45
51
  relationship:,
46
52
  # Body param: The last 4 digits of the representative's Social Security Number.
47
53
  ssn_last4:,
@@ -85,7 +91,7 @@ module Straddle
85
91
  ).returns(Straddle::Embed::Representative)
86
92
  end
87
93
  def update(
88
- # Path param:
94
+ # Path param
89
95
  representative_id,
90
96
  # Body param: The date of birth of the representative, in ISO 8601 format
91
97
  # (YYYY-MM-DD).
@@ -98,7 +104,7 @@ module Straddle
98
104
  last_name:,
99
105
  # Body param: The mobile phone number of the representative.
100
106
  mobile_number:,
101
- # Body param:
107
+ # Body param
102
108
  relationship:,
103
109
  # Body param: The last 4 digits of the representative's Social Security Number.
104
110
  ssn_last4:,
@@ -146,15 +152,15 @@ module Straddle
146
152
  def list(
147
153
  # Query param: The unique identifier of the account to list representatives for.
148
154
  account_id: nil,
149
- # Query param:
155
+ # Query param
150
156
  level: nil,
151
- # Query param:
157
+ # Query param
152
158
  organization_id: nil,
153
159
  # Query param: Results page number. Starts at page 1.
154
160
  page_number: nil,
155
161
  # Query param: Page size. Max value: 1000
156
162
  page_size: nil,
157
- # Query param:
163
+ # Query param
158
164
  platform_id: nil,
159
165
  # Query param: Sort By.
160
166
  sort_by: nil,
@@ -3,15 +3,34 @@
3
3
  module Straddle
4
4
  module Resources
5
5
  class Embed
6
+ # Accounts represent businesses using Straddle through your platform. Each account
7
+ # must complete automated verification before processing payments. Use accounts to
8
+ # manage your users' payment capabilities, track verification status, and control
9
+ # access to features. Accounts can be instantly created in sandbox and require
10
+ # additional verification for production access.
6
11
  sig { returns(Straddle::Resources::Embed::Accounts) }
7
12
  attr_reader :accounts
8
13
 
14
+ # Linked bank accounts connect your platform users' external bank accounts to
15
+ # Straddle for settlements and payment funding. Each linked account undergoes
16
+ # automated verification and continuous monitoring. Use linked accounts to manage
17
+ # where clients receive deposits, fund payouts, and track settlement preferences.
9
18
  sig { returns(Straddle::Resources::Embed::LinkedBankAccounts) }
10
19
  attr_reader :linked_bank_accounts
11
20
 
21
+ # Organizations are a powerful feature in Straddle that allow you to manage
22
+ # multiple accounts under a single umbrella. This hierarchical structure is
23
+ # particularly useful for businesses with complex operations, multiple
24
+ # departments, or legally related entities.
12
25
  sig { returns(Straddle::Resources::Embed::Organizations) }
13
26
  attr_reader :organizations
14
27
 
28
+ # Representatives are individuals who have legal authority or significant
29
+ # responsibility within a business entity associated with a Straddle account. Each
30
+ # representative undergoes automated verification as part of KYC/KYB compliance.
31
+ # Use representatives to collect and verify beneficial owners, control persons,
32
+ # and authorized signers required for account onboarding. Representatives also
33
+ # determine who can legally operate the account and make important changes.
15
34
  sig { returns(Straddle::Resources::Embed::Representatives) }
16
35
  attr_reader :representatives
17
36
 
@@ -2,6 +2,12 @@
2
2
 
3
3
  module Straddle
4
4
  module Resources
5
+ # Funding events represent all money movement between Straddle and an Account's
6
+ # external bank accounts. They are automatically generated when charges settle or
7
+ # payouts are initiated. Each event provides detailed tracking of settlement
8
+ # status, fee breakdowns, and reconciliation data across both incoming and
9
+ # outgoing transfers. Use funding events to monitor your platform's entire money
10
+ # movement lifecycle.
5
11
  class FundingEvents
6
12
  # Retrieves a list of funding events for your account. This endpoint supports
7
13
  # advanced sorting and filtering options.
@@ -16,6 +22,19 @@ module Straddle
16
22
  search_text: T.nilable(String),
17
23
  sort_by: Straddle::FundingEventListParams::SortBy::OrSymbol,
18
24
  sort_order: Straddle::FundingEventListParams::SortOrder::OrSymbol,
25
+ status:
26
+ T.nilable(
27
+ T::Array[Straddle::FundingEventListParams::Status::OrSymbol]
28
+ ),
29
+ status_reason:
30
+ T.nilable(
31
+ T::Array[Straddle::FundingEventListParams::StatusReason::OrSymbol]
32
+ ),
33
+ status_source:
34
+ T.nilable(
35
+ T::Array[Straddle::FundingEventListParams::StatusSource::OrSymbol]
36
+ ),
37
+ trace_id: T.nilable(String),
19
38
  trace_number: T.nilable(String),
20
39
  correlation_id: String,
21
40
  request_id: String,
@@ -50,6 +69,14 @@ module Straddle
50
69
  sort_by: nil,
51
70
  # Query param: The order in which to sort the results.
52
71
  sort_order: nil,
72
+ # Query param: Funding Event status.
73
+ status: nil,
74
+ # Query param: Reason for latest payment status change.
75
+ status_reason: nil,
76
+ # Query param: Source of latest payment status change.
77
+ status_source: nil,
78
+ # Query param: Trace Id.
79
+ trace_id: nil,
53
80
  # Query param: Trace number.
54
81
  trace_number: nil,
55
82
  # Header param: Optional client generated identifier to trace and debug a series
@@ -3,6 +3,11 @@
3
3
  module Straddle
4
4
  module Resources
5
5
  class Paykeys
6
+ # Paykeys are secure tokens that link verified customer identities to their bank
7
+ # accounts. Each Paykey includes built-in balance checking, fraud detection
8
+ # through LSTM machine learning models, and can be reused for subscriptions and
9
+ # recurring payments without storing sensitive data. Paykeys eliminate fraud by
10
+ # ensuring the person initiating payment owns the funding account.
6
11
  class Review
7
12
  # Update the status of a paykey when in review status
8
13
  sig do
@@ -17,9 +22,9 @@ module Straddle
17
22
  ).returns(Straddle::PaykeyV1)
18
23
  end
19
24
  def decision(
20
- # Path param:
25
+ # Path param
21
26
  id,
22
- # Body param:
27
+ # Body param
23
28
  status:,
24
29
  # Header param: Optional client generated identifier to trace and debug a series
25
30
  # of requests.