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,2212 @@
1
+ # typed: strong
2
+
3
+ module Straddle
4
+ module Models
5
+ CustomerReviewV1 = Customers::CustomerReviewV1
6
+
7
+ module Customers
8
+ class CustomerReviewV1 < Straddle::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Straddle::Customers::CustomerReviewV1,
13
+ Straddle::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(Straddle::Customers::CustomerReviewV1::Data) }
18
+ attr_reader :data
19
+
20
+ sig do
21
+ params(data: Straddle::Customers::CustomerReviewV1::Data::OrHash).void
22
+ end
23
+ attr_writer :data
24
+
25
+ # Metadata about the API request, including an identifier and timestamp.
26
+ sig { returns(Straddle::ResponseMetadata) }
27
+ attr_reader :meta
28
+
29
+ sig { params(meta: Straddle::ResponseMetadata::OrHash).void }
30
+ attr_writer :meta
31
+
32
+ # Indicates the structure of the returned content.
33
+ #
34
+ # - "object" means the `data` field contains a single JSON object.
35
+ # - "array" means the `data` field contains an array of objects.
36
+ # - "error" means the `data` field contains an error object with details of the
37
+ # issue.
38
+ # - "none" means no data is returned.
39
+ sig do
40
+ returns(
41
+ Straddle::Customers::CustomerReviewV1::ResponseType::TaggedSymbol
42
+ )
43
+ end
44
+ attr_accessor :response_type
45
+
46
+ sig do
47
+ params(
48
+ data: Straddle::Customers::CustomerReviewV1::Data::OrHash,
49
+ meta: Straddle::ResponseMetadata::OrHash,
50
+ response_type:
51
+ Straddle::Customers::CustomerReviewV1::ResponseType::OrSymbol
52
+ ).returns(T.attached_class)
53
+ end
54
+ def self.new(
55
+ data:,
56
+ # Metadata about the API request, including an identifier and timestamp.
57
+ meta:,
58
+ # Indicates the structure of the returned content.
59
+ #
60
+ # - "object" means the `data` field contains a single JSON object.
61
+ # - "array" means the `data` field contains an array of objects.
62
+ # - "error" means the `data` field contains an error object with details of the
63
+ # issue.
64
+ # - "none" means no data is returned.
65
+ response_type:
66
+ )
67
+ end
68
+
69
+ sig do
70
+ override.returns(
71
+ {
72
+ data: Straddle::Customers::CustomerReviewV1::Data,
73
+ meta: Straddle::ResponseMetadata,
74
+ response_type:
75
+ Straddle::Customers::CustomerReviewV1::ResponseType::TaggedSymbol
76
+ }
77
+ )
78
+ end
79
+ def to_hash
80
+ end
81
+
82
+ class Data < Straddle::Internal::Type::BaseModel
83
+ OrHash =
84
+ T.type_alias do
85
+ T.any(
86
+ Straddle::Customers::CustomerReviewV1::Data,
87
+ Straddle::Internal::AnyHash
88
+ )
89
+ end
90
+
91
+ sig do
92
+ returns(
93
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails
94
+ )
95
+ end
96
+ attr_reader :customer_details
97
+
98
+ sig do
99
+ params(
100
+ customer_details:
101
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::OrHash
102
+ ).void
103
+ end
104
+ attr_writer :customer_details
105
+
106
+ sig do
107
+ returns(
108
+ T.nilable(
109
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails
110
+ )
111
+ )
112
+ end
113
+ attr_reader :identity_details
114
+
115
+ sig do
116
+ params(
117
+ identity_details:
118
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::OrHash
119
+ ).void
120
+ end
121
+ attr_writer :identity_details
122
+
123
+ sig do
124
+ params(
125
+ customer_details:
126
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::OrHash,
127
+ identity_details:
128
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::OrHash
129
+ ).returns(T.attached_class)
130
+ end
131
+ def self.new(customer_details:, identity_details: nil)
132
+ end
133
+
134
+ sig do
135
+ override.returns(
136
+ {
137
+ customer_details:
138
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails,
139
+ identity_details:
140
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails
141
+ }
142
+ )
143
+ end
144
+ def to_hash
145
+ end
146
+
147
+ class CustomerDetails < Straddle::Internal::Type::BaseModel
148
+ OrHash =
149
+ T.type_alias do
150
+ T.any(
151
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails,
152
+ Straddle::Internal::AnyHash
153
+ )
154
+ end
155
+
156
+ # Unique identifier for the customer.
157
+ sig { returns(String) }
158
+ attr_accessor :id
159
+
160
+ # Timestamp of when the customer record was created.
161
+ sig { returns(Time) }
162
+ attr_accessor :created_at
163
+
164
+ # The customer's email address.
165
+ sig { returns(String) }
166
+ attr_accessor :email
167
+
168
+ # Full name of the individual or business name.
169
+ sig { returns(String) }
170
+ attr_accessor :name
171
+
172
+ # The customer's phone number in E.164 format.
173
+ sig { returns(String) }
174
+ attr_accessor :phone
175
+
176
+ sig do
177
+ returns(
178
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Status::TaggedSymbol
179
+ )
180
+ end
181
+ attr_accessor :status
182
+
183
+ sig do
184
+ returns(
185
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Type::TaggedSymbol
186
+ )
187
+ end
188
+ attr_accessor :type
189
+
190
+ # Timestamp of the most recent update to the customer record.
191
+ sig { returns(Time) }
192
+ attr_accessor :updated_at
193
+
194
+ # An object containing the customer's address. This is optional, but if provided,
195
+ # all required fields must be present.
196
+ sig { returns(T.nilable(Straddle::CustomerAddressV1)) }
197
+ attr_reader :address
198
+
199
+ sig do
200
+ params(
201
+ address: T.nilable(Straddle::CustomerAddressV1::OrHash)
202
+ ).void
203
+ end
204
+ attr_writer :address
205
+
206
+ # PII required to trigger Patriot Act compliant KYC verification.
207
+ sig do
208
+ returns(
209
+ T.nilable(
210
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::Variants
211
+ )
212
+ )
213
+ end
214
+ attr_accessor :compliance_profile
215
+
216
+ sig do
217
+ returns(
218
+ T.nilable(
219
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config
220
+ )
221
+ )
222
+ end
223
+ attr_reader :config
224
+
225
+ sig do
226
+ params(
227
+ config:
228
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::OrHash
229
+ ).void
230
+ end
231
+ attr_writer :config
232
+
233
+ sig do
234
+ returns(
235
+ T.nilable(
236
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Device
237
+ )
238
+ )
239
+ end
240
+ attr_reader :device
241
+
242
+ sig do
243
+ params(
244
+ device:
245
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Device::OrHash
246
+ ).void
247
+ end
248
+ attr_writer :device
249
+
250
+ # Unique identifier for the customer in your database, used for cross-referencing
251
+ # between Straddle and your systems.
252
+ sig { returns(T.nilable(String)) }
253
+ attr_accessor :external_id
254
+
255
+ # Up to 20 additional user-defined key-value pairs. Useful for storing additional
256
+ # information about the customer in a structured format.
257
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
258
+ attr_accessor :metadata
259
+
260
+ sig do
261
+ params(
262
+ id: String,
263
+ created_at: Time,
264
+ email: String,
265
+ name: String,
266
+ phone: String,
267
+ status:
268
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Status::OrSymbol,
269
+ type:
270
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Type::OrSymbol,
271
+ updated_at: Time,
272
+ address: T.nilable(Straddle::CustomerAddressV1::OrHash),
273
+ compliance_profile:
274
+ T.nilable(
275
+ T.any(
276
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::IndividualComplianceProfile::OrHash,
277
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::BusinessComplianceProfile::OrHash
278
+ )
279
+ ),
280
+ config:
281
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::OrHash,
282
+ device:
283
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Device::OrHash,
284
+ external_id: T.nilable(String),
285
+ metadata: T.nilable(T::Hash[Symbol, String])
286
+ ).returns(T.attached_class)
287
+ end
288
+ def self.new(
289
+ # Unique identifier for the customer.
290
+ id:,
291
+ # Timestamp of when the customer record was created.
292
+ created_at:,
293
+ # The customer's email address.
294
+ email:,
295
+ # Full name of the individual or business name.
296
+ name:,
297
+ # The customer's phone number in E.164 format.
298
+ phone:,
299
+ status:,
300
+ type:,
301
+ # Timestamp of the most recent update to the customer record.
302
+ updated_at:,
303
+ # An object containing the customer's address. This is optional, but if provided,
304
+ # all required fields must be present.
305
+ address: nil,
306
+ # PII required to trigger Patriot Act compliant KYC verification.
307
+ compliance_profile: nil,
308
+ config: nil,
309
+ device: nil,
310
+ # Unique identifier for the customer in your database, used for cross-referencing
311
+ # between Straddle and your systems.
312
+ external_id: nil,
313
+ # Up to 20 additional user-defined key-value pairs. Useful for storing additional
314
+ # information about the customer in a structured format.
315
+ metadata: nil
316
+ )
317
+ end
318
+
319
+ sig do
320
+ override.returns(
321
+ {
322
+ id: String,
323
+ created_at: Time,
324
+ email: String,
325
+ name: String,
326
+ phone: String,
327
+ status:
328
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Status::TaggedSymbol,
329
+ type:
330
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Type::TaggedSymbol,
331
+ updated_at: Time,
332
+ address: T.nilable(Straddle::CustomerAddressV1),
333
+ compliance_profile:
334
+ T.nilable(
335
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::Variants
336
+ ),
337
+ config:
338
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config,
339
+ device:
340
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Device,
341
+ external_id: T.nilable(String),
342
+ metadata: T.nilable(T::Hash[Symbol, String])
343
+ }
344
+ )
345
+ end
346
+ def to_hash
347
+ end
348
+
349
+ module Status
350
+ extend Straddle::Internal::Type::Enum
351
+
352
+ TaggedSymbol =
353
+ T.type_alias do
354
+ T.all(
355
+ Symbol,
356
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Status
357
+ )
358
+ end
359
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
360
+
361
+ PENDING =
362
+ T.let(
363
+ :pending,
364
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Status::TaggedSymbol
365
+ )
366
+ REVIEW =
367
+ T.let(
368
+ :review,
369
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Status::TaggedSymbol
370
+ )
371
+ VERIFIED =
372
+ T.let(
373
+ :verified,
374
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Status::TaggedSymbol
375
+ )
376
+ INACTIVE =
377
+ T.let(
378
+ :inactive,
379
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Status::TaggedSymbol
380
+ )
381
+ REJECTED =
382
+ T.let(
383
+ :rejected,
384
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Status::TaggedSymbol
385
+ )
386
+
387
+ sig do
388
+ override.returns(
389
+ T::Array[
390
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Status::TaggedSymbol
391
+ ]
392
+ )
393
+ end
394
+ def self.values
395
+ end
396
+ end
397
+
398
+ module Type
399
+ extend Straddle::Internal::Type::Enum
400
+
401
+ TaggedSymbol =
402
+ T.type_alias do
403
+ T.all(
404
+ Symbol,
405
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Type
406
+ )
407
+ end
408
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
409
+
410
+ INDIVIDUAL =
411
+ T.let(
412
+ :individual,
413
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Type::TaggedSymbol
414
+ )
415
+ BUSINESS =
416
+ T.let(
417
+ :business,
418
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Type::TaggedSymbol
419
+ )
420
+ UNKNOWN =
421
+ T.let(
422
+ :unknown,
423
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Type::TaggedSymbol
424
+ )
425
+
426
+ sig do
427
+ override.returns(
428
+ T::Array[
429
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Type::TaggedSymbol
430
+ ]
431
+ )
432
+ end
433
+ def self.values
434
+ end
435
+ end
436
+
437
+ # PII required to trigger Patriot Act compliant KYC verification.
438
+ module ComplianceProfile
439
+ extend Straddle::Internal::Type::Union
440
+
441
+ Variants =
442
+ T.type_alias do
443
+ T.any(
444
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::IndividualComplianceProfile,
445
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::BusinessComplianceProfile
446
+ )
447
+ end
448
+
449
+ class IndividualComplianceProfile < Straddle::Internal::Type::BaseModel
450
+ OrHash =
451
+ T.type_alias do
452
+ T.any(
453
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::IndividualComplianceProfile,
454
+ Straddle::Internal::AnyHash
455
+ )
456
+ end
457
+
458
+ # Masked date of birth in \***\*-**-\*\* format.
459
+ sig { returns(T.nilable(Date)) }
460
+ attr_accessor :dob
461
+
462
+ # Masked Social Security Number in the format **\*-**-\*\*\*\*.
463
+ sig { returns(T.nilable(String)) }
464
+ attr_accessor :ssn
465
+
466
+ # PII required to trigger Patriot Act compliant KYC verification.
467
+ sig do
468
+ params(dob: T.nilable(Date), ssn: T.nilable(String)).returns(
469
+ T.attached_class
470
+ )
471
+ end
472
+ def self.new(
473
+ # Masked date of birth in \***\*-**-\*\* format.
474
+ dob:,
475
+ # Masked Social Security Number in the format **\*-**-\*\*\*\*.
476
+ ssn:
477
+ )
478
+ end
479
+
480
+ sig do
481
+ override.returns(
482
+ { dob: T.nilable(Date), ssn: T.nilable(String) }
483
+ )
484
+ end
485
+ def to_hash
486
+ end
487
+ end
488
+
489
+ class BusinessComplianceProfile < Straddle::Internal::Type::BaseModel
490
+ OrHash =
491
+ T.type_alias do
492
+ T.any(
493
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::BusinessComplianceProfile,
494
+ Straddle::Internal::AnyHash
495
+ )
496
+ end
497
+
498
+ # Masked Employer Identification Number in the format **-**\*****
499
+ sig { returns(T.nilable(String)) }
500
+ attr_accessor :ein
501
+
502
+ # The official registered name of the business. This name should be correlated
503
+ # with the `ein` value.
504
+ sig { returns(T.nilable(String)) }
505
+ attr_accessor :legal_business_name
506
+
507
+ # A list of people related to the company. Only valid where customer type is
508
+ # 'business'.
509
+ sig do
510
+ returns(
511
+ T.nilable(
512
+ T::Array[
513
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::BusinessComplianceProfile::Representative
514
+ ]
515
+ )
516
+ )
517
+ end
518
+ attr_accessor :representatives
519
+
520
+ # Official business website URL. Optional but recommended for enhanced KYB.
521
+ sig { returns(T.nilable(String)) }
522
+ attr_accessor :website
523
+
524
+ # Business registration data required to trigger Patriot Act compliant KYB
525
+ # verification.
526
+ sig do
527
+ params(
528
+ ein: T.nilable(String),
529
+ legal_business_name: T.nilable(String),
530
+ representatives:
531
+ T.nilable(
532
+ T::Array[
533
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::BusinessComplianceProfile::Representative::OrHash
534
+ ]
535
+ ),
536
+ website: T.nilable(String)
537
+ ).returns(T.attached_class)
538
+ end
539
+ def self.new(
540
+ # Masked Employer Identification Number in the format **-**\*****
541
+ ein:,
542
+ # The official registered name of the business. This name should be correlated
543
+ # with the `ein` value.
544
+ legal_business_name:,
545
+ # A list of people related to the company. Only valid where customer type is
546
+ # 'business'.
547
+ representatives: nil,
548
+ # Official business website URL. Optional but recommended for enhanced KYB.
549
+ website: nil
550
+ )
551
+ end
552
+
553
+ sig do
554
+ override.returns(
555
+ {
556
+ ein: T.nilable(String),
557
+ legal_business_name: T.nilable(String),
558
+ representatives:
559
+ T.nilable(
560
+ T::Array[
561
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::BusinessComplianceProfile::Representative
562
+ ]
563
+ ),
564
+ website: T.nilable(String)
565
+ }
566
+ )
567
+ end
568
+ def to_hash
569
+ end
570
+
571
+ class Representative < Straddle::Internal::Type::BaseModel
572
+ OrHash =
573
+ T.type_alias do
574
+ T.any(
575
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::BusinessComplianceProfile::Representative,
576
+ Straddle::Internal::AnyHash
577
+ )
578
+ end
579
+
580
+ sig { returns(String) }
581
+ attr_accessor :name
582
+
583
+ sig { returns(T.nilable(String)) }
584
+ attr_accessor :email
585
+
586
+ sig { returns(T.nilable(String)) }
587
+ attr_accessor :phone
588
+
589
+ sig do
590
+ params(
591
+ name: String,
592
+ email: T.nilable(String),
593
+ phone: T.nilable(String)
594
+ ).returns(T.attached_class)
595
+ end
596
+ def self.new(name:, email: nil, phone: nil)
597
+ end
598
+
599
+ sig do
600
+ override.returns(
601
+ {
602
+ name: String,
603
+ email: T.nilable(String),
604
+ phone: T.nilable(String)
605
+ }
606
+ )
607
+ end
608
+ def to_hash
609
+ end
610
+ end
611
+ end
612
+
613
+ sig do
614
+ override.returns(
615
+ T::Array[
616
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::ComplianceProfile::Variants
617
+ ]
618
+ )
619
+ end
620
+ def self.variants
621
+ end
622
+ end
623
+
624
+ class Config < Straddle::Internal::Type::BaseModel
625
+ OrHash =
626
+ T.type_alias do
627
+ T.any(
628
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config,
629
+ Straddle::Internal::AnyHash
630
+ )
631
+ end
632
+
633
+ sig do
634
+ returns(
635
+ T.nilable(
636
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::ProcessingMethod::TaggedSymbol
637
+ )
638
+ )
639
+ end
640
+ attr_reader :processing_method
641
+
642
+ sig do
643
+ params(
644
+ processing_method:
645
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::ProcessingMethod::OrSymbol
646
+ ).void
647
+ end
648
+ attr_writer :processing_method
649
+
650
+ sig do
651
+ returns(
652
+ T.nilable(
653
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::SandboxOutcome::TaggedSymbol
654
+ )
655
+ )
656
+ end
657
+ attr_reader :sandbox_outcome
658
+
659
+ sig do
660
+ params(
661
+ sandbox_outcome:
662
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::SandboxOutcome::OrSymbol
663
+ ).void
664
+ end
665
+ attr_writer :sandbox_outcome
666
+
667
+ sig do
668
+ params(
669
+ processing_method:
670
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::ProcessingMethod::OrSymbol,
671
+ sandbox_outcome:
672
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::SandboxOutcome::OrSymbol
673
+ ).returns(T.attached_class)
674
+ end
675
+ def self.new(processing_method: nil, sandbox_outcome: nil)
676
+ end
677
+
678
+ sig do
679
+ override.returns(
680
+ {
681
+ processing_method:
682
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::ProcessingMethod::TaggedSymbol,
683
+ sandbox_outcome:
684
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::SandboxOutcome::TaggedSymbol
685
+ }
686
+ )
687
+ end
688
+ def to_hash
689
+ end
690
+
691
+ module ProcessingMethod
692
+ extend Straddle::Internal::Type::Enum
693
+
694
+ TaggedSymbol =
695
+ T.type_alias do
696
+ T.all(
697
+ Symbol,
698
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::ProcessingMethod
699
+ )
700
+ end
701
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
702
+
703
+ INLINE =
704
+ T.let(
705
+ :inline,
706
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::ProcessingMethod::TaggedSymbol
707
+ )
708
+ BACKGROUND =
709
+ T.let(
710
+ :background,
711
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::ProcessingMethod::TaggedSymbol
712
+ )
713
+ SKIP =
714
+ T.let(
715
+ :skip,
716
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::ProcessingMethod::TaggedSymbol
717
+ )
718
+
719
+ sig do
720
+ override.returns(
721
+ T::Array[
722
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::ProcessingMethod::TaggedSymbol
723
+ ]
724
+ )
725
+ end
726
+ def self.values
727
+ end
728
+ end
729
+
730
+ module SandboxOutcome
731
+ extend Straddle::Internal::Type::Enum
732
+
733
+ TaggedSymbol =
734
+ T.type_alias do
735
+ T.all(
736
+ Symbol,
737
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::SandboxOutcome
738
+ )
739
+ end
740
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
741
+
742
+ STANDARD =
743
+ T.let(
744
+ :standard,
745
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::SandboxOutcome::TaggedSymbol
746
+ )
747
+ VERIFIED =
748
+ T.let(
749
+ :verified,
750
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::SandboxOutcome::TaggedSymbol
751
+ )
752
+ REJECTED =
753
+ T.let(
754
+ :rejected,
755
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::SandboxOutcome::TaggedSymbol
756
+ )
757
+ REVIEW =
758
+ T.let(
759
+ :review,
760
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::SandboxOutcome::TaggedSymbol
761
+ )
762
+
763
+ sig do
764
+ override.returns(
765
+ T::Array[
766
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Config::SandboxOutcome::TaggedSymbol
767
+ ]
768
+ )
769
+ end
770
+ def self.values
771
+ end
772
+ end
773
+ end
774
+
775
+ class Device < Straddle::Internal::Type::BaseModel
776
+ OrHash =
777
+ T.type_alias do
778
+ T.any(
779
+ Straddle::Customers::CustomerReviewV1::Data::CustomerDetails::Device,
780
+ Straddle::Internal::AnyHash
781
+ )
782
+ end
783
+
784
+ # The customer's IP address at the time of profile creation. Use `0.0.0.0` to
785
+ # represent an offline customer registration.
786
+ sig { returns(String) }
787
+ attr_accessor :ip_address
788
+
789
+ sig { params(ip_address: String).returns(T.attached_class) }
790
+ def self.new(
791
+ # The customer's IP address at the time of profile creation. Use `0.0.0.0` to
792
+ # represent an offline customer registration.
793
+ ip_address:
794
+ )
795
+ end
796
+
797
+ sig { override.returns({ ip_address: String }) }
798
+ def to_hash
799
+ end
800
+ end
801
+ end
802
+
803
+ class IdentityDetails < Straddle::Internal::Type::BaseModel
804
+ OrHash =
805
+ T.type_alias do
806
+ T.any(
807
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails,
808
+ Straddle::Internal::AnyHash
809
+ )
810
+ end
811
+
812
+ # Detailed breakdown of the customer verification results, including decisions,
813
+ # risk scores, correlation score, and more.
814
+ sig do
815
+ returns(
816
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Breakdown
817
+ )
818
+ end
819
+ attr_reader :breakdown
820
+
821
+ sig do
822
+ params(
823
+ breakdown:
824
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Breakdown::OrHash
825
+ ).void
826
+ end
827
+ attr_writer :breakdown
828
+
829
+ # Timestamp of when the review was initiated.
830
+ sig { returns(Time) }
831
+ attr_accessor :created_at
832
+
833
+ sig do
834
+ returns(
835
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Decision::TaggedSymbol
836
+ )
837
+ end
838
+ attr_accessor :decision
839
+
840
+ # Unique identifier for the review.
841
+ sig { returns(String) }
842
+ attr_accessor :review_id
843
+
844
+ # Timestamp of the most recent update to the review.
845
+ sig { returns(Time) }
846
+ attr_accessor :updated_at
847
+
848
+ sig do
849
+ returns(
850
+ T.nilable(
851
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC
852
+ )
853
+ )
854
+ end
855
+ attr_reader :kyc
856
+
857
+ sig do
858
+ params(
859
+ kyc:
860
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::OrHash
861
+ ).void
862
+ end
863
+ attr_writer :kyc
864
+
865
+ # Dictionary of all messages from the customer verification process.
866
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
867
+ attr_accessor :messages
868
+
869
+ sig do
870
+ returns(
871
+ T.nilable(
872
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts
873
+ )
874
+ )
875
+ end
876
+ attr_reader :network_alerts
877
+
878
+ sig do
879
+ params(
880
+ network_alerts:
881
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts::OrHash
882
+ ).void
883
+ end
884
+ attr_writer :network_alerts
885
+
886
+ sig do
887
+ returns(
888
+ T.nilable(
889
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation
890
+ )
891
+ )
892
+ end
893
+ attr_reader :reputation
894
+
895
+ sig do
896
+ params(
897
+ reputation:
898
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::OrHash
899
+ ).void
900
+ end
901
+ attr_writer :reputation
902
+
903
+ sig do
904
+ returns(
905
+ T.nilable(
906
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList
907
+ )
908
+ )
909
+ end
910
+ attr_reader :watch_list
911
+
912
+ sig do
913
+ params(
914
+ watch_list:
915
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::OrHash
916
+ ).void
917
+ end
918
+ attr_writer :watch_list
919
+
920
+ sig do
921
+ params(
922
+ breakdown:
923
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Breakdown::OrHash,
924
+ created_at: Time,
925
+ decision:
926
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Decision::OrSymbol,
927
+ review_id: String,
928
+ updated_at: Time,
929
+ kyc:
930
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::OrHash,
931
+ messages: T.nilable(T::Hash[Symbol, String]),
932
+ network_alerts:
933
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts::OrHash,
934
+ reputation:
935
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::OrHash,
936
+ watch_list:
937
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::OrHash
938
+ ).returns(T.attached_class)
939
+ end
940
+ def self.new(
941
+ # Detailed breakdown of the customer verification results, including decisions,
942
+ # risk scores, correlation score, and more.
943
+ breakdown:,
944
+ # Timestamp of when the review was initiated.
945
+ created_at:,
946
+ decision:,
947
+ # Unique identifier for the review.
948
+ review_id:,
949
+ # Timestamp of the most recent update to the review.
950
+ updated_at:,
951
+ kyc: nil,
952
+ # Dictionary of all messages from the customer verification process.
953
+ messages: nil,
954
+ network_alerts: nil,
955
+ reputation: nil,
956
+ watch_list: nil
957
+ )
958
+ end
959
+
960
+ sig do
961
+ override.returns(
962
+ {
963
+ breakdown:
964
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Breakdown,
965
+ created_at: Time,
966
+ decision:
967
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Decision::TaggedSymbol,
968
+ review_id: String,
969
+ updated_at: Time,
970
+ kyc:
971
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC,
972
+ messages: T.nilable(T::Hash[Symbol, String]),
973
+ network_alerts:
974
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts,
975
+ reputation:
976
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation,
977
+ watch_list:
978
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList
979
+ }
980
+ )
981
+ end
982
+ def to_hash
983
+ end
984
+
985
+ class Breakdown < Straddle::Internal::Type::BaseModel
986
+ OrHash =
987
+ T.type_alias do
988
+ T.any(
989
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Breakdown,
990
+ Straddle::Internal::AnyHash
991
+ )
992
+ end
993
+
994
+ sig do
995
+ returns(
996
+ T.nilable(
997
+ Straddle::Customers::IdentityVerificationBreakdownV1
998
+ )
999
+ )
1000
+ end
1001
+ attr_reader :address
1002
+
1003
+ sig do
1004
+ params(
1005
+ address:
1006
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash
1007
+ ).void
1008
+ end
1009
+ attr_writer :address
1010
+
1011
+ sig do
1012
+ returns(
1013
+ T.nilable(
1014
+ Straddle::Customers::IdentityVerificationBreakdownV1
1015
+ )
1016
+ )
1017
+ end
1018
+ attr_reader :business_evaluation
1019
+
1020
+ sig do
1021
+ params(
1022
+ business_evaluation:
1023
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash
1024
+ ).void
1025
+ end
1026
+ attr_writer :business_evaluation
1027
+
1028
+ sig do
1029
+ returns(
1030
+ T.nilable(
1031
+ Straddle::Customers::IdentityVerificationBreakdownV1
1032
+ )
1033
+ )
1034
+ end
1035
+ attr_reader :business_identification
1036
+
1037
+ sig do
1038
+ params(
1039
+ business_identification:
1040
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash
1041
+ ).void
1042
+ end
1043
+ attr_writer :business_identification
1044
+
1045
+ sig do
1046
+ returns(
1047
+ T.nilable(
1048
+ Straddle::Customers::IdentityVerificationBreakdownV1
1049
+ )
1050
+ )
1051
+ end
1052
+ attr_reader :business_validation
1053
+
1054
+ sig do
1055
+ params(
1056
+ business_validation:
1057
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash
1058
+ ).void
1059
+ end
1060
+ attr_writer :business_validation
1061
+
1062
+ sig do
1063
+ returns(
1064
+ T.nilable(
1065
+ Straddle::Customers::IdentityVerificationBreakdownV1
1066
+ )
1067
+ )
1068
+ end
1069
+ attr_reader :email
1070
+
1071
+ sig do
1072
+ params(
1073
+ email:
1074
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash
1075
+ ).void
1076
+ end
1077
+ attr_writer :email
1078
+
1079
+ sig do
1080
+ returns(
1081
+ T.nilable(
1082
+ Straddle::Customers::IdentityVerificationBreakdownV1
1083
+ )
1084
+ )
1085
+ end
1086
+ attr_reader :fraud
1087
+
1088
+ sig do
1089
+ params(
1090
+ fraud:
1091
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash
1092
+ ).void
1093
+ end
1094
+ attr_writer :fraud
1095
+
1096
+ sig do
1097
+ returns(
1098
+ T.nilable(
1099
+ Straddle::Customers::IdentityVerificationBreakdownV1
1100
+ )
1101
+ )
1102
+ end
1103
+ attr_reader :phone
1104
+
1105
+ sig do
1106
+ params(
1107
+ phone:
1108
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash
1109
+ ).void
1110
+ end
1111
+ attr_writer :phone
1112
+
1113
+ sig do
1114
+ returns(
1115
+ T.nilable(
1116
+ Straddle::Customers::IdentityVerificationBreakdownV1
1117
+ )
1118
+ )
1119
+ end
1120
+ attr_reader :synthetic
1121
+
1122
+ sig do
1123
+ params(
1124
+ synthetic:
1125
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash
1126
+ ).void
1127
+ end
1128
+ attr_writer :synthetic
1129
+
1130
+ # Detailed breakdown of the customer verification results, including decisions,
1131
+ # risk scores, correlation score, and more.
1132
+ sig do
1133
+ params(
1134
+ address:
1135
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash,
1136
+ business_evaluation:
1137
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash,
1138
+ business_identification:
1139
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash,
1140
+ business_validation:
1141
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash,
1142
+ email:
1143
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash,
1144
+ fraud:
1145
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash,
1146
+ phone:
1147
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash,
1148
+ synthetic:
1149
+ Straddle::Customers::IdentityVerificationBreakdownV1::OrHash
1150
+ ).returns(T.attached_class)
1151
+ end
1152
+ def self.new(
1153
+ address: nil,
1154
+ business_evaluation: nil,
1155
+ business_identification: nil,
1156
+ business_validation: nil,
1157
+ email: nil,
1158
+ fraud: nil,
1159
+ phone: nil,
1160
+ synthetic: nil
1161
+ )
1162
+ end
1163
+
1164
+ sig do
1165
+ override.returns(
1166
+ {
1167
+ address:
1168
+ Straddle::Customers::IdentityVerificationBreakdownV1,
1169
+ business_evaluation:
1170
+ Straddle::Customers::IdentityVerificationBreakdownV1,
1171
+ business_identification:
1172
+ Straddle::Customers::IdentityVerificationBreakdownV1,
1173
+ business_validation:
1174
+ Straddle::Customers::IdentityVerificationBreakdownV1,
1175
+ email: Straddle::Customers::IdentityVerificationBreakdownV1,
1176
+ fraud: Straddle::Customers::IdentityVerificationBreakdownV1,
1177
+ phone: Straddle::Customers::IdentityVerificationBreakdownV1,
1178
+ synthetic:
1179
+ Straddle::Customers::IdentityVerificationBreakdownV1
1180
+ }
1181
+ )
1182
+ end
1183
+ def to_hash
1184
+ end
1185
+ end
1186
+
1187
+ module Decision
1188
+ extend Straddle::Internal::Type::Enum
1189
+
1190
+ TaggedSymbol =
1191
+ T.type_alias do
1192
+ T.all(
1193
+ Symbol,
1194
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Decision
1195
+ )
1196
+ end
1197
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1198
+
1199
+ ACCEPT =
1200
+ T.let(
1201
+ :accept,
1202
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Decision::TaggedSymbol
1203
+ )
1204
+ REJECT =
1205
+ T.let(
1206
+ :reject,
1207
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Decision::TaggedSymbol
1208
+ )
1209
+ REVIEW =
1210
+ T.let(
1211
+ :review,
1212
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Decision::TaggedSymbol
1213
+ )
1214
+
1215
+ sig do
1216
+ override.returns(
1217
+ T::Array[
1218
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Decision::TaggedSymbol
1219
+ ]
1220
+ )
1221
+ end
1222
+ def self.values
1223
+ end
1224
+ end
1225
+
1226
+ class KYC < Straddle::Internal::Type::BaseModel
1227
+ OrHash =
1228
+ T.type_alias do
1229
+ T.any(
1230
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC,
1231
+ Straddle::Internal::AnyHash
1232
+ )
1233
+ end
1234
+
1235
+ # Boolean values indicating the result of each validation in the KYC process.
1236
+ sig do
1237
+ returns(
1238
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Validations
1239
+ )
1240
+ end
1241
+ attr_reader :validations
1242
+
1243
+ sig do
1244
+ params(
1245
+ validations:
1246
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Validations::OrHash
1247
+ ).void
1248
+ end
1249
+ attr_writer :validations
1250
+
1251
+ # List of specific result codes from the KYC screening process.
1252
+ sig { returns(T.nilable(T::Array[String])) }
1253
+ attr_accessor :codes
1254
+
1255
+ sig do
1256
+ returns(
1257
+ T.nilable(
1258
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Decision::TaggedSymbol
1259
+ )
1260
+ )
1261
+ end
1262
+ attr_reader :decision
1263
+
1264
+ sig do
1265
+ params(
1266
+ decision:
1267
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Decision::OrSymbol
1268
+ ).void
1269
+ end
1270
+ attr_writer :decision
1271
+
1272
+ sig do
1273
+ params(
1274
+ validations:
1275
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Validations::OrHash,
1276
+ codes: T.nilable(T::Array[String]),
1277
+ decision:
1278
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Decision::OrSymbol
1279
+ ).returns(T.attached_class)
1280
+ end
1281
+ def self.new(
1282
+ # Boolean values indicating the result of each validation in the KYC process.
1283
+ validations:,
1284
+ # List of specific result codes from the KYC screening process.
1285
+ codes: nil,
1286
+ decision: nil
1287
+ )
1288
+ end
1289
+
1290
+ sig do
1291
+ override.returns(
1292
+ {
1293
+ validations:
1294
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Validations,
1295
+ codes: T.nilable(T::Array[String]),
1296
+ decision:
1297
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Decision::TaggedSymbol
1298
+ }
1299
+ )
1300
+ end
1301
+ def to_hash
1302
+ end
1303
+
1304
+ class Validations < Straddle::Internal::Type::BaseModel
1305
+ OrHash =
1306
+ T.type_alias do
1307
+ T.any(
1308
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Validations,
1309
+ Straddle::Internal::AnyHash
1310
+ )
1311
+ end
1312
+
1313
+ sig { returns(T.nilable(T::Boolean)) }
1314
+ attr_reader :address
1315
+
1316
+ sig { params(address: T::Boolean).void }
1317
+ attr_writer :address
1318
+
1319
+ sig { returns(T.nilable(T::Boolean)) }
1320
+ attr_reader :city
1321
+
1322
+ sig { params(city: T::Boolean).void }
1323
+ attr_writer :city
1324
+
1325
+ sig { returns(T.nilable(T::Boolean)) }
1326
+ attr_reader :dob
1327
+
1328
+ sig { params(dob: T::Boolean).void }
1329
+ attr_writer :dob
1330
+
1331
+ sig { returns(T.nilable(T::Boolean)) }
1332
+ attr_reader :email
1333
+
1334
+ sig { params(email: T::Boolean).void }
1335
+ attr_writer :email
1336
+
1337
+ sig { returns(T.nilable(T::Boolean)) }
1338
+ attr_reader :first_name
1339
+
1340
+ sig { params(first_name: T::Boolean).void }
1341
+ attr_writer :first_name
1342
+
1343
+ sig { returns(T.nilable(T::Boolean)) }
1344
+ attr_reader :last_name
1345
+
1346
+ sig { params(last_name: T::Boolean).void }
1347
+ attr_writer :last_name
1348
+
1349
+ sig { returns(T.nilable(T::Boolean)) }
1350
+ attr_reader :phone
1351
+
1352
+ sig { params(phone: T::Boolean).void }
1353
+ attr_writer :phone
1354
+
1355
+ sig { returns(T.nilable(T::Boolean)) }
1356
+ attr_reader :ssn
1357
+
1358
+ sig { params(ssn: T::Boolean).void }
1359
+ attr_writer :ssn
1360
+
1361
+ sig { returns(T.nilable(T::Boolean)) }
1362
+ attr_reader :state
1363
+
1364
+ sig { params(state: T::Boolean).void }
1365
+ attr_writer :state
1366
+
1367
+ sig { returns(T.nilable(T::Boolean)) }
1368
+ attr_reader :zip
1369
+
1370
+ sig { params(zip: T::Boolean).void }
1371
+ attr_writer :zip
1372
+
1373
+ # Boolean values indicating the result of each validation in the KYC process.
1374
+ sig do
1375
+ params(
1376
+ address: T::Boolean,
1377
+ city: T::Boolean,
1378
+ dob: T::Boolean,
1379
+ email: T::Boolean,
1380
+ first_name: T::Boolean,
1381
+ last_name: T::Boolean,
1382
+ phone: T::Boolean,
1383
+ ssn: T::Boolean,
1384
+ state: T::Boolean,
1385
+ zip: T::Boolean
1386
+ ).returns(T.attached_class)
1387
+ end
1388
+ def self.new(
1389
+ address: nil,
1390
+ city: nil,
1391
+ dob: nil,
1392
+ email: nil,
1393
+ first_name: nil,
1394
+ last_name: nil,
1395
+ phone: nil,
1396
+ ssn: nil,
1397
+ state: nil,
1398
+ zip: nil
1399
+ )
1400
+ end
1401
+
1402
+ sig do
1403
+ override.returns(
1404
+ {
1405
+ address: T::Boolean,
1406
+ city: T::Boolean,
1407
+ dob: T::Boolean,
1408
+ email: T::Boolean,
1409
+ first_name: T::Boolean,
1410
+ last_name: T::Boolean,
1411
+ phone: T::Boolean,
1412
+ ssn: T::Boolean,
1413
+ state: T::Boolean,
1414
+ zip: T::Boolean
1415
+ }
1416
+ )
1417
+ end
1418
+ def to_hash
1419
+ end
1420
+ end
1421
+
1422
+ module Decision
1423
+ extend Straddle::Internal::Type::Enum
1424
+
1425
+ TaggedSymbol =
1426
+ T.type_alias do
1427
+ T.all(
1428
+ Symbol,
1429
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Decision
1430
+ )
1431
+ end
1432
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1433
+
1434
+ ACCEPT =
1435
+ T.let(
1436
+ :accept,
1437
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Decision::TaggedSymbol
1438
+ )
1439
+ REJECT =
1440
+ T.let(
1441
+ :reject,
1442
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Decision::TaggedSymbol
1443
+ )
1444
+ REVIEW =
1445
+ T.let(
1446
+ :review,
1447
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Decision::TaggedSymbol
1448
+ )
1449
+
1450
+ sig do
1451
+ override.returns(
1452
+ T::Array[
1453
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::KYC::Decision::TaggedSymbol
1454
+ ]
1455
+ )
1456
+ end
1457
+ def self.values
1458
+ end
1459
+ end
1460
+ end
1461
+
1462
+ class NetworkAlerts < Straddle::Internal::Type::BaseModel
1463
+ OrHash =
1464
+ T.type_alias do
1465
+ T.any(
1466
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts,
1467
+ Straddle::Internal::AnyHash
1468
+ )
1469
+ end
1470
+
1471
+ # Any alerts or flags raised during the consortium alert screening.
1472
+ sig { returns(T.nilable(T::Array[String])) }
1473
+ attr_accessor :alerts
1474
+
1475
+ # List of specific result codes from the consortium alert screening.
1476
+ sig { returns(T.nilable(T::Array[String])) }
1477
+ attr_accessor :codes
1478
+
1479
+ sig do
1480
+ returns(
1481
+ T.nilable(
1482
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts::Decision::TaggedSymbol
1483
+ )
1484
+ )
1485
+ end
1486
+ attr_reader :decision
1487
+
1488
+ sig do
1489
+ params(
1490
+ decision:
1491
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts::Decision::OrSymbol
1492
+ ).void
1493
+ end
1494
+ attr_writer :decision
1495
+
1496
+ sig do
1497
+ params(
1498
+ alerts: T.nilable(T::Array[String]),
1499
+ codes: T.nilable(T::Array[String]),
1500
+ decision:
1501
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts::Decision::OrSymbol
1502
+ ).returns(T.attached_class)
1503
+ end
1504
+ def self.new(
1505
+ # Any alerts or flags raised during the consortium alert screening.
1506
+ alerts: nil,
1507
+ # List of specific result codes from the consortium alert screening.
1508
+ codes: nil,
1509
+ decision: nil
1510
+ )
1511
+ end
1512
+
1513
+ sig do
1514
+ override.returns(
1515
+ {
1516
+ alerts: T.nilable(T::Array[String]),
1517
+ codes: T.nilable(T::Array[String]),
1518
+ decision:
1519
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts::Decision::TaggedSymbol
1520
+ }
1521
+ )
1522
+ end
1523
+ def to_hash
1524
+ end
1525
+
1526
+ module Decision
1527
+ extend Straddle::Internal::Type::Enum
1528
+
1529
+ TaggedSymbol =
1530
+ T.type_alias do
1531
+ T.all(
1532
+ Symbol,
1533
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts::Decision
1534
+ )
1535
+ end
1536
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1537
+
1538
+ ACCEPT =
1539
+ T.let(
1540
+ :accept,
1541
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts::Decision::TaggedSymbol
1542
+ )
1543
+ REJECT =
1544
+ T.let(
1545
+ :reject,
1546
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts::Decision::TaggedSymbol
1547
+ )
1548
+ REVIEW =
1549
+ T.let(
1550
+ :review,
1551
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts::Decision::TaggedSymbol
1552
+ )
1553
+
1554
+ sig do
1555
+ override.returns(
1556
+ T::Array[
1557
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::NetworkAlerts::Decision::TaggedSymbol
1558
+ ]
1559
+ )
1560
+ end
1561
+ def self.values
1562
+ end
1563
+ end
1564
+ end
1565
+
1566
+ class Reputation < Straddle::Internal::Type::BaseModel
1567
+ OrHash =
1568
+ T.type_alias do
1569
+ T.any(
1570
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation,
1571
+ Straddle::Internal::AnyHash
1572
+ )
1573
+ end
1574
+
1575
+ # Specific codes related to the Straddle reputation screening results.
1576
+ sig { returns(T.nilable(T::Array[String])) }
1577
+ attr_accessor :codes
1578
+
1579
+ sig do
1580
+ returns(
1581
+ T.nilable(
1582
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Decision::TaggedSymbol
1583
+ )
1584
+ )
1585
+ end
1586
+ attr_reader :decision
1587
+
1588
+ sig do
1589
+ params(
1590
+ decision:
1591
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Decision::OrSymbol
1592
+ ).void
1593
+ end
1594
+ attr_writer :decision
1595
+
1596
+ sig do
1597
+ returns(
1598
+ T.nilable(
1599
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Insights
1600
+ )
1601
+ )
1602
+ end
1603
+ attr_reader :insights
1604
+
1605
+ sig do
1606
+ params(
1607
+ insights:
1608
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Insights::OrHash
1609
+ ).void
1610
+ end
1611
+ attr_writer :insights
1612
+
1613
+ sig { returns(T.nilable(Float)) }
1614
+ attr_accessor :risk_score
1615
+
1616
+ sig do
1617
+ params(
1618
+ codes: T.nilable(T::Array[String]),
1619
+ decision:
1620
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Decision::OrSymbol,
1621
+ insights:
1622
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Insights::OrHash,
1623
+ risk_score: T.nilable(Float)
1624
+ ).returns(T.attached_class)
1625
+ end
1626
+ def self.new(
1627
+ # Specific codes related to the Straddle reputation screening results.
1628
+ codes: nil,
1629
+ decision: nil,
1630
+ insights: nil,
1631
+ risk_score: nil
1632
+ )
1633
+ end
1634
+
1635
+ sig do
1636
+ override.returns(
1637
+ {
1638
+ codes: T.nilable(T::Array[String]),
1639
+ decision:
1640
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Decision::TaggedSymbol,
1641
+ insights:
1642
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Insights,
1643
+ risk_score: T.nilable(Float)
1644
+ }
1645
+ )
1646
+ end
1647
+ def to_hash
1648
+ end
1649
+
1650
+ module Decision
1651
+ extend Straddle::Internal::Type::Enum
1652
+
1653
+ TaggedSymbol =
1654
+ T.type_alias do
1655
+ T.all(
1656
+ Symbol,
1657
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Decision
1658
+ )
1659
+ end
1660
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1661
+
1662
+ ACCEPT =
1663
+ T.let(
1664
+ :accept,
1665
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Decision::TaggedSymbol
1666
+ )
1667
+ REJECT =
1668
+ T.let(
1669
+ :reject,
1670
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Decision::TaggedSymbol
1671
+ )
1672
+ REVIEW =
1673
+ T.let(
1674
+ :review,
1675
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Decision::TaggedSymbol
1676
+ )
1677
+
1678
+ sig do
1679
+ override.returns(
1680
+ T::Array[
1681
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Decision::TaggedSymbol
1682
+ ]
1683
+ )
1684
+ end
1685
+ def self.values
1686
+ end
1687
+ end
1688
+
1689
+ class Insights < Straddle::Internal::Type::BaseModel
1690
+ OrHash =
1691
+ T.type_alias do
1692
+ T.any(
1693
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::Reputation::Insights,
1694
+ Straddle::Internal::AnyHash
1695
+ )
1696
+ end
1697
+
1698
+ sig { returns(T.nilable(Integer)) }
1699
+ attr_accessor :accounts_active_count
1700
+
1701
+ sig { returns(T.nilable(Integer)) }
1702
+ attr_accessor :accounts_closed_count
1703
+
1704
+ sig { returns(T.nilable(T::Array[Date])) }
1705
+ attr_accessor :accounts_closed_dates
1706
+
1707
+ sig { returns(T.nilable(Integer)) }
1708
+ attr_accessor :accounts_count
1709
+
1710
+ sig { returns(T.nilable(Integer)) }
1711
+ attr_accessor :accounts_fraud_count
1712
+
1713
+ sig { returns(T.nilable(T::Array[Date])) }
1714
+ attr_accessor :accounts_fraud_labeled_dates
1715
+
1716
+ sig { returns(T.nilable(Float)) }
1717
+ attr_accessor :accounts_fraud_loss_total_amount
1718
+
1719
+ sig { returns(T.nilable(Integer)) }
1720
+ attr_accessor :ach_fraud_transactions_count
1721
+
1722
+ sig { returns(T.nilable(T::Array[Date])) }
1723
+ attr_accessor :ach_fraud_transactions_dates
1724
+
1725
+ sig { returns(T.nilable(Float)) }
1726
+ attr_accessor :ach_fraud_transactions_total_amount
1727
+
1728
+ sig { returns(T.nilable(Integer)) }
1729
+ attr_accessor :ach_returned_transactions_count
1730
+
1731
+ sig { returns(T.nilable(T::Array[Date])) }
1732
+ attr_accessor :ach_returned_transactions_dates
1733
+
1734
+ sig { returns(T.nilable(Float)) }
1735
+ attr_accessor :ach_returned_transactions_total_amount
1736
+
1737
+ sig { returns(T.nilable(Integer)) }
1738
+ attr_accessor :applications_approved_count
1739
+
1740
+ sig { returns(T.nilable(Integer)) }
1741
+ attr_accessor :applications_count
1742
+
1743
+ sig { returns(T.nilable(T::Array[Date])) }
1744
+ attr_accessor :applications_dates
1745
+
1746
+ sig { returns(T.nilable(Integer)) }
1747
+ attr_accessor :applications_declined_count
1748
+
1749
+ sig { returns(T.nilable(Integer)) }
1750
+ attr_accessor :applications_fraud_count
1751
+
1752
+ sig { returns(T.nilable(Integer)) }
1753
+ attr_accessor :card_disputed_transactions_count
1754
+
1755
+ sig { returns(T.nilable(T::Array[Date])) }
1756
+ attr_accessor :card_disputed_transactions_dates
1757
+
1758
+ sig { returns(T.nilable(Float)) }
1759
+ attr_accessor :card_disputed_transactions_total_amount
1760
+
1761
+ sig { returns(T.nilable(Integer)) }
1762
+ attr_accessor :card_fraud_transactions_count
1763
+
1764
+ sig { returns(T.nilable(T::Array[Date])) }
1765
+ attr_accessor :card_fraud_transactions_dates
1766
+
1767
+ sig { returns(T.nilable(Float)) }
1768
+ attr_accessor :card_fraud_transactions_total_amount
1769
+
1770
+ sig { returns(T.nilable(Integer)) }
1771
+ attr_accessor :card_stopped_transactions_count
1772
+
1773
+ sig { returns(T.nilable(T::Array[Date])) }
1774
+ attr_accessor :card_stopped_transactions_dates
1775
+
1776
+ sig { returns(T.nilable(Integer)) }
1777
+ attr_accessor :user_active_profile_count
1778
+
1779
+ sig { returns(T.nilable(Integer)) }
1780
+ attr_accessor :user_address_count
1781
+
1782
+ sig { returns(T.nilable(Integer)) }
1783
+ attr_accessor :user_closed_profile_count
1784
+
1785
+ sig { returns(T.nilable(Integer)) }
1786
+ attr_accessor :user_dob_count
1787
+
1788
+ sig { returns(T.nilable(Integer)) }
1789
+ attr_accessor :user_email_count
1790
+
1791
+ sig { returns(T.nilable(Integer)) }
1792
+ attr_accessor :user_institution_count
1793
+
1794
+ sig { returns(T.nilable(Integer)) }
1795
+ attr_accessor :user_mobile_count
1796
+
1797
+ sig do
1798
+ params(
1799
+ accounts_active_count: T.nilable(Integer),
1800
+ accounts_closed_count: T.nilable(Integer),
1801
+ accounts_closed_dates: T.nilable(T::Array[Date]),
1802
+ accounts_count: T.nilable(Integer),
1803
+ accounts_fraud_count: T.nilable(Integer),
1804
+ accounts_fraud_labeled_dates: T.nilable(T::Array[Date]),
1805
+ accounts_fraud_loss_total_amount: T.nilable(Float),
1806
+ ach_fraud_transactions_count: T.nilable(Integer),
1807
+ ach_fraud_transactions_dates: T.nilable(T::Array[Date]),
1808
+ ach_fraud_transactions_total_amount: T.nilable(Float),
1809
+ ach_returned_transactions_count: T.nilable(Integer),
1810
+ ach_returned_transactions_dates: T.nilable(T::Array[Date]),
1811
+ ach_returned_transactions_total_amount: T.nilable(Float),
1812
+ applications_approved_count: T.nilable(Integer),
1813
+ applications_count: T.nilable(Integer),
1814
+ applications_dates: T.nilable(T::Array[Date]),
1815
+ applications_declined_count: T.nilable(Integer),
1816
+ applications_fraud_count: T.nilable(Integer),
1817
+ card_disputed_transactions_count: T.nilable(Integer),
1818
+ card_disputed_transactions_dates: T.nilable(T::Array[Date]),
1819
+ card_disputed_transactions_total_amount: T.nilable(Float),
1820
+ card_fraud_transactions_count: T.nilable(Integer),
1821
+ card_fraud_transactions_dates: T.nilable(T::Array[Date]),
1822
+ card_fraud_transactions_total_amount: T.nilable(Float),
1823
+ card_stopped_transactions_count: T.nilable(Integer),
1824
+ card_stopped_transactions_dates: T.nilable(T::Array[Date]),
1825
+ user_active_profile_count: T.nilable(Integer),
1826
+ user_address_count: T.nilable(Integer),
1827
+ user_closed_profile_count: T.nilable(Integer),
1828
+ user_dob_count: T.nilable(Integer),
1829
+ user_email_count: T.nilable(Integer),
1830
+ user_institution_count: T.nilable(Integer),
1831
+ user_mobile_count: T.nilable(Integer)
1832
+ ).returns(T.attached_class)
1833
+ end
1834
+ def self.new(
1835
+ accounts_active_count: nil,
1836
+ accounts_closed_count: nil,
1837
+ accounts_closed_dates: nil,
1838
+ accounts_count: nil,
1839
+ accounts_fraud_count: nil,
1840
+ accounts_fraud_labeled_dates: nil,
1841
+ accounts_fraud_loss_total_amount: nil,
1842
+ ach_fraud_transactions_count: nil,
1843
+ ach_fraud_transactions_dates: nil,
1844
+ ach_fraud_transactions_total_amount: nil,
1845
+ ach_returned_transactions_count: nil,
1846
+ ach_returned_transactions_dates: nil,
1847
+ ach_returned_transactions_total_amount: nil,
1848
+ applications_approved_count: nil,
1849
+ applications_count: nil,
1850
+ applications_dates: nil,
1851
+ applications_declined_count: nil,
1852
+ applications_fraud_count: nil,
1853
+ card_disputed_transactions_count: nil,
1854
+ card_disputed_transactions_dates: nil,
1855
+ card_disputed_transactions_total_amount: nil,
1856
+ card_fraud_transactions_count: nil,
1857
+ card_fraud_transactions_dates: nil,
1858
+ card_fraud_transactions_total_amount: nil,
1859
+ card_stopped_transactions_count: nil,
1860
+ card_stopped_transactions_dates: nil,
1861
+ user_active_profile_count: nil,
1862
+ user_address_count: nil,
1863
+ user_closed_profile_count: nil,
1864
+ user_dob_count: nil,
1865
+ user_email_count: nil,
1866
+ user_institution_count: nil,
1867
+ user_mobile_count: nil
1868
+ )
1869
+ end
1870
+
1871
+ sig do
1872
+ override.returns(
1873
+ {
1874
+ accounts_active_count: T.nilable(Integer),
1875
+ accounts_closed_count: T.nilable(Integer),
1876
+ accounts_closed_dates: T.nilable(T::Array[Date]),
1877
+ accounts_count: T.nilable(Integer),
1878
+ accounts_fraud_count: T.nilable(Integer),
1879
+ accounts_fraud_labeled_dates: T.nilable(T::Array[Date]),
1880
+ accounts_fraud_loss_total_amount: T.nilable(Float),
1881
+ ach_fraud_transactions_count: T.nilable(Integer),
1882
+ ach_fraud_transactions_dates: T.nilable(T::Array[Date]),
1883
+ ach_fraud_transactions_total_amount: T.nilable(Float),
1884
+ ach_returned_transactions_count: T.nilable(Integer),
1885
+ ach_returned_transactions_dates:
1886
+ T.nilable(T::Array[Date]),
1887
+ ach_returned_transactions_total_amount: T.nilable(Float),
1888
+ applications_approved_count: T.nilable(Integer),
1889
+ applications_count: T.nilable(Integer),
1890
+ applications_dates: T.nilable(T::Array[Date]),
1891
+ applications_declined_count: T.nilable(Integer),
1892
+ applications_fraud_count: T.nilable(Integer),
1893
+ card_disputed_transactions_count: T.nilable(Integer),
1894
+ card_disputed_transactions_dates:
1895
+ T.nilable(T::Array[Date]),
1896
+ card_disputed_transactions_total_amount: T.nilable(Float),
1897
+ card_fraud_transactions_count: T.nilable(Integer),
1898
+ card_fraud_transactions_dates: T.nilable(T::Array[Date]),
1899
+ card_fraud_transactions_total_amount: T.nilable(Float),
1900
+ card_stopped_transactions_count: T.nilable(Integer),
1901
+ card_stopped_transactions_dates:
1902
+ T.nilable(T::Array[Date]),
1903
+ user_active_profile_count: T.nilable(Integer),
1904
+ user_address_count: T.nilable(Integer),
1905
+ user_closed_profile_count: T.nilable(Integer),
1906
+ user_dob_count: T.nilable(Integer),
1907
+ user_email_count: T.nilable(Integer),
1908
+ user_institution_count: T.nilable(Integer),
1909
+ user_mobile_count: T.nilable(Integer)
1910
+ }
1911
+ )
1912
+ end
1913
+ def to_hash
1914
+ end
1915
+ end
1916
+ end
1917
+
1918
+ class WatchList < Straddle::Internal::Type::BaseModel
1919
+ OrHash =
1920
+ T.type_alias do
1921
+ T.any(
1922
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList,
1923
+ Straddle::Internal::AnyHash
1924
+ )
1925
+ end
1926
+
1927
+ # Specific codes related to the Straddle watchlist screening results.
1928
+ sig { returns(T.nilable(T::Array[String])) }
1929
+ attr_accessor :codes
1930
+
1931
+ sig do
1932
+ returns(
1933
+ T.nilable(
1934
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Decision::TaggedSymbol
1935
+ )
1936
+ )
1937
+ end
1938
+ attr_reader :decision
1939
+
1940
+ sig do
1941
+ params(
1942
+ decision:
1943
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Decision::OrSymbol
1944
+ ).void
1945
+ end
1946
+ attr_writer :decision
1947
+
1948
+ # Information about any matches found during screening.
1949
+ sig { returns(T.nilable(T::Array[String])) }
1950
+ attr_accessor :matched
1951
+
1952
+ # Information about any matches found during screening.
1953
+ sig do
1954
+ returns(
1955
+ T.nilable(
1956
+ T::Array[
1957
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match
1958
+ ]
1959
+ )
1960
+ )
1961
+ end
1962
+ attr_accessor :matches
1963
+
1964
+ sig do
1965
+ params(
1966
+ codes: T.nilable(T::Array[String]),
1967
+ decision:
1968
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Decision::OrSymbol,
1969
+ matched: T.nilable(T::Array[String]),
1970
+ matches:
1971
+ T.nilable(
1972
+ T::Array[
1973
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match::OrHash
1974
+ ]
1975
+ )
1976
+ ).returns(T.attached_class)
1977
+ end
1978
+ def self.new(
1979
+ # Specific codes related to the Straddle watchlist screening results.
1980
+ codes: nil,
1981
+ decision: nil,
1982
+ # Information about any matches found during screening.
1983
+ matched: nil,
1984
+ # Information about any matches found during screening.
1985
+ matches: nil
1986
+ )
1987
+ end
1988
+
1989
+ sig do
1990
+ override.returns(
1991
+ {
1992
+ codes: T.nilable(T::Array[String]),
1993
+ decision:
1994
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Decision::TaggedSymbol,
1995
+ matched: T.nilable(T::Array[String]),
1996
+ matches:
1997
+ T.nilable(
1998
+ T::Array[
1999
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match
2000
+ ]
2001
+ )
2002
+ }
2003
+ )
2004
+ end
2005
+ def to_hash
2006
+ end
2007
+
2008
+ module Decision
2009
+ extend Straddle::Internal::Type::Enum
2010
+
2011
+ TaggedSymbol =
2012
+ T.type_alias do
2013
+ T.all(
2014
+ Symbol,
2015
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Decision
2016
+ )
2017
+ end
2018
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2019
+
2020
+ ACCEPT =
2021
+ T.let(
2022
+ :accept,
2023
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Decision::TaggedSymbol
2024
+ )
2025
+ REJECT =
2026
+ T.let(
2027
+ :reject,
2028
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Decision::TaggedSymbol
2029
+ )
2030
+ REVIEW =
2031
+ T.let(
2032
+ :review,
2033
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Decision::TaggedSymbol
2034
+ )
2035
+
2036
+ sig do
2037
+ override.returns(
2038
+ T::Array[
2039
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Decision::TaggedSymbol
2040
+ ]
2041
+ )
2042
+ end
2043
+ def self.values
2044
+ end
2045
+ end
2046
+
2047
+ class Match < Straddle::Internal::Type::BaseModel
2048
+ OrHash =
2049
+ T.type_alias do
2050
+ T.any(
2051
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match,
2052
+ Straddle::Internal::AnyHash
2053
+ )
2054
+ end
2055
+
2056
+ sig do
2057
+ returns(
2058
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match::Correlation::TaggedSymbol
2059
+ )
2060
+ end
2061
+ attr_accessor :correlation
2062
+
2063
+ # The name of the list the match was found.
2064
+ sig { returns(String) }
2065
+ attr_accessor :list_name
2066
+
2067
+ # Data fields that matched.
2068
+ sig { returns(T::Array[String]) }
2069
+ attr_accessor :match_fields
2070
+
2071
+ # Relevent Urls to review.
2072
+ sig { returns(T::Array[String]) }
2073
+ attr_accessor :urls
2074
+
2075
+ sig do
2076
+ params(
2077
+ correlation:
2078
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match::Correlation::OrSymbol,
2079
+ list_name: String,
2080
+ match_fields: T::Array[String],
2081
+ urls: T::Array[String]
2082
+ ).returns(T.attached_class)
2083
+ end
2084
+ def self.new(
2085
+ correlation:,
2086
+ # The name of the list the match was found.
2087
+ list_name:,
2088
+ # Data fields that matched.
2089
+ match_fields:,
2090
+ # Relevent Urls to review.
2091
+ urls:
2092
+ )
2093
+ end
2094
+
2095
+ sig do
2096
+ override.returns(
2097
+ {
2098
+ correlation:
2099
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match::Correlation::TaggedSymbol,
2100
+ list_name: String,
2101
+ match_fields: T::Array[String],
2102
+ urls: T::Array[String]
2103
+ }
2104
+ )
2105
+ end
2106
+ def to_hash
2107
+ end
2108
+
2109
+ module Correlation
2110
+ extend Straddle::Internal::Type::Enum
2111
+
2112
+ TaggedSymbol =
2113
+ T.type_alias do
2114
+ T.all(
2115
+ Symbol,
2116
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match::Correlation
2117
+ )
2118
+ end
2119
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2120
+
2121
+ LOW_CONFIDENCE =
2122
+ T.let(
2123
+ :low_confidence,
2124
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match::Correlation::TaggedSymbol
2125
+ )
2126
+ POTENTIAL_MATCH =
2127
+ T.let(
2128
+ :potential_match,
2129
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match::Correlation::TaggedSymbol
2130
+ )
2131
+ LIKELY_MATCH =
2132
+ T.let(
2133
+ :likely_match,
2134
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match::Correlation::TaggedSymbol
2135
+ )
2136
+ HIGH_CONFIDENCE =
2137
+ T.let(
2138
+ :high_confidence,
2139
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match::Correlation::TaggedSymbol
2140
+ )
2141
+ UNKNOWN =
2142
+ T.let(
2143
+ :unknown,
2144
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match::Correlation::TaggedSymbol
2145
+ )
2146
+
2147
+ sig do
2148
+ override.returns(
2149
+ T::Array[
2150
+ Straddle::Customers::CustomerReviewV1::Data::IdentityDetails::WatchList::Match::Correlation::TaggedSymbol
2151
+ ]
2152
+ )
2153
+ end
2154
+ def self.values
2155
+ end
2156
+ end
2157
+ end
2158
+ end
2159
+ end
2160
+ end
2161
+
2162
+ # Indicates the structure of the returned content.
2163
+ #
2164
+ # - "object" means the `data` field contains a single JSON object.
2165
+ # - "array" means the `data` field contains an array of objects.
2166
+ # - "error" means the `data` field contains an error object with details of the
2167
+ # issue.
2168
+ # - "none" means no data is returned.
2169
+ module ResponseType
2170
+ extend Straddle::Internal::Type::Enum
2171
+
2172
+ TaggedSymbol =
2173
+ T.type_alias do
2174
+ T.all(Symbol, Straddle::Customers::CustomerReviewV1::ResponseType)
2175
+ end
2176
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2177
+
2178
+ OBJECT =
2179
+ T.let(
2180
+ :object,
2181
+ Straddle::Customers::CustomerReviewV1::ResponseType::TaggedSymbol
2182
+ )
2183
+ ARRAY =
2184
+ T.let(
2185
+ :array,
2186
+ Straddle::Customers::CustomerReviewV1::ResponseType::TaggedSymbol
2187
+ )
2188
+ ERROR =
2189
+ T.let(
2190
+ :error,
2191
+ Straddle::Customers::CustomerReviewV1::ResponseType::TaggedSymbol
2192
+ )
2193
+ NONE =
2194
+ T.let(
2195
+ :none,
2196
+ Straddle::Customers::CustomerReviewV1::ResponseType::TaggedSymbol
2197
+ )
2198
+
2199
+ sig do
2200
+ override.returns(
2201
+ T::Array[
2202
+ Straddle::Customers::CustomerReviewV1::ResponseType::TaggedSymbol
2203
+ ]
2204
+ )
2205
+ end
2206
+ def self.values
2207
+ end
2208
+ end
2209
+ end
2210
+ end
2211
+ end
2212
+ end