straddle 0.1.0.pre.alpha.1

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 (428) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +9 -0
  4. data/README.md +344 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/straddle/client.rb +125 -0
  7. data/lib/straddle/errors.rb +214 -0
  8. data/lib/straddle/file_part.rb +55 -0
  9. data/lib/straddle/internal/page_number_schema.rb +127 -0
  10. data/lib/straddle/internal/transport/base_client.rb +563 -0
  11. data/lib/straddle/internal/transport/pooled_net_requester.rb +209 -0
  12. data/lib/straddle/internal/type/array_of.rb +167 -0
  13. data/lib/straddle/internal/type/base_model.rb +536 -0
  14. data/lib/straddle/internal/type/base_page.rb +55 -0
  15. data/lib/straddle/internal/type/boolean.rb +77 -0
  16. data/lib/straddle/internal/type/converter.rb +300 -0
  17. data/lib/straddle/internal/type/enum.rb +131 -0
  18. data/lib/straddle/internal/type/file_input.rb +108 -0
  19. data/lib/straddle/internal/type/hash_of.rb +187 -0
  20. data/lib/straddle/internal/type/request_parameters.rb +42 -0
  21. data/lib/straddle/internal/type/union.rb +235 -0
  22. data/lib/straddle/internal/type/unknown.rb +81 -0
  23. data/lib/straddle/internal/util.rb +914 -0
  24. data/lib/straddle/internal.rb +20 -0
  25. data/lib/straddle/models/bridge/link_bank_account_params.rb +122 -0
  26. data/lib/straddle/models/bridge/link_create_paykey_params.rb +98 -0
  27. data/lib/straddle/models/bridge/link_create_paykey_response.rb +411 -0
  28. data/lib/straddle/models/bridge/link_create_tan_params.rb +122 -0
  29. data/lib/straddle/models/bridge/link_create_tan_response.rb +411 -0
  30. data/lib/straddle/models/bridge/link_plaid_params.rb +95 -0
  31. data/lib/straddle/models/bridge_initialize_params.rb +76 -0
  32. data/lib/straddle/models/bridge_token_v1.rb +74 -0
  33. data/lib/straddle/models/charge_cancel_params.rb +43 -0
  34. data/lib/straddle/models/charge_create_params.rb +191 -0
  35. data/lib/straddle/models/charge_get_params.rb +32 -0
  36. data/lib/straddle/models/charge_hold_params.rb +43 -0
  37. data/lib/straddle/models/charge_release_params.rb +43 -0
  38. data/lib/straddle/models/charge_unmask_params.rb +32 -0
  39. data/lib/straddle/models/charge_unmask_response.rb +485 -0
  40. data/lib/straddle/models/charge_update_params.rb +72 -0
  41. data/lib/straddle/models/charge_v1.rb +485 -0
  42. data/lib/straddle/models/customer_address_v1.rb +51 -0
  43. data/lib/straddle/models/customer_create_params.rb +287 -0
  44. data/lib/straddle/models/customer_delete_params.rb +32 -0
  45. data/lib/straddle/models/customer_details_v1.rb +63 -0
  46. data/lib/straddle/models/customer_get_params.rb +32 -0
  47. data/lib/straddle/models/customer_list_params.rb +173 -0
  48. data/lib/straddle/models/customer_refresh_review_params.rb +32 -0
  49. data/lib/straddle/models/customer_summary_paged_v1.rb +248 -0
  50. data/lib/straddle/models/customer_unmasked_params.rb +32 -0
  51. data/lib/straddle/models/customer_unmasked_v1.rb +366 -0
  52. data/lib/straddle/models/customer_update_params.rb +239 -0
  53. data/lib/straddle/models/customer_v1.rb +371 -0
  54. data/lib/straddle/models/customers/customer_review_v1.rb +1091 -0
  55. data/lib/straddle/models/customers/identity_verification_breakdown_v1.rb +79 -0
  56. data/lib/straddle/models/customers/review_decision_params.rb +56 -0
  57. data/lib/straddle/models/customers/review_get_params.rb +34 -0
  58. data/lib/straddle/models/device_info_v1.rb +20 -0
  59. data/lib/straddle/models/device_unmasked_v1.rb +20 -0
  60. data/lib/straddle/models/embed/account_create_params.rb +106 -0
  61. data/lib/straddle/models/embed/account_get_params.rb +28 -0
  62. data/lib/straddle/models/embed/account_list_params.rb +116 -0
  63. data/lib/straddle/models/embed/account_onboard_params.rb +34 -0
  64. data/lib/straddle/models/embed/account_paged_v1.rb +561 -0
  65. data/lib/straddle/models/embed/account_simulate_params.rb +44 -0
  66. data/lib/straddle/models/embed/account_update_params.rb +58 -0
  67. data/lib/straddle/models/embed/account_v1.rb +557 -0
  68. data/lib/straddle/models/embed/accounts/capability_request_create_params.rb +227 -0
  69. data/lib/straddle/models/embed/accounts/capability_request_list_params.rb +139 -0
  70. data/lib/straddle/models/embed/accounts/capability_request_paged_v1.rb +201 -0
  71. data/lib/straddle/models/embed/address_v1.rb +84 -0
  72. data/lib/straddle/models/embed/business_profile_v1.rb +88 -0
  73. data/lib/straddle/models/embed/capability_v1.rb +28 -0
  74. data/lib/straddle/models/embed/industry_v1.rb +37 -0
  75. data/lib/straddle/models/embed/linked_bank_account_create_params.rb +90 -0
  76. data/lib/straddle/models/embed/linked_bank_account_get_params.rb +28 -0
  77. data/lib/straddle/models/embed/linked_bank_account_list_params.rb +98 -0
  78. data/lib/straddle/models/embed/linked_bank_account_paged_v1.rb +271 -0
  79. data/lib/straddle/models/embed/linked_bank_account_unmask_params.rb +28 -0
  80. data/lib/straddle/models/embed/linked_bank_account_unmask_v1.rb +262 -0
  81. data/lib/straddle/models/embed/linked_bank_account_update_params.rb +81 -0
  82. data/lib/straddle/models/embed/linked_bank_account_v1.rb +263 -0
  83. data/lib/straddle/models/embed/organization_create_params.rb +59 -0
  84. data/lib/straddle/models/embed/organization_get_params.rb +28 -0
  85. data/lib/straddle/models/embed/organization_list_params.rb +89 -0
  86. data/lib/straddle/models/embed/organization_paged_v1.rb +120 -0
  87. data/lib/straddle/models/embed/organization_v1.rb +121 -0
  88. data/lib/straddle/models/embed/representative.rb +351 -0
  89. data/lib/straddle/models/embed/representative_create_params.rb +160 -0
  90. data/lib/straddle/models/embed/representative_get_params.rb +28 -0
  91. data/lib/straddle/models/embed/representative_list_params.rb +112 -0
  92. data/lib/straddle/models/embed/representative_paged.rb +352 -0
  93. data/lib/straddle/models/embed/representative_unmask_params.rb +28 -0
  94. data/lib/straddle/models/embed/representative_update_params.rb +152 -0
  95. data/lib/straddle/models/embed/support_channels_v1.rb +34 -0
  96. data/lib/straddle/models/embed/terms_of_service_v1.rb +68 -0
  97. data/lib/straddle/models/funding_event_get_params.rb +32 -0
  98. data/lib/straddle/models/funding_event_list_params.rb +161 -0
  99. data/lib/straddle/models/funding_event_summary_item_v1.rb +167 -0
  100. data/lib/straddle/models/funding_event_summary_paged_v1.rb +249 -0
  101. data/lib/straddle/models/paged_response_metadata.rb +93 -0
  102. data/lib/straddle/models/paykey_cancel_params.rb +38 -0
  103. data/lib/straddle/models/paykey_details_v1.rb +45 -0
  104. data/lib/straddle/models/paykey_get_params.rb +32 -0
  105. data/lib/straddle/models/paykey_list_params.rb +137 -0
  106. data/lib/straddle/models/paykey_reveal_params.rb +32 -0
  107. data/lib/straddle/models/paykey_reveal_response.rb +405 -0
  108. data/lib/straddle/models/paykey_summary_paged_v1.rb +431 -0
  109. data/lib/straddle/models/paykey_unmasked_params.rb +32 -0
  110. data/lib/straddle/models/paykey_unmasked_v1.rb +399 -0
  111. data/lib/straddle/models/paykey_v1.rb +403 -0
  112. data/lib/straddle/models/payment_list_params.rb +361 -0
  113. data/lib/straddle/models/payment_summary_paged_v1.rb +325 -0
  114. data/lib/straddle/models/payout_cancel_params.rb +43 -0
  115. data/lib/straddle/models/payout_create_params.rb +145 -0
  116. data/lib/straddle/models/payout_get_params.rb +32 -0
  117. data/lib/straddle/models/payout_hold_params.rb +43 -0
  118. data/lib/straddle/models/payout_release_params.rb +43 -0
  119. data/lib/straddle/models/payout_unmask_params.rb +32 -0
  120. data/lib/straddle/models/payout_unmask_response.rb +433 -0
  121. data/lib/straddle/models/payout_update_params.rb +72 -0
  122. data/lib/straddle/models/payout_v1.rb +434 -0
  123. data/lib/straddle/models/report_create_total_customers_by_status_params.rb +32 -0
  124. data/lib/straddle/models/report_create_total_customers_by_status_response.rb +98 -0
  125. data/lib/straddle/models/response_metadata.rb +26 -0
  126. data/lib/straddle/models/status_details_v1.rb +102 -0
  127. data/lib/straddle/models.rb +149 -0
  128. data/lib/straddle/request_options.rb +77 -0
  129. data/lib/straddle/resources/bridge/link.rb +204 -0
  130. data/lib/straddle/resources/bridge.rb +58 -0
  131. data/lib/straddle/resources/charges.rb +305 -0
  132. data/lib/straddle/resources/customers/review.rb +99 -0
  133. data/lib/straddle/resources/customers.rb +349 -0
  134. data/lib/straddle/resources/embed/accounts/capability_requests.rb +115 -0
  135. data/lib/straddle/resources/embed/accounts.rb +251 -0
  136. data/lib/straddle/resources/embed/linked_bank_accounts.rb +199 -0
  137. data/lib/straddle/resources/embed/organizations.rb +129 -0
  138. data/lib/straddle/resources/embed/representatives.rb +233 -0
  139. data/lib/straddle/resources/embed.rb +30 -0
  140. data/lib/straddle/resources/funding_events.rb +114 -0
  141. data/lib/straddle/resources/paykeys.rb +207 -0
  142. data/lib/straddle/resources/payments.rb +131 -0
  143. data/lib/straddle/resources/payouts.rb +303 -0
  144. data/lib/straddle/resources/reports.rb +42 -0
  145. data/lib/straddle/version.rb +5 -0
  146. data/lib/straddle.rb +172 -0
  147. data/manifest.yaml +15 -0
  148. data/rbi/straddle/client.rbi +93 -0
  149. data/rbi/straddle/errors.rbi +178 -0
  150. data/rbi/straddle/file_part.rbi +37 -0
  151. data/rbi/straddle/internal/page_number_schema.rbi +79 -0
  152. data/rbi/straddle/internal/transport/base_client.rbi +293 -0
  153. data/rbi/straddle/internal/transport/pooled_net_requester.rbi +79 -0
  154. data/rbi/straddle/internal/type/array_of.rbi +104 -0
  155. data/rbi/straddle/internal/type/base_model.rbi +302 -0
  156. data/rbi/straddle/internal/type/base_page.rbi +42 -0
  157. data/rbi/straddle/internal/type/boolean.rbi +58 -0
  158. data/rbi/straddle/internal/type/converter.rbi +162 -0
  159. data/rbi/straddle/internal/type/enum.rbi +82 -0
  160. data/rbi/straddle/internal/type/file_input.rbi +59 -0
  161. data/rbi/straddle/internal/type/hash_of.rbi +104 -0
  162. data/rbi/straddle/internal/type/request_parameters.rbi +29 -0
  163. data/rbi/straddle/internal/type/union.rbi +121 -0
  164. data/rbi/straddle/internal/type/unknown.rbi +58 -0
  165. data/rbi/straddle/internal/util.rbi +487 -0
  166. data/rbi/straddle/internal.rbi +16 -0
  167. data/rbi/straddle/models/bridge/link_bank_account_params.rbi +248 -0
  168. data/rbi/straddle/models/bridge/link_create_paykey_params.rbi +196 -0
  169. data/rbi/straddle/models/bridge/link_create_paykey_response.rbi +976 -0
  170. data/rbi/straddle/models/bridge/link_create_tan_params.rbi +243 -0
  171. data/rbi/straddle/models/bridge/link_create_tan_response.rbi +972 -0
  172. data/rbi/straddle/models/bridge/link_plaid_params.rbi +192 -0
  173. data/rbi/straddle/models/bridge_initialize_params.rbi +169 -0
  174. data/rbi/straddle/models/bridge_token_v1.rbi +122 -0
  175. data/rbi/straddle/models/charge_cancel_params.rbi +70 -0
  176. data/rbi/straddle/models/charge_create_params.rbi +369 -0
  177. data/rbi/straddle/models/charge_get_params.rbi +62 -0
  178. data/rbi/straddle/models/charge_hold_params.rbi +70 -0
  179. data/rbi/straddle/models/charge_release_params.rbi +70 -0
  180. data/rbi/straddle/models/charge_unmask_params.rbi +62 -0
  181. data/rbi/straddle/models/charge_unmask_response.rbi +1078 -0
  182. data/rbi/straddle/models/charge_update_params.rbi +98 -0
  183. data/rbi/straddle/models/charge_v1.rbi +932 -0
  184. data/rbi/straddle/models/customer_address_v1.rbi +71 -0
  185. data/rbi/straddle/models/customer_create_params.rbi +542 -0
  186. data/rbi/straddle/models/customer_delete_params.rbi +62 -0
  187. data/rbi/straddle/models/customer_details_v1.rbi +101 -0
  188. data/rbi/straddle/models/customer_get_params.rbi +62 -0
  189. data/rbi/straddle/models/customer_list_params.rbi +306 -0
  190. data/rbi/straddle/models/customer_refresh_review_params.rbi +65 -0
  191. data/rbi/straddle/models/customer_summary_paged_v1.rbi +432 -0
  192. data/rbi/straddle/models/customer_unmasked_params.rbi +62 -0
  193. data/rbi/straddle/models/customer_unmasked_v1.rbi +700 -0
  194. data/rbi/straddle/models/customer_update_params.rbi +381 -0
  195. data/rbi/straddle/models/customer_v1.rbi +667 -0
  196. data/rbi/straddle/models/customers/customer_review_v1.rbi +2212 -0
  197. data/rbi/straddle/models/customers/identity_verification_breakdown_v1.rbi +194 -0
  198. data/rbi/straddle/models/customers/review_decision_params.rbi +110 -0
  199. data/rbi/straddle/models/customers/review_get_params.rbi +67 -0
  200. data/rbi/straddle/models/device_info_v1.rbi +29 -0
  201. data/rbi/straddle/models/device_unmasked_v1.rbi +29 -0
  202. data/rbi/straddle/models/embed/account_create_params.rbi +190 -0
  203. data/rbi/straddle/models/embed/account_get_params.rbi +54 -0
  204. data/rbi/straddle/models/embed/account_list_params.rbi +250 -0
  205. data/rbi/straddle/models/embed/account_onboard_params.rbi +71 -0
  206. data/rbi/straddle/models/embed/account_paged_v1.rbi +1193 -0
  207. data/rbi/straddle/models/embed/account_simulate_params.rbi +111 -0
  208. data/rbi/straddle/models/embed/account_update_params.rbi +91 -0
  209. data/rbi/straddle/models/embed/account_v1.rbi +1162 -0
  210. data/rbi/straddle/models/embed/accounts/capability_request_create_params.rbi +434 -0
  211. data/rbi/straddle/models/embed/accounts/capability_request_list_params.rbi +364 -0
  212. data/rbi/straddle/models/embed/accounts/capability_request_paged_v1.rbi +409 -0
  213. data/rbi/straddle/models/embed/address_v1.rbi +104 -0
  214. data/rbi/straddle/models/embed/business_profile_v1.rbi +125 -0
  215. data/rbi/straddle/models/embed/capability_v1.rbi +70 -0
  216. data/rbi/straddle/models/embed/industry_v1.rbi +55 -0
  217. data/rbi/straddle/models/embed/linked_bank_account_create_params.rbi +149 -0
  218. data/rbi/straddle/models/embed/linked_bank_account_get_params.rbi +54 -0
  219. data/rbi/straddle/models/embed/linked_bank_account_list_params.rbi +213 -0
  220. data/rbi/straddle/models/embed/linked_bank_account_paged_v1.rbi +539 -0
  221. data/rbi/straddle/models/embed/linked_bank_account_unmask_params.rbi +54 -0
  222. data/rbi/straddle/models/embed/linked_bank_account_unmask_v1.rbi +535 -0
  223. data/rbi/straddle/models/embed/linked_bank_account_update_params.rbi +139 -0
  224. data/rbi/straddle/models/embed/linked_bank_account_v1.rbi +532 -0
  225. data/rbi/straddle/models/embed/organization_create_params.rbi +86 -0
  226. data/rbi/straddle/models/embed/organization_get_params.rbi +54 -0
  227. data/rbi/straddle/models/embed/organization_list_params.rbi +169 -0
  228. data/rbi/straddle/models/embed/organization_paged_v1.rbi +206 -0
  229. data/rbi/straddle/models/embed/organization_v1.rbi +202 -0
  230. data/rbi/straddle/models/embed/representative.rbi +609 -0
  231. data/rbi/straddle/models/embed/representative_create_params.rbi +225 -0
  232. data/rbi/straddle/models/embed/representative_get_params.rbi +54 -0
  233. data/rbi/straddle/models/embed/representative_list_params.rbi +229 -0
  234. data/rbi/straddle/models/embed/representative_paged.rbi +623 -0
  235. data/rbi/straddle/models/embed/representative_unmask_params.rbi +54 -0
  236. data/rbi/straddle/models/embed/representative_update_params.rbi +217 -0
  237. data/rbi/straddle/models/embed/support_channels_v1.rbi +58 -0
  238. data/rbi/straddle/models/embed/terms_of_service_v1.rbi +113 -0
  239. data/rbi/straddle/models/funding_event_get_params.rbi +62 -0
  240. data/rbi/straddle/models/funding_event_list_params.rbi +311 -0
  241. data/rbi/straddle/models/funding_event_summary_item_v1.rbi +319 -0
  242. data/rbi/straddle/models/funding_event_summary_paged_v1.rbi +451 -0
  243. data/rbi/straddle/models/paged_response_metadata.rbi +125 -0
  244. data/rbi/straddle/models/paykey_cancel_params.rbi +68 -0
  245. data/rbi/straddle/models/paykey_details_v1.rbi +65 -0
  246. data/rbi/straddle/models/paykey_get_params.rbi +62 -0
  247. data/rbi/straddle/models/paykey_list_params.rbi +253 -0
  248. data/rbi/straddle/models/paykey_reveal_params.rbi +62 -0
  249. data/rbi/straddle/models/paykey_reveal_response.rbi +953 -0
  250. data/rbi/straddle/models/paykey_summary_paged_v1.rbi +926 -0
  251. data/rbi/straddle/models/paykey_unmasked_params.rbi +62 -0
  252. data/rbi/straddle/models/paykey_unmasked_v1.rbi +871 -0
  253. data/rbi/straddle/models/paykey_v1.rbi +800 -0
  254. data/rbi/straddle/models/payment_list_params.rbi +781 -0
  255. data/rbi/straddle/models/payment_summary_paged_v1.rbi +536 -0
  256. data/rbi/straddle/models/payout_cancel_params.rbi +70 -0
  257. data/rbi/straddle/models/payout_create_params.rbi +275 -0
  258. data/rbi/straddle/models/payout_get_params.rbi +62 -0
  259. data/rbi/straddle/models/payout_hold_params.rbi +70 -0
  260. data/rbi/straddle/models/payout_release_params.rbi +70 -0
  261. data/rbi/straddle/models/payout_unmask_params.rbi +62 -0
  262. data/rbi/straddle/models/payout_unmask_response.rbi +966 -0
  263. data/rbi/straddle/models/payout_update_params.rbi +98 -0
  264. data/rbi/straddle/models/payout_v1.rbi +836 -0
  265. data/rbi/straddle/models/report_create_total_customers_by_status_params.rbi +65 -0
  266. data/rbi/straddle/models/report_create_total_customers_by_status_response.rbi +191 -0
  267. data/rbi/straddle/models/response_metadata.rbi +42 -0
  268. data/rbi/straddle/models/status_details_v1.rbi +207 -0
  269. data/rbi/straddle/models.rbi +112 -0
  270. data/rbi/straddle/request_options.rbi +59 -0
  271. data/rbi/straddle/resources/bridge/link.rbi +175 -0
  272. data/rbi/straddle/resources/bridge.rbi +44 -0
  273. data/rbi/straddle/resources/charges.rbi +242 -0
  274. data/rbi/straddle/resources/customers/review.rbi +75 -0
  275. data/rbi/straddle/resources/customers.rbi +307 -0
  276. data/rbi/straddle/resources/embed/accounts/capability_requests.rbi +116 -0
  277. data/rbi/straddle/resources/embed/accounts.rbi +216 -0
  278. data/rbi/straddle/resources/embed/linked_bank_accounts.rbi +169 -0
  279. data/rbi/straddle/resources/embed/organizations.rbi +110 -0
  280. data/rbi/straddle/resources/embed/representatives.rbi +208 -0
  281. data/rbi/straddle/resources/embed.rbi +24 -0
  282. data/rbi/straddle/resources/funding_events.rbi +94 -0
  283. data/rbi/straddle/resources/paykeys.rbi +161 -0
  284. data/rbi/straddle/resources/payments.rbi +125 -0
  285. data/rbi/straddle/resources/payouts.rbi +237 -0
  286. data/rbi/straddle/resources/reports.rbi +31 -0
  287. data/rbi/straddle/version.rbi +5 -0
  288. data/sig/straddle/client.rbs +48 -0
  289. data/sig/straddle/errors.rbs +110 -0
  290. data/sig/straddle/file_part.rbs +21 -0
  291. data/sig/straddle/internal/page_number_schema.rbs +52 -0
  292. data/sig/straddle/internal/transport/base_client.rbs +131 -0
  293. data/sig/straddle/internal/transport/pooled_net_requester.rbs +45 -0
  294. data/sig/straddle/internal/type/array_of.rbs +48 -0
  295. data/sig/straddle/internal/type/base_model.rbs +102 -0
  296. data/sig/straddle/internal/type/base_page.rbs +24 -0
  297. data/sig/straddle/internal/type/boolean.rbs +26 -0
  298. data/sig/straddle/internal/type/converter.rbs +62 -0
  299. data/sig/straddle/internal/type/enum.rbs +32 -0
  300. data/sig/straddle/internal/type/file_input.rbs +25 -0
  301. data/sig/straddle/internal/type/hash_of.rbs +48 -0
  302. data/sig/straddle/internal/type/request_parameters.rbs +17 -0
  303. data/sig/straddle/internal/type/union.rbs +52 -0
  304. data/sig/straddle/internal/type/unknown.rbs +26 -0
  305. data/sig/straddle/internal/util.rbs +185 -0
  306. data/sig/straddle/internal.rbs +9 -0
  307. data/sig/straddle/models/bridge/link_bank_account_params.rbs +122 -0
  308. data/sig/straddle/models/bridge/link_create_paykey_params.rbs +101 -0
  309. data/sig/straddle/models/bridge/link_create_paykey_response.rbs +389 -0
  310. data/sig/straddle/models/bridge/link_create_tan_params.rbs +122 -0
  311. data/sig/straddle/models/bridge/link_create_tan_response.rbs +389 -0
  312. data/sig/straddle/models/bridge/link_plaid_params.rbs +101 -0
  313. data/sig/straddle/models/bridge_initialize_params.rbs +89 -0
  314. data/sig/straddle/models/bridge_token_v1.rbs +53 -0
  315. data/sig/straddle/models/charge_cancel_params.rbs +47 -0
  316. data/sig/straddle/models/charge_create_params.rbs +172 -0
  317. data/sig/straddle/models/charge_get_params.rbs +42 -0
  318. data/sig/straddle/models/charge_hold_params.rbs +47 -0
  319. data/sig/straddle/models/charge_release_params.rbs +47 -0
  320. data/sig/straddle/models/charge_unmask_params.rbs +42 -0
  321. data/sig/straddle/models/charge_unmask_response.rbs +437 -0
  322. data/sig/straddle/models/charge_update_params.rbs +62 -0
  323. data/sig/straddle/models/charge_v1.rbs +427 -0
  324. data/sig/straddle/models/customer_address_v1.rbs +40 -0
  325. data/sig/straddle/models/customer_create_params.rbs +235 -0
  326. data/sig/straddle/models/customer_delete_params.rbs +42 -0
  327. data/sig/straddle/models/customer_details_v1.rbs +51 -0
  328. data/sig/straddle/models/customer_get_params.rbs +42 -0
  329. data/sig/straddle/models/customer_list_params.rbs +182 -0
  330. data/sig/straddle/models/customer_refresh_review_params.rbs +42 -0
  331. data/sig/straddle/models/customer_summary_paged_v1.rbs +194 -0
  332. data/sig/straddle/models/customer_unmasked_params.rbs +42 -0
  333. data/sig/straddle/models/customer_unmasked_v1.rbs +285 -0
  334. data/sig/straddle/models/customer_update_params.rbs +173 -0
  335. data/sig/straddle/models/customer_v1.rbs +297 -0
  336. data/sig/straddle/models/customers/customer_review_v1.rbs +1001 -0
  337. data/sig/straddle/models/customers/identity_verification_breakdown_v1.rbs +81 -0
  338. data/sig/straddle/models/customers/review_decision_params.rbs +60 -0
  339. data/sig/straddle/models/customers/review_get_params.rbs +44 -0
  340. data/sig/straddle/models/device_info_v1.rbs +13 -0
  341. data/sig/straddle/models/device_unmasked_v1.rbs +13 -0
  342. data/sig/straddle/models/embed/account_create_params.rbs +89 -0
  343. data/sig/straddle/models/embed/account_get_params.rbs +34 -0
  344. data/sig/straddle/models/embed/account_list_params.rbs +127 -0
  345. data/sig/straddle/models/embed/account_onboard_params.rbs +42 -0
  346. data/sig/straddle/models/embed/account_paged_v1.rbs +493 -0
  347. data/sig/straddle/models/embed/account_simulate_params.rbs +57 -0
  348. data/sig/straddle/models/embed/account_update_params.rbs +52 -0
  349. data/sig/straddle/models/embed/account_v1.rbs +493 -0
  350. data/sig/straddle/models/embed/accounts/capability_request_create_params.rbs +207 -0
  351. data/sig/straddle/models/embed/accounts/capability_request_list_params.rbs +153 -0
  352. data/sig/straddle/models/embed/accounts/capability_request_paged_v1.rbs +153 -0
  353. data/sig/straddle/models/embed/address_v1.rbs +62 -0
  354. data/sig/straddle/models/embed/business_profile_v1.rbs +75 -0
  355. data/sig/straddle/models/embed/capability_v1.rbs +33 -0
  356. data/sig/straddle/models/embed/industry_v1.rbs +23 -0
  357. data/sig/straddle/models/embed/linked_bank_account_create_params.rbs +79 -0
  358. data/sig/straddle/models/embed/linked_bank_account_get_params.rbs +34 -0
  359. data/sig/straddle/models/embed/linked_bank_account_list_params.rbs +105 -0
  360. data/sig/straddle/models/embed/linked_bank_account_paged_v1.rbs +215 -0
  361. data/sig/straddle/models/embed/linked_bank_account_unmask_params.rbs +34 -0
  362. data/sig/straddle/models/embed/linked_bank_account_unmask_v1.rbs +210 -0
  363. data/sig/straddle/models/embed/linked_bank_account_update_params.rbs +74 -0
  364. data/sig/straddle/models/embed/linked_bank_account_v1.rbs +215 -0
  365. data/sig/straddle/models/embed/organization_create_params.rbs +52 -0
  366. data/sig/straddle/models/embed/organization_get_params.rbs +34 -0
  367. data/sig/straddle/models/embed/organization_list_params.rbs +92 -0
  368. data/sig/straddle/models/embed/organization_paged_v1.rbs +87 -0
  369. data/sig/straddle/models/embed/organization_v1.rbs +87 -0
  370. data/sig/straddle/models/embed/representative.rbs +260 -0
  371. data/sig/straddle/models/embed/representative_create_params.rbs +119 -0
  372. data/sig/straddle/models/embed/representative_get_params.rbs +34 -0
  373. data/sig/straddle/models/embed/representative_list_params.rbs +119 -0
  374. data/sig/straddle/models/embed/representative_paged.rbs +260 -0
  375. data/sig/straddle/models/embed/representative_unmask_params.rbs +34 -0
  376. data/sig/straddle/models/embed/representative_update_params.rbs +114 -0
  377. data/sig/straddle/models/embed/support_channels_v1.rbs +24 -0
  378. data/sig/straddle/models/embed/terms_of_service_v1.rbs +53 -0
  379. data/sig/straddle/models/funding_event_get_params.rbs +42 -0
  380. data/sig/straddle/models/funding_event_list_params.rbs +155 -0
  381. data/sig/straddle/models/funding_event_summary_item_v1.rbs +123 -0
  382. data/sig/straddle/models/funding_event_summary_paged_v1.rbs +191 -0
  383. data/sig/straddle/models/paged_response_metadata.rbs +71 -0
  384. data/sig/straddle/models/paykey_cancel_params.rbs +47 -0
  385. data/sig/straddle/models/paykey_details_v1.rbs +30 -0
  386. data/sig/straddle/models/paykey_get_params.rbs +42 -0
  387. data/sig/straddle/models/paykey_list_params.rbs +151 -0
  388. data/sig/straddle/models/paykey_reveal_params.rbs +42 -0
  389. data/sig/straddle/models/paykey_reveal_response.rbs +386 -0
  390. data/sig/straddle/models/paykey_summary_paged_v1.rbs +401 -0
  391. data/sig/straddle/models/paykey_unmasked_params.rbs +42 -0
  392. data/sig/straddle/models/paykey_unmasked_v1.rbs +386 -0
  393. data/sig/straddle/models/paykey_v1.rbs +386 -0
  394. data/sig/straddle/models/payment_list_params.rbs +391 -0
  395. data/sig/straddle/models/payment_summary_paged_v1.rbs +252 -0
  396. data/sig/straddle/models/payout_cancel_params.rbs +47 -0
  397. data/sig/straddle/models/payout_create_params.rbs +143 -0
  398. data/sig/straddle/models/payout_get_params.rbs +42 -0
  399. data/sig/straddle/models/payout_hold_params.rbs +47 -0
  400. data/sig/straddle/models/payout_release_params.rbs +47 -0
  401. data/sig/straddle/models/payout_unmask_params.rbs +42 -0
  402. data/sig/straddle/models/payout_unmask_response.rbs +404 -0
  403. data/sig/straddle/models/payout_update_params.rbs +62 -0
  404. data/sig/straddle/models/payout_v1.rbs +394 -0
  405. data/sig/straddle/models/report_create_total_customers_by_status_params.rbs +42 -0
  406. data/sig/straddle/models/report_create_total_customers_by_status_response.rbs +80 -0
  407. data/sig/straddle/models/response_metadata.rbs +19 -0
  408. data/sig/straddle/models/status_details_v1.rbs +104 -0
  409. data/sig/straddle/models.rbs +109 -0
  410. data/sig/straddle/request_options.rbs +34 -0
  411. data/sig/straddle/resources/bridge/link.rbs +57 -0
  412. data/sig/straddle/resources/bridge.rbs +18 -0
  413. data/sig/straddle/resources/charges.rbs +79 -0
  414. data/sig/straddle/resources/customers/review.rbs +26 -0
  415. data/sig/straddle/resources/customers.rbs +94 -0
  416. data/sig/straddle/resources/embed/accounts/capability_requests.rbs +38 -0
  417. data/sig/straddle/resources/embed/accounts.rbs +69 -0
  418. data/sig/straddle/resources/embed/linked_bank_accounts.rbs +53 -0
  419. data/sig/straddle/resources/embed/organizations.rbs +37 -0
  420. data/sig/straddle/resources/embed/representatives.rbs +67 -0
  421. data/sig/straddle/resources/embed.rbs +15 -0
  422. data/sig/straddle/resources/funding_events.rbs +31 -0
  423. data/sig/straddle/resources/paykeys.rbs +54 -0
  424. data/sig/straddle/resources/payments.rbs +40 -0
  425. data/sig/straddle/resources/payouts.rbs +78 -0
  426. data/sig/straddle/resources/reports.rbs +14 -0
  427. data/sig/straddle/version.rbs +3 -0
  428. metadata +485 -0
@@ -0,0 +1,251 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Straddle
4
+ module Resources
5
+ class Embed
6
+ class Accounts
7
+ # @return [Straddle::Resources::Embed::Accounts::CapabilityRequests]
8
+ attr_reader :capability_requests
9
+
10
+ # Some parameter documentations has been truncated, see
11
+ # {Straddle::Models::Embed::AccountCreateParams} for more details.
12
+ #
13
+ # Creates a new account associated with your Straddle platform integration. This
14
+ # endpoint allows you to set up an account with specified details, including
15
+ # business information and access levels.
16
+ #
17
+ # @overload create(access_level:, account_type:, business_profile:, organization_id:, external_id: nil, metadata: nil, correlation_id: nil, request_id: nil, request_options: {})
18
+ #
19
+ # @param access_level [Symbol, Straddle::Models::Embed::AccountCreateParams::AccessLevel] Body param: The access level granted to the account. This is determined by your
20
+ #
21
+ # @param account_type [Symbol, Straddle::Models::Embed::AccountCreateParams::AccountType] Body param: The type of account to be created. Currently, only `business` is sup
22
+ #
23
+ # @param business_profile [Straddle::Models::Embed::BusinessProfileV1] Body param:
24
+ #
25
+ # @param organization_id [String] Body param: The unique identifier of the organization related to this account.
26
+ #
27
+ # @param external_id [String, nil] Body param: Unique identifier for the account in your database, used for cross-r
28
+ #
29
+ # @param metadata [Hash{Symbol=>String, nil}, nil] Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
30
+ #
31
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
32
+ #
33
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
34
+ #
35
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
36
+ #
37
+ # @return [Straddle::Models::Embed::AccountV1]
38
+ #
39
+ # @see Straddle::Models::Embed::AccountCreateParams
40
+ def create(params)
41
+ parsed, options = Straddle::Embed::AccountCreateParams.dump_request(params)
42
+ header_params = {correlation_id: "correlation-id", request_id: "request-id"}
43
+ @client.request(
44
+ method: :post,
45
+ path: "v1/accounts",
46
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
47
+ body: parsed.except(*header_params.keys),
48
+ model: Straddle::Embed::AccountV1,
49
+ options: options
50
+ )
51
+ end
52
+
53
+ # Some parameter documentations has been truncated, see
54
+ # {Straddle::Models::Embed::AccountUpdateParams} for more details.
55
+ #
56
+ # Updates an existing account's information. This endpoint allows you to update
57
+ # various account details during onboarding or after the account has been created.
58
+ #
59
+ # @overload update(account_id, business_profile:, external_id: nil, metadata: nil, correlation_id: nil, request_id: nil, request_options: {})
60
+ #
61
+ # @param account_id [String] Path param:
62
+ #
63
+ # @param business_profile [Straddle::Models::Embed::BusinessProfileV1] Body param:
64
+ #
65
+ # @param external_id [String, nil] Body param: Unique identifier for the account in your database, used for cross-r
66
+ #
67
+ # @param metadata [Hash{Symbol=>String, nil}, nil] Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
68
+ #
69
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
70
+ #
71
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
72
+ #
73
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
74
+ #
75
+ # @return [Straddle::Models::Embed::AccountV1]
76
+ #
77
+ # @see Straddle::Models::Embed::AccountUpdateParams
78
+ def update(account_id, params)
79
+ parsed, options = Straddle::Embed::AccountUpdateParams.dump_request(params)
80
+ header_params = {correlation_id: "correlation-id", request_id: "request-id"}
81
+ @client.request(
82
+ method: :put,
83
+ path: ["v1/accounts/%1$s", account_id],
84
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
85
+ body: parsed.except(*header_params.keys),
86
+ model: Straddle::Embed::AccountV1,
87
+ options: options
88
+ )
89
+ end
90
+
91
+ # Some parameter documentations has been truncated, see
92
+ # {Straddle::Models::Embed::AccountListParams} for more details.
93
+ #
94
+ # Returns a list of accounts associated with your Straddle platform integration.
95
+ # The accounts are returned sorted by creation date, with the most recently
96
+ # created accounts appearing first. This endpoint supports advanced sorting and
97
+ # filtering options.
98
+ #
99
+ # @overload list(page_number: nil, page_size: nil, search_text: nil, sort_by: nil, sort_order: nil, status: nil, type: nil, correlation_id: nil, request_id: nil, request_options: {})
100
+ #
101
+ # @param page_number [Integer] Query param: Results page number. Starts at page 1. Default value: 1
102
+ #
103
+ # @param page_size [Integer] Query param: Page size. Default value: 100. Max value: 1000
104
+ #
105
+ # @param search_text [String] Query param:
106
+ #
107
+ # @param sort_by [String] Query param: Sort By. Default value: 'id'.
108
+ #
109
+ # @param sort_order [Symbol, Straddle::Models::Embed::AccountListParams::SortOrder] Query param: Sort Order. Default value: 'asc'.
110
+ #
111
+ # @param status [Symbol, Straddle::Models::Embed::AccountListParams::Status] Query param:
112
+ #
113
+ # @param type [Symbol, Straddle::Models::Embed::AccountListParams::Type] Query param:
114
+ #
115
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
116
+ #
117
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
118
+ #
119
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
120
+ #
121
+ # @return [Straddle::Internal::PageNumberSchema<Straddle::Models::Embed::AccountPagedV1::Data>]
122
+ #
123
+ # @see Straddle::Models::Embed::AccountListParams
124
+ def list(params = {})
125
+ parsed, options = Straddle::Embed::AccountListParams.dump_request(params)
126
+ query_params = [:page_number, :page_size, :search_text, :sort_by, :sort_order, :status, :type]
127
+ @client.request(
128
+ method: :get,
129
+ path: "v1/accounts",
130
+ query: parsed.slice(*query_params),
131
+ headers: parsed.except(*query_params).transform_keys(
132
+ correlation_id: "correlation-id",
133
+ request_id: "request-id"
134
+ ),
135
+ page: Straddle::Internal::PageNumberSchema,
136
+ model: Straddle::Embed::AccountPagedV1::Data,
137
+ options: options
138
+ )
139
+ end
140
+
141
+ # Retrieves the details of an account that has previously been created. Supply the
142
+ # unique account ID that was returned from your previous request, and Straddle
143
+ # will return the corresponding account information.
144
+ #
145
+ # @overload get(account_id, correlation_id: nil, request_id: nil, request_options: {})
146
+ #
147
+ # @param account_id [String] The unique identifier of the account to retrieve.
148
+ #
149
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
150
+ #
151
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
152
+ #
153
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
154
+ #
155
+ # @return [Straddle::Models::Embed::AccountV1]
156
+ #
157
+ # @see Straddle::Models::Embed::AccountGetParams
158
+ def get(account_id, params = {})
159
+ parsed, options = Straddle::Embed::AccountGetParams.dump_request(params)
160
+ @client.request(
161
+ method: :get,
162
+ path: ["v1/accounts/%1$s", account_id],
163
+ headers: parsed.transform_keys(correlation_id: "correlation-id", request_id: "request-id"),
164
+ model: Straddle::Embed::AccountV1,
165
+ options: options
166
+ )
167
+ end
168
+
169
+ # Some parameter documentations has been truncated, see
170
+ # {Straddle::Models::Embed::AccountOnboardParams} for more details.
171
+ #
172
+ # Initiates the onboarding process for a new account. This endpoint can only be
173
+ # used for accounts where at least one representative and one bank account have
174
+ # already been created.
175
+ #
176
+ # @overload onboard(account_id, terms_of_service:, correlation_id: nil, request_id: nil, request_options: {})
177
+ #
178
+ # @param account_id [String] Path param:
179
+ #
180
+ # @param terms_of_service [Straddle::Models::Embed::TermsOfServiceV1] Body param:
181
+ #
182
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
183
+ #
184
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
185
+ #
186
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
187
+ #
188
+ # @return [Straddle::Models::Embed::AccountV1]
189
+ #
190
+ # @see Straddle::Models::Embed::AccountOnboardParams
191
+ def onboard(account_id, params)
192
+ parsed, options = Straddle::Embed::AccountOnboardParams.dump_request(params)
193
+ header_params = {correlation_id: "correlation-id", request_id: "request-id"}
194
+ @client.request(
195
+ method: :post,
196
+ path: ["v1/accounts/%1$s/onboard", account_id],
197
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
198
+ body: parsed.except(*header_params.keys),
199
+ model: Straddle::Embed::AccountV1,
200
+ options: options
201
+ )
202
+ end
203
+
204
+ # Some parameter documentations has been truncated, see
205
+ # {Straddle::Models::Embed::AccountSimulateParams} for more details.
206
+ #
207
+ # Simulate the status transitions for sandbox accounts. This endpoint can only be
208
+ # used for sandbox accounts.
209
+ #
210
+ # @overload simulate(account_id, final_status: nil, correlation_id: nil, request_id: nil, request_options: {})
211
+ #
212
+ # @param account_id [String] Path param:
213
+ #
214
+ # @param final_status [Symbol, Straddle::Models::Embed::AccountSimulateParams::FinalStatus] Query param:
215
+ #
216
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
217
+ #
218
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
219
+ #
220
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
221
+ #
222
+ # @return [Straddle::Models::Embed::AccountV1]
223
+ #
224
+ # @see Straddle::Models::Embed::AccountSimulateParams
225
+ def simulate(account_id, params = {})
226
+ parsed, options = Straddle::Embed::AccountSimulateParams.dump_request(params)
227
+ query_params = [:final_status]
228
+ @client.request(
229
+ method: :post,
230
+ path: ["v1/accounts/%1$s/simulate", account_id],
231
+ query: parsed.slice(*query_params),
232
+ headers: parsed.except(*query_params).transform_keys(
233
+ correlation_id: "correlation-id",
234
+ request_id: "request-id"
235
+ ),
236
+ model: Straddle::Embed::AccountV1,
237
+ options: options
238
+ )
239
+ end
240
+
241
+ # @api private
242
+ #
243
+ # @param client [Straddle::Client]
244
+ def initialize(client:)
245
+ @client = client
246
+ @capability_requests = Straddle::Resources::Embed::Accounts::CapabilityRequests.new(client: client)
247
+ end
248
+ end
249
+ end
250
+ end
251
+ end
@@ -0,0 +1,199 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Straddle
4
+ module Resources
5
+ class Embed
6
+ class LinkedBankAccounts
7
+ # Some parameter documentations has been truncated, see
8
+ # {Straddle::Models::Embed::LinkedBankAccountCreateParams} for more details.
9
+ #
10
+ # Creates a new linked bank account associated with a Straddle account. This
11
+ # endpoint allows you to associate external bank accounts with a Straddle account
12
+ # for various payment operations such as payment deposits, payout withdrawals, and
13
+ # more.
14
+ #
15
+ # @overload create(account_id:, bank_account:, metadata: nil, correlation_id: nil, request_id: nil, request_options: {})
16
+ #
17
+ # @param account_id [String] Body param: The unique identifier of the Straddle account to associate this bank
18
+ #
19
+ # @param bank_account [Straddle::Models::Embed::LinkedBankAccountCreateParams::BankAccount] Body param:
20
+ #
21
+ # @param metadata [Hash{Symbol=>String, nil}, nil] Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
22
+ #
23
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
24
+ #
25
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
26
+ #
27
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
28
+ #
29
+ # @return [Straddle::Models::Embed::LinkedBankAccountV1]
30
+ #
31
+ # @see Straddle::Models::Embed::LinkedBankAccountCreateParams
32
+ def create(params)
33
+ parsed, options = Straddle::Embed::LinkedBankAccountCreateParams.dump_request(params)
34
+ header_params = {correlation_id: "correlation-id", request_id: "request-id"}
35
+ @client.request(
36
+ method: :post,
37
+ path: "v1/linked_bank_accounts",
38
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
39
+ body: parsed.except(*header_params.keys),
40
+ model: Straddle::Embed::LinkedBankAccountV1,
41
+ options: options
42
+ )
43
+ end
44
+
45
+ # Some parameter documentations has been truncated, see
46
+ # {Straddle::Models::Embed::LinkedBankAccountUpdateParams} for more details.
47
+ #
48
+ # Updates an existing linked bank account's information. This can be used to
49
+ # update account details during onboarding or to update metadata associated with
50
+ # the linked account. The linked bank account must be in 'created' or 'onboarding'
51
+ # status.
52
+ #
53
+ # @overload update(linked_bank_account_id, bank_account:, metadata: nil, correlation_id: nil, request_id: nil, request_options: {})
54
+ #
55
+ # @param linked_bank_account_id [String] Path param:
56
+ #
57
+ # @param bank_account [Straddle::Models::Embed::LinkedBankAccountUpdateParams::BankAccount] Body param:
58
+ #
59
+ # @param metadata [Hash{Symbol=>String, nil}, nil] Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
60
+ #
61
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
62
+ #
63
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
64
+ #
65
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
66
+ #
67
+ # @return [Straddle::Models::Embed::LinkedBankAccountV1]
68
+ #
69
+ # @see Straddle::Models::Embed::LinkedBankAccountUpdateParams
70
+ def update(linked_bank_account_id, params)
71
+ parsed, options = Straddle::Embed::LinkedBankAccountUpdateParams.dump_request(params)
72
+ header_params = {correlation_id: "correlation-id", request_id: "request-id"}
73
+ @client.request(
74
+ method: :put,
75
+ path: ["v1/linked_bank_accounts/%1$s", linked_bank_account_id],
76
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
77
+ body: parsed.except(*header_params.keys),
78
+ model: Straddle::Embed::LinkedBankAccountV1,
79
+ options: options
80
+ )
81
+ end
82
+
83
+ # Some parameter documentations has been truncated, see
84
+ # {Straddle::Models::Embed::LinkedBankAccountListParams} for more details.
85
+ #
86
+ # Returns a list of bank accounts associated with a specific Straddle account. The
87
+ # linked bank accounts are returned sorted by creation date, with the most
88
+ # recently created appearing first. This endpoint supports pagination to handle
89
+ # accounts with multiple linked bank accounts.
90
+ #
91
+ # @overload list(account_id: nil, level: nil, page_number: nil, page_size: nil, sort_by: nil, sort_order: nil, correlation_id: nil, request_id: nil, request_options: {})
92
+ #
93
+ # @param account_id [String] Query param: The unique identifier of the related account.
94
+ #
95
+ # @param level [Symbol, Straddle::Models::Embed::LinkedBankAccountListParams::Level] Query param:
96
+ #
97
+ # @param page_number [Integer] Query param: Results page number. Starts at page 1.
98
+ #
99
+ # @param page_size [Integer] Query param: Page size. Max value: 1000
100
+ #
101
+ # @param sort_by [String] Query param: Sort By.
102
+ #
103
+ # @param sort_order [Symbol, Straddle::Models::Embed::LinkedBankAccountListParams::SortOrder] Query param: Sort Order.
104
+ #
105
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
106
+ #
107
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
108
+ #
109
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
110
+ #
111
+ # @return [Straddle::Internal::PageNumberSchema<Straddle::Models::Embed::LinkedBankAccountPagedV1::Data>]
112
+ #
113
+ # @see Straddle::Models::Embed::LinkedBankAccountListParams
114
+ def list(params = {})
115
+ parsed, options = Straddle::Embed::LinkedBankAccountListParams.dump_request(params)
116
+ query_params = [:account_id, :level, :page_number, :page_size, :sort_by, :sort_order]
117
+ @client.request(
118
+ method: :get,
119
+ path: "v1/linked_bank_accounts",
120
+ query: parsed.slice(*query_params),
121
+ headers: parsed.except(*query_params).transform_keys(
122
+ correlation_id: "correlation-id",
123
+ request_id: "request-id"
124
+ ),
125
+ page: Straddle::Internal::PageNumberSchema,
126
+ model: Straddle::Embed::LinkedBankAccountPagedV1::Data,
127
+ options: options
128
+ )
129
+ end
130
+
131
+ # Retrieves the details of a linked bank account that has previously been created.
132
+ # Supply the unique linked bank account `id`, and Straddle will return the
133
+ # corresponding information. The response includes masked account details for
134
+ # security purposes.
135
+ #
136
+ # @overload get(linked_bank_account_id, correlation_id: nil, request_id: nil, request_options: {})
137
+ #
138
+ # @param linked_bank_account_id [String]
139
+ #
140
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
141
+ #
142
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
143
+ #
144
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
145
+ #
146
+ # @return [Straddle::Models::Embed::LinkedBankAccountV1]
147
+ #
148
+ # @see Straddle::Models::Embed::LinkedBankAccountGetParams
149
+ def get(linked_bank_account_id, params = {})
150
+ parsed, options = Straddle::Embed::LinkedBankAccountGetParams.dump_request(params)
151
+ @client.request(
152
+ method: :get,
153
+ path: ["v1/linked_bank_accounts/%1$s", linked_bank_account_id],
154
+ headers: parsed.transform_keys(correlation_id: "correlation-id", request_id: "request-id"),
155
+ model: Straddle::Embed::LinkedBankAccountV1,
156
+ options: options
157
+ )
158
+ end
159
+
160
+ # Retrieves the unmasked details of a linked bank account that has previously been
161
+ # created. Supply the unique linked bank account `id`, and Straddle will return
162
+ # the corresponding information, including sensitive details. This endpoint needs
163
+ # to be enabled by Straddle for your account and should only be used when
164
+ # absolutely necessary.
165
+ #
166
+ # @overload unmask(linked_bank_account_id, correlation_id: nil, request_id: nil, request_options: {})
167
+ #
168
+ # @param linked_bank_account_id [String]
169
+ #
170
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
171
+ #
172
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
173
+ #
174
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
175
+ #
176
+ # @return [Straddle::Models::Embed::LinkedBankAccountUnmaskV1]
177
+ #
178
+ # @see Straddle::Models::Embed::LinkedBankAccountUnmaskParams
179
+ def unmask(linked_bank_account_id, params = {})
180
+ parsed, options = Straddle::Embed::LinkedBankAccountUnmaskParams.dump_request(params)
181
+ @client.request(
182
+ method: :get,
183
+ path: ["v1/linked_bank_accounts/%1$s/unmask", linked_bank_account_id],
184
+ headers: parsed.transform_keys(correlation_id: "correlation-id", request_id: "request-id"),
185
+ model: Straddle::Embed::LinkedBankAccountUnmaskV1,
186
+ options: options
187
+ )
188
+ end
189
+
190
+ # @api private
191
+ #
192
+ # @param client [Straddle::Client]
193
+ def initialize(client:)
194
+ @client = client
195
+ end
196
+ end
197
+ end
198
+ end
199
+ end
@@ -0,0 +1,129 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Straddle
4
+ module Resources
5
+ class Embed
6
+ class Organizations
7
+ # Some parameter documentations has been truncated, see
8
+ # {Straddle::Models::Embed::OrganizationCreateParams} for more details.
9
+ #
10
+ # Creates a new organization related to your Straddle integration. Organizations
11
+ # can be used to group related accounts and manage permissions across multiple
12
+ # users.
13
+ #
14
+ # @overload create(name:, external_id: nil, metadata: nil, correlation_id: nil, request_id: nil, request_options: {})
15
+ #
16
+ # @param name [String] Body param: The name of the organization.
17
+ #
18
+ # @param external_id [String, nil] Body param: Unique identifier for the organization in your database, used for cr
19
+ #
20
+ # @param metadata [Hash{Symbol=>String, nil}, nil] Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
21
+ #
22
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
23
+ #
24
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
25
+ #
26
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
27
+ #
28
+ # @return [Straddle::Models::Embed::OrganizationV1]
29
+ #
30
+ # @see Straddle::Models::Embed::OrganizationCreateParams
31
+ def create(params)
32
+ parsed, options = Straddle::Embed::OrganizationCreateParams.dump_request(params)
33
+ header_params = {correlation_id: "correlation-id", request_id: "request-id"}
34
+ @client.request(
35
+ method: :post,
36
+ path: "v1/organizations",
37
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
38
+ body: parsed.except(*header_params.keys),
39
+ model: Straddle::Embed::OrganizationV1,
40
+ options: options
41
+ )
42
+ end
43
+
44
+ # Some parameter documentations has been truncated, see
45
+ # {Straddle::Models::Embed::OrganizationListParams} for more details.
46
+ #
47
+ # Retrieves a list of organizations associated with your Straddle integration. The
48
+ # organizations are returned sorted by creation date, with the most recently
49
+ # created organizations appearing first. This endpoint supports advanced sorting
50
+ # and filtering options to help you find specific organizations.
51
+ #
52
+ # @overload list(external_id: nil, name: nil, page_number: nil, page_size: nil, sort_by: nil, sort_order: nil, correlation_id: nil, request_id: nil, request_options: {})
53
+ #
54
+ # @param external_id [String] Query param: List organizations by their external ID.
55
+ #
56
+ # @param name [String] Query param: List organizations by name (partial match supported).
57
+ #
58
+ # @param page_number [Integer] Query param: Results page number. Starts at page 1.
59
+ #
60
+ # @param page_size [Integer] Query param: Page size. Max value: 1000
61
+ #
62
+ # @param sort_by [String] Query param: Sort By.
63
+ #
64
+ # @param sort_order [Symbol, Straddle::Models::Embed::OrganizationListParams::SortOrder] Query param: Sort Order.
65
+ #
66
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
67
+ #
68
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
69
+ #
70
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
71
+ #
72
+ # @return [Straddle::Internal::PageNumberSchema<Straddle::Models::Embed::OrganizationPagedV1::Data>]
73
+ #
74
+ # @see Straddle::Models::Embed::OrganizationListParams
75
+ def list(params = {})
76
+ parsed, options = Straddle::Embed::OrganizationListParams.dump_request(params)
77
+ query_params = [:external_id, :name, :page_number, :page_size, :sort_by, :sort_order]
78
+ @client.request(
79
+ method: :get,
80
+ path: "v1/organizations",
81
+ query: parsed.slice(*query_params),
82
+ headers: parsed.except(*query_params).transform_keys(
83
+ correlation_id: "correlation-id",
84
+ request_id: "request-id"
85
+ ),
86
+ page: Straddle::Internal::PageNumberSchema,
87
+ model: Straddle::Embed::OrganizationPagedV1::Data,
88
+ options: options
89
+ )
90
+ end
91
+
92
+ # Retrieves the details of an Organization that has previously been created.
93
+ # Supply the unique organization ID that was returned from your previous request,
94
+ # and Straddle will return the corresponding organization information.
95
+ #
96
+ # @overload get(organization_id, correlation_id: nil, request_id: nil, request_options: {})
97
+ #
98
+ # @param organization_id [String]
99
+ #
100
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
101
+ #
102
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
103
+ #
104
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
105
+ #
106
+ # @return [Straddle::Models::Embed::OrganizationV1]
107
+ #
108
+ # @see Straddle::Models::Embed::OrganizationGetParams
109
+ def get(organization_id, params = {})
110
+ parsed, options = Straddle::Embed::OrganizationGetParams.dump_request(params)
111
+ @client.request(
112
+ method: :get,
113
+ path: ["v1/organizations/%1$s", organization_id],
114
+ headers: parsed.transform_keys(correlation_id: "correlation-id", request_id: "request-id"),
115
+ model: Straddle::Embed::OrganizationV1,
116
+ options: options
117
+ )
118
+ end
119
+
120
+ # @api private
121
+ #
122
+ # @param client [Straddle::Client]
123
+ def initialize(client:)
124
+ @client = client
125
+ end
126
+ end
127
+ end
128
+ end
129
+ end