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 payouts to send money to your customers.
10
10
  #
11
- # @overload create(amount:, currency:, description:, device:, external_id:, paykey:, payment_date:, config: nil, metadata: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
11
+ # @overload create(amount:, currency:, description:, device:, external_id:, paykey:, payment_date:, config: nil, 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 payout in cents.
14
14
  #
@@ -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 straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -44,6 +46,7 @@ module Straddle
44
46
  header_params =
45
47
  {
46
48
  correlation_id: "correlation-id",
49
+ idempotency_key: "idempotency-key",
47
50
  request_id: "request-id",
48
51
  straddle_account_id: "straddle-account-id"
49
52
  }
@@ -63,7 +66,7 @@ module Straddle
63
66
  # Update the details of a payout prior to processing. The status of the payout
64
67
  # must be `created`, `scheduled`, or `on_hold`.
65
68
  #
66
- # @overload update(id, amount:, description:, payment_date:, metadata: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
69
+ # @overload update(id, amount:, description:, payment_date:, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
67
70
  #
68
71
  # @param id [String] Path param:
69
72
  #
@@ -77,6 +80,8 @@ module Straddle
77
80
  #
78
81
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
79
82
  #
83
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
84
+ #
80
85
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
81
86
  #
82
87
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -91,6 +96,7 @@ module Straddle
91
96
  header_params =
92
97
  {
93
98
  correlation_id: "correlation-id",
99
+ idempotency_key: "idempotency-key",
94
100
  request_id: "request-id",
95
101
  straddle_account_id: "straddle-account-id"
96
102
  }
@@ -110,7 +116,7 @@ module Straddle
110
116
  # Cancel a payout to prevent it from being processed. The status of the payout
111
117
  # must be `created`, `scheduled`, or `on_hold`.
112
118
  #
113
- # @overload cancel(id, reason:, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
119
+ # @overload cancel(id, reason:, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
114
120
  #
115
121
  # @param id [String] Path param:
116
122
  #
@@ -118,6 +124,8 @@ module Straddle
118
124
  #
119
125
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
120
126
  #
127
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
128
+ #
121
129
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
122
130
  #
123
131
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -132,6 +140,7 @@ module Straddle
132
140
  header_params =
133
141
  {
134
142
  correlation_id: "correlation-id",
143
+ idempotency_key: "idempotency-key",
135
144
  request_id: "request-id",
136
145
  straddle_account_id: "straddle-account-id"
137
146
  }
@@ -184,7 +193,7 @@ module Straddle
184
193
  # Hold a payout to prevent it from being processed. The status of the payout must
185
194
  # be `created`, `scheduled`, or `on_hold`.
186
195
  #
187
- # @overload hold(id, reason:, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
196
+ # @overload hold(id, reason:, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
188
197
  #
189
198
  # @param id [String] Path param:
190
199
  #
@@ -192,6 +201,8 @@ module Straddle
192
201
  #
193
202
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
194
203
  #
204
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
205
+ #
195
206
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
196
207
  #
197
208
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -206,6 +217,7 @@ module Straddle
206
217
  header_params =
207
218
  {
208
219
  correlation_id: "correlation-id",
220
+ idempotency_key: "idempotency-key",
209
221
  request_id: "request-id",
210
222
  straddle_account_id: "straddle-account-id"
211
223
  }
@@ -225,7 +237,7 @@ module Straddle
225
237
  # Release a payout from a `hold` status to allow it to be rescheduled for
226
238
  # processing.
227
239
  #
228
- # @overload release(id, reason:, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
240
+ # @overload release(id, reason:, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
229
241
  #
230
242
  # @param id [String] Path param:
231
243
  #
@@ -233,6 +245,8 @@ module Straddle
233
245
  #
234
246
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
235
247
  #
248
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
249
+ #
236
250
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
237
251
  #
238
252
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -247,6 +261,7 @@ module Straddle
247
261
  header_params =
248
262
  {
249
263
  correlation_id: "correlation-id",
264
+ idempotency_key: "idempotency-key",
250
265
  request_id: "request-id",
251
266
  straddle_account_id: "straddle-account-id"
252
267
  }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Straddle
4
- VERSION = "0.1.0.pre.alpha.1"
4
+ VERSION = "0.2.0"
5
5
  end
data/lib/straddle.rb CHANGED
@@ -101,6 +101,7 @@ require_relative "straddle/models/embed/address_v1"
101
101
  require_relative "straddle/models/embed/business_profile_v1"
102
102
  require_relative "straddle/models/embed/capability_v1"
103
103
  require_relative "straddle/models/embed/industry_v1"
104
+ require_relative "straddle/models/embed/linked_bank_account_cancel_params"
104
105
  require_relative "straddle/models/embed/linked_bank_account_create_params"
105
106
  require_relative "straddle/models/embed/linked_bank_account_get_params"
106
107
  require_relative "straddle/models/embed/linked_bank_account_list_params"
@@ -134,6 +135,7 @@ require_relative "straddle/models/paykey_get_params"
134
135
  require_relative "straddle/models/paykey_list_params"
135
136
  require_relative "straddle/models/paykey_reveal_params"
136
137
  require_relative "straddle/models/paykey_reveal_response"
138
+ require_relative "straddle/models/paykey_review_params"
137
139
  require_relative "straddle/models/paykey_summary_paged_v1"
138
140
  require_relative "straddle/models/paykey_unmasked_params"
139
141
  require_relative "straddle/models/paykey_unmasked_v1"
@@ -13,8 +13,8 @@ module Straddle
13
13
  ENVIRONMENTS =
14
14
  T.let(
15
15
  {
16
- production: "https://production.straddle.io",
17
- sandbox: "https://sandbox.straddle.io"
16
+ sandbox: "https://sandbox.straddle.com",
17
+ production: "https://production.straddle.com"
18
18
  },
19
19
  T::Hash[Symbol, String]
20
20
  )
@@ -76,8 +76,8 @@ module Straddle
76
76
  #
77
77
  # Each environment maps to a different base URL:
78
78
  #
79
- # - `production` corresponds to `https://production.straddle.io`
80
- # - `sandbox` corresponds to `https://sandbox.straddle.io`
79
+ # - `sandbox` corresponds to `https://sandbox.straddle.com`
80
+ # - `production` corresponds to `https://production.straddle.com`
81
81
  environment: nil,
82
82
  # Override the default base URL for the API, e.g.,
83
83
  # `"https://api.example.com/v2/"`. Defaults to `ENV["STRADDLE_BASE_URL"]`
@@ -33,6 +33,9 @@ module Straddle
33
33
  sig { returns(T.nilable(Integer)) }
34
34
  attr_accessor :status
35
35
 
36
+ sig { returns(T.nilable(T::Hash[String, String])) }
37
+ attr_accessor :headers
38
+
36
39
  sig { returns(T.nilable(T.anything)) }
37
40
  attr_accessor :body
38
41
 
@@ -41,6 +44,7 @@ module Straddle
41
44
  params(
42
45
  url: URI::Generic,
43
46
  status: T.nilable(Integer),
47
+ headers: T.nilable(T::Hash[String, String]),
44
48
  body: T.nilable(Object),
45
49
  request: NilClass,
46
50
  response: NilClass,
@@ -50,6 +54,7 @@ module Straddle
50
54
  def self.new(
51
55
  url:,
52
56
  status: nil,
57
+ headers: nil,
53
58
  body: nil,
54
59
  request: nil,
55
60
  response: nil,
@@ -59,10 +64,10 @@ module Straddle
59
64
  end
60
65
 
61
66
  class APIConnectionError < Straddle::Errors::APIError
62
- sig { void }
67
+ sig { returns(NilClass) }
63
68
  attr_accessor :status
64
69
 
65
- sig { void }
70
+ sig { returns(NilClass) }
66
71
  attr_accessor :body
67
72
 
68
73
  # @api private
@@ -70,6 +75,7 @@ module Straddle
70
75
  params(
71
76
  url: URI::Generic,
72
77
  status: NilClass,
78
+ headers: T.nilable(T::Hash[String, String]),
73
79
  body: NilClass,
74
80
  request: NilClass,
75
81
  response: NilClass,
@@ -79,6 +85,7 @@ module Straddle
79
85
  def self.new(
80
86
  url:,
81
87
  status: nil,
88
+ headers: nil,
82
89
  body: nil,
83
90
  request: nil,
84
91
  response: nil,
@@ -93,6 +100,7 @@ module Straddle
93
100
  params(
94
101
  url: URI::Generic,
95
102
  status: NilClass,
103
+ headers: T.nilable(T::Hash[String, String]),
96
104
  body: NilClass,
97
105
  request: NilClass,
98
106
  response: NilClass,
@@ -102,6 +110,7 @@ module Straddle
102
110
  def self.new(
103
111
  url:,
104
112
  status: nil,
113
+ headers: nil,
105
114
  body: nil,
106
115
  request: nil,
107
116
  response: nil,
@@ -116,13 +125,22 @@ module Straddle
116
125
  params(
117
126
  url: URI::Generic,
118
127
  status: Integer,
128
+ headers: T.nilable(T::Hash[String, String]),
119
129
  body: T.nilable(Object),
120
130
  request: NilClass,
121
131
  response: NilClass,
122
132
  message: T.nilable(String)
123
133
  ).returns(T.attached_class)
124
134
  end
125
- def self.for(url:, status:, body:, request:, response:, message: nil)
135
+ def self.for(
136
+ url:,
137
+ status:,
138
+ headers:,
139
+ body:,
140
+ request:,
141
+ response:,
142
+ message: nil
143
+ )
126
144
  end
127
145
 
128
146
  sig { returns(Integer) }
@@ -133,13 +151,22 @@ module Straddle
133
151
  params(
134
152
  url: URI::Generic,
135
153
  status: Integer,
154
+ headers: T.nilable(T::Hash[String, String]),
136
155
  body: T.nilable(Object),
137
156
  request: NilClass,
138
157
  response: NilClass,
139
158
  message: T.nilable(String)
140
159
  ).returns(T.attached_class)
141
160
  end
142
- def self.new(url:, status:, body:, request:, response:, message: nil)
161
+ def self.new(
162
+ url:,
163
+ status:,
164
+ headers:,
165
+ body:,
166
+ request:,
167
+ response:,
168
+ message: nil
169
+ )
143
170
  end
144
171
  end
145
172
 
@@ -27,7 +27,7 @@ module Straddle
27
27
  sig do
28
28
  params(
29
29
  content: T.any(Pathname, StringIO, IO, String),
30
- filename: T.nilable(String),
30
+ filename: T.nilable(T.any(Pathname, String)),
31
31
  content_type: T.nilable(String)
32
32
  ).returns(T.attached_class)
33
33
  end
@@ -84,10 +84,9 @@ module Straddle
84
84
 
85
85
  # @api private
86
86
  sig do
87
- params(
88
- status: Integer,
89
- headers: T.any(T::Hash[String, String], Net::HTTPHeader)
90
- ).returns(T::Boolean)
87
+ params(status: Integer, headers: T::Hash[String, String]).returns(
88
+ T::Boolean
89
+ )
91
90
  end
92
91
  def should_retry?(status, headers:)
93
92
  end
@@ -97,7 +96,7 @@ module Straddle
97
96
  params(
98
97
  request: Straddle::Internal::Transport::BaseClient::RequestInput,
99
98
  status: Integer,
100
- response_headers: T.any(T::Hash[String, String], Net::HTTPHeader)
99
+ response_headers: T::Hash[String, String]
101
100
  ).returns(Straddle::Internal::Transport::BaseClient::RequestInput)
102
101
  end
103
102
  def follow_redirect(request, status:, response_headers:)
@@ -213,7 +212,7 @@ module Straddle
213
212
  send_retry_header: T::Boolean
214
213
  ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
215
214
  end
216
- private def send_request(
215
+ def send_request(
217
216
  request,
218
217
  redirect_count:,
219
218
  retry_count:,
@@ -30,7 +30,7 @@ module Straddle
30
30
  params(
31
31
  client: Straddle::Internal::Transport::BaseClient,
32
32
  req: Straddle::Internal::Transport::BaseClient::RequestComponents,
33
- headers: T.any(T::Hash[String, String], Net::HTTPHeader),
33
+ headers: T::Hash[String, String],
34
34
  page_data: T.anything
35
35
  ).void
36
36
  end
@@ -90,6 +90,60 @@ module Straddle
90
90
  def self.type_info(spec)
91
91
  end
92
92
 
93
+ # @api private
94
+ sig do
95
+ params(
96
+ type_info:
97
+ T.any(
98
+ {
99
+ const:
100
+ T.nilable(
101
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
102
+ ),
103
+ enum:
104
+ T.nilable(
105
+ T.proc.returns(
106
+ Straddle::Internal::Type::Converter::Input
107
+ )
108
+ ),
109
+ union:
110
+ T.nilable(
111
+ T.proc.returns(
112
+ Straddle::Internal::Type::Converter::Input
113
+ )
114
+ )
115
+ },
116
+ T.proc.returns(Straddle::Internal::Type::Converter::Input),
117
+ Straddle::Internal::Type::Converter::Input
118
+ ),
119
+ spec:
120
+ T.any(
121
+ {
122
+ const:
123
+ T.nilable(
124
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
125
+ ),
126
+ enum:
127
+ T.nilable(
128
+ T.proc.returns(
129
+ Straddle::Internal::Type::Converter::Input
130
+ )
131
+ ),
132
+ union:
133
+ T.nilable(
134
+ T.proc.returns(
135
+ Straddle::Internal::Type::Converter::Input
136
+ )
137
+ )
138
+ },
139
+ T.proc.returns(Straddle::Internal::Type::Converter::Input),
140
+ Straddle::Internal::Type::Converter::Input
141
+ )
142
+ ).returns(Straddle::Internal::AnyHash)
143
+ end
144
+ def self.meta_info(type_info, spec)
145
+ end
146
+
93
147
  # @api private
94
148
  sig do
95
149
  params(translate_names: T::Boolean).returns(
@@ -16,7 +16,8 @@ module Straddle
16
16
  T::Array[
17
17
  [
18
18
  T.nilable(Symbol),
19
- T.proc.returns(Straddle::Internal::Type::Converter::Input)
19
+ T.proc.returns(Straddle::Internal::Type::Converter::Input),
20
+ Straddle::Internal::AnyHash
20
21
  ]
21
22
  ]
22
23
  )
@@ -25,7 +26,13 @@ module Straddle
25
26
  end
26
27
 
27
28
  # @api private
28
- sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) }
29
+ sig do
30
+ returns(
31
+ T::Array[
32
+ [T.nilable(Symbol), T.anything, Straddle::Internal::AnyHash]
33
+ ]
34
+ )
35
+ end
29
36
  protected def derefed_variants
30
37
  end
31
38
 
@@ -361,7 +361,7 @@ module Straddle
361
361
  # Assumes each chunk in stream has `Encoding::BINARY`.
362
362
  sig do
363
363
  params(
364
- headers: T.any(T::Hash[String, String], Net::HTTPHeader),
364
+ headers: T::Hash[String, String],
365
365
  stream: T::Enumerable[String],
366
366
  suppress_error: T::Boolean
367
367
  ).returns(T.anything)
@@ -57,6 +57,12 @@ module Straddle
57
57
  sig { params(correlation_id: String).void }
58
58
  attr_writer :correlation_id
59
59
 
60
+ sig { returns(T.nilable(String)) }
61
+ attr_reader :idempotency_key
62
+
63
+ sig { params(idempotency_key: String).void }
64
+ attr_writer :idempotency_key
65
+
60
66
  sig { returns(T.nilable(String)) }
61
67
  attr_reader :request_id
62
68
 
@@ -79,6 +85,7 @@ module Straddle
79
85
  config: Straddle::Bridge::LinkBankAccountParams::Config::OrHash,
80
86
  metadata: T.nilable(T::Hash[Symbol, String]),
81
87
  correlation_id: String,
88
+ idempotency_key: String,
82
89
  request_id: String,
83
90
  straddle_account_id: String,
84
91
  request_options: Straddle::RequestOptions::OrHash
@@ -97,6 +104,7 @@ module Straddle
97
104
  # information about the paykey in a structured format.
98
105
  metadata: nil,
99
106
  correlation_id: nil,
107
+ idempotency_key: nil,
100
108
  request_id: nil,
101
109
  straddle_account_id: nil,
102
110
  request_options: {}
@@ -114,6 +122,7 @@ module Straddle
114
122
  config: Straddle::Bridge::LinkBankAccountParams::Config,
115
123
  metadata: T.nilable(T::Hash[Symbol, String]),
116
124
  correlation_id: String,
125
+ idempotency_key: String,
117
126
  request_id: String,
118
127
  straddle_account_id: String,
119
128
  request_options: Straddle::RequestOptions
@@ -47,6 +47,12 @@ module Straddle
47
47
  sig { params(correlation_id: String).void }
48
48
  attr_writer :correlation_id
49
49
 
50
+ sig { returns(T.nilable(String)) }
51
+ attr_reader :idempotency_key
52
+
53
+ sig { params(idempotency_key: String).void }
54
+ attr_writer :idempotency_key
55
+
50
56
  sig { returns(T.nilable(String)) }
51
57
  attr_reader :request_id
52
58
 
@@ -66,6 +72,7 @@ module Straddle
66
72
  config: Straddle::Bridge::LinkCreatePaykeyParams::Config::OrHash,
67
73
  metadata: T.nilable(T::Hash[Symbol, String]),
68
74
  correlation_id: String,
75
+ idempotency_key: String,
69
76
  request_id: String,
70
77
  straddle_account_id: String,
71
78
  request_options: Straddle::RequestOptions::OrHash
@@ -82,6 +89,7 @@ module Straddle
82
89
  # information about the paykey in a structured format.
83
90
  metadata: nil,
84
91
  correlation_id: nil,
92
+ idempotency_key: nil,
85
93
  request_id: nil,
86
94
  straddle_account_id: nil,
87
95
  request_options: {}
@@ -96,6 +104,7 @@ module Straddle
96
104
  config: Straddle::Bridge::LinkCreatePaykeyParams::Config,
97
105
  metadata: T.nilable(T::Hash[Symbol, String]),
98
106
  correlation_id: String,
107
+ idempotency_key: String,
99
108
  request_id: String,
100
109
  straddle_account_id: String,
101
110
  request_options: Straddle::RequestOptions
@@ -55,6 +55,12 @@ module Straddle
55
55
  sig { params(correlation_id: String).void }
56
56
  attr_writer :correlation_id
57
57
 
58
+ sig { returns(T.nilable(String)) }
59
+ attr_reader :idempotency_key
60
+
61
+ sig { params(idempotency_key: String).void }
62
+ attr_writer :idempotency_key
63
+
58
64
  sig { returns(T.nilable(String)) }
59
65
  attr_reader :request_id
60
66
 
@@ -77,6 +83,7 @@ module Straddle
77
83
  config: Straddle::Bridge::LinkCreateTanParams::Config::OrHash,
78
84
  metadata: T.nilable(T::Hash[Symbol, String]),
79
85
  correlation_id: String,
86
+ idempotency_key: String,
80
87
  request_id: String,
81
88
  straddle_account_id: String,
82
89
  request_options: Straddle::RequestOptions::OrHash
@@ -95,6 +102,7 @@ module Straddle
95
102
  # information about the paykey in a structured format.
96
103
  metadata: nil,
97
104
  correlation_id: nil,
105
+ idempotency_key: nil,
98
106
  request_id: nil,
99
107
  straddle_account_id: nil,
100
108
  request_options: {}
@@ -112,6 +120,7 @@ module Straddle
112
120
  config: Straddle::Bridge::LinkCreateTanParams::Config,
113
121
  metadata: T.nilable(T::Hash[Symbol, String]),
114
122
  correlation_id: String,
123
+ idempotency_key: String,
115
124
  request_id: String,
116
125
  straddle_account_id: String,
117
126
  request_options: Straddle::RequestOptions
@@ -43,6 +43,12 @@ module Straddle
43
43
  sig { params(correlation_id: String).void }
44
44
  attr_writer :correlation_id
45
45
 
46
+ sig { returns(T.nilable(String)) }
47
+ attr_reader :idempotency_key
48
+
49
+ sig { params(idempotency_key: String).void }
50
+ attr_writer :idempotency_key
51
+
46
52
  sig { returns(T.nilable(String)) }
47
53
  attr_reader :request_id
48
54
 
@@ -62,6 +68,7 @@ module Straddle
62
68
  config: Straddle::Bridge::LinkPlaidParams::Config::OrHash,
63
69
  metadata: T.nilable(T::Hash[Symbol, String]),
64
70
  correlation_id: String,
71
+ idempotency_key: String,
65
72
  request_id: String,
66
73
  straddle_account_id: String,
67
74
  request_options: Straddle::RequestOptions::OrHash
@@ -78,6 +85,7 @@ module Straddle
78
85
  # information about the paykey in a structured format.
79
86
  metadata: nil,
80
87
  correlation_id: nil,
88
+ idempotency_key: nil,
81
89
  request_id: nil,
82
90
  straddle_account_id: nil,
83
91
  request_options: {}
@@ -92,6 +100,7 @@ module Straddle
92
100
  config: Straddle::Bridge::LinkPlaidParams::Config,
93
101
  metadata: T.nilable(T::Hash[Symbol, String]),
94
102
  correlation_id: String,
103
+ idempotency_key: String,
95
104
  request_id: String,
96
105
  straddle_account_id: String,
97
106
  request_options: Straddle::RequestOptions
@@ -30,6 +30,12 @@ module Straddle
30
30
  sig { params(correlation_id: String).void }
31
31
  attr_writer :correlation_id
32
32
 
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :idempotency_key
35
+
36
+ sig { params(idempotency_key: String).void }
37
+ attr_writer :idempotency_key
38
+
33
39
  sig { returns(T.nilable(String)) }
34
40
  attr_reader :request_id
35
41
 
@@ -47,6 +53,7 @@ module Straddle
47
53
  customer_id: String,
48
54
  config: Straddle::BridgeInitializeParams::Config::OrHash,
49
55
  correlation_id: String,
56
+ idempotency_key: String,
50
57
  request_id: String,
51
58
  straddle_account_id: String,
52
59
  request_options: Straddle::RequestOptions::OrHash
@@ -58,6 +65,7 @@ module Straddle
58
65
  customer_id:,
59
66
  config: nil,
60
67
  correlation_id: nil,
68
+ idempotency_key: nil,
61
69
  request_id: nil,
62
70
  straddle_account_id: nil,
63
71
  request_options: {}
@@ -70,6 +78,7 @@ module Straddle
70
78
  customer_id: String,
71
79
  config: Straddle::BridgeInitializeParams::Config,
72
80
  correlation_id: String,
81
+ idempotency_key: String,
73
82
  request_id: String,
74
83
  straddle_account_id: String,
75
84
  request_options: Straddle::RequestOptions
@@ -21,6 +21,12 @@ module Straddle
21
21
  sig { params(correlation_id: String).void }
22
22
  attr_writer :correlation_id
23
23
 
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :idempotency_key
26
+
27
+ sig { params(idempotency_key: String).void }
28
+ attr_writer :idempotency_key
29
+
24
30
  sig { returns(T.nilable(String)) }
25
31
  attr_reader :request_id
26
32
 
@@ -37,6 +43,7 @@ module Straddle
37
43
  params(
38
44
  reason: T.nilable(String),
39
45
  correlation_id: String,
46
+ idempotency_key: String,
40
47
  request_id: String,
41
48
  straddle_account_id: String,
42
49
  request_options: Straddle::RequestOptions::OrHash
@@ -46,6 +53,7 @@ module Straddle
46
53
  # Details about why the charge status was updated.
47
54
  reason: nil,
48
55
  correlation_id: nil,
56
+ idempotency_key: nil,
49
57
  request_id: nil,
50
58
  straddle_account_id: nil,
51
59
  request_options: {}
@@ -57,6 +65,7 @@ module Straddle
57
65
  {
58
66
  reason: T.nilable(String),
59
67
  correlation_id: String,
68
+ idempotency_key: String,
60
69
  request_id: String,
61
70
  straddle_account_id: String,
62
71
  request_options: Straddle::RequestOptions