voltaria_sdk 2.34.5

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 (209) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +69 -0
  3. data/README.md +202 -0
  4. data/Rakefile +20 -0
  5. data/custom.gemspec.rb +16 -0
  6. data/lib/voltaria/accounts/client.rb +168 -0
  7. data/lib/voltaria/accounts/types/get_client_account_request.rb +12 -0
  8. data/lib/voltaria/accounts/types/list_client_account_fields_request.rb +11 -0
  9. data/lib/voltaria/accounts/types/list_client_accounts_request.rb +14 -0
  10. data/lib/voltaria/accounts/types/partner_client_account_create_request.rb +23 -0
  11. data/lib/voltaria/accounts/types/partner_client_account_create_request_status.rb +14 -0
  12. data/lib/voltaria/client.rb +74 -0
  13. data/lib/voltaria/clients/client.rb +557 -0
  14. data/lib/voltaria/clients/types/approve_onboarding_request.rb +11 -0
  15. data/lib/voltaria/clients/types/client_create_payload.rb +16 -0
  16. data/lib/voltaria/clients/types/client_data_create_payload.rb +12 -0
  17. data/lib/voltaria/clients/types/client_user_invite_request.rb +16 -0
  18. data/lib/voltaria/clients/types/delete_client_request.rb +11 -0
  19. data/lib/voltaria/clients/types/get_client_by_id_request.rb +11 -0
  20. data/lib/voltaria/clients/types/get_limit_request_request.rb +11 -0
  21. data/lib/voltaria/clients/types/limit_request_create_payload.rb +14 -0
  22. data/lib/voltaria/clients/types/limit_request_create_payload_requested_limit.rb +15 -0
  23. data/lib/voltaria/clients/types/list_client_checklist_summaries_request.rb +13 -0
  24. data/lib/voltaria/clients/types/list_client_waivers_request.rb +15 -0
  25. data/lib/voltaria/clients/types/list_clients_request.rb +14 -0
  26. data/lib/voltaria/clients/types/list_limit_requests_request.rb +15 -0
  27. data/lib/voltaria/clients/types/list_onboarding_clients_request.rb +12 -0
  28. data/lib/voltaria/clients/types/reject_onboarding_request.rb +11 -0
  29. data/lib/voltaria/documents/client.rb +221 -0
  30. data/lib/voltaria/documents/types/delete_document_request.rb +11 -0
  31. data/lib/voltaria/documents/types/document_create_payload.rb +14 -0
  32. data/lib/voltaria/documents/types/get_document_by_id_request.rb +11 -0
  33. data/lib/voltaria/documents/types/list_documents_request.rb +18 -0
  34. data/lib/voltaria/drawdowns/client.rb +141 -0
  35. data/lib/voltaria/drawdowns/types/drawdown_create_payload.rb +12 -0
  36. data/lib/voltaria/drawdowns/types/drawdown_create_payload_amount.rb +15 -0
  37. data/lib/voltaria/drawdowns/types/list_drawdown_checklists_request.rb +15 -0
  38. data/lib/voltaria/drawdowns/types/list_drawdowns_request.rb +14 -0
  39. data/lib/voltaria/environment.rb +8 -0
  40. data/lib/voltaria/errors/api_error.rb +8 -0
  41. data/lib/voltaria/errors/client_error.rb +17 -0
  42. data/lib/voltaria/errors/redirect_error.rb +8 -0
  43. data/lib/voltaria/errors/response_error.rb +42 -0
  44. data/lib/voltaria/errors/server_error.rb +11 -0
  45. data/lib/voltaria/errors/timeout_error.rb +8 -0
  46. data/lib/voltaria/installments/client.rb +292 -0
  47. data/lib/voltaria/installments/types/delete_installment_request.rb +11 -0
  48. data/lib/voltaria/installments/types/get_installment_by_id_request.rb +11 -0
  49. data/lib/voltaria/installments/types/installment_create_payload.rb +12 -0
  50. data/lib/voltaria/installments/types/installment_edit_payload.rb +13 -0
  51. data/lib/voltaria/installments/types/installment_edit_payload_amount.rb +15 -0
  52. data/lib/voltaria/installments/types/list_installments_request.rb +16 -0
  53. data/lib/voltaria/installments/types/list_payment_promises_request.rb +16 -0
  54. data/lib/voltaria/installments/types/payment_promise_create_payload.rb +14 -0
  55. data/lib/voltaria/installments/types/payment_promise_create_payload_amount.rb +15 -0
  56. data/lib/voltaria/internal/errors/constraint_error.rb +10 -0
  57. data/lib/voltaria/internal/errors/type_error.rb +10 -0
  58. data/lib/voltaria/internal/http/base_request.rb +51 -0
  59. data/lib/voltaria/internal/http/raw_client.rb +214 -0
  60. data/lib/voltaria/internal/iterators/cursor_item_iterator.rb +28 -0
  61. data/lib/voltaria/internal/iterators/cursor_page_iterator.rb +51 -0
  62. data/lib/voltaria/internal/iterators/item_iterator.rb +59 -0
  63. data/lib/voltaria/internal/iterators/offset_item_iterator.rb +30 -0
  64. data/lib/voltaria/internal/iterators/offset_page_iterator.rb +83 -0
  65. data/lib/voltaria/internal/json/request.rb +41 -0
  66. data/lib/voltaria/internal/json/serializable.rb +25 -0
  67. data/lib/voltaria/internal/multipart/multipart_encoder.rb +141 -0
  68. data/lib/voltaria/internal/multipart/multipart_form_data.rb +78 -0
  69. data/lib/voltaria/internal/multipart/multipart_form_data_part.rb +51 -0
  70. data/lib/voltaria/internal/multipart/multipart_request.rb +40 -0
  71. data/lib/voltaria/internal/types/array.rb +47 -0
  72. data/lib/voltaria/internal/types/boolean.rb +34 -0
  73. data/lib/voltaria/internal/types/enum.rb +56 -0
  74. data/lib/voltaria/internal/types/hash.rb +36 -0
  75. data/lib/voltaria/internal/types/model/field.rb +38 -0
  76. data/lib/voltaria/internal/types/model.rb +208 -0
  77. data/lib/voltaria/internal/types/type.rb +35 -0
  78. data/lib/voltaria/internal/types/union.rb +161 -0
  79. data/lib/voltaria/internal/types/unknown.rb +15 -0
  80. data/lib/voltaria/internal/types/utils.rb +116 -0
  81. data/lib/voltaria/investors/client.rb +312 -0
  82. data/lib/voltaria/investors/types/investor_get_client_request.rb +11 -0
  83. data/lib/voltaria/investors/types/investor_get_installment_request.rb +11 -0
  84. data/lib/voltaria/investors/types/investor_get_loan_request.rb +11 -0
  85. data/lib/voltaria/investors/types/investor_list_clients_request.rb +14 -0
  86. data/lib/voltaria/investors/types/investor_list_installments_request.rb +16 -0
  87. data/lib/voltaria/investors/types/investor_list_loans_request.rb +15 -0
  88. data/lib/voltaria/investors/types/investor_list_repayments_request.rb +17 -0
  89. data/lib/voltaria/loans/client.rb +271 -0
  90. data/lib/voltaria/loans/types/bulk_loan_create_payload.rb +11 -0
  91. data/lib/voltaria/loans/types/delete_loan_request.rb +11 -0
  92. data/lib/voltaria/loans/types/get_bulk_loan_status_request.rb +11 -0
  93. data/lib/voltaria/loans/types/get_loan_by_id_request.rb +11 -0
  94. data/lib/voltaria/loans/types/list_loans_request.rb +15 -0
  95. data/lib/voltaria/loans/types/loan_create_payload.rb +17 -0
  96. data/lib/voltaria/loans/types/loan_create_payload_amount.rb +15 -0
  97. data/lib/voltaria/loans/types/loan_default_payload.rb +13 -0
  98. data/lib/voltaria/loans/types/loan_default_payload_sold_amount.rb +15 -0
  99. data/lib/voltaria/partners/client.rb +129 -0
  100. data/lib/voltaria/partners/types/list_partner_waterfalls_request.rb +14 -0
  101. data/lib/voltaria/partners/types/partner_data_create_payload.rb +11 -0
  102. data/lib/voltaria/prefix_routing.rb +80 -0
  103. data/lib/voltaria/repayments/client.rb +183 -0
  104. data/lib/voltaria/repayments/types/bulk_repayment_create_payload.rb +11 -0
  105. data/lib/voltaria/repayments/types/get_bulk_repayment_status_request.rb +11 -0
  106. data/lib/voltaria/repayments/types/list_repayment_logs_request.rb +17 -0
  107. data/lib/voltaria/repayments/types/repayment_create_payload.rb +17 -0
  108. data/lib/voltaria/repayments/types/repayment_create_payload_amount.rb +15 -0
  109. data/lib/voltaria/sandbox/client.rb +124 -0
  110. data/lib/voltaria/sandbox/types/client_update_sandbox.rb +13 -0
  111. data/lib/voltaria/sandbox/types/client_update_sandbox_limit.rb +15 -0
  112. data/lib/voltaria/sandbox/types/loan_update_sandbox.rb +12 -0
  113. data/lib/voltaria/sandbox/types/webhook_test_sandbox.rb +12 -0
  114. data/lib/voltaria/types/account_address.rb +14 -0
  115. data/lib/voltaria/types/account_holder_type_enum.rb +12 -0
  116. data/lib/voltaria/types/account_status_enum.rb +13 -0
  117. data/lib/voltaria/types/available_document_categories_response.rb +9 -0
  118. data/lib/voltaria/types/available_funding.rb +15 -0
  119. data/lib/voltaria/types/bulk_loan_item_payload.rb +15 -0
  120. data/lib/voltaria/types/bulk_loan_item_payload_amount.rb +13 -0
  121. data/lib/voltaria/types/bulk_loan_item_result.rb +15 -0
  122. data/lib/voltaria/types/bulk_loan_result.rb +13 -0
  123. data/lib/voltaria/types/bulk_loan_task_response.rb +11 -0
  124. data/lib/voltaria/types/bulk_loan_task_status.rb +14 -0
  125. data/lib/voltaria/types/bulk_repayment_item_payload.rb +15 -0
  126. data/lib/voltaria/types/bulk_repayment_item_payload_amount.rb +13 -0
  127. data/lib/voltaria/types/bulk_repayment_item_result.rb +15 -0
  128. data/lib/voltaria/types/bulk_repayment_result.rb +13 -0
  129. data/lib/voltaria/types/bulk_repayment_task_response.rb +11 -0
  130. data/lib/voltaria/types/bulk_repayment_task_status.rb +14 -0
  131. data/lib/voltaria/types/checklist_summary_partner_response.rb +14 -0
  132. data/lib/voltaria/types/checklist_type_enum.rb +12 -0
  133. data/lib/voltaria/types/client_account_response.rb +21 -0
  134. data/lib/voltaria/types/client_base_info.rb +13 -0
  135. data/lib/voltaria/types/client_data_response.rb +12 -0
  136. data/lib/voltaria/types/client_investor_response.rb +17 -0
  137. data/lib/voltaria/types/client_limit_response.rb +16 -0
  138. data/lib/voltaria/types/client_response.rb +19 -0
  139. data/lib/voltaria/types/client_status_enum.rb +18 -0
  140. data/lib/voltaria/types/client_type_enum.rb +12 -0
  141. data/lib/voltaria/types/client_user_response.rb +24 -0
  142. data/lib/voltaria/types/client_user_status_enum.rb +13 -0
  143. data/lib/voltaria/types/currency_enum.rb +16 -0
  144. data/lib/voltaria/types/currency_field_spec.rb +10 -0
  145. data/lib/voltaria/types/document_response.rb +20 -0
  146. data/lib/voltaria/types/drawdown_checklist_response.rb +16 -0
  147. data/lib/voltaria/types/drawdown_response.rb +15 -0
  148. data/lib/voltaria/types/drawdown_status_enum.rb +13 -0
  149. data/lib/voltaria/types/http_validation_error.rb +9 -0
  150. data/lib/voltaria/types/installment_response.rb +24 -0
  151. data/lib/voltaria/types/installment_response_with_client_info.rb +25 -0
  152. data/lib/voltaria/types/installment_status_enum.rb +19 -0
  153. data/lib/voltaria/types/jurisdiction_enum.rb +13 -0
  154. data/lib/voltaria/types/kyc_status_enum.rb +14 -0
  155. data/lib/voltaria/types/limit_request_response.rb +16 -0
  156. data/lib/voltaria/types/limit_request_status_enum.rb +13 -0
  157. data/lib/voltaria/types/loan_installment_create_payload.rb +10 -0
  158. data/lib/voltaria/types/loan_installment_create_payload_amount.rb +13 -0
  159. data/lib/voltaria/types/loan_installment_response.rb +15 -0
  160. data/lib/voltaria/types/loan_investor_response.rb +27 -0
  161. data/lib/voltaria/types/loan_payment_status_enum.rb +12 -0
  162. data/lib/voltaria/types/loan_response_with_client_info.rb +26 -0
  163. data/lib/voltaria/types/loan_response_with_installments.rb +26 -0
  164. data/lib/voltaria/types/loan_status_enum.rb +21 -0
  165. data/lib/voltaria/types/paginated_response_checklist_summary_partner_response.rb +16 -0
  166. data/lib/voltaria/types/paginated_response_client_account_response.rb +16 -0
  167. data/lib/voltaria/types/paginated_response_client_investor_response.rb +16 -0
  168. data/lib/voltaria/types/paginated_response_client_response.rb +16 -0
  169. data/lib/voltaria/types/paginated_response_document_response.rb +16 -0
  170. data/lib/voltaria/types/paginated_response_drawdown_checklist_response.rb +16 -0
  171. data/lib/voltaria/types/paginated_response_drawdown_response.rb +16 -0
  172. data/lib/voltaria/types/paginated_response_installment_response_with_client_info.rb +16 -0
  173. data/lib/voltaria/types/paginated_response_limit_request_response.rb +16 -0
  174. data/lib/voltaria/types/paginated_response_loan_investor_response.rb +16 -0
  175. data/lib/voltaria/types/paginated_response_loan_response_with_client_info.rb +16 -0
  176. data/lib/voltaria/types/paginated_response_payment_promise_response.rb +16 -0
  177. data/lib/voltaria/types/paginated_response_repayment_response_with_client_info.rb +16 -0
  178. data/lib/voltaria/types/paginated_response_waiver_response.rb +16 -0
  179. data/lib/voltaria/types/paginated_response_waterfall_response.rb +16 -0
  180. data/lib/voltaria/types/paginated_response_webhook_log_response.rb +16 -0
  181. data/lib/voltaria/types/paginated_response_webhook_subscription_response.rb +16 -0
  182. data/lib/voltaria/types/partner_data_response.rb +11 -0
  183. data/lib/voltaria/types/payment_promise_response.rb +19 -0
  184. data/lib/voltaria/types/payment_promise_status_enum.rb +14 -0
  185. data/lib/voltaria/types/repayment_response.rb +21 -0
  186. data/lib/voltaria/types/repayment_response_with_client_info.rb +22 -0
  187. data/lib/voltaria/types/role_response.rb +11 -0
  188. data/lib/voltaria/types/validation_error.rb +13 -0
  189. data/lib/voltaria/types/validation_error_loc_item.rb +12 -0
  190. data/lib/voltaria/types/waiver_response.rb +18 -0
  191. data/lib/voltaria/types/waiver_status_enum.rb +14 -0
  192. data/lib/voltaria/types/waterfall_response.rb +19 -0
  193. data/lib/voltaria/types/waterfall_status_enum.rb +12 -0
  194. data/lib/voltaria/types/webhook_event_type_enum.rb +15 -0
  195. data/lib/voltaria/types/webhook_log_response.rb +19 -0
  196. data/lib/voltaria/types/webhook_log_response_request_body.rb +13 -0
  197. data/lib/voltaria/types/webhook_status_enum.rb +13 -0
  198. data/lib/voltaria/types/webhook_subscription_response.rb +17 -0
  199. data/lib/voltaria/version.rb +5 -0
  200. data/lib/voltaria/webhooks/client.rb +241 -0
  201. data/lib/voltaria/webhooks/types/delete_webhook_subscription_request.rb +11 -0
  202. data/lib/voltaria/webhooks/types/get_webhook_subscription_request.rb +11 -0
  203. data/lib/voltaria/webhooks/types/list_webhook_logs_request.rb +13 -0
  204. data/lib/voltaria/webhooks/types/list_webhook_subscriptions_request.rb +13 -0
  205. data/lib/voltaria/webhooks/types/webhook_create_payload.rb +16 -0
  206. data/lib/voltaria/webhooks/types/webhook_update_payload.rb +17 -0
  207. data/lib/voltaria.rb +205 -0
  208. data/reference.md +5135 -0
  209. metadata +250 -0
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class BulkRepaymentTaskResponse < Internal::Types::Model
6
+ field :task_id, -> { String }, optional: false, nullable: false
7
+ field :total_repayments, -> { Integer }, optional: false, nullable: false
8
+ field :estimated_completion_time, -> { String }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class BulkRepaymentTaskStatus < Internal::Types::Model
6
+ field :task_id, -> { String }, optional: false, nullable: false
7
+ field :status, -> { String }, optional: false, nullable: false
8
+ field :current, -> { Integer }, optional: true, nullable: false
9
+ field :total, -> { Integer }, optional: true, nullable: false
10
+ field :result, -> { Voltaria::Types::BulkRepaymentResult }, optional: true, nullable: false
11
+ field :error, -> { String }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class ChecklistSummaryPartnerResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :type, -> { Voltaria::Types::ChecklistTypeEnum }, optional: false, nullable: false
9
+ field :ai_description, -> { String }, optional: true, nullable: false
10
+ field :total_items, -> { Integer }, optional: false, nullable: false
11
+ field :completed_items, -> { Integer }, optional: false, nullable: false
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ module ChecklistTypeEnum
6
+ extend Voltaria::Internal::Types::Enum
7
+
8
+ CLIENT = "client"
9
+ LOAN = "loan"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class ClientAccountResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :account_holder_name, -> { String }, optional: false, nullable: false
8
+ field :label, -> { String }, optional: true, nullable: false
9
+ field :account_holder_type, -> { Voltaria::Types::AccountHolderTypeEnum }, optional: false, nullable: false
10
+ field :currency, -> { Voltaria::Types::CurrencyEnum }, optional: false, nullable: false
11
+ field :sort_code, -> { String }, optional: true, nullable: false
12
+ field :account_number, -> { String }, optional: true, nullable: false
13
+ field :iban, -> { String }, optional: true, nullable: false
14
+ field :bic, -> { String }, optional: true, nullable: false
15
+ field :routing_number, -> { String }, optional: true, nullable: false
16
+ field :account_type, -> { String }, optional: true, nullable: false
17
+ field :address, -> { Voltaria::Types::AccountAddress }, optional: true, nullable: false
18
+ field :status, -> { Voltaria::Types::AccountStatusEnum }, optional: false, nullable: false
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class ClientBaseInfo < Internal::Types::Model
6
+ field :name, -> { String }, optional: false, nullable: false
7
+ field :type, -> { Voltaria::Types::ClientTypeEnum }, optional: false, nullable: false
8
+ field :jurisdiction, -> { Voltaria::Types::JurisdictionEnum }, optional: false, nullable: false
9
+ field :company_number, -> { String }, optional: true, nullable: false
10
+ field :status, -> { Voltaria::Types::ClientStatusEnum }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class ClientDataResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :client_id, -> { String }, optional: false, nullable: false
9
+ field :data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class ClientInvestorResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :updated_at, -> { String }, optional: false, nullable: false
9
+ field :correlation_id, -> { String }, optional: true, nullable: false
10
+ field :name, -> { String }, optional: false, nullable: false
11
+ field :type, -> { Voltaria::Types::ClientTypeEnum }, optional: false, nullable: false
12
+ field :jurisdiction, -> { Voltaria::Types::JurisdictionEnum }, optional: false, nullable: false
13
+ field :company_number, -> { String }, optional: true, nullable: false
14
+ field :status, -> { Voltaria::Types::ClientStatusEnum }, optional: false, nullable: false
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class ClientLimitResponse < Internal::Types::Model
6
+ field :currency, -> { Voltaria::Types::CurrencyEnum }, optional: false, nullable: false
7
+ field :max_maturity_days, -> { Integer }, optional: false, nullable: false
8
+ field :limit, -> { String }, optional: false, nullable: false
9
+ field :rate, -> { String }, optional: false, nullable: false
10
+ field :outstanding, -> { String }, optional: false, nullable: false
11
+ field :available, -> { String }, optional: false, nullable: false
12
+ field :created_at, -> { String }, optional: false, nullable: false
13
+ field :updated_at, -> { String }, optional: false, nullable: false
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class ClientResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :updated_at, -> { String }, optional: false, nullable: false
9
+ field :correlation_id, -> { String }, optional: true, nullable: false
10
+ field :name, -> { String }, optional: false, nullable: false
11
+ field :type, -> { Voltaria::Types::ClientTypeEnum }, optional: false, nullable: false
12
+ field :jurisdiction, -> { Voltaria::Types::JurisdictionEnum }, optional: false, nullable: false
13
+ field :company_number, -> { String }, optional: true, nullable: false
14
+ field :status, -> { Voltaria::Types::ClientStatusEnum }, optional: false, nullable: false
15
+ field :limits, -> { Internal::Types::Array[Voltaria::Types::ClientLimitResponse] }, optional: true, nullable: false
16
+ field :data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ module ClientStatusEnum
6
+ extend Voltaria::Internal::Types::Enum
7
+
8
+ ACTIVE = "active"
9
+ REJECTED = "rejected"
10
+ DEACTIVATED = "deactivated"
11
+ PENDING = "pending"
12
+ PENDING_ONBOARDING = "pending_onboarding"
13
+ PRE_APPROVED = "pre_approved"
14
+ DELETED = "deleted"
15
+ INACTIVE = "inactive"
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ module ClientTypeEnum
6
+ extend Voltaria::Internal::Types::Enum
7
+
8
+ CORPORATE = "corporate"
9
+ INDIVIDUAL = "individual"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class ClientUserResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :partner_id, -> { String }, optional: false, nullable: false
8
+ field :client_id, -> { String }, optional: false, nullable: false
9
+ field :email, -> { String }, optional: false, nullable: false
10
+ field :role_id, -> { String }, optional: false, nullable: false
11
+ field :role, -> { Voltaria::Types::RoleResponse }, optional: true, nullable: false
12
+ field :status, -> { Voltaria::Types::ClientUserStatusEnum }, optional: false, nullable: false
13
+ field :is_email_verified, -> { Internal::Types::Boolean }, optional: false, nullable: false
14
+ field :kyc_status, -> { Voltaria::Types::KycStatusEnum }, optional: false, nullable: false
15
+ field :first_name, -> { String }, optional: true, nullable: false
16
+ field :last_name, -> { String }, optional: true, nullable: false
17
+ field :phone, -> { String }, optional: true, nullable: false
18
+ field :is2fa_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "is_2fa_enabled"
19
+ field :is2fa_required, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "is_2fa_required"
20
+ field :created_at, -> { String }, optional: false, nullable: false
21
+ field :updated_at, -> { String }, optional: false, nullable: false
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ module ClientUserStatusEnum
6
+ extend Voltaria::Internal::Types::Enum
7
+
8
+ PENDING = "pending"
9
+ ACTIVE = "active"
10
+ INACTIVE = "inactive"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ module CurrencyEnum
6
+ extend Voltaria::Internal::Types::Enum
7
+
8
+ EUR = "eur"
9
+ GBP = "gbp"
10
+ USD = "usd"
11
+ CZK = "czk"
12
+ PLN = "pln"
13
+ ISK = "isk"
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class CurrencyFieldSpec < Internal::Types::Model
6
+ field :required, -> { Internal::Types::Array[String] }, optional: false, nullable: false
7
+ field :optional, -> { Internal::Types::Array[String] }, optional: true, nullable: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class DocumentResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :category, -> { String }, optional: false, nullable: false
8
+ field :file_name, -> { String }, optional: false, nullable: false
9
+ field :file_type, -> { String }, optional: false, nullable: false
10
+ field :client_id, -> { String }, optional: true, nullable: false
11
+ field :file_url, -> { String }, optional: true, nullable: false
12
+ field :loan_id, -> { String }, optional: true, nullable: false
13
+ field :installment_id, -> { String }, optional: true, nullable: false
14
+ field :folder_path, -> { String }, optional: true, nullable: false
15
+ field :document_date, -> { String }, optional: true, nullable: false
16
+ field :expiry_date, -> { String }, optional: true, nullable: false
17
+ field :created_at, -> { String }, optional: false, nullable: false
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class DrawdownChecklistResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :updated_at, -> { String }, optional: false, nullable: false
9
+ field :drawdown_id, -> { String }, optional: false, nullable: false
10
+ field :name, -> { String }, optional: false, nullable: false
11
+ field :description, -> { String }, optional: true, nullable: false
12
+ field :priority, -> { Integer }, optional: false, nullable: false
13
+ field :is_checked, -> { Internal::Types::Boolean }, optional: false, nullable: false
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class DrawdownResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :updated_at, -> { String }, optional: false, nullable: false
9
+ field :currency, -> { Voltaria::Types::CurrencyEnum }, optional: false, nullable: false
10
+ field :amount, -> { String }, optional: false, nullable: false
11
+ field :status, -> { Voltaria::Types::DrawdownStatusEnum }, optional: false, nullable: false
12
+ field :drawdown_date, -> { String }, optional: false, nullable: false
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ module DrawdownStatusEnum
6
+ extend Voltaria::Internal::Types::Enum
7
+
8
+ REQUESTED = "requested"
9
+ ACTIVE = "active"
10
+ CANCELLED = "cancelled"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class HTTPValidationError < Internal::Types::Model
6
+ field :detail, -> { Internal::Types::Array[Voltaria::Types::ValidationError] }, optional: true, nullable: false
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class InstallmentResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :updated_at, -> { String }, optional: false, nullable: false
9
+ field :partner_id, -> { String }, optional: false, nullable: false
10
+ field :client_id, -> { String }, optional: false, nullable: false
11
+ field :currency, -> { Voltaria::Types::CurrencyEnum }, optional: false, nullable: false
12
+ field :status, -> { Voltaria::Types::InstallmentStatusEnum }, optional: false, nullable: false
13
+ field :loan_id, -> { String }, optional: false, nullable: false
14
+ field :amount, -> { String }, optional: false, nullable: false
15
+ field :expected_repayment_at, -> { String }, optional: false, nullable: false
16
+ field :installment_number, -> { Integer }, optional: false, nullable: false
17
+ field :installments, -> { Integer }, optional: false, nullable: false
18
+ field :principal, -> { String }, optional: false, nullable: false
19
+ field :interest, -> { String }, optional: false, nullable: false
20
+ field :repayment_amount, -> { String }, optional: true, nullable: false
21
+ field :repayment_at, -> { String }, optional: true, nullable: false
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class InstallmentResponseWithClientInfo < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :updated_at, -> { String }, optional: false, nullable: false
9
+ field :partner_id, -> { String }, optional: false, nullable: false
10
+ field :client_id, -> { String }, optional: false, nullable: false
11
+ field :currency, -> { Voltaria::Types::CurrencyEnum }, optional: false, nullable: false
12
+ field :status, -> { Voltaria::Types::InstallmentStatusEnum }, optional: false, nullable: false
13
+ field :loan_id, -> { String }, optional: false, nullable: false
14
+ field :amount, -> { String }, optional: false, nullable: false
15
+ field :expected_repayment_at, -> { String }, optional: false, nullable: false
16
+ field :installment_number, -> { Integer }, optional: false, nullable: false
17
+ field :installments, -> { Integer }, optional: false, nullable: false
18
+ field :principal, -> { String }, optional: false, nullable: false
19
+ field :interest, -> { String }, optional: false, nullable: false
20
+ field :repayment_amount, -> { String }, optional: true, nullable: false
21
+ field :repayment_at, -> { String }, optional: true, nullable: false
22
+ field :client, -> { Voltaria::Types::ClientBaseInfo }, optional: true, nullable: false
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ module InstallmentStatusEnum
6
+ extend Voltaria::Internal::Types::Enum
7
+
8
+ ACTIVE = "active"
9
+ OVERDUE = "overdue"
10
+ DEFAULT = "default"
11
+ SOLD = "sold"
12
+ RESTRUCTURED = "restructured"
13
+ REPAID = "repaid"
14
+ PENDING = "pending"
15
+ DELETED = "deleted"
16
+ INACTIVE = "inactive"
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ module JurisdictionEnum
6
+ extend Voltaria::Internal::Types::Enum
7
+
8
+ EU = "eu"
9
+ UK = "uk"
10
+ US = "us"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ module KycStatusEnum
6
+ extend Voltaria::Internal::Types::Enum
7
+
8
+ NOT_STARTED = "not_started"
9
+ TRIGGERED = "triggered"
10
+ VERIFIED = "verified"
11
+ REJECTED = "rejected"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class LimitRequestResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :client_id, -> { String }, optional: false, nullable: false
8
+ field :status, -> { Voltaria::Types::LimitRequestStatusEnum }, optional: false, nullable: false
9
+ field :requested_limit, -> { String }, optional: false, nullable: false
10
+ field :reason, -> { String }, optional: false, nullable: false
11
+ field :response, -> { String }, optional: true, nullable: false
12
+ field :waiver_id, -> { String }, optional: true, nullable: false
13
+ field :created_at, -> { String }, optional: false, nullable: false
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ module LimitRequestStatusEnum
6
+ extend Voltaria::Internal::Types::Enum
7
+
8
+ PENDING = "pending"
9
+ APPROVED = "approved"
10
+ REJECTED = "rejected"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class LoanInstallmentCreatePayload < Internal::Types::Model
6
+ field :expected_repayment_at, -> { String }, optional: false, nullable: false
7
+ field :amount, -> { Voltaria::Types::LoanInstallmentCreatePayloadAmount }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ # The amount due for this installment
6
+ class LoanInstallmentCreatePayloadAmount < Internal::Types::Model
7
+ extend Voltaria::Internal::Types::Union
8
+
9
+ member -> { Integer }
10
+ member -> { String }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class LoanInstallmentResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :amount, -> { String }, optional: false, nullable: false
8
+ field :installment_number, -> { Integer }, optional: false, nullable: false
9
+ field :expected_repayment_at, -> { String }, optional: false, nullable: false
10
+ field :status, -> { Voltaria::Types::LoanStatusEnum }, optional: false, nullable: false
11
+ field :created_at, -> { String }, optional: false, nullable: false
12
+ field :updated_at, -> { String }, optional: false, nullable: false
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class LoanInvestorResponse < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :updated_at, -> { String }, optional: false, nullable: false
9
+ field :partner_id, -> { String }, optional: false, nullable: false
10
+ field :client_id, -> { String }, optional: false, nullable: false
11
+ field :currency, -> { Voltaria::Types::CurrencyEnum }, optional: false, nullable: false
12
+ field :amount, -> { String }, optional: false, nullable: false
13
+ field :status, -> { Voltaria::Types::LoanStatusEnum }, optional: false, nullable: false
14
+ field :irr, -> { String }, optional: true, nullable: false
15
+ field :loan_date, -> { String }, optional: true, nullable: false
16
+ field :currency_rate, -> { String }, optional: false, nullable: false
17
+ field :correlation_id, -> { String }, optional: true, nullable: false
18
+ field :payment_status, -> { Voltaria::Types::LoanPaymentStatusEnum }, optional: true, nullable: false
19
+ field :payment_reference, -> { String }, optional: true, nullable: false
20
+ field :early_settlement_date, -> { String }, optional: true, nullable: false
21
+ field :early_settlement_amount, -> { String }, optional: true, nullable: false
22
+ field :data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false
23
+ field :client, -> { Voltaria::Types::ClientBaseInfo }, optional: false, nullable: false
24
+ field :payment_to_the_client, -> { Internal::Types::Boolean }, optional: true, nullable: false
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ module LoanPaymentStatusEnum
6
+ extend Voltaria::Internal::Types::Enum
7
+
8
+ PENDING = "pending"
9
+ SENT = "sent"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class LoanResponseWithClientInfo < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :updated_at, -> { String }, optional: false, nullable: false
9
+ field :partner_id, -> { String }, optional: false, nullable: false
10
+ field :client_id, -> { String }, optional: false, nullable: false
11
+ field :currency, -> { Voltaria::Types::CurrencyEnum }, optional: false, nullable: false
12
+ field :amount, -> { String }, optional: false, nullable: false
13
+ field :status, -> { Voltaria::Types::LoanStatusEnum }, optional: false, nullable: false
14
+ field :irr, -> { String }, optional: true, nullable: false
15
+ field :loan_date, -> { String }, optional: true, nullable: false
16
+ field :currency_rate, -> { String }, optional: false, nullable: false
17
+ field :correlation_id, -> { String }, optional: true, nullable: false
18
+ field :payment_status, -> { Voltaria::Types::LoanPaymentStatusEnum }, optional: true, nullable: false
19
+ field :payment_reference, -> { String }, optional: true, nullable: false
20
+ field :early_settlement_date, -> { String }, optional: true, nullable: false
21
+ field :early_settlement_amount, -> { String }, optional: true, nullable: false
22
+ field :data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false
23
+ field :client, -> { Voltaria::Types::ClientBaseInfo }, optional: false, nullable: false
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ class LoanResponseWithInstallments < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :updated_at, -> { String }, optional: false, nullable: false
9
+ field :partner_id, -> { String }, optional: false, nullable: false
10
+ field :client_id, -> { String }, optional: false, nullable: false
11
+ field :currency, -> { Voltaria::Types::CurrencyEnum }, optional: false, nullable: false
12
+ field :amount, -> { String }, optional: false, nullable: false
13
+ field :status, -> { Voltaria::Types::LoanStatusEnum }, optional: false, nullable: false
14
+ field :irr, -> { String }, optional: true, nullable: false
15
+ field :loan_date, -> { String }, optional: true, nullable: false
16
+ field :currency_rate, -> { String }, optional: false, nullable: false
17
+ field :correlation_id, -> { String }, optional: true, nullable: false
18
+ field :payment_status, -> { Voltaria::Types::LoanPaymentStatusEnum }, optional: true, nullable: false
19
+ field :payment_reference, -> { String }, optional: true, nullable: false
20
+ field :early_settlement_date, -> { String }, optional: true, nullable: false
21
+ field :early_settlement_amount, -> { String }, optional: true, nullable: false
22
+ field :data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false
23
+ field :installments, -> { Internal::Types::Array[Voltaria::Types::LoanInstallmentResponse] }, optional: true, nullable: false
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Voltaria
4
+ module Types
5
+ module LoanStatusEnum
6
+ extend Voltaria::Internal::Types::Enum
7
+
8
+ PENDING = "pending"
9
+ OVERDUE = "overdue"
10
+ ACTIVE = "active"
11
+ DEFAULT = "default"
12
+ SOLD = "sold"
13
+ RESTRUCTURED = "restructured"
14
+ REPAID = "repaid"
15
+ PRE_APPROVED = "pre_approved"
16
+ REJECTED = "rejected"
17
+ DELETED = "deleted"
18
+ INACTIVE = "inactive"
19
+ end
20
+ end
21
+ end