straddle 0.1.0.pre.alpha.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +3 -3
  4. data/SECURITY.md +1 -1
  5. data/lib/straddle/client.rb +4 -4
  6. data/lib/straddle/errors.rb +25 -11
  7. data/lib/straddle/file_part.rb +10 -7
  8. data/lib/straddle/internal/page_number_schema.rb +1 -1
  9. data/lib/straddle/internal/transport/base_client.rb +12 -8
  10. data/lib/straddle/internal/transport/pooled_net_requester.rb +8 -19
  11. data/lib/straddle/internal/type/array_of.rb +1 -0
  12. data/lib/straddle/internal/type/base_model.rb +4 -9
  13. data/lib/straddle/internal/type/base_page.rb +1 -1
  14. data/lib/straddle/internal/type/converter.rb +27 -0
  15. data/lib/straddle/internal/type/file_input.rb +7 -4
  16. data/lib/straddle/internal/type/hash_of.rb +1 -0
  17. data/lib/straddle/internal/type/union.rb +9 -7
  18. data/lib/straddle/internal/util.rb +4 -3
  19. data/lib/straddle/models/bridge/link_bank_account_params.rb +9 -5
  20. data/lib/straddle/models/bridge/link_create_paykey_params.rb +9 -5
  21. data/lib/straddle/models/bridge/link_create_tan_params.rb +9 -5
  22. data/lib/straddle/models/bridge/link_plaid_params.rb +8 -1
  23. data/lib/straddle/models/bridge_initialize_params.rb +8 -1
  24. data/lib/straddle/models/charge_cancel_params.rb +8 -1
  25. data/lib/straddle/models/charge_create_params.rb +8 -1
  26. data/lib/straddle/models/charge_hold_params.rb +8 -1
  27. data/lib/straddle/models/charge_release_params.rb +8 -1
  28. data/lib/straddle/models/charge_update_params.rb +8 -1
  29. data/lib/straddle/models/customer_create_params.rb +8 -2
  30. data/lib/straddle/models/customer_delete_params.rb +7 -1
  31. data/lib/straddle/models/customer_list_params.rb +0 -1
  32. data/lib/straddle/models/customer_refresh_review_params.rb +7 -1
  33. data/lib/straddle/models/customer_summary_paged_v1.rb +0 -1
  34. data/lib/straddle/models/customer_unmasked_v1.rb +1 -5
  35. data/lib/straddle/models/customer_update_params.rb +8 -1
  36. data/lib/straddle/models/customer_v1.rb +0 -1
  37. data/lib/straddle/models/customers/customer_review_v1.rb +15 -52
  38. data/lib/straddle/models/customers/identity_verification_breakdown_v1.rb +0 -1
  39. data/lib/straddle/models/customers/review_decision_params.rb +8 -1
  40. data/lib/straddle/models/embed/account_create_params.rb +8 -2
  41. data/lib/straddle/models/embed/account_onboard_params.rb +7 -1
  42. data/lib/straddle/models/embed/account_paged_v1.rb +3 -17
  43. data/lib/straddle/models/embed/account_simulate_params.rb +7 -1
  44. data/lib/straddle/models/embed/account_update_params.rb +8 -1
  45. data/lib/straddle/models/embed/account_v1.rb +2 -13
  46. data/lib/straddle/models/embed/accounts/capability_request_create_params.rb +8 -1
  47. data/lib/straddle/models/embed/accounts/capability_request_paged_v1.rb +3 -11
  48. data/lib/straddle/models/embed/linked_bank_account_cancel_params.rb +34 -0
  49. data/lib/straddle/models/embed/linked_bank_account_create_params.rb +51 -4
  50. data/lib/straddle/models/embed/linked_bank_account_paged_v1.rb +33 -13
  51. data/lib/straddle/models/embed/linked_bank_account_unmask_v1.rb +3 -8
  52. data/lib/straddle/models/embed/linked_bank_account_update_params.rb +8 -1
  53. data/lib/straddle/models/embed/linked_bank_account_v1.rb +30 -1
  54. data/lib/straddle/models/embed/organization_create_params.rb +8 -1
  55. data/lib/straddle/models/embed/representative.rb +10 -1
  56. data/lib/straddle/models/embed/representative_create_params.rb +17 -1
  57. data/lib/straddle/models/embed/representative_paged.rb +10 -1
  58. data/lib/straddle/models/embed/representative_update_params.rb +17 -1
  59. data/lib/straddle/models/paykey_cancel_params.rb +7 -1
  60. data/lib/straddle/models/paykey_review_params.rb +54 -0
  61. data/lib/straddle/models/payout_cancel_params.rb +8 -1
  62. data/lib/straddle/models/payout_create_params.rb +8 -1
  63. data/lib/straddle/models/payout_hold_params.rb +8 -1
  64. data/lib/straddle/models/payout_release_params.rb +8 -1
  65. data/lib/straddle/models/payout_update_params.rb +8 -1
  66. data/lib/straddle/models.rb +2 -0
  67. data/lib/straddle/resources/bridge/link.rb +16 -4
  68. data/lib/straddle/resources/bridge.rb +4 -1
  69. data/lib/straddle/resources/charges.rb +20 -5
  70. data/lib/straddle/resources/customers/review.rb +4 -1
  71. data/lib/straddle/resources/customers.rb +16 -4
  72. data/lib/straddle/resources/embed/accounts/capability_requests.rb +5 -2
  73. data/lib/straddle/resources/embed/accounts.rb +19 -7
  74. data/lib/straddle/resources/embed/linked_bank_accounts.rb +51 -5
  75. data/lib/straddle/resources/embed/organizations.rb +5 -2
  76. data/lib/straddle/resources/embed/representatives.rb +14 -4
  77. data/lib/straddle/resources/paykeys.rb +47 -1
  78. data/lib/straddle/resources/payouts.rb +20 -5
  79. data/lib/straddle/version.rb +1 -1
  80. data/lib/straddle.rb +2 -0
  81. data/rbi/straddle/client.rbi +4 -4
  82. data/rbi/straddle/errors.rbi +31 -4
  83. data/rbi/straddle/file_part.rbi +1 -1
  84. data/rbi/straddle/internal/transport/base_client.rbi +5 -6
  85. data/rbi/straddle/internal/type/base_page.rbi +1 -1
  86. data/rbi/straddle/internal/type/converter.rbi +54 -0
  87. data/rbi/straddle/internal/type/union.rbi +9 -2
  88. data/rbi/straddle/internal/util.rbi +1 -1
  89. data/rbi/straddle/models/bridge/link_bank_account_params.rbi +9 -0
  90. data/rbi/straddle/models/bridge/link_create_paykey_params.rbi +9 -0
  91. data/rbi/straddle/models/bridge/link_create_tan_params.rbi +9 -0
  92. data/rbi/straddle/models/bridge/link_plaid_params.rbi +9 -0
  93. data/rbi/straddle/models/bridge_initialize_params.rbi +9 -0
  94. data/rbi/straddle/models/charge_cancel_params.rbi +9 -0
  95. data/rbi/straddle/models/charge_create_params.rbi +9 -0
  96. data/rbi/straddle/models/charge_hold_params.rbi +9 -0
  97. data/rbi/straddle/models/charge_release_params.rbi +9 -0
  98. data/rbi/straddle/models/charge_update_params.rbi +9 -0
  99. data/rbi/straddle/models/customer_create_params.rbi +9 -2
  100. data/rbi/straddle/models/customer_delete_params.rbi +9 -0
  101. data/rbi/straddle/models/customer_list_params.rbi +0 -2
  102. data/rbi/straddle/models/customer_refresh_review_params.rbi +9 -0
  103. data/rbi/straddle/models/customer_summary_paged_v1.rbi +0 -5
  104. data/rbi/straddle/models/customer_unmasked_v1.rbi +0 -5
  105. data/rbi/straddle/models/customer_update_params.rbi +9 -0
  106. data/rbi/straddle/models/customer_v1.rbi +0 -2
  107. data/rbi/straddle/models/customers/customer_review_v1.rbi +0 -10
  108. data/rbi/straddle/models/customers/identity_verification_breakdown_v1.rbi +0 -5
  109. data/rbi/straddle/models/customers/review_decision_params.rbi +9 -0
  110. data/rbi/straddle/models/embed/account_create_params.rbi +9 -5
  111. data/rbi/straddle/models/embed/account_onboard_params.rbi +9 -0
  112. data/rbi/straddle/models/embed/account_paged_v1.rbi +0 -25
  113. data/rbi/straddle/models/embed/account_simulate_params.rbi +9 -0
  114. data/rbi/straddle/models/embed/account_update_params.rbi +9 -0
  115. data/rbi/straddle/models/embed/account_v1.rbi +0 -25
  116. data/rbi/straddle/models/embed/accounts/capability_request_create_params.rbi +9 -0
  117. data/rbi/straddle/models/embed/linked_bank_account_cancel_params.rbi +67 -0
  118. data/rbi/straddle/models/embed/linked_bank_account_create_params.rbi +95 -3
  119. data/rbi/straddle/models/embed/linked_bank_account_paged_v1.rbi +72 -0
  120. data/rbi/straddle/models/embed/linked_bank_account_unmask_v1.rbi +5 -0
  121. data/rbi/straddle/models/embed/linked_bank_account_update_params.rbi +9 -0
  122. data/rbi/straddle/models/embed/linked_bank_account_v1.rbi +72 -0
  123. data/rbi/straddle/models/embed/organization_create_params.rbi +9 -0
  124. data/rbi/straddle/models/embed/representative.rbi +10 -0
  125. data/rbi/straddle/models/embed/representative_create_params.rbi +19 -0
  126. data/rbi/straddle/models/embed/representative_paged.rbi +10 -0
  127. data/rbi/straddle/models/embed/representative_update_params.rbi +19 -0
  128. data/rbi/straddle/models/paykey_cancel_params.rbi +9 -0
  129. data/rbi/straddle/models/paykey_review_params.rbi +98 -0
  130. data/rbi/straddle/models/payout_cancel_params.rbi +9 -0
  131. data/rbi/straddle/models/payout_create_params.rbi +9 -0
  132. data/rbi/straddle/models/payout_hold_params.rbi +9 -0
  133. data/rbi/straddle/models/payout_release_params.rbi +9 -0
  134. data/rbi/straddle/models/payout_update_params.rbi +9 -0
  135. data/rbi/straddle/models.rbi +2 -0
  136. data/rbi/straddle/resources/bridge/link.rbi +12 -0
  137. data/rbi/straddle/resources/bridge.rbi +3 -0
  138. data/rbi/straddle/resources/charges.rbi +15 -0
  139. data/rbi/straddle/resources/customers/review.rbi +3 -0
  140. data/rbi/straddle/resources/customers.rbi +12 -0
  141. data/rbi/straddle/resources/embed/accounts/capability_requests.rbi +3 -0
  142. data/rbi/straddle/resources/embed/accounts.rbi +12 -0
  143. data/rbi/straddle/resources/embed/linked_bank_accounts.rbi +46 -1
  144. data/rbi/straddle/resources/embed/organizations.rbi +3 -0
  145. data/rbi/straddle/resources/embed/representatives.rbi +14 -0
  146. data/rbi/straddle/resources/paykeys.rbi +34 -0
  147. data/rbi/straddle/resources/payouts.rbi +15 -0
  148. data/sig/straddle/client.rbs +3 -3
  149. data/sig/straddle/errors.rbs +7 -0
  150. data/sig/straddle/file_part.rbs +1 -1
  151. data/sig/straddle/internal/transport/base_client.rbs +1 -1
  152. data/sig/straddle/internal/type/converter.rbs +17 -0
  153. data/sig/straddle/internal/type/union.rbs +2 -2
  154. data/sig/straddle/models/bridge/link_bank_account_params.rbs +7 -0
  155. data/sig/straddle/models/bridge/link_create_paykey_params.rbs +7 -0
  156. data/sig/straddle/models/bridge/link_create_tan_params.rbs +7 -0
  157. data/sig/straddle/models/bridge/link_plaid_params.rbs +7 -0
  158. data/sig/straddle/models/bridge_initialize_params.rbs +7 -0
  159. data/sig/straddle/models/charge_cancel_params.rbs +7 -0
  160. data/sig/straddle/models/charge_create_params.rbs +7 -0
  161. data/sig/straddle/models/charge_hold_params.rbs +7 -0
  162. data/sig/straddle/models/charge_release_params.rbs +7 -0
  163. data/sig/straddle/models/charge_update_params.rbs +7 -0
  164. data/sig/straddle/models/customer_create_params.rbs +8 -2
  165. data/sig/straddle/models/customer_delete_params.rbs +7 -0
  166. data/sig/straddle/models/customer_list_params.rbs +1 -2
  167. data/sig/straddle/models/customer_refresh_review_params.rbs +7 -0
  168. data/sig/straddle/models/customer_summary_paged_v1.rbs +1 -2
  169. data/sig/straddle/models/customer_unmasked_v1.rbs +1 -2
  170. data/sig/straddle/models/customer_update_params.rbs +7 -0
  171. data/sig/straddle/models/customer_v1.rbs +1 -2
  172. data/sig/straddle/models/customers/customer_review_v1.rbs +1 -4
  173. data/sig/straddle/models/customers/identity_verification_breakdown_v1.rbs +1 -6
  174. data/sig/straddle/models/customers/review_decision_params.rbs +7 -0
  175. data/sig/straddle/models/embed/account_create_params.rbs +8 -2
  176. data/sig/straddle/models/embed/account_onboard_params.rbs +7 -0
  177. data/sig/straddle/models/embed/account_paged_v1.rbs +4 -21
  178. data/sig/straddle/models/embed/account_simulate_params.rbs +7 -0
  179. data/sig/straddle/models/embed/account_update_params.rbs +7 -0
  180. data/sig/straddle/models/embed/account_v1.rbs +4 -21
  181. data/sig/straddle/models/embed/accounts/capability_request_create_params.rbs +7 -0
  182. data/sig/straddle/models/embed/linked_bank_account_cancel_params.rbs +40 -0
  183. data/sig/straddle/models/embed/linked_bank_account_create_params.rbs +38 -4
  184. data/sig/straddle/models/embed/linked_bank_account_paged_v1.rbs +25 -1
  185. data/sig/straddle/models/embed/linked_bank_account_unmask_v1.rbs +3 -1
  186. data/sig/straddle/models/embed/linked_bank_account_update_params.rbs +7 -0
  187. data/sig/straddle/models/embed/linked_bank_account_v1.rbs +25 -1
  188. data/sig/straddle/models/embed/organization_create_params.rbs +7 -0
  189. data/sig/straddle/models/embed/representative.rbs +5 -0
  190. data/sig/straddle/models/embed/representative_create_params.rbs +12 -0
  191. data/sig/straddle/models/embed/representative_paged.rbs +5 -0
  192. data/sig/straddle/models/embed/representative_update_params.rbs +12 -0
  193. data/sig/straddle/models/paykey_cancel_params.rbs +7 -0
  194. data/sig/straddle/models/paykey_review_params.rbs +65 -0
  195. data/sig/straddle/models/payout_cancel_params.rbs +7 -0
  196. data/sig/straddle/models/payout_create_params.rbs +7 -0
  197. data/sig/straddle/models/payout_hold_params.rbs +7 -0
  198. data/sig/straddle/models/payout_release_params.rbs +7 -0
  199. data/sig/straddle/models/payout_update_params.rbs +7 -0
  200. data/sig/straddle/models.rbs +2 -0
  201. data/sig/straddle/resources/bridge/link.rbs +4 -0
  202. data/sig/straddle/resources/bridge.rbs +1 -0
  203. data/sig/straddle/resources/charges.rbs +5 -0
  204. data/sig/straddle/resources/customers/review.rbs +1 -0
  205. data/sig/straddle/resources/customers.rbs +4 -0
  206. data/sig/straddle/resources/embed/accounts/capability_requests.rbs +1 -0
  207. data/sig/straddle/resources/embed/accounts.rbs +4 -0
  208. data/sig/straddle/resources/embed/linked_bank_accounts.rbs +14 -1
  209. data/sig/straddle/resources/embed/organizations.rbs +1 -0
  210. data/sig/straddle/resources/embed/representatives.rbs +4 -0
  211. data/sig/straddle/resources/paykeys.rbs +11 -0
  212. data/sig/straddle/resources/payouts.rbs +5 -0
  213. metadata +11 -5
@@ -8,7 +8,7 @@ module Straddle
8
8
  #
9
9
  # Use charges to collect money from a customer for the sale of goods or services.
10
10
  #
11
- # @overload create(amount:, config:, consent_type:, currency:, description:, device:, external_id:, paykey:, payment_date:, metadata: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
11
+ # @overload create(amount:, config:, consent_type:, currency:, description:, device:, external_id:, paykey:, payment_date:, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
12
12
  #
13
13
  # @param amount [Integer] Body param: The amount of the charge in cents.
14
14
  #
@@ -32,6 +32,8 @@ module Straddle
32
32
  #
33
33
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
34
34
  #
35
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
36
+ #
35
37
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
36
38
  #
37
39
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -46,6 +48,7 @@ module Straddle
46
48
  header_params =
47
49
  {
48
50
  correlation_id: "correlation-id",
51
+ idempotency_key: "idempotency-key",
49
52
  request_id: "request-id",
50
53
  straddle_account_id: "straddle-account-id"
51
54
  }
@@ -65,7 +68,7 @@ module Straddle
65
68
  # Change the values of parameters associated with a charge prior to processing.
66
69
  # The status of the charge must be `created`, `scheduled`, or `on_hold`.
67
70
  #
68
- # @overload update(id, amount:, description:, payment_date:, metadata: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
71
+ # @overload update(id, amount:, description:, payment_date:, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
69
72
  #
70
73
  # @param id [String] Path param:
71
74
  #
@@ -79,6 +82,8 @@ module Straddle
79
82
  #
80
83
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
81
84
  #
85
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
86
+ #
82
87
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
83
88
  #
84
89
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -93,6 +98,7 @@ module Straddle
93
98
  header_params =
94
99
  {
95
100
  correlation_id: "correlation-id",
101
+ idempotency_key: "idempotency-key",
96
102
  request_id: "request-id",
97
103
  straddle_account_id: "straddle-account-id"
98
104
  }
@@ -112,7 +118,7 @@ module Straddle
112
118
  # Cancel a charge to prevent it from being originated for processing. The status
113
119
  # of the charge must be `created`, `scheduled`, or `on_hold`.
114
120
  #
115
- # @overload cancel(id, reason: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
121
+ # @overload cancel(id, reason: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
116
122
  #
117
123
  # @param id [String] Path param:
118
124
  #
@@ -120,6 +126,8 @@ module Straddle
120
126
  #
121
127
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
122
128
  #
129
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
130
+ #
123
131
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
124
132
  #
125
133
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -134,6 +142,7 @@ module Straddle
134
142
  header_params =
135
143
  {
136
144
  correlation_id: "correlation-id",
145
+ idempotency_key: "idempotency-key",
137
146
  request_id: "request-id",
138
147
  straddle_account_id: "straddle-account-id"
139
148
  }
@@ -186,7 +195,7 @@ module Straddle
186
195
  # Place a charge on hold to prevent it from being originated for processing. The
187
196
  # status of the charge must be `created` or `scheduled`.
188
197
  #
189
- # @overload hold(id, reason: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
198
+ # @overload hold(id, reason: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
190
199
  #
191
200
  # @param id [String] Path param:
192
201
  #
@@ -194,6 +203,8 @@ module Straddle
194
203
  #
195
204
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
196
205
  #
206
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
207
+ #
197
208
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
198
209
  #
199
210
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -208,6 +219,7 @@ module Straddle
208
219
  header_params =
209
220
  {
210
221
  correlation_id: "correlation-id",
222
+ idempotency_key: "idempotency-key",
211
223
  request_id: "request-id",
212
224
  straddle_account_id: "straddle-account-id"
213
225
  }
@@ -227,7 +239,7 @@ module Straddle
227
239
  # Release a charge from an `on_hold` status to allow it to be rescheduled for
228
240
  # processing.
229
241
  #
230
- # @overload release(id, reason: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
242
+ # @overload release(id, reason: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
231
243
  #
232
244
  # @param id [String] Path param:
233
245
  #
@@ -235,6 +247,8 @@ module Straddle
235
247
  #
236
248
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
237
249
  #
250
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
251
+ #
238
252
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
239
253
  #
240
254
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -249,6 +263,7 @@ module Straddle
249
263
  header_params =
250
264
  {
251
265
  correlation_id: "correlation-id",
266
+ idempotency_key: "idempotency-key",
252
267
  request_id: "request-id",
253
268
  straddle_account_id: "straddle-account-id"
254
269
  }
@@ -12,7 +12,7 @@ module Straddle
12
12
  # or updating the status of a customer's verification. Note that this endpoint is
13
13
  # only available for customers with a current status of `review`.
14
14
  #
15
- # @overload decision(id, status:, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
15
+ # @overload decision(id, status:, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
16
16
  #
17
17
  # @param id [String] Path param:
18
18
  #
@@ -20,6 +20,8 @@ module Straddle
20
20
  #
21
21
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
22
22
  #
23
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
24
+ #
23
25
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
24
26
  #
25
27
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -34,6 +36,7 @@ module Straddle
34
36
  header_params =
35
37
  {
36
38
  correlation_id: "correlation-id",
39
+ idempotency_key: "idempotency-key",
37
40
  request_id: "request-id",
38
41
  straddle_account_id: "straddle-account-id"
39
42
  }
@@ -13,7 +13,7 @@ module Straddle
13
13
  # risk assessment scores. This endpoint allows you to create a customer profile
14
14
  # and associate it with paykeys and payments.
15
15
  #
16
- # @overload create(device:, email:, name:, phone:, type:, address: nil, compliance_profile: nil, config: nil, external_id: nil, metadata: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
16
+ # @overload create(device:, email:, name:, phone:, type:, address: nil, compliance_profile: nil, config: nil, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
17
17
  #
18
18
  # @param device [Straddle::Models::DeviceUnmaskedV1] Body param:
19
19
  #
@@ -38,6 +38,8 @@ module Straddle
38
38
  #
39
39
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
40
40
  #
41
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
42
+ #
41
43
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
42
44
  #
43
45
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -52,6 +54,7 @@ module Straddle
52
54
  header_params =
53
55
  {
54
56
  correlation_id: "correlation-id",
57
+ idempotency_key: "idempotency-key",
55
58
  request_id: "request-id",
56
59
  straddle_account_id: "straddle-account-id"
57
60
  }
@@ -71,7 +74,7 @@ module Straddle
71
74
  # Updates an existing customer's information. This endpoint allows you to modify
72
75
  # the customer's contact details, PII, and metadata.
73
76
  #
74
- # @overload update(id, device:, email:, name:, phone:, status:, address: nil, compliance_profile: nil, external_id: nil, metadata: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
77
+ # @overload update(id, device:, email:, name:, phone:, status:, address: nil, compliance_profile: nil, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
75
78
  #
76
79
  # @param id [String] Path param:
77
80
  #
@@ -95,6 +98,8 @@ module Straddle
95
98
  #
96
99
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
97
100
  #
101
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
102
+ #
98
103
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
99
104
  #
100
105
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -109,6 +114,7 @@ module Straddle
109
114
  header_params =
110
115
  {
111
116
  correlation_id: "correlation-id",
117
+ idempotency_key: "idempotency-key",
112
118
  request_id: "request-id",
113
119
  straddle_account_id: "straddle-account-id"
114
120
  }
@@ -203,12 +209,14 @@ module Straddle
203
209
  # undone and should only be used to satisfy regulatory requirements or for privacy
204
210
  # compliance.
205
211
  #
206
- # @overload delete(id, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
212
+ # @overload delete(id, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
207
213
  #
208
214
  # @param id [String]
209
215
  #
210
216
  # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
211
217
  #
218
+ # @param idempotency_key [String] Optional client generated value to use for idempotent requests.
219
+ #
212
220
  # @param request_id [String] Optional client generated identifier to trace and debug a request.
213
221
  #
214
222
  # @param straddle_account_id [String] For use by platforms to specify an account id and set scope of a request.
@@ -225,6 +233,7 @@ module Straddle
225
233
  path: ["v1/customers/%1$s", id],
226
234
  headers: parsed.transform_keys(
227
235
  correlation_id: "correlation-id",
236
+ idempotency_key: "idempotency-key",
228
237
  request_id: "request-id",
229
238
  straddle_account_id: "straddle-account-id"
230
239
  ),
@@ -271,12 +280,14 @@ module Straddle
271
280
  # you to modify the outcome of a customer decision and is useful for correcting or
272
281
  # updating the status of a customer's verification.
273
282
  #
274
- # @overload refresh_review(id, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
283
+ # @overload refresh_review(id, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
275
284
  #
276
285
  # @param id [String]
277
286
  #
278
287
  # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
279
288
  #
289
+ # @param idempotency_key [String] Optional client generated value to use for idempotent requests.
290
+ #
280
291
  # @param request_id [String] Optional client generated identifier to trace and debug a request.
281
292
  #
282
293
  # @param straddle_account_id [String] For use by platforms to specify an account id and set scope of a request.
@@ -293,6 +304,7 @@ module Straddle
293
304
  path: ["v1/customers/%1$s/refresh_review", id],
294
305
  headers: parsed.transform_keys(
295
306
  correlation_id: "correlation-id",
307
+ idempotency_key: "idempotency-key",
296
308
  request_id: "request-id",
297
309
  straddle_account_id: "straddle-account-id"
298
310
  ),
@@ -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],
@@ -128,6 +140,40 @@ module Straddle
128
140
  )
129
141
  end
130
142
 
143
+ # Cancels an existing linked bank account. This can be used to cancel a linked
144
+ # bank account before it has been reviewed. The linked bank account must be in
145
+ # 'created' status.
146
+ #
147
+ # @overload cancel(linked_bank_account_id, correlation_id: nil, idempotency_key: nil, request_id: nil, request_options: {})
148
+ #
149
+ # @param linked_bank_account_id [String]
150
+ #
151
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
152
+ #
153
+ # @param idempotency_key [String] Optional client generated value to use for idempotent requests.
154
+ #
155
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
156
+ #
157
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
158
+ #
159
+ # @return [Straddle::Models::Embed::LinkedBankAccountV1]
160
+ #
161
+ # @see Straddle::Models::Embed::LinkedBankAccountCancelParams
162
+ def cancel(linked_bank_account_id, params = {})
163
+ parsed, options = Straddle::Embed::LinkedBankAccountCancelParams.dump_request(params)
164
+ @client.request(
165
+ method: :patch,
166
+ path: ["v1/linked_bank_accounts/%1$s/cancel", linked_bank_account_id],
167
+ headers: parsed.transform_keys(
168
+ correlation_id: "correlation-id",
169
+ idempotency_key: "idempotency-key",
170
+ request_id: "request-id"
171
+ ),
172
+ model: Straddle::Embed::LinkedBankAccountV1,
173
+ options: options
174
+ )
175
+ end
176
+
131
177
  # Retrieves the details of a linked bank account that has previously been created.
132
178
  # Supply the unique linked bank account `id`, and Straddle will return the
133
179
  # 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],
@@ -57,7 +57,7 @@ module Straddle
57
57
  # Some parameter documentations has been truncated, see
58
58
  # {Straddle::Models::PaykeyCancelParams} for more details.
59
59
  #
60
- # @overload cancel(id, reason: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
60
+ # @overload cancel(id, reason: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
61
61
  #
62
62
  # @param id [String] Path param:
63
63
  #
@@ -65,6 +65,8 @@ module Straddle
65
65
  #
66
66
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
67
67
  #
68
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
69
+ #
68
70
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
69
71
  #
70
72
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -79,6 +81,7 @@ module Straddle
79
81
  header_params =
80
82
  {
81
83
  correlation_id: "correlation-id",
84
+ idempotency_key: "idempotency-key",
82
85
  request_id: "request-id",
83
86
  straddle_account_id: "straddle-account-id"
84
87
  }
@@ -161,6 +164,49 @@ module Straddle
161
164
  )
162
165
  end
163
166
 
167
+ # Some parameter documentations has been truncated, see
168
+ # {Straddle::Models::PaykeyReviewParams} for more details.
169
+ #
170
+ # Update the status of a paykey when in review status
171
+ #
172
+ # @overload review(id, status:, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
173
+ #
174
+ # @param id [String] Path param:
175
+ #
176
+ # @param status [Symbol, Straddle::Models::PaykeyReviewParams::Status] Body param:
177
+ #
178
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
179
+ #
180
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
181
+ #
182
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
183
+ #
184
+ # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
185
+ #
186
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
187
+ #
188
+ # @return [Straddle::Models::PaykeyV1]
189
+ #
190
+ # @see Straddle::Models::PaykeyReviewParams
191
+ def review(id, params)
192
+ parsed, options = Straddle::PaykeyReviewParams.dump_request(params)
193
+ header_params =
194
+ {
195
+ correlation_id: "correlation-id",
196
+ idempotency_key: "idempotency-key",
197
+ request_id: "request-id",
198
+ straddle_account_id: "straddle-account-id"
199
+ }
200
+ @client.request(
201
+ method: :patch,
202
+ path: ["v1/paykeys/%1$s/review", id],
203
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
204
+ body: parsed.except(*header_params.keys),
205
+ model: Straddle::PaykeyV1,
206
+ options: options
207
+ )
208
+ end
209
+
164
210
  # Retrieves the unmasked details of an existing paykey. Supply the unique paykey
165
211
  # `id` and Straddle will return the corresponding paykey record, including the
166
212
  # unmasked bank account details. This endpoint needs to be enabled by Straddle for