straddle 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +66 -0
  3. data/README.md +2 -2
  4. data/SECURITY.md +1 -1
  5. data/lib/straddle/client.rb +3 -3
  6. data/lib/straddle/errors.rb +25 -11
  7. data/lib/straddle/file_part.rb +10 -7
  8. data/lib/straddle/internal/page_number_schema.rb +1 -1
  9. data/lib/straddle/internal/transport/base_client.rb +19 -9
  10. data/lib/straddle/internal/transport/pooled_net_requester.rb +41 -42
  11. data/lib/straddle/internal/type/array_of.rb +1 -0
  12. data/lib/straddle/internal/type/base_model.rb +4 -9
  13. data/lib/straddle/internal/type/base_page.rb +1 -1
  14. data/lib/straddle/internal/type/converter.rb +27 -0
  15. data/lib/straddle/internal/type/file_input.rb +7 -4
  16. data/lib/straddle/internal/type/hash_of.rb +1 -0
  17. data/lib/straddle/internal/type/union.rb +9 -7
  18. data/lib/straddle/internal/util.rb +9 -8
  19. data/lib/straddle/models/bridge/link_bank_account_params.rb +39 -6
  20. data/lib/straddle/models/bridge/link_create_paykey_params.rb +39 -6
  21. data/lib/straddle/models/bridge/link_create_paykey_response.rb +31 -2
  22. data/lib/straddle/models/bridge/link_create_tan_params.rb +38 -6
  23. data/lib/straddle/models/bridge/link_create_tan_response.rb +31 -2
  24. data/lib/straddle/models/bridge/link_plaid_params.rb +37 -2
  25. data/lib/straddle/models/bridge_initialize_params.rb +37 -2
  26. data/lib/straddle/models/charge_cancel_params.rb +8 -1
  27. data/lib/straddle/models/charge_create_params.rb +8 -1
  28. data/lib/straddle/models/charge_hold_params.rb +8 -1
  29. data/lib/straddle/models/charge_release_params.rb +8 -1
  30. data/lib/straddle/models/charge_update_params.rb +8 -1
  31. data/lib/straddle/models/customer_create_params.rb +8 -1
  32. data/lib/straddle/models/customer_delete_params.rb +7 -1
  33. data/lib/straddle/models/customer_unmasked_v1.rb +1 -4
  34. data/lib/straddle/models/customer_update_params.rb +8 -1
  35. data/lib/straddle/models/customers/customer_review_v1.rb +15 -50
  36. data/lib/straddle/models/customers/review_decision_params.rb +8 -1
  37. data/lib/straddle/models/customers/review_refresh_review_params.rb +40 -0
  38. data/lib/straddle/models/embed/account_create_params.rb +8 -1
  39. data/lib/straddle/models/embed/account_onboard_params.rb +7 -1
  40. data/lib/straddle/models/embed/account_paged_v1.rb +3 -12
  41. data/lib/straddle/models/embed/account_simulate_params.rb +7 -1
  42. data/lib/straddle/models/embed/account_update_params.rb +8 -1
  43. data/lib/straddle/models/embed/account_v1.rb +2 -8
  44. data/lib/straddle/models/embed/accounts/capability_request_create_params.rb +8 -1
  45. data/lib/straddle/models/embed/accounts/capability_request_paged_v1.rb +3 -11
  46. data/lib/straddle/models/embed/linked_bank_account_cancel_params.rb +34 -0
  47. data/lib/straddle/models/embed/linked_bank_account_create_params.rb +51 -4
  48. data/lib/straddle/models/embed/linked_bank_account_list_params.rb +51 -1
  49. data/lib/straddle/models/embed/linked_bank_account_paged_v1.rb +33 -13
  50. data/lib/straddle/models/embed/linked_bank_account_unmask_v1.rb +3 -8
  51. data/lib/straddle/models/embed/linked_bank_account_update_params.rb +8 -1
  52. data/lib/straddle/models/embed/linked_bank_account_v1.rb +30 -1
  53. data/lib/straddle/models/embed/organization_create_params.rb +8 -1
  54. data/lib/straddle/models/embed/representative.rb +10 -1
  55. data/lib/straddle/models/embed/representative_create_params.rb +17 -1
  56. data/lib/straddle/models/embed/representative_paged.rb +10 -1
  57. data/lib/straddle/models/embed/representative_update_params.rb +17 -1
  58. data/lib/straddle/models/funding_event_list_params.rb +9 -1
  59. data/lib/straddle/models/funding_event_summary_item_v1.rb +25 -1
  60. data/lib/straddle/models/funding_event_summary_paged_v1.rb +25 -1
  61. data/lib/straddle/models/paykey_cancel_params.rb +7 -1
  62. data/lib/straddle/models/paykey_reveal_response.rb +31 -2
  63. data/lib/straddle/models/paykey_summary_paged_v1.rb +30 -2
  64. data/lib/straddle/models/paykey_unmasked_v1.rb +30 -2
  65. data/lib/straddle/models/{customer_refresh_review_params.rb → paykey_update_balance_params.rb} +9 -3
  66. data/lib/straddle/models/paykey_v1.rb +30 -2
  67. data/lib/straddle/models/paykeys/review_decision_params.rb +56 -0
  68. data/lib/straddle/models/paykeys/review_get_params.rb +34 -0
  69. data/lib/straddle/models/paykeys/review_get_response.rb +642 -0
  70. data/lib/straddle/models/paykeys/review_refresh_review_params.rb +40 -0
  71. data/lib/straddle/models/payment_summary_paged_v1.rb +9 -1
  72. data/lib/straddle/models/payout_cancel_params.rb +8 -1
  73. data/lib/straddle/models/payout_create_params.rb +8 -1
  74. data/lib/straddle/models/payout_hold_params.rb +8 -1
  75. data/lib/straddle/models/payout_release_params.rb +8 -1
  76. data/lib/straddle/models/payout_update_params.rb +8 -1
  77. data/lib/straddle/models.rb +4 -2
  78. data/lib/straddle/resources/bridge/link.rb +24 -4
  79. data/lib/straddle/resources/bridge.rb +6 -1
  80. data/lib/straddle/resources/charges.rb +20 -5
  81. data/lib/straddle/resources/customers/review.rb +41 -1
  82. data/lib/straddle/resources/customers.rb +12 -37
  83. data/lib/straddle/resources/embed/accounts/capability_requests.rb +5 -2
  84. data/lib/straddle/resources/embed/accounts.rb +19 -7
  85. data/lib/straddle/resources/embed/linked_bank_accounts.rb +66 -7
  86. data/lib/straddle/resources/embed/organizations.rb +5 -2
  87. data/lib/straddle/resources/embed/representatives.rb +14 -4
  88. data/lib/straddle/resources/funding_events.rb +4 -1
  89. data/lib/straddle/resources/paykeys/review.rb +128 -0
  90. data/lib/straddle/resources/paykeys.rb +44 -1
  91. data/lib/straddle/resources/payouts.rb +20 -5
  92. data/lib/straddle/version.rb +1 -1
  93. data/lib/straddle.rb +9 -1
  94. data/manifest.yaml +1 -0
  95. data/rbi/straddle/client.rbi +4 -4
  96. data/rbi/straddle/errors.rbi +31 -4
  97. data/rbi/straddle/file_part.rbi +1 -1
  98. data/rbi/straddle/internal/transport/base_client.rbi +10 -6
  99. data/rbi/straddle/internal/transport/pooled_net_requester.rbi +6 -2
  100. data/rbi/straddle/internal/type/base_model.rbi +8 -4
  101. data/rbi/straddle/internal/type/base_page.rbi +1 -1
  102. data/rbi/straddle/internal/type/converter.rbi +54 -0
  103. data/rbi/straddle/internal/type/union.rbi +9 -2
  104. data/rbi/straddle/internal/util.rbi +1 -1
  105. data/rbi/straddle/models/bridge/link_bank_account_params.rbi +85 -1
  106. data/rbi/straddle/models/bridge/link_create_paykey_params.rbi +85 -1
  107. data/rbi/straddle/models/bridge/link_create_paykey_response.rbi +76 -1
  108. data/rbi/straddle/models/bridge/link_create_tan_params.rbi +85 -1
  109. data/rbi/straddle/models/bridge/link_create_tan_response.rbi +76 -1
  110. data/rbi/straddle/models/bridge/link_plaid_params.rbi +85 -1
  111. data/rbi/straddle/models/bridge_initialize_params.rbi +85 -1
  112. data/rbi/straddle/models/charge_cancel_params.rbi +9 -0
  113. data/rbi/straddle/models/charge_create_params.rbi +9 -0
  114. data/rbi/straddle/models/charge_hold_params.rbi +9 -0
  115. data/rbi/straddle/models/charge_release_params.rbi +9 -0
  116. data/rbi/straddle/models/charge_update_params.rbi +9 -0
  117. data/rbi/straddle/models/customer_create_params.rbi +9 -0
  118. data/rbi/straddle/models/customer_delete_params.rbi +9 -0
  119. data/rbi/straddle/models/customer_update_params.rbi +9 -0
  120. data/rbi/straddle/models/customers/review_decision_params.rbi +9 -0
  121. data/rbi/straddle/models/customers/review_refresh_review_params.rbi +76 -0
  122. data/rbi/straddle/models/embed/account_create_params.rbi +9 -0
  123. data/rbi/straddle/models/embed/account_onboard_params.rbi +9 -0
  124. data/rbi/straddle/models/embed/account_simulate_params.rbi +9 -0
  125. data/rbi/straddle/models/embed/account_update_params.rbi +9 -0
  126. data/rbi/straddle/models/embed/accounts/capability_request_create_params.rbi +9 -0
  127. data/rbi/straddle/models/embed/linked_bank_account_cancel_params.rbi +67 -0
  128. data/rbi/straddle/models/embed/linked_bank_account_create_params.rbi +95 -3
  129. data/rbi/straddle/models/embed/linked_bank_account_list_params.rbi +149 -0
  130. data/rbi/straddle/models/embed/linked_bank_account_paged_v1.rbi +72 -0
  131. data/rbi/straddle/models/embed/linked_bank_account_unmask_v1.rbi +5 -0
  132. data/rbi/straddle/models/embed/linked_bank_account_update_params.rbi +9 -0
  133. data/rbi/straddle/models/embed/linked_bank_account_v1.rbi +72 -0
  134. data/rbi/straddle/models/embed/organization_create_params.rbi +9 -0
  135. data/rbi/straddle/models/embed/representative.rbi +10 -0
  136. data/rbi/straddle/models/embed/representative_create_params.rbi +19 -0
  137. data/rbi/straddle/models/embed/representative_paged.rbi +10 -0
  138. data/rbi/straddle/models/embed/representative_update_params.rbi +19 -0
  139. data/rbi/straddle/models/funding_event_list_params.rbi +8 -0
  140. data/rbi/straddle/models/funding_event_summary_item_v1.rbi +24 -0
  141. data/rbi/straddle/models/funding_event_summary_paged_v1.rbi +24 -0
  142. data/rbi/straddle/models/paykey_cancel_params.rbi +9 -0
  143. data/rbi/straddle/models/paykey_reveal_response.rbi +76 -1
  144. data/rbi/straddle/models/paykey_summary_paged_v1.rbi +76 -1
  145. data/rbi/straddle/models/paykey_unmasked_v1.rbi +76 -1
  146. data/rbi/straddle/models/{customer_refresh_review_params.rbi → paykey_update_balance_params.rbi} +11 -2
  147. data/rbi/straddle/models/paykey_v1.rbi +76 -1
  148. data/rbi/straddle/models/paykeys/review_decision_params.rbi +115 -0
  149. data/rbi/straddle/models/paykeys/review_get_params.rbi +67 -0
  150. data/rbi/straddle/models/paykeys/review_get_response.rbi +1524 -0
  151. data/rbi/straddle/models/paykeys/review_refresh_review_params.rbi +76 -0
  152. data/rbi/straddle/models/payment_summary_paged_v1.rbi +8 -0
  153. data/rbi/straddle/models/payout_cancel_params.rbi +9 -0
  154. data/rbi/straddle/models/payout_create_params.rbi +9 -0
  155. data/rbi/straddle/models/payout_hold_params.rbi +9 -0
  156. data/rbi/straddle/models/payout_release_params.rbi +9 -0
  157. data/rbi/straddle/models/payout_update_params.rbi +9 -0
  158. data/rbi/straddle/models.rbi +4 -2
  159. data/rbi/straddle/resources/bridge/link.rbi +28 -0
  160. data/rbi/straddle/resources/bridge.rbi +7 -0
  161. data/rbi/straddle/resources/charges.rbi +15 -0
  162. data/rbi/straddle/resources/customers/review.rbi +30 -0
  163. data/rbi/straddle/resources/customers.rbi +9 -24
  164. data/rbi/straddle/resources/embed/accounts/capability_requests.rbi +3 -0
  165. data/rbi/straddle/resources/embed/accounts.rbi +12 -0
  166. data/rbi/straddle/resources/embed/linked_bank_accounts.rbi +56 -1
  167. data/rbi/straddle/resources/embed/organizations.rbi +3 -0
  168. data/rbi/straddle/resources/embed/representatives.rbi +14 -0
  169. data/rbi/straddle/resources/funding_events.rbi +3 -0
  170. data/rbi/straddle/resources/paykeys/review.rbi +94 -0
  171. data/rbi/straddle/resources/paykeys.rbi +32 -0
  172. data/rbi/straddle/resources/payouts.rbi +15 -0
  173. data/sig/straddle/client.rbs +2 -2
  174. data/sig/straddle/errors.rbs +7 -0
  175. data/sig/straddle/file_part.rbs +1 -1
  176. data/sig/straddle/internal/transport/base_client.rbs +3 -1
  177. data/sig/straddle/internal/transport/pooled_net_requester.rbs +4 -1
  178. data/sig/straddle/internal/type/converter.rbs +17 -0
  179. data/sig/straddle/internal/type/union.rbs +2 -2
  180. data/sig/straddle/models/bridge/link_bank_account_params.rbs +35 -1
  181. data/sig/straddle/models/bridge/link_create_paykey_params.rbs +35 -1
  182. data/sig/straddle/models/bridge/link_create_paykey_response.rbs +28 -1
  183. data/sig/straddle/models/bridge/link_create_tan_params.rbs +35 -1
  184. data/sig/straddle/models/bridge/link_create_tan_response.rbs +28 -1
  185. data/sig/straddle/models/bridge/link_plaid_params.rbs +35 -1
  186. data/sig/straddle/models/bridge_initialize_params.rbs +35 -1
  187. data/sig/straddle/models/charge_cancel_params.rbs +7 -0
  188. data/sig/straddle/models/charge_create_params.rbs +7 -0
  189. data/sig/straddle/models/charge_hold_params.rbs +7 -0
  190. data/sig/straddle/models/charge_release_params.rbs +7 -0
  191. data/sig/straddle/models/charge_update_params.rbs +7 -0
  192. data/sig/straddle/models/customer_create_params.rbs +7 -0
  193. data/sig/straddle/models/customer_delete_params.rbs +7 -0
  194. data/sig/straddle/models/customer_update_params.rbs +7 -0
  195. data/sig/straddle/models/customers/review_decision_params.rbs +7 -0
  196. data/sig/straddle/models/customers/review_refresh_review_params.rbs +51 -0
  197. data/sig/straddle/models/embed/account_create_params.rbs +7 -0
  198. data/sig/straddle/models/embed/account_onboard_params.rbs +7 -0
  199. data/sig/straddle/models/embed/account_simulate_params.rbs +7 -0
  200. data/sig/straddle/models/embed/account_update_params.rbs +7 -0
  201. data/sig/straddle/models/embed/accounts/capability_request_create_params.rbs +7 -0
  202. data/sig/straddle/models/embed/linked_bank_account_cancel_params.rbs +40 -0
  203. data/sig/straddle/models/embed/linked_bank_account_create_params.rbs +38 -4
  204. data/sig/straddle/models/embed/linked_bank_account_list_params.rbs +46 -0
  205. data/sig/straddle/models/embed/linked_bank_account_paged_v1.rbs +25 -1
  206. data/sig/straddle/models/embed/linked_bank_account_unmask_v1.rbs +3 -1
  207. data/sig/straddle/models/embed/linked_bank_account_update_params.rbs +7 -0
  208. data/sig/straddle/models/embed/linked_bank_account_v1.rbs +25 -1
  209. data/sig/straddle/models/embed/organization_create_params.rbs +7 -0
  210. data/sig/straddle/models/embed/representative.rbs +5 -0
  211. data/sig/straddle/models/embed/representative_create_params.rbs +12 -0
  212. data/sig/straddle/models/embed/representative_paged.rbs +5 -0
  213. data/sig/straddle/models/embed/representative_update_params.rbs +12 -0
  214. data/sig/straddle/models/funding_event_list_params.rbs +5 -0
  215. data/sig/straddle/models/funding_event_summary_item_v1.rbs +15 -0
  216. data/sig/straddle/models/funding_event_summary_paged_v1.rbs +15 -0
  217. data/sig/straddle/models/paykey_cancel_params.rbs +7 -0
  218. data/sig/straddle/models/paykey_reveal_response.rbs +28 -1
  219. data/sig/straddle/models/paykey_summary_paged_v1.rbs +28 -1
  220. data/sig/straddle/models/paykey_unmasked_v1.rbs +28 -1
  221. data/sig/straddle/models/{customer_refresh_review_params.rbs → paykey_update_balance_params.rbs} +9 -2
  222. data/sig/straddle/models/paykey_v1.rbs +28 -1
  223. data/sig/straddle/models/paykeys/review_decision_params.rbs +67 -0
  224. data/sig/straddle/models/paykeys/review_get_params.rbs +44 -0
  225. data/sig/straddle/models/paykeys/review_get_response.rbs +627 -0
  226. data/sig/straddle/models/paykeys/review_refresh_review_params.rbs +51 -0
  227. data/sig/straddle/models/payment_summary_paged_v1.rbs +5 -0
  228. data/sig/straddle/models/payout_cancel_params.rbs +7 -0
  229. data/sig/straddle/models/payout_create_params.rbs +7 -0
  230. data/sig/straddle/models/payout_hold_params.rbs +7 -0
  231. data/sig/straddle/models/payout_release_params.rbs +7 -0
  232. data/sig/straddle/models/payout_update_params.rbs +7 -0
  233. data/sig/straddle/models.rbs +4 -2
  234. data/sig/straddle/resources/bridge/link.rbs +8 -0
  235. data/sig/straddle/resources/bridge.rbs +2 -0
  236. data/sig/straddle/resources/charges.rbs +5 -0
  237. data/sig/straddle/resources/customers/review.rbs +10 -0
  238. data/sig/straddle/resources/customers.rbs +3 -8
  239. data/sig/straddle/resources/embed/accounts/capability_requests.rbs +1 -0
  240. data/sig/straddle/resources/embed/accounts.rbs +4 -0
  241. data/sig/straddle/resources/embed/linked_bank_accounts.rbs +16 -1
  242. data/sig/straddle/resources/embed/organizations.rbs +1 -0
  243. data/sig/straddle/resources/embed/representatives.rbs +4 -0
  244. data/sig/straddle/resources/funding_events.rbs +1 -0
  245. data/sig/straddle/resources/paykeys/review.rbs +36 -0
  246. data/sig/straddle/resources/paykeys.rbs +12 -0
  247. data/sig/straddle/resources/payouts.rbs +5 -0
  248. metadata +27 -6
@@ -12,7 +12,7 @@ module Straddle
12
12
  # Submits a request to enable a specific capability for an account. Use this
13
13
  # endpoint to request additional features or services for an account.
14
14
  #
15
- # @overload create(account_id, businesses: nil, charges: nil, individuals: nil, internet: nil, payouts: nil, signed_agreement: nil, correlation_id: nil, request_id: nil, request_options: {})
15
+ # @overload create(account_id, businesses: nil, charges: nil, individuals: nil, internet: nil, payouts: nil, signed_agreement: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, request_options: {})
16
16
  #
17
17
  # @param account_id [String] Path param:
18
18
  #
@@ -30,6 +30,8 @@ module Straddle
30
30
  #
31
31
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
32
32
  #
33
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
34
+ #
33
35
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
34
36
  #
35
37
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -39,7 +41,8 @@ module Straddle
39
41
  # @see Straddle::Models::Embed::Accounts::CapabilityRequestCreateParams
40
42
  def create(account_id, params = {})
41
43
  parsed, options = Straddle::Embed::Accounts::CapabilityRequestCreateParams.dump_request(params)
42
- header_params = {correlation_id: "correlation-id", request_id: "request-id"}
44
+ header_params =
45
+ {correlation_id: "correlation-id", idempotency_key: "idempotency-key", request_id: "request-id"}
43
46
  @client.request(
44
47
  method: :post,
45
48
  path: ["v1/accounts/%1$s/capability_requests", account_id],
@@ -14,7 +14,7 @@ module Straddle
14
14
  # endpoint allows you to set up an account with specified details, including
15
15
  # business information and access levels.
16
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: {})
17
+ # @overload create(access_level:, account_type:, business_profile:, organization_id:, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, request_options: {})
18
18
  #
19
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
20
  #
@@ -30,6 +30,8 @@ module Straddle
30
30
  #
31
31
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
32
32
  #
33
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
34
+ #
33
35
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
34
36
  #
35
37
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -39,7 +41,8 @@ module Straddle
39
41
  # @see Straddle::Models::Embed::AccountCreateParams
40
42
  def create(params)
41
43
  parsed, options = Straddle::Embed::AccountCreateParams.dump_request(params)
42
- header_params = {correlation_id: "correlation-id", request_id: "request-id"}
44
+ header_params =
45
+ {correlation_id: "correlation-id", idempotency_key: "idempotency-key", request_id: "request-id"}
43
46
  @client.request(
44
47
  method: :post,
45
48
  path: "v1/accounts",
@@ -56,7 +59,7 @@ module Straddle
56
59
  # Updates an existing account's information. This endpoint allows you to update
57
60
  # various account details during onboarding or after the account has been created.
58
61
  #
59
- # @overload update(account_id, business_profile:, external_id: nil, metadata: nil, correlation_id: nil, request_id: nil, request_options: {})
62
+ # @overload update(account_id, business_profile:, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, request_options: {})
60
63
  #
61
64
  # @param account_id [String] Path param:
62
65
  #
@@ -68,6 +71,8 @@ module Straddle
68
71
  #
69
72
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
70
73
  #
74
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
75
+ #
71
76
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
72
77
  #
73
78
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -77,7 +82,8 @@ module Straddle
77
82
  # @see Straddle::Models::Embed::AccountUpdateParams
78
83
  def update(account_id, params)
79
84
  parsed, options = Straddle::Embed::AccountUpdateParams.dump_request(params)
80
- header_params = {correlation_id: "correlation-id", request_id: "request-id"}
85
+ header_params =
86
+ {correlation_id: "correlation-id", idempotency_key: "idempotency-key", request_id: "request-id"}
81
87
  @client.request(
82
88
  method: :put,
83
89
  path: ["v1/accounts/%1$s", account_id],
@@ -173,7 +179,7 @@ module Straddle
173
179
  # used for accounts where at least one representative and one bank account have
174
180
  # already been created.
175
181
  #
176
- # @overload onboard(account_id, terms_of_service:, correlation_id: nil, request_id: nil, request_options: {})
182
+ # @overload onboard(account_id, terms_of_service:, correlation_id: nil, idempotency_key: nil, request_id: nil, request_options: {})
177
183
  #
178
184
  # @param account_id [String] Path param:
179
185
  #
@@ -181,6 +187,8 @@ module Straddle
181
187
  #
182
188
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
183
189
  #
190
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
191
+ #
184
192
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
185
193
  #
186
194
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -190,7 +198,8 @@ module Straddle
190
198
  # @see Straddle::Models::Embed::AccountOnboardParams
191
199
  def onboard(account_id, params)
192
200
  parsed, options = Straddle::Embed::AccountOnboardParams.dump_request(params)
193
- header_params = {correlation_id: "correlation-id", request_id: "request-id"}
201
+ header_params =
202
+ {correlation_id: "correlation-id", idempotency_key: "idempotency-key", request_id: "request-id"}
194
203
  @client.request(
195
204
  method: :post,
196
205
  path: ["v1/accounts/%1$s/onboard", account_id],
@@ -207,7 +216,7 @@ module Straddle
207
216
  # Simulate the status transitions for sandbox accounts. This endpoint can only be
208
217
  # used for sandbox accounts.
209
218
  #
210
- # @overload simulate(account_id, final_status: nil, correlation_id: nil, request_id: nil, request_options: {})
219
+ # @overload simulate(account_id, final_status: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, request_options: {})
211
220
  #
212
221
  # @param account_id [String] Path param:
213
222
  #
@@ -215,6 +224,8 @@ module Straddle
215
224
  #
216
225
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
217
226
  #
227
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
228
+ #
218
229
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
219
230
  #
220
231
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -231,6 +242,7 @@ module Straddle
231
242
  query: parsed.slice(*query_params),
232
243
  headers: parsed.except(*query_params).transform_keys(
233
244
  correlation_id: "correlation-id",
245
+ idempotency_key: "idempotency-key",
234
246
  request_id: "request-id"
235
247
  ),
236
248
  model: Straddle::Embed::AccountV1,
@@ -12,16 +12,24 @@ module Straddle
12
12
  # for various payment operations such as payment deposits, payout withdrawals, and
13
13
  # more.
14
14
  #
15
- # @overload create(account_id:, bank_account:, metadata: nil, correlation_id: nil, request_id: nil, request_options: {})
15
+ # @overload create(account_id:, bank_account:, description: nil, metadata: nil, platform_id: nil, purposes: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, request_options: {})
16
16
  #
17
- # @param account_id [String] Body param: The unique identifier of the Straddle account to associate this bank
17
+ # @param account_id [String, nil] Body param: The unique identifier of the Straddle account to associate this bank
18
18
  #
19
19
  # @param bank_account [Straddle::Models::Embed::LinkedBankAccountCreateParams::BankAccount] Body param:
20
20
  #
21
+ # @param description [String, nil] Body param: Optional description for the bank account.
22
+ #
21
23
  # @param metadata [Hash{Symbol=>String, nil}, nil] Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
22
24
  #
25
+ # @param platform_id [String, nil] Body param: The unique identifier of the Straddle Platform to associate this ban
26
+ #
27
+ # @param purposes [Array<Symbol, Straddle::Models::Embed::LinkedBankAccountCreateParams::Purpose>, nil] Body param: The purposes for the linked bank account.
28
+ #
23
29
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
24
30
  #
31
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
32
+ #
25
33
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
26
34
  #
27
35
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -31,7 +39,8 @@ module Straddle
31
39
  # @see Straddle::Models::Embed::LinkedBankAccountCreateParams
32
40
  def create(params)
33
41
  parsed, options = Straddle::Embed::LinkedBankAccountCreateParams.dump_request(params)
34
- header_params = {correlation_id: "correlation-id", request_id: "request-id"}
42
+ header_params =
43
+ {correlation_id: "correlation-id", idempotency_key: "idempotency-key", request_id: "request-id"}
35
44
  @client.request(
36
45
  method: :post,
37
46
  path: "v1/linked_bank_accounts",
@@ -50,7 +59,7 @@ module Straddle
50
59
  # the linked account. The linked bank account must be in 'created' or 'onboarding'
51
60
  # status.
52
61
  #
53
- # @overload update(linked_bank_account_id, bank_account:, metadata: nil, correlation_id: nil, request_id: nil, request_options: {})
62
+ # @overload update(linked_bank_account_id, bank_account:, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, request_options: {})
54
63
  #
55
64
  # @param linked_bank_account_id [String] Path param:
56
65
  #
@@ -60,6 +69,8 @@ module Straddle
60
69
  #
61
70
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
62
71
  #
72
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
73
+ #
63
74
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
64
75
  #
65
76
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -69,7 +80,8 @@ module Straddle
69
80
  # @see Straddle::Models::Embed::LinkedBankAccountUpdateParams
70
81
  def update(linked_bank_account_id, params)
71
82
  parsed, options = Straddle::Embed::LinkedBankAccountUpdateParams.dump_request(params)
72
- header_params = {correlation_id: "correlation-id", request_id: "request-id"}
83
+ header_params =
84
+ {correlation_id: "correlation-id", idempotency_key: "idempotency-key", request_id: "request-id"}
73
85
  @client.request(
74
86
  method: :put,
75
87
  path: ["v1/linked_bank_accounts/%1$s", linked_bank_account_id],
@@ -88,7 +100,7 @@ module Straddle
88
100
  # recently created appearing first. This endpoint supports pagination to handle
89
101
  # accounts with multiple linked bank accounts.
90
102
  #
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: {})
103
+ # @overload list(account_id: nil, level: nil, page_number: nil, page_size: nil, purpose: nil, sort_by: nil, sort_order: nil, status: nil, correlation_id: nil, request_id: nil, request_options: {})
92
104
  #
93
105
  # @param account_id [String] Query param: The unique identifier of the related account.
94
106
  #
@@ -98,10 +110,14 @@ module Straddle
98
110
  #
99
111
  # @param page_size [Integer] Query param: Page size. Max value: 1000
100
112
  #
113
+ # @param purpose [Symbol, Straddle::Models::Embed::LinkedBankAccountListParams::Purpose] Query param: The purpose of the linked bank accounts to return. Possible values:
114
+ #
101
115
  # @param sort_by [String] Query param: Sort By.
102
116
  #
103
117
  # @param sort_order [Symbol, Straddle::Models::Embed::LinkedBankAccountListParams::SortOrder] Query param: Sort Order.
104
118
  #
119
+ # @param status [Symbol, Straddle::Models::Embed::LinkedBankAccountListParams::Status] Query param: The status of the linked bank accounts to return. Possible values:
120
+ #
105
121
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
106
122
  #
107
123
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
@@ -113,7 +129,16 @@ module Straddle
113
129
  # @see Straddle::Models::Embed::LinkedBankAccountListParams
114
130
  def list(params = {})
115
131
  parsed, options = Straddle::Embed::LinkedBankAccountListParams.dump_request(params)
116
- query_params = [:account_id, :level, :page_number, :page_size, :sort_by, :sort_order]
132
+ query_params = [
133
+ :account_id,
134
+ :level,
135
+ :page_number,
136
+ :page_size,
137
+ :purpose,
138
+ :sort_by,
139
+ :sort_order,
140
+ :status
141
+ ]
117
142
  @client.request(
118
143
  method: :get,
119
144
  path: "v1/linked_bank_accounts",
@@ -128,6 +153,40 @@ module Straddle
128
153
  )
129
154
  end
130
155
 
156
+ # Cancels an existing linked bank account. This can be used to cancel a linked
157
+ # bank account before it has been reviewed. The linked bank account must be in
158
+ # 'created' status.
159
+ #
160
+ # @overload cancel(linked_bank_account_id, correlation_id: nil, idempotency_key: nil, request_id: nil, request_options: {})
161
+ #
162
+ # @param linked_bank_account_id [String]
163
+ #
164
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
165
+ #
166
+ # @param idempotency_key [String] Optional client generated value to use for idempotent requests.
167
+ #
168
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
169
+ #
170
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
171
+ #
172
+ # @return [Straddle::Models::Embed::LinkedBankAccountV1]
173
+ #
174
+ # @see Straddle::Models::Embed::LinkedBankAccountCancelParams
175
+ def cancel(linked_bank_account_id, params = {})
176
+ parsed, options = Straddle::Embed::LinkedBankAccountCancelParams.dump_request(params)
177
+ @client.request(
178
+ method: :patch,
179
+ path: ["v1/linked_bank_accounts/%1$s/cancel", linked_bank_account_id],
180
+ headers: parsed.transform_keys(
181
+ correlation_id: "correlation-id",
182
+ idempotency_key: "idempotency-key",
183
+ request_id: "request-id"
184
+ ),
185
+ model: Straddle::Embed::LinkedBankAccountV1,
186
+ options: options
187
+ )
188
+ end
189
+
131
190
  # Retrieves the details of a linked bank account that has previously been created.
132
191
  # Supply the unique linked bank account `id`, and Straddle will return the
133
192
  # corresponding information. The response includes masked account details for
@@ -11,7 +11,7 @@ module Straddle
11
11
  # can be used to group related accounts and manage permissions across multiple
12
12
  # users.
13
13
  #
14
- # @overload create(name:, external_id: nil, metadata: nil, correlation_id: nil, request_id: nil, request_options: {})
14
+ # @overload create(name:, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, request_options: {})
15
15
  #
16
16
  # @param name [String] Body param: The name of the organization.
17
17
  #
@@ -21,6 +21,8 @@ module Straddle
21
21
  #
22
22
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
23
23
  #
24
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
25
+ #
24
26
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
25
27
  #
26
28
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -30,7 +32,8 @@ module Straddle
30
32
  # @see Straddle::Models::Embed::OrganizationCreateParams
31
33
  def create(params)
32
34
  parsed, options = Straddle::Embed::OrganizationCreateParams.dump_request(params)
33
- header_params = {correlation_id: "correlation-id", request_id: "request-id"}
35
+ header_params =
36
+ {correlation_id: "correlation-id", idempotency_key: "idempotency-key", request_id: "request-id"}
34
37
  @client.request(
35
38
  method: :post,
36
39
  path: "v1/organizations",
@@ -11,7 +11,7 @@ module Straddle
11
11
  # individuals who have legal authority or significant responsibility within the
12
12
  # business.
13
13
  #
14
- # @overload create(account_id:, dob:, email:, first_name:, last_name:, mobile_number:, relationship:, ssn_last4:, external_id: nil, correlation_id: nil, request_id: nil, request_options: {})
14
+ # @overload create(account_id:, dob:, email:, first_name:, last_name:, mobile_number:, relationship:, ssn_last4:, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, request_options: {})
15
15
  #
16
16
  # @param account_id [String] Body param: The unique identifier of the account this representative is associat
17
17
  #
@@ -31,8 +31,12 @@ module Straddle
31
31
  #
32
32
  # @param external_id [String, nil] Body param: Unique identifier for the representative in your database, used for
33
33
  #
34
+ # @param metadata [Hash{Symbol=>String}, nil] Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
35
+ #
34
36
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
35
37
  #
38
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
39
+ #
36
40
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
37
41
  #
38
42
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -42,7 +46,8 @@ module Straddle
42
46
  # @see Straddle::Models::Embed::RepresentativeCreateParams
43
47
  def create(params)
44
48
  parsed, options = Straddle::Embed::RepresentativeCreateParams.dump_request(params)
45
- header_params = {correlation_id: "correlation-id", request_id: "request-id"}
49
+ header_params =
50
+ {correlation_id: "correlation-id", idempotency_key: "idempotency-key", request_id: "request-id"}
46
51
  @client.request(
47
52
  method: :post,
48
53
  path: "v1/representatives",
@@ -60,7 +65,7 @@ module Straddle
60
65
  # personal details, contact information, or the relationship to the account or
61
66
  # organization.
62
67
  #
63
- # @overload update(representative_id, dob:, email:, first_name:, last_name:, mobile_number:, relationship:, ssn_last4:, external_id: nil, correlation_id: nil, request_id: nil, request_options: {})
68
+ # @overload update(representative_id, dob:, email:, first_name:, last_name:, mobile_number:, relationship:, ssn_last4:, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, request_options: {})
64
69
  #
65
70
  # @param representative_id [String] Path param:
66
71
  #
@@ -80,8 +85,12 @@ module Straddle
80
85
  #
81
86
  # @param external_id [String, nil] Body param: Unique identifier for the representative in your database, used for
82
87
  #
88
+ # @param metadata [Hash{Symbol=>String}, nil] Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
89
+ #
83
90
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
84
91
  #
92
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
93
+ #
85
94
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
86
95
  #
87
96
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -91,7 +100,8 @@ module Straddle
91
100
  # @see Straddle::Models::Embed::RepresentativeUpdateParams
92
101
  def update(representative_id, params)
93
102
  parsed, options = Straddle::Embed::RepresentativeUpdateParams.dump_request(params)
94
- header_params = {correlation_id: "correlation-id", request_id: "request-id"}
103
+ header_params =
104
+ {correlation_id: "correlation-id", idempotency_key: "idempotency-key", request_id: "request-id"}
95
105
  @client.request(
96
106
  method: :put,
97
107
  path: ["v1/representatives/%1$s", representative_id],
@@ -9,7 +9,7 @@ module Straddle
9
9
  # Retrieves a list of funding events for your account. This endpoint supports
10
10
  # advanced sorting and filtering options.
11
11
  #
12
- # @overload list(created_from: nil, created_to: nil, direction: nil, event_type: nil, page_number: nil, page_size: nil, sort_by: nil, sort_order: nil, trace_number: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
12
+ # @overload list(created_from: nil, created_to: nil, direction: nil, event_type: nil, page_number: nil, page_size: nil, search_text: nil, sort_by: nil, sort_order: nil, trace_number: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
13
13
  #
14
14
  # @param created_from [Date, nil] Query param: The start date of the range to filter by using the `YYYY-MM-DD` for
15
15
  #
@@ -23,6 +23,8 @@ module Straddle
23
23
  #
24
24
  # @param page_size [Integer] Query param: Results page size. Max value: 1000
25
25
  #
26
+ # @param search_text [String, nil] Query param: Search text.
27
+ #
26
28
  # @param sort_by [Symbol, Straddle::Models::FundingEventListParams::SortBy] Query param: The field to sort the results by.
27
29
  #
28
30
  # @param sort_order [Symbol, Straddle::Models::FundingEventListParams::SortOrder] Query param: The order in which to sort the results.
@@ -50,6 +52,7 @@ module Straddle
50
52
  :event_type,
51
53
  :page_number,
52
54
  :page_size,
55
+ :search_text,
53
56
  :sort_by,
54
57
  :sort_order,
55
58
  :trace_number
@@ -0,0 +1,128 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Straddle
4
+ module Resources
5
+ class Paykeys
6
+ class Review
7
+ # Some parameter documentations has been truncated, see
8
+ # {Straddle::Models::Paykeys::ReviewDecisionParams} for more details.
9
+ #
10
+ # Update the status of a paykey when in review status
11
+ #
12
+ # @overload decision(id, status:, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
13
+ #
14
+ # @param id [String] Path param:
15
+ #
16
+ # @param status [Symbol, Straddle::Models::Paykeys::ReviewDecisionParams::Status] Body param:
17
+ #
18
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
19
+ #
20
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
21
+ #
22
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
23
+ #
24
+ # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
25
+ #
26
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
27
+ #
28
+ # @return [Straddle::Models::PaykeyV1]
29
+ #
30
+ # @see Straddle::Models::Paykeys::ReviewDecisionParams
31
+ def decision(id, params)
32
+ parsed, options = Straddle::Paykeys::ReviewDecisionParams.dump_request(params)
33
+ header_params =
34
+ {
35
+ correlation_id: "correlation-id",
36
+ idempotency_key: "idempotency-key",
37
+ request_id: "request-id",
38
+ straddle_account_id: "straddle-account-id"
39
+ }
40
+ @client.request(
41
+ method: :patch,
42
+ path: ["v1/paykeys/%1$s/review", id],
43
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
44
+ body: parsed.except(*header_params.keys),
45
+ model: Straddle::PaykeyV1,
46
+ options: options
47
+ )
48
+ end
49
+
50
+ # Get additional details about a paykey.
51
+ #
52
+ # @overload get(id, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
53
+ #
54
+ # @param id [String]
55
+ #
56
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
57
+ #
58
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
59
+ #
60
+ # @param straddle_account_id [String] For use by platforms to specify an account id and set scope of a request.
61
+ #
62
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
63
+ #
64
+ # @return [Straddle::Models::Paykeys::ReviewGetResponse]
65
+ #
66
+ # @see Straddle::Models::Paykeys::ReviewGetParams
67
+ def get(id, params = {})
68
+ parsed, options = Straddle::Paykeys::ReviewGetParams.dump_request(params)
69
+ @client.request(
70
+ method: :get,
71
+ path: ["v1/paykeys/%1$s/review", id],
72
+ headers: parsed.transform_keys(
73
+ correlation_id: "correlation-id",
74
+ request_id: "request-id",
75
+ straddle_account_id: "straddle-account-id"
76
+ ),
77
+ model: Straddle::Models::Paykeys::ReviewGetResponse,
78
+ options: options
79
+ )
80
+ end
81
+
82
+ # Updates the decision of a paykey's review validation. This endpoint allows you
83
+ # to refresh the outcome of a paykey's decision and is useful for correcting or
84
+ # updating the status of a paykey's verification.
85
+ #
86
+ # @overload refresh_review(id, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
87
+ #
88
+ # @param id [String]
89
+ #
90
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
91
+ #
92
+ # @param idempotency_key [String] Optional client generated value to use for idempotent requests.
93
+ #
94
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
95
+ #
96
+ # @param straddle_account_id [String] For use by platforms to specify an account id and set scope of a request.
97
+ #
98
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
99
+ #
100
+ # @return [Straddle::Models::PaykeyV1]
101
+ #
102
+ # @see Straddle::Models::Paykeys::ReviewRefreshReviewParams
103
+ def refresh_review(id, params = {})
104
+ parsed, options = Straddle::Paykeys::ReviewRefreshReviewParams.dump_request(params)
105
+ @client.request(
106
+ method: :put,
107
+ path: ["v1/paykeys/%1$s/refresh_review", id],
108
+ headers: parsed.transform_keys(
109
+ correlation_id: "correlation-id",
110
+ idempotency_key: "idempotency-key",
111
+ request_id: "request-id",
112
+ straddle_account_id: "straddle-account-id"
113
+ ),
114
+ model: Straddle::PaykeyV1,
115
+ options: options
116
+ )
117
+ end
118
+
119
+ # @api private
120
+ #
121
+ # @param client [Straddle::Client]
122
+ def initialize(client:)
123
+ @client = client
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
@@ -3,6 +3,9 @@
3
3
  module Straddle
4
4
  module Resources
5
5
  class Paykeys
6
+ # @return [Straddle::Resources::Paykeys::Review]
7
+ attr_reader :review
8
+
6
9
  # Some parameter documentations has been truncated, see
7
10
  # {Straddle::Models::PaykeyListParams} for more details.
8
11
  #
@@ -57,7 +60,7 @@ module Straddle
57
60
  # Some parameter documentations has been truncated, see
58
61
  # {Straddle::Models::PaykeyCancelParams} for more details.
59
62
  #
60
- # @overload cancel(id, reason: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
63
+ # @overload cancel(id, reason: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
61
64
  #
62
65
  # @param id [String] Path param:
63
66
  #
@@ -65,6 +68,8 @@ module Straddle
65
68
  #
66
69
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
67
70
  #
71
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
72
+ #
68
73
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
69
74
  #
70
75
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -79,6 +84,7 @@ module Straddle
79
84
  header_params =
80
85
  {
81
86
  correlation_id: "correlation-id",
87
+ idempotency_key: "idempotency-key",
82
88
  request_id: "request-id",
83
89
  straddle_account_id: "straddle-account-id"
84
90
  }
@@ -196,11 +202,48 @@ module Straddle
196
202
  )
197
203
  end
198
204
 
205
+ # Updates the balance of a paykey. This endpoint allows you to refresh the balance
206
+ # of a paykey.
207
+ #
208
+ # @overload update_balance(id, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
209
+ #
210
+ # @param id [String]
211
+ #
212
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
213
+ #
214
+ # @param idempotency_key [String] Optional client generated value to use for idempotent requests.
215
+ #
216
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
217
+ #
218
+ # @param straddle_account_id [String] For use by platforms to specify an account id and set scope of a request.
219
+ #
220
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
221
+ #
222
+ # @return [Straddle::Models::PaykeyV1]
223
+ #
224
+ # @see Straddle::Models::PaykeyUpdateBalanceParams
225
+ def update_balance(id, params = {})
226
+ parsed, options = Straddle::PaykeyUpdateBalanceParams.dump_request(params)
227
+ @client.request(
228
+ method: :put,
229
+ path: ["v1/paykeys/%1$s/refresh_balance", id],
230
+ headers: parsed.transform_keys(
231
+ correlation_id: "correlation-id",
232
+ idempotency_key: "idempotency-key",
233
+ request_id: "request-id",
234
+ straddle_account_id: "straddle-account-id"
235
+ ),
236
+ model: Straddle::PaykeyV1,
237
+ options: options
238
+ )
239
+ end
240
+
199
241
  # @api private
200
242
  #
201
243
  # @param client [Straddle::Client]
202
244
  def initialize(client:)
203
245
  @client = client
246
+ @review = Straddle::Resources::Paykeys::Review.new(client: client)
204
247
  end
205
248
  end
206
249
  end