finch-api 0.1.0.pre.alpha.30 → 0.1.0.pre.alpha.32

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 (205) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -0
  3. data/README.md +1 -1
  4. data/lib/finch_api/errors.rb +25 -11
  5. data/lib/finch_api/file_part.rb +10 -7
  6. data/lib/finch_api/internal/individuals_page.rb +1 -1
  7. data/lib/finch_api/internal/page.rb +1 -1
  8. data/lib/finch_api/internal/responses_page.rb +1 -1
  9. data/lib/finch_api/internal/single_page.rb +1 -1
  10. data/lib/finch_api/internal/transport/base_client.rb +11 -7
  11. data/lib/finch_api/internal/transport/pooled_net_requester.rb +34 -31
  12. data/lib/finch_api/internal/type/base_page.rb +1 -1
  13. data/lib/finch_api/internal/type/file_input.rb +7 -4
  14. data/lib/finch_api/internal/util.rb +8 -7
  15. data/lib/finch_api/models/connect/session_new_params.rb +66 -50
  16. data/lib/finch_api/models/connect/session_reauthenticate_params.rb +10 -10
  17. data/lib/finch_api/models/create_access_token_response.rb +9 -1
  18. data/lib/finch_api/models/hris/benefit_contribution.rb +124 -29
  19. data/lib/finch_api/models/hris/benefit_create_params.rb +9 -1
  20. data/lib/finch_api/models/hris/benefit_list_params.rb +9 -1
  21. data/lib/finch_api/models/hris/benefit_list_supported_benefits_params.rb +9 -1
  22. data/lib/finch_api/models/hris/benefit_retrieve_params.rb +9 -1
  23. data/lib/finch_api/models/hris/benefit_update_params.rb +9 -1
  24. data/lib/finch_api/models/hris/benefits/individual_benefit.rb +222 -6
  25. data/lib/finch_api/models/hris/benefits/individual_enroll_many_params.rb +40 -2
  26. data/lib/finch_api/models/hris/benefits/individual_enrolled_ids_params.rb +9 -1
  27. data/lib/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rb +9 -1
  28. data/lib/finch_api/models/hris/benefits/individual_unenroll_many_params.rb +9 -1
  29. data/lib/finch_api/models/hris/company/pay_statement_item/rule_create_params.rb +9 -1
  30. data/lib/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rb +9 -1
  31. data/lib/finch_api/models/hris/company/pay_statement_item/rule_list_params.rb +9 -1
  32. data/lib/finch_api/models/hris/company/pay_statement_item/rule_update_params.rb +10 -1
  33. data/lib/finch_api/models/hris/company/pay_statement_item_list_params.rb +9 -1
  34. data/lib/finch_api/models/hris/company_retrieve_params.rb +9 -1
  35. data/lib/finch_api/models/hris/directory_list_individuals_params.rb +9 -1
  36. data/lib/finch_api/models/hris/directory_list_params.rb +9 -1
  37. data/lib/finch_api/models/hris/document_list_params.rb +9 -1
  38. data/lib/finch_api/models/hris/document_response.rb +11 -11
  39. data/lib/finch_api/models/hris/document_retreive_params.rb +9 -1
  40. data/lib/finch_api/models/hris/employment_retrieve_many_params.rb +9 -1
  41. data/lib/finch_api/models/hris/individual_retrieve_many_params.rb +11 -1
  42. data/lib/finch_api/models/hris/pay_statement.rb +11 -15
  43. data/lib/finch_api/models/hris/pay_statement_retrieve_many_params.rb +9 -1
  44. data/lib/finch_api/models/hris/payment_list_params.rb +9 -1
  45. data/lib/finch_api/models/hris/supported_benefit.rb +1 -0
  46. data/lib/finch_api/models/hris/w42005.rb +20 -20
  47. data/lib/finch_api/models/hris/w42020.rb +30 -30
  48. data/lib/finch_api/models/introspection.rb +38 -23
  49. data/lib/finch_api/models/jobs/automated_list_params.rb +1 -14
  50. data/lib/finch_api/models/jobs/automated_retrieve_params.rb +1 -14
  51. data/lib/finch_api/models/jobs/manual_retrieve_params.rb +1 -14
  52. data/lib/finch_api/models/payroll/pay_group_list_params.rb +11 -1
  53. data/lib/finch_api/models/payroll/pay_group_retrieve_params.rb +9 -1
  54. data/lib/finch_api/models/provider.rb +42 -1092
  55. data/lib/finch_api/models/provider_list_response.rb +143 -0
  56. data/lib/finch_api/models/request_forwarding_forward_params.rb +10 -6
  57. data/lib/finch_api/models/request_forwarding_forward_response.rb +69 -48
  58. data/lib/finch_api/resources/connect/sessions.rb +12 -12
  59. data/lib/finch_api/resources/hris/benefits/individuals.rb +24 -10
  60. data/lib/finch_api/resources/hris/benefits.rb +37 -16
  61. data/lib/finch_api/resources/hris/company/pay_statement_item/rules.rb +38 -15
  62. data/lib/finch_api/resources/hris/company/pay_statement_item.rb +3 -1
  63. data/lib/finch_api/resources/hris/company.rb +6 -2
  64. data/lib/finch_api/resources/hris/directory.rb +3 -1
  65. data/lib/finch_api/resources/hris/documents.rb +9 -3
  66. data/lib/finch_api/resources/hris/employments.rb +7 -3
  67. data/lib/finch_api/resources/hris/individuals.rb +10 -4
  68. data/lib/finch_api/resources/hris/pay_statements.rb +7 -3
  69. data/lib/finch_api/resources/hris/payments.rb +3 -1
  70. data/lib/finch_api/resources/jobs/automated.rb +3 -16
  71. data/lib/finch_api/resources/jobs/manual.rb +2 -10
  72. data/lib/finch_api/resources/payroll/pay_groups.rb +12 -3
  73. data/lib/finch_api/resources/providers.rb +2 -2
  74. data/lib/finch_api/resources/request_forwarding.rb +2 -2
  75. data/lib/finch_api/version.rb +1 -1
  76. data/lib/finch_api.rb +1 -0
  77. data/rbi/finch_api/errors.rbi +29 -2
  78. data/rbi/finch_api/file_part.rbi +1 -1
  79. data/rbi/finch_api/internal/transport/base_client.rbi +4 -5
  80. data/rbi/finch_api/internal/type/base_page.rbi +1 -1
  81. data/rbi/finch_api/internal/util.rbi +1 -1
  82. data/rbi/finch_api/models/connect/session_new_params.rbi +124 -98
  83. data/rbi/finch_api/models/connect/session_reauthenticate_params.rbi +23 -23
  84. data/rbi/finch_api/models/create_access_token_response.rbi +8 -0
  85. data/rbi/finch_api/models/hris/benefit_contribution.rbi +270 -52
  86. data/rbi/finch_api/models/hris/benefit_create_params.rbi +11 -0
  87. data/rbi/finch_api/models/hris/benefit_list_params.rbi +24 -5
  88. data/rbi/finch_api/models/hris/benefit_list_supported_benefits_params.rbi +24 -5
  89. data/rbi/finch_api/models/hris/benefit_retrieve_params.rbi +24 -5
  90. data/rbi/finch_api/models/hris/benefit_update_params.rbi +15 -1
  91. data/rbi/finch_api/models/hris/benefits/individual_benefit.rbi +515 -20
  92. data/rbi/finch_api/models/hris/benefits/individual_enroll_many_params.rbi +87 -0
  93. data/rbi/finch_api/models/hris/benefits/individual_enrolled_ids_params.rbi +22 -5
  94. data/rbi/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rbi +11 -0
  95. data/rbi/finch_api/models/hris/benefits/individual_unenroll_many_params.rbi +11 -0
  96. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_params.rbi +11 -0
  97. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbi +22 -5
  98. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_params.rbi +22 -5
  99. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbi +15 -1
  100. data/rbi/finch_api/models/hris/company/pay_statement_item_list_params.rbi +11 -0
  101. data/rbi/finch_api/models/hris/company_retrieve_params.rbi +24 -5
  102. data/rbi/finch_api/models/hris/directory_list_individuals_params.rbi +11 -0
  103. data/rbi/finch_api/models/hris/directory_list_params.rbi +11 -0
  104. data/rbi/finch_api/models/hris/document_list_params.rbi +11 -0
  105. data/rbi/finch_api/models/hris/document_response.rbi +14 -29
  106. data/rbi/finch_api/models/hris/document_retreive_params.rbi +24 -5
  107. data/rbi/finch_api/models/hris/employment_retrieve_many_params.rbi +11 -0
  108. data/rbi/finch_api/models/hris/individual_retrieve_many_params.rbi +16 -1
  109. data/rbi/finch_api/models/hris/pay_statement.rbi +9 -34
  110. data/rbi/finch_api/models/hris/pay_statement_retrieve_many_params.rbi +11 -0
  111. data/rbi/finch_api/models/hris/payment_list_params.rbi +11 -0
  112. data/rbi/finch_api/models/hris/supported_benefit.rbi +5 -0
  113. data/rbi/finch_api/models/hris/w42005.rbi +28 -38
  114. data/rbi/finch_api/models/hris/w42020.rbi +37 -43
  115. data/rbi/finch_api/models/introspection.rbi +57 -33
  116. data/rbi/finch_api/models/jobs/automated_list_params.rbi +0 -15
  117. data/rbi/finch_api/models/jobs/automated_retrieve_params.rbi +5 -25
  118. data/rbi/finch_api/models/jobs/manual_retrieve_params.rbi +5 -25
  119. data/rbi/finch_api/models/payroll/pay_group_list_params.rbi +11 -0
  120. data/rbi/finch_api/models/payroll/pay_group_retrieve_params.rbi +24 -5
  121. data/rbi/finch_api/models/provider.rbi +75 -2507
  122. data/rbi/finch_api/models/provider_list_response.rbi +280 -0
  123. data/rbi/finch_api/models/request_forwarding_forward_params.rbi +6 -6
  124. data/rbi/finch_api/models/request_forwarding_forward_response.rbi +93 -60
  125. data/rbi/finch_api/resources/connect/sessions.rbi +22 -14
  126. data/rbi/finch_api/resources/hris/benefits/individuals.rbi +20 -3
  127. data/rbi/finch_api/resources/hris/benefits.rbi +39 -12
  128. data/rbi/finch_api/resources/hris/company/pay_statement_item/rules.rbi +35 -8
  129. data/rbi/finch_api/resources/hris/company/pay_statement_item.rbi +3 -0
  130. data/rbi/finch_api/resources/hris/company.rbi +9 -4
  131. data/rbi/finch_api/resources/hris/directory.rbi +3 -0
  132. data/rbi/finch_api/resources/hris/documents.rbi +6 -0
  133. data/rbi/finch_api/resources/hris/employments.rbi +4 -1
  134. data/rbi/finch_api/resources/hris/individuals.rbi +10 -1
  135. data/rbi/finch_api/resources/hris/pay_statements.rbi +4 -1
  136. data/rbi/finch_api/resources/hris/payments.rbi +3 -0
  137. data/rbi/finch_api/resources/jobs/automated.rbi +1 -14
  138. data/rbi/finch_api/resources/jobs/manual.rbi +1 -9
  139. data/rbi/finch_api/resources/payroll/pay_groups.rbi +15 -2
  140. data/rbi/finch_api/resources/providers.rbi +1 -1
  141. data/rbi/finch_api/resources/request_forwarding.rbi +2 -2
  142. data/sig/finch_api/errors.rbs +7 -0
  143. data/sig/finch_api/file_part.rbs +1 -1
  144. data/sig/finch_api/models/connect/session_new_params.rbs +45 -45
  145. data/sig/finch_api/models/connect/session_reauthenticate_params.rbs +15 -15
  146. data/sig/finch_api/models/create_access_token_response.rbs +5 -0
  147. data/sig/finch_api/models/hris/benefit_contribution.rbs +107 -21
  148. data/sig/finch_api/models/hris/benefit_create_params.rbs +7 -0
  149. data/sig/finch_api/models/hris/benefit_list_params.rbs +14 -3
  150. data/sig/finch_api/models/hris/benefit_list_supported_benefits_params.rbs +14 -3
  151. data/sig/finch_api/models/hris/benefit_retrieve_params.rbs +14 -3
  152. data/sig/finch_api/models/hris/benefit_update_params.rbs +8 -1
  153. data/sig/finch_api/models/hris/benefits/individual_benefit.rbs +201 -8
  154. data/sig/finch_api/models/hris/benefits/individual_enroll_many_params.rbs +30 -1
  155. data/sig/finch_api/models/hris/benefits/individual_enrolled_ids_params.rbs +14 -3
  156. data/sig/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rbs +7 -1
  157. data/sig/finch_api/models/hris/benefits/individual_unenroll_many_params.rbs +7 -1
  158. data/sig/finch_api/models/hris/benfit_contribution.rbs +1 -1
  159. data/sig/finch_api/models/hris/company/pay_statement_item/rule_create_params.rbs +7 -0
  160. data/sig/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbs +14 -3
  161. data/sig/finch_api/models/hris/company/pay_statement_item/rule_list_params.rbs +14 -3
  162. data/sig/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbs +7 -1
  163. data/sig/finch_api/models/hris/company/pay_statement_item_list_params.rbs +7 -0
  164. data/sig/finch_api/models/hris/company_retrieve_params.rbs +14 -3
  165. data/sig/finch_api/models/hris/directory_list_individuals_params.rbs +7 -1
  166. data/sig/finch_api/models/hris/directory_list_params.rbs +7 -1
  167. data/sig/finch_api/models/hris/document_list_params.rbs +7 -0
  168. data/sig/finch_api/models/hris/document_response.rbs +11 -19
  169. data/sig/finch_api/models/hris/document_retreive_params.rbs +14 -3
  170. data/sig/finch_api/models/hris/employment_retrieve_many_params.rbs +8 -1
  171. data/sig/finch_api/models/hris/individual_retrieve_many_params.rbs +7 -0
  172. data/sig/finch_api/models/hris/pay_statement.rbs +12 -12
  173. data/sig/finch_api/models/hris/pay_statement_retrieve_many_params.rbs +8 -1
  174. data/sig/finch_api/models/hris/payment_list_params.rbs +7 -1
  175. data/sig/finch_api/models/hris/supported_benefit.rbs +2 -1
  176. data/sig/finch_api/models/hris/w42005.rbs +23 -37
  177. data/sig/finch_api/models/hris/w42020.rbs +35 -45
  178. data/sig/finch_api/models/introspection.rbs +29 -20
  179. data/sig/finch_api/models/jobs/automated_list_params.rbs +1 -7
  180. data/sig/finch_api/models/jobs/automated_retrieve_params.rbs +3 -13
  181. data/sig/finch_api/models/jobs/manual_retrieve_params.rbs +3 -13
  182. data/sig/finch_api/models/payroll/pay_group_list_params.rbs +11 -1
  183. data/sig/finch_api/models/payroll/pay_group_retrieve_params.rbs +14 -3
  184. data/sig/finch_api/models/provider.rbs +31 -1366
  185. data/sig/finch_api/models/provider_list_response.rbs +128 -0
  186. data/sig/finch_api/models/request_forwarding_forward_params.rbs +8 -8
  187. data/sig/finch_api/models/request_forwarding_forward_response.rbs +40 -30
  188. data/sig/finch_api/resources/connect/sessions.rbs +9 -9
  189. data/sig/finch_api/resources/hris/benefits/individuals.rbs +4 -0
  190. data/sig/finch_api/resources/hris/benefits.rbs +5 -0
  191. data/sig/finch_api/resources/hris/company/pay_statement_item/rules.rbs +4 -0
  192. data/sig/finch_api/resources/hris/company/pay_statement_item.rbs +1 -0
  193. data/sig/finch_api/resources/hris/company.rbs +1 -0
  194. data/sig/finch_api/resources/hris/directory.rbs +1 -0
  195. data/sig/finch_api/resources/hris/documents.rbs +2 -0
  196. data/sig/finch_api/resources/hris/employments.rbs +1 -0
  197. data/sig/finch_api/resources/hris/individuals.rbs +1 -0
  198. data/sig/finch_api/resources/hris/pay_statements.rbs +1 -0
  199. data/sig/finch_api/resources/hris/payments.rbs +1 -0
  200. data/sig/finch_api/resources/jobs/automated.rbs +0 -2
  201. data/sig/finch_api/resources/jobs/manual.rbs +0 -1
  202. data/sig/finch_api/resources/payroll/pay_groups.rbs +2 -0
  203. data/sig/finch_api/resources/providers.rbs +1 -1
  204. data/sig/finch_api/resources/request_forwarding.rbs +2 -2
  205. metadata +5 -2
@@ -361,7 +361,7 @@ module FinchAPI
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)
@@ -15,22 +15,19 @@ module FinchAPI
15
15
  )
16
16
  end
17
17
 
18
+ # Email address of the customer
19
+ sig { returns(T.nilable(String)) }
20
+ attr_accessor :customer_email
21
+
22
+ # Unique identifier for the customer
18
23
  sig { returns(String) }
19
24
  attr_accessor :customer_id
20
25
 
26
+ # Name of the customer
21
27
  sig { returns(String) }
22
28
  attr_accessor :customer_name
23
29
 
24
- sig do
25
- returns(
26
- T::Array[FinchAPI::Connect::SessionNewParams::Product::OrSymbol]
27
- )
28
- end
29
- attr_accessor :products
30
-
31
- sig { returns(T.nilable(String)) }
32
- attr_accessor :customer_email
33
-
30
+ # Integration configuration for the connect session
34
31
  sig do
35
32
  returns(T.nilable(FinchAPI::Connect::SessionNewParams::Integration))
36
33
  end
@@ -46,6 +43,7 @@ module FinchAPI
46
43
  end
47
44
  attr_writer :integration
48
45
 
46
+ # Enable manual authentication mode
49
47
  sig { returns(T.nilable(T::Boolean)) }
50
48
  attr_accessor :manual
51
49
 
@@ -54,9 +52,19 @@ module FinchAPI
54
52
  sig { returns(T.nilable(Float)) }
55
53
  attr_accessor :minutes_to_expire
56
54
 
55
+ # The Finch products to request access to
56
+ sig do
57
+ returns(
58
+ T::Array[FinchAPI::Connect::SessionNewParams::Product::OrSymbol]
59
+ )
60
+ end
61
+ attr_accessor :products
62
+
63
+ # The URI to redirect to after the Connect flow is completed
57
64
  sig { returns(T.nilable(String)) }
58
65
  attr_accessor :redirect_uri
59
66
 
67
+ # Sandbox mode for testing
60
68
  sig do
61
69
  returns(
62
70
  T.nilable(FinchAPI::Connect::SessionNewParams::Sandbox::OrSymbol)
@@ -66,17 +74,17 @@ module FinchAPI
66
74
 
67
75
  sig do
68
76
  params(
77
+ customer_email: T.nilable(String),
69
78
  customer_id: String,
70
79
  customer_name: String,
71
- products:
72
- T::Array[FinchAPI::Connect::SessionNewParams::Product::OrSymbol],
73
- customer_email: T.nilable(String),
74
80
  integration:
75
81
  T.nilable(
76
82
  FinchAPI::Connect::SessionNewParams::Integration::OrHash
77
83
  ),
78
84
  manual: T.nilable(T::Boolean),
79
85
  minutes_to_expire: T.nilable(Float),
86
+ products:
87
+ T::Array[FinchAPI::Connect::SessionNewParams::Product::OrSymbol],
80
88
  redirect_uri: T.nilable(String),
81
89
  sandbox:
82
90
  T.nilable(FinchAPI::Connect::SessionNewParams::Sandbox::OrSymbol),
@@ -84,17 +92,25 @@ module FinchAPI
84
92
  ).returns(T.attached_class)
85
93
  end
86
94
  def self.new(
95
+ # Email address of the customer
96
+ customer_email:,
97
+ # Unique identifier for the customer
87
98
  customer_id:,
99
+ # Name of the customer
88
100
  customer_name:,
89
- products:,
90
- customer_email: nil,
91
- integration: nil,
92
- manual: nil,
101
+ # Integration configuration for the connect session
102
+ integration:,
103
+ # Enable manual authentication mode
104
+ manual:,
93
105
  # The number of minutes until the session expires (defaults to 129,600, which is
94
106
  # 90 days)
95
- minutes_to_expire: nil,
96
- redirect_uri: nil,
97
- sandbox: nil,
107
+ minutes_to_expire:,
108
+ # The Finch products to request access to
109
+ products:,
110
+ # The URI to redirect to after the Connect flow is completed
111
+ redirect_uri:,
112
+ # Sandbox mode for testing
113
+ sandbox:,
98
114
  request_options: {}
99
115
  )
100
116
  end
@@ -102,17 +118,17 @@ module FinchAPI
102
118
  sig do
103
119
  override.returns(
104
120
  {
121
+ customer_email: T.nilable(String),
105
122
  customer_id: String,
106
123
  customer_name: String,
107
- products:
108
- T::Array[
109
- FinchAPI::Connect::SessionNewParams::Product::OrSymbol
110
- ],
111
- customer_email: T.nilable(String),
112
124
  integration:
113
125
  T.nilable(FinchAPI::Connect::SessionNewParams::Integration),
114
126
  manual: T.nilable(T::Boolean),
115
127
  minutes_to_expire: T.nilable(Float),
128
+ products:
129
+ T::Array[
130
+ FinchAPI::Connect::SessionNewParams::Product::OrSymbol
131
+ ],
116
132
  redirect_uri: T.nilable(String),
117
133
  sandbox:
118
134
  T.nilable(
@@ -125,78 +141,6 @@ module FinchAPI
125
141
  def to_hash
126
142
  end
127
143
 
128
- # The Finch products that can be requested during the Connect flow.
129
- module Product
130
- extend FinchAPI::Internal::Type::Enum
131
-
132
- TaggedSymbol =
133
- T.type_alias do
134
- T.all(Symbol, FinchAPI::Connect::SessionNewParams::Product)
135
- end
136
- OrSymbol = T.type_alias { T.any(Symbol, String) }
137
-
138
- COMPANY =
139
- T.let(
140
- :company,
141
- FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
142
- )
143
- DIRECTORY =
144
- T.let(
145
- :directory,
146
- FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
147
- )
148
- INDIVIDUAL =
149
- T.let(
150
- :individual,
151
- FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
152
- )
153
- EMPLOYMENT =
154
- T.let(
155
- :employment,
156
- FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
157
- )
158
- PAYMENT =
159
- T.let(
160
- :payment,
161
- FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
162
- )
163
- PAY_STATEMENT =
164
- T.let(
165
- :pay_statement,
166
- FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
167
- )
168
- BENEFITS =
169
- T.let(
170
- :benefits,
171
- FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
172
- )
173
- SSN =
174
- T.let(
175
- :ssn,
176
- FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
177
- )
178
- DEDUCTION =
179
- T.let(
180
- :deduction,
181
- FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
182
- )
183
- DOCUMENTS =
184
- T.let(
185
- :documents,
186
- FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
187
- )
188
-
189
- sig do
190
- override.returns(
191
- T::Array[
192
- FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
193
- ]
194
- )
195
- end
196
- def self.values
197
- end
198
- end
199
-
200
144
  class Integration < FinchAPI::Internal::Type::BaseModel
201
145
  OrHash =
202
146
  T.type_alias do
@@ -206,6 +150,7 @@ module FinchAPI
206
150
  )
207
151
  end
208
152
 
153
+ # The authentication method to use
209
154
  sig do
210
155
  returns(
211
156
  T.nilable(
@@ -215,9 +160,11 @@ module FinchAPI
215
160
  end
216
161
  attr_accessor :auth_method
217
162
 
163
+ # The provider to integrate with
218
164
  sig { returns(T.nilable(String)) }
219
165
  attr_accessor :provider
220
166
 
167
+ # Integration configuration for the connect session
221
168
  sig do
222
169
  params(
223
170
  auth_method:
@@ -227,7 +174,12 @@ module FinchAPI
227
174
  provider: T.nilable(String)
228
175
  ).returns(T.attached_class)
229
176
  end
230
- def self.new(auth_method: nil, provider: nil)
177
+ def self.new(
178
+ # The authentication method to use
179
+ auth_method:,
180
+ # The provider to integrate with
181
+ provider:
182
+ )
231
183
  end
232
184
 
233
185
  sig do
@@ -244,6 +196,7 @@ module FinchAPI
244
196
  def to_hash
245
197
  end
246
198
 
199
+ # The authentication method to use
247
200
  module AuthMethod
248
201
  extend FinchAPI::Internal::Type::Enum
249
202
 
@@ -289,6 +242,79 @@ module FinchAPI
289
242
  end
290
243
  end
291
244
 
245
+ # The Finch products that can be requested during the Connect flow.
246
+ module Product
247
+ extend FinchAPI::Internal::Type::Enum
248
+
249
+ TaggedSymbol =
250
+ T.type_alias do
251
+ T.all(Symbol, FinchAPI::Connect::SessionNewParams::Product)
252
+ end
253
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
254
+
255
+ BENEFITS =
256
+ T.let(
257
+ :benefits,
258
+ FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
259
+ )
260
+ COMPANY =
261
+ T.let(
262
+ :company,
263
+ FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
264
+ )
265
+ DEDUCTION =
266
+ T.let(
267
+ :deduction,
268
+ FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
269
+ )
270
+ DIRECTORY =
271
+ T.let(
272
+ :directory,
273
+ FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
274
+ )
275
+ DOCUMENTS =
276
+ T.let(
277
+ :documents,
278
+ FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
279
+ )
280
+ EMPLOYMENT =
281
+ T.let(
282
+ :employment,
283
+ FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
284
+ )
285
+ INDIVIDUAL =
286
+ T.let(
287
+ :individual,
288
+ FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
289
+ )
290
+ PAYMENT =
291
+ T.let(
292
+ :payment,
293
+ FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
294
+ )
295
+ PAY_STATEMENT =
296
+ T.let(
297
+ :pay_statement,
298
+ FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
299
+ )
300
+ SSN =
301
+ T.let(
302
+ :ssn,
303
+ FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
304
+ )
305
+
306
+ sig do
307
+ override.returns(
308
+ T::Array[
309
+ FinchAPI::Connect::SessionNewParams::Product::TaggedSymbol
310
+ ]
311
+ )
312
+ end
313
+ def self.values
314
+ end
315
+ end
316
+
317
+ # Sandbox mode for testing
292
318
  module Sandbox
293
319
  extend FinchAPI::Internal::Type::Enum
294
320
 
@@ -21,7 +21,7 @@ module FinchAPI
21
21
 
22
22
  # The number of minutes until the session expires (defaults to 43,200, which is 30
23
23
  # days)
24
- sig { returns(T.nilable(Integer)) }
24
+ sig { returns(Integer) }
25
25
  attr_accessor :minutes_to_expire
26
26
 
27
27
  # The products to request access to (optional for reauthentication)
@@ -43,7 +43,7 @@ module FinchAPI
43
43
  sig do
44
44
  params(
45
45
  connection_id: String,
46
- minutes_to_expire: T.nilable(Integer),
46
+ minutes_to_expire: Integer,
47
47
  products:
48
48
  T.nilable(
49
49
  T::Array[
@@ -59,11 +59,11 @@ module FinchAPI
59
59
  connection_id:,
60
60
  # The number of minutes until the session expires (defaults to 43,200, which is 30
61
61
  # days)
62
- minutes_to_expire: nil,
62
+ minutes_to_expire:,
63
63
  # The products to request access to (optional for reauthentication)
64
- products: nil,
64
+ products:,
65
65
  # The URI to redirect to after the Connect flow is completed
66
- redirect_uri: nil,
66
+ redirect_uri:,
67
67
  request_options: {}
68
68
  )
69
69
  end
@@ -72,7 +72,7 @@ module FinchAPI
72
72
  override.returns(
73
73
  {
74
74
  connection_id: String,
75
- minutes_to_expire: T.nilable(Integer),
75
+ minutes_to_expire: Integer,
76
76
  products:
77
77
  T.nilable(
78
78
  T::Array[
@@ -100,19 +100,29 @@ module FinchAPI
100
100
  end
101
101
  OrSymbol = T.type_alias { T.any(Symbol, String) }
102
102
 
103
+ BENEFITS =
104
+ T.let(
105
+ :benefits,
106
+ FinchAPI::Connect::SessionReauthenticateParams::Product::TaggedSymbol
107
+ )
103
108
  COMPANY =
104
109
  T.let(
105
110
  :company,
106
111
  FinchAPI::Connect::SessionReauthenticateParams::Product::TaggedSymbol
107
112
  )
113
+ DEDUCTION =
114
+ T.let(
115
+ :deduction,
116
+ FinchAPI::Connect::SessionReauthenticateParams::Product::TaggedSymbol
117
+ )
108
118
  DIRECTORY =
109
119
  T.let(
110
120
  :directory,
111
121
  FinchAPI::Connect::SessionReauthenticateParams::Product::TaggedSymbol
112
122
  )
113
- INDIVIDUAL =
123
+ DOCUMENTS =
114
124
  T.let(
115
- :individual,
125
+ :documents,
116
126
  FinchAPI::Connect::SessionReauthenticateParams::Product::TaggedSymbol
117
127
  )
118
128
  EMPLOYMENT =
@@ -120,6 +130,11 @@ module FinchAPI
120
130
  :employment,
121
131
  FinchAPI::Connect::SessionReauthenticateParams::Product::TaggedSymbol
122
132
  )
133
+ INDIVIDUAL =
134
+ T.let(
135
+ :individual,
136
+ FinchAPI::Connect::SessionReauthenticateParams::Product::TaggedSymbol
137
+ )
123
138
  PAYMENT =
124
139
  T.let(
125
140
  :payment,
@@ -130,26 +145,11 @@ module FinchAPI
130
145
  :pay_statement,
131
146
  FinchAPI::Connect::SessionReauthenticateParams::Product::TaggedSymbol
132
147
  )
133
- BENEFITS =
134
- T.let(
135
- :benefits,
136
- FinchAPI::Connect::SessionReauthenticateParams::Product::TaggedSymbol
137
- )
138
148
  SSN =
139
149
  T.let(
140
150
  :ssn,
141
151
  FinchAPI::Connect::SessionReauthenticateParams::Product::TaggedSymbol
142
152
  )
143
- DEDUCTION =
144
- T.let(
145
- :deduction,
146
- FinchAPI::Connect::SessionReauthenticateParams::Product::TaggedSymbol
147
- )
148
- DOCUMENTS =
149
- T.let(
150
- :documents,
151
- FinchAPI::Connect::SessionReauthenticateParams::Product::TaggedSymbol
152
- )
153
153
 
154
154
  sig do
155
155
  override.returns(
@@ -36,6 +36,10 @@ module FinchAPI
36
36
  end
37
37
  attr_accessor :connection_type
38
38
 
39
+ # An array of entity IDs that can be accessed with this access token
40
+ sig { returns(T::Array[String]) }
41
+ attr_accessor :entity_ids
42
+
39
43
  # An array of the authorized products associated with the `access_token`
40
44
  sig { returns(T::Array[String]) }
41
45
  attr_accessor :products
@@ -77,6 +81,7 @@ module FinchAPI
77
81
  connection_id: String,
78
82
  connection_type:
79
83
  FinchAPI::CreateAccessTokenResponse::ConnectionType::OrSymbol,
84
+ entity_ids: T::Array[String],
80
85
  products: T::Array[String],
81
86
  provider_id: String,
82
87
  token_type: String,
@@ -97,6 +102,8 @@ module FinchAPI
97
102
  # - `provider` - connection to an external provider
98
103
  # - `finch` - finch-generated data.
99
104
  connection_type:,
105
+ # An array of entity IDs that can be accessed with this access token
106
+ entity_ids:,
100
107
  # An array of the authorized products associated with the `access_token`
101
108
  products:,
102
109
  # The ID of the provider associated with the `access_token`
@@ -124,6 +131,7 @@ module FinchAPI
124
131
  connection_id: String,
125
132
  connection_type:
126
133
  FinchAPI::CreateAccessTokenResponse::ConnectionType::TaggedSymbol,
134
+ entity_ids: T::Array[String],
127
135
  products: T::Array[String],
128
136
  provider_id: String,
129
137
  token_type: String,