payabli 3.0.19 → 3.0.21

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 (185) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +3 -3
  3. data/lib/payabli/applications/client.rb +735 -0
  4. data/lib/payabli/applications/types/create_application_request.rb +27 -0
  5. data/lib/payabli/applications/types/list_applications_applications_request.rb +13 -0
  6. data/lib/payabli/applications/types/submit_application_request.rb +13 -0
  7. data/lib/payabli/applications/types/update_application_request.rb +25 -0
  8. data/lib/payabli/applications/types/upload_application_document_request.rb +11 -0
  9. data/lib/payabli/applications/types/withdraw_application_request.rb +13 -0
  10. data/lib/payabli/boarding/client.rb +90 -0
  11. data/lib/payabli/boarding_templates/client.rb +196 -0
  12. data/lib/payabli/boarding_templates/types/list_templates_boarding_templates_request.rb +25 -0
  13. data/lib/payabli/businesses/client.rb +796 -0
  14. data/lib/payabli/businesses/types/create_business_address_request.rb +31 -0
  15. data/lib/payabli/businesses/types/deactivate_business_request.rb +13 -0
  16. data/lib/payabli/businesses/types/link_business_person_request.rb +35 -0
  17. data/lib/payabli/businesses/types/list_businesses_businesses_request.rb +25 -0
  18. data/lib/payabli/businesses/types/update_business_address_request.rb +33 -0
  19. data/lib/payabli/businesses/types/update_business_person_request.rb +35 -0
  20. data/lib/payabli/businesses/types/update_business_request.rb +63 -0
  21. data/lib/payabli/businesses/types/update_business_request_legal_structure.rb +21 -0
  22. data/lib/payabli/businesses/types/update_business_request_operating_seasons_item.rb +16 -0
  23. data/lib/payabli/client.rb +36 -1
  24. data/lib/payabli/export/client.rb +2 -3
  25. data/lib/payabli/organization/client.rb +5 -5
  26. data/lib/payabli/organizations/client.rb +214 -0
  27. data/lib/payabli/organizations/types/create_organization_organizations_request.rb +17 -0
  28. data/lib/payabli/organizations/types/list_organizations_organizations_request.rb +19 -0
  29. data/lib/payabli/organizations/types/update_organization_request.rb +27 -0
  30. data/lib/payabli/payment_methods/client.rb +254 -0
  31. data/lib/payabli/payment_methods/types/create_payment_methods_request.rb +11 -0
  32. data/lib/payabli/payment_methods/types/list_payment_methods_payment_methods_request.rb +25 -0
  33. data/lib/payabli/payment_methods/types/update_payment_method_request.rb +23 -0
  34. data/lib/payabli/paypoints/client.rb +204 -0
  35. data/lib/payabli/paypoints/types/create_paypoint_paypoints_request.rb +17 -0
  36. data/lib/payabli/paypoints/types/list_paypoints_paypoints_request.rb +19 -0
  37. data/lib/payabli/paypoints/types/update_paypoint_request.rb +29 -0
  38. data/lib/payabli/people/client.rb +428 -0
  39. data/lib/payabli/people/types/create_person_request.rb +47 -0
  40. data/lib/payabli/people/types/list_people_people_request.rb +23 -0
  41. data/lib/payabli/people/types/search_people_request.rb +15 -0
  42. data/lib/payabli/people/types/search_people_unmasked_request.rb +15 -0
  43. data/lib/payabli/people/types/update_person_request.rb +41 -0
  44. data/lib/payabli/templates/client.rb +25 -0
  45. data/lib/payabli/types/address_type.rb +16 -0
  46. data/lib/payabli/types/application.rb +46 -0
  47. data/lib/payabli/types/application_common.rb +42 -0
  48. data/lib/payabli/types/application_document.rb +26 -0
  49. data/lib/payabli/types/application_document_envelope.rb +16 -0
  50. data/lib/payabli/types/application_document_error.rb +16 -0
  51. data/lib/payabli/types/application_document_list_envelope.rb +16 -0
  52. data/lib/payabli/types/application_envelope.rb +16 -0
  53. data/lib/payabli/types/application_links.rb +12 -0
  54. data/lib/payabli/types/application_list_item.rb +52 -0
  55. data/lib/payabli/types/bank_account_services.rb +2 -2
  56. data/lib/payabli/types/boarding_warning.rb +12 -0
  57. data/lib/payabli/types/business_address.rb +28 -0
  58. data/lib/payabli/types/business_address_create.rb +28 -0
  59. data/lib/payabli/types/business_address_deleted_envelope.rb +16 -0
  60. data/lib/payabli/types/business_address_deleted_response.rb +16 -0
  61. data/lib/payabli/types/business_address_envelope.rb +16 -0
  62. data/lib/payabli/types/business_address_links.rb +12 -0
  63. data/lib/payabli/types/business_address_list_envelope.rb +16 -0
  64. data/lib/payabli/types/business_address_location.rb +15 -0
  65. data/lib/payabli/types/business_address_response.rb +32 -0
  66. data/lib/payabli/types/business_created_envelope.rb +18 -0
  67. data/lib/payabli/types/business_created_response.rb +16 -0
  68. data/lib/payabli/types/business_deactivated_envelope.rb +18 -0
  69. data/lib/payabli/types/business_deactivated_response.rb +18 -0
  70. data/lib/payabli/types/business_detail_envelope.rb +18 -0
  71. data/lib/payabli/types/business_detail_response.rb +76 -0
  72. data/lib/payabli/types/business_detail_response_legal_structure.rb +17 -0
  73. data/lib/payabli/types/business_detail_response_operating_seasons_item.rb +14 -0
  74. data/lib/payabli/types/business_links.rb +10 -0
  75. data/lib/payabli/types/business_payment_method.rb +36 -0
  76. data/lib/payabli/types/business_person_envelope.rb +16 -0
  77. data/lib/payabli/types/business_person_link.rb +42 -0
  78. data/lib/payabli/types/business_person_links.rb +14 -0
  79. data/lib/payabli/types/business_person_list_envelope.rb +16 -0
  80. data/lib/payabli/types/business_relationship_request.rb +35 -0
  81. data/lib/payabli/types/business_relationship_response.rb +36 -0
  82. data/lib/payabli/types/business_summary_response.rb +22 -0
  83. data/lib/payabli/types/business_updated_envelope.rb +18 -0
  84. data/lib/payabli/types/business_updated_response.rb +14 -0
  85. data/lib/payabli/types/case_management_money_in_service.rb +17 -0
  86. data/lib/payabli/types/case_management_money_out_service.rb +17 -0
  87. data/lib/payabli/types/certification_detail.rb +18 -0
  88. data/lib/payabli/types/create_business_request.rb +64 -0
  89. data/lib/payabli/types/create_business_request_legal_structure.rb +19 -0
  90. data/lib/payabli/types/create_business_request_operating_seasons_item.rb +14 -0
  91. data/lib/payabli/types/create_organization_all_fields.rb +30 -0
  92. data/lib/payabli/types/create_organization_with_business_reference.rb +29 -0
  93. data/lib/payabli/types/create_organization_with_inline_business.rb +29 -0
  94. data/lib/payabli/types/create_payment_method_request.rb +28 -0
  95. data/lib/payabli/types/create_payment_method_request_type.rb +11 -0
  96. data/lib/payabli/types/create_paypoint_all_fields.rb +32 -0
  97. data/lib/payabli/types/create_paypoint_with_business_reference.rb +31 -0
  98. data/lib/payabli/types/create_paypoint_with_inline_business.rb +31 -0
  99. data/lib/payabli/types/document_requirement.rb +31 -0
  100. data/lib/payabli/types/document_requirement_list_envelope.rb +16 -0
  101. data/lib/payabli/types/document_requirement_source.rb +12 -0
  102. data/lib/payabli/types/document_subject_type.rb +13 -0
  103. data/lib/payabli/types/enablement_envelope.rb +16 -0
  104. data/lib/payabli/types/enablement_result.rb +24 -0
  105. data/lib/payabli/types/enablement_service.rb +18 -0
  106. data/lib/payabli/types/get_basic_organization_response.rb +15 -0
  107. data/lib/payabli/types/identification_document_request.rb +18 -0
  108. data/lib/payabli/types/identification_document_response.rb +18 -0
  109. data/lib/payabli/types/instrument_response.rb +22 -0
  110. data/lib/payabli/types/list_applications_envelope.rb +16 -0
  111. data/lib/payabli/types/list_applications_response.rb +16 -0
  112. data/lib/payabli/types/list_businesses_envelope.rb +18 -0
  113. data/lib/payabli/types/list_businesses_response.rb +12 -0
  114. data/lib/payabli/types/list_payment_methods_envelope.rb +16 -0
  115. data/lib/payabli/types/list_payment_methods_response.rb +12 -0
  116. data/lib/payabli/types/list_paypoints_envelope.rb +16 -0
  117. data/lib/payabli/types/list_paypoints_response.rb +16 -0
  118. data/lib/payabli/types/list_people_envelope.rb +16 -0
  119. data/lib/payabli/types/list_people_response.rb +12 -0
  120. data/lib/payabli/types/list_templates_response.rb +12 -0
  121. data/lib/payabli/types/methods_list_out.rb +4 -0
  122. data/lib/payabli/types/organization_query_record.rb +23 -21
  123. data/lib/payabli/types/organization_writable_fields.rb +28 -0
  124. data/lib/payabli/types/pagination.rb +20 -0
  125. data/lib/payabli/types/payabli_credentials_pascal.rb +2 -2
  126. data/lib/payabli/types/payment_method_deactivated_envelope.rb +16 -0
  127. data/lib/payabli/types/payment_method_detail.rb +38 -0
  128. data/lib/payabli/types/payment_method_detail_envelope.rb +16 -0
  129. data/lib/payabli/types/payment_method_links.rb +12 -0
  130. data/lib/payabli/types/payment_method_owner_type.rb +12 -0
  131. data/lib/payabli/types/payment_method_result.rb +40 -0
  132. data/lib/payabli/types/payment_method_updated_envelope.rb +16 -0
  133. data/lib/payabli/types/payment_method_usage.rb +16 -0
  134. data/lib/payabli/types/payment_methods_created_envelope.rb +16 -0
  135. data/lib/payabli/types/payout_metrics.rb +16 -0
  136. data/lib/payabli/types/paypoint_created_envelope.rb +16 -0
  137. data/lib/payabli/types/paypoint_created_response.rb +22 -0
  138. data/lib/payabli/types/paypoint_detail_envelope.rb +16 -0
  139. data/lib/payabli/types/paypoint_detail_response.rb +40 -0
  140. data/lib/payabli/types/paypoint_links.rb +12 -0
  141. data/lib/payabli/types/paypoint_summary_response.rb +40 -0
  142. data/lib/payabli/types/paypoint_updated_envelope.rb +16 -0
  143. data/lib/payabli/types/paypoint_updated_response.rb +14 -0
  144. data/lib/payabli/types/paypoint_writable_fields.rb +28 -0
  145. data/lib/payabli/types/people_search_envelope.rb +16 -0
  146. data/lib/payabli/types/people_search_request.rb +12 -0
  147. data/lib/payabli/types/people_search_result_response.rb +38 -0
  148. data/lib/payabli/types/people_search_results_response.rb +14 -0
  149. data/lib/payabli/types/person_address_request.rb +22 -0
  150. data/lib/payabli/types/person_address_response.rb +22 -0
  151. data/lib/payabli/types/person_address_type.rb +17 -0
  152. data/lib/payabli/types/person_detail_envelope.rb +18 -0
  153. data/lib/payabli/types/person_detail_response.rb +56 -0
  154. data/lib/payabli/types/person_links.rb +12 -0
  155. data/lib/payabli/types/person_summary_response.rb +24 -0
  156. data/lib/payabli/types/person_type.rb +16 -0
  157. data/lib/payabli/types/person_updated_envelope.rb +16 -0
  158. data/lib/payabli/types/person_updated_response.rb +14 -0
  159. data/lib/payabli/types/processing_metrics.rb +30 -0
  160. data/lib/payabli/types/representative_input.rb +20 -0
  161. data/lib/payabli/types/representative_response.rb +20 -0
  162. data/lib/payabli/types/requested_services.rb +13 -0
  163. data/lib/payabli/types/signature_type.rb +13 -0
  164. data/lib/payabli/types/status_history_entry.rb +22 -0
  165. data/lib/payabli/types/status_history_envelope.rb +16 -0
  166. data/lib/payabli/types/status_history_result.rb +12 -0
  167. data/lib/payabli/types/submit_application_error.rb +16 -0
  168. data/lib/payabli/types/submit_signer.rb +32 -0
  169. data/lib/payabli/types/template.rb +38 -0
  170. data/lib/payabli/types/template_status.rb +12 -0
  171. data/lib/payabli/types/template_version.rb +79 -0
  172. data/lib/payabli/types/templates_summary.rb +14 -0
  173. data/lib/payabli/types/transition_result.rb +14 -0
  174. data/lib/payabli/types/transition_result_envelope.rb +16 -0
  175. data/lib/payabli/types/underwriting_mode.rb +13 -0
  176. data/lib/payabli/types/validation_missing_field.rb +14 -0
  177. data/lib/payabli/types/validation_result.rb +14 -0
  178. data/lib/payabli/types/validation_result_envelope.rb +16 -0
  179. data/lib/payabli/types/validation_section.rb +12 -0
  180. data/lib/payabli/types/validation_sections.rb +16 -0
  181. data/lib/payabli/version.rb +1 -1
  182. data/lib/payabli.rb +173 -4
  183. data/reference.md +5643 -221
  184. data/wiremock/wiremock-mappings.json +1727 -8
  185. metadata +171 -2
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class CreateBusinessAddressRequest < Internal::Types::Model
7
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
8
+
9
+ field :type, -> { Payabli::Types::AddressType }, optional: false, nullable: false
10
+
11
+ field :location, -> { Payabli::Types::BusinessAddressLocation }, optional: true, nullable: false
12
+
13
+ field :address_line_1, -> { String }, optional: false, nullable: false, api_name: "addressLine1"
14
+
15
+ field :address_line_2, -> { String }, optional: true, nullable: false, api_name: "addressLine2"
16
+
17
+ field :city_locality, -> { String }, optional: false, nullable: false, api_name: "cityLocality"
18
+
19
+ field :state_province, -> { String }, optional: false, nullable: false, api_name: "stateProvince"
20
+
21
+ field :postal_code, -> { String }, optional: false, nullable: false, api_name: "postalCode"
22
+
23
+ field :country, -> { String }, optional: false, nullable: false
24
+
25
+ field :floor, -> { String }, optional: true, nullable: false
26
+
27
+ field :suite_apart_number, -> { String }, optional: true, nullable: false, api_name: "suiteApartNumber"
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class DeactivateBusinessRequest < Internal::Types::Model
7
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
8
+
9
+ field :reason, -> { String }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class LinkBusinessPersonRequest < Internal::Types::Model
7
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
8
+
9
+ field :person_reference, -> { String }, optional: false, nullable: false, api_name: "personReference"
10
+
11
+ field :person_type, -> { Payabli::Types::PersonType }, optional: true, nullable: false, api_name: "personType"
12
+
13
+ field :ownership_percentage, -> { Integer }, optional: true, nullable: false, api_name: "ownershipPercentage"
14
+
15
+ field :is_primary_controller, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPrimaryController"
16
+
17
+ field :is_signer, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isSigner"
18
+
19
+ field :title, -> { String }, optional: true, nullable: false
20
+
21
+ field :primary_email, -> { String }, optional: true, nullable: false, api_name: "primaryEmail"
22
+
23
+ field :secondary_email, -> { String }, optional: true, nullable: false, api_name: "secondaryEmail"
24
+
25
+ field :primary_phone_number, -> { String }, optional: true, nullable: false, api_name: "primaryPhoneNumber"
26
+
27
+ field :secondary_phone_number, -> { String }, optional: true, nullable: false, api_name: "secondaryPhoneNumber"
28
+
29
+ field :billing_address, -> { Payabli::Types::PersonAddressRequest }, optional: true, nullable: false, api_name: "billingAddress"
30
+
31
+ field :mailing_address, -> { Payabli::Types::PersonAddressRequest }, optional: true, nullable: false, api_name: "mailingAddress"
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class ListBusinessesBusinessesRequest < Internal::Types::Model
7
+ field :status, -> { String }, optional: true, nullable: false
8
+
9
+ field :name, -> { String }, optional: true, nullable: false
10
+
11
+ field :merchant_cat_code, -> { String }, optional: true, nullable: false, api_name: "merchantCatCode"
12
+
13
+ field :legal_structure, -> { String }, optional: true, nullable: false, api_name: "legalStructure"
14
+
15
+ field :limit, -> { Integer }, optional: true, nullable: false
16
+
17
+ field :page, -> { Integer }, optional: true, nullable: false
18
+
19
+ field :sort_by, -> { String }, optional: true, nullable: false, api_name: "sortBy"
20
+
21
+ field :sort_order, -> { String }, optional: true, nullable: false, api_name: "sortOrder"
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class UpdateBusinessAddressRequest < Internal::Types::Model
7
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
8
+
9
+ field :business_address_reference, -> { String }, optional: false, nullable: false, api_name: "businessAddressReference"
10
+
11
+ field :type, -> { Payabli::Types::AddressType }, optional: true, nullable: false
12
+
13
+ field :location, -> { Payabli::Types::BusinessAddressLocation }, optional: true, nullable: false
14
+
15
+ field :address_line_1, -> { String }, optional: true, nullable: false, api_name: "addressLine1"
16
+
17
+ field :address_line_2, -> { String }, optional: true, nullable: false, api_name: "addressLine2"
18
+
19
+ field :city_locality, -> { String }, optional: true, nullable: false, api_name: "cityLocality"
20
+
21
+ field :state_province, -> { String }, optional: true, nullable: false, api_name: "stateProvince"
22
+
23
+ field :postal_code, -> { String }, optional: true, nullable: false, api_name: "postalCode"
24
+
25
+ field :country, -> { String }, optional: true, nullable: false
26
+
27
+ field :floor, -> { String }, optional: true, nullable: false
28
+
29
+ field :suite_apart_number, -> { String }, optional: true, nullable: false, api_name: "suiteApartNumber"
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class UpdateBusinessPersonRequest < Internal::Types::Model
7
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
8
+
9
+ field :person_reference, -> { String }, optional: false, nullable: false, api_name: "personReference"
10
+
11
+ field :person_type, -> { Payabli::Types::PersonType }, optional: true, nullable: false, api_name: "personType"
12
+
13
+ field :ownership_percentage, -> { Integer }, optional: true, nullable: false, api_name: "ownershipPercentage"
14
+
15
+ field :is_primary_controller, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPrimaryController"
16
+
17
+ field :is_signer, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isSigner"
18
+
19
+ field :title, -> { String }, optional: true, nullable: false
20
+
21
+ field :primary_email, -> { String }, optional: true, nullable: false, api_name: "primaryEmail"
22
+
23
+ field :secondary_email, -> { String }, optional: true, nullable: false, api_name: "secondaryEmail"
24
+
25
+ field :primary_phone_number, -> { String }, optional: true, nullable: false, api_name: "primaryPhoneNumber"
26
+
27
+ field :secondary_phone_number, -> { String }, optional: true, nullable: false, api_name: "secondaryPhoneNumber"
28
+
29
+ field :billing_address, -> { Payabli::Types::PersonAddressRequest }, optional: true, nullable: false, api_name: "billingAddress"
30
+
31
+ field :mailing_address, -> { Payabli::Types::PersonAddressRequest }, optional: true, nullable: false, api_name: "mailingAddress"
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ class UpdateBusinessRequest < Internal::Types::Model
7
+ field :business_reference, -> { String }, optional: false, nullable: false, api_name: "businessReference"
8
+
9
+ field :external_id, -> { String }, optional: true, nullable: false, api_name: "externalId"
10
+
11
+ field :legal_name, -> { String }, optional: true, nullable: false, api_name: "legalName"
12
+
13
+ field :description, -> { String }, optional: true, nullable: false
14
+
15
+ field :legal_structure, -> { Payabli::Businesses::Types::UpdateBusinessRequestLegalStructure }, optional: true, nullable: false, api_name: "legalStructure"
16
+
17
+ field :stock_symbol, -> { String }, optional: true, nullable: false, api_name: "stockSymbol"
18
+
19
+ field :incorporation_state, -> { String }, optional: true, nullable: false, api_name: "incorporationState"
20
+
21
+ field :tax_id_country, -> { String }, optional: true, nullable: false, api_name: "taxIdCountry"
22
+
23
+ field :established_date, -> { String }, optional: true, nullable: false, api_name: "establishedDate"
24
+
25
+ field :number_of_employees, -> { Integer }, optional: true, nullable: false, api_name: "numberOfEmployees"
26
+
27
+ field :annual_revenue, -> { Integer }, optional: true, nullable: false, api_name: "annualRevenue"
28
+
29
+ field :website, -> { String }, optional: true, nullable: false
30
+
31
+ field :merchant_cat_code, -> { String }, optional: true, nullable: false, api_name: "merchantCatCode"
32
+
33
+ field :timezone, -> { String }, optional: true, nullable: false
34
+
35
+ field :phone, -> { Internal::Types::Array[String] }, optional: true, nullable: false
36
+
37
+ field :emails, -> { Internal::Types::Array[String] }, optional: true, nullable: false
38
+
39
+ field :operating_seasons, -> { Internal::Types::Array[Payabli::Businesses::Types::UpdateBusinessRequestOperatingSeasonsItem] }, optional: true, nullable: false, api_name: "operatingSeasons"
40
+
41
+ field :address_details, -> { Internal::Types::Array[Payabli::Types::BusinessAddress] }, optional: true, nullable: false, api_name: "addressDetails"
42
+
43
+ field :payment_methods, -> { Internal::Types::Array[Payabli::Types::BusinessPaymentMethod] }, optional: true, nullable: false, api_name: "paymentMethods"
44
+
45
+ field :custom_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "customData"
46
+
47
+ field :is_foreign_owned, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isForeignOwned"
48
+
49
+ field :is_tax_exempt, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isTaxExempt"
50
+
51
+ field :tax_exempt_classification, -> { String }, optional: true, nullable: false, api_name: "taxExemptClassification"
52
+
53
+ field :processing_metrics, -> { Payabli::Types::ProcessingMetrics }, optional: true, nullable: false, api_name: "processingMetrics"
54
+
55
+ field :payout_metrics, -> { Payabli::Types::PayoutMetrics }, optional: true, nullable: false, api_name: "payoutMetrics"
56
+
57
+ field :license, -> { String }, optional: true, nullable: false
58
+
59
+ field :license_state, -> { String }, optional: true, nullable: false, api_name: "licenseState"
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ module UpdateBusinessRequestLegalStructure
7
+ extend Payabli::Internal::Types::Enum
8
+
9
+ LIMITED_LIABILITY_COMPANY = "limited-liability-company"
10
+ LLC = "llc"
11
+ CORPORATION = "corporation"
12
+ PARTNERSHIP = "partnership"
13
+ SOLE_PROPRIETORSHIP = "sole-proprietorship"
14
+ NON_PROFIT = "non-profit"
15
+ GOVERNMENT = "government"
16
+ S_CORP = "s-corp"
17
+ S_CORPORATION = "s-corporation"
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Businesses
5
+ module Types
6
+ module UpdateBusinessRequestOperatingSeasonsItem
7
+ extend Payabli::Internal::Types::Enum
8
+
9
+ SPRING = "Spring"
10
+ SUMMER = "Summer"
11
+ FALL = "Fall"
12
+ WINTER = "Winter"
13
+ end
14
+ end
15
+ end
16
+ end
@@ -32,7 +32,7 @@ module Payabli
32
32
  @raw_client = Payabli::Internal::Http::RawClient.new(
33
33
  base_url: base_url || Payabli::Environment::SANDBOX,
34
34
  headers: {
35
- "User-Agent" => "payabli/3.0.19",
35
+ "User-Agent" => "payabli/3.0.21",
36
36
  "X-Fern-Language" => "Ruby"
37
37
  },
38
38
  auth_provider: Payabli::Internal::RoutingAuthProvider.new(
@@ -143,6 +143,41 @@ module Payabli
143
143
  @line_item ||= Payabli::LineItem::Client.new(client: @raw_client)
144
144
  end
145
145
 
146
+ # @return [Payabli::Businesses::Client]
147
+ def businesses
148
+ @businesses ||= Payabli::Businesses::Client.new(client: @raw_client)
149
+ end
150
+
151
+ # @return [Payabli::People::Client]
152
+ def people
153
+ @people ||= Payabli::People::Client.new(client: @raw_client)
154
+ end
155
+
156
+ # @return [Payabli::Paypoints::Client]
157
+ def paypoints
158
+ @paypoints ||= Payabli::Paypoints::Client.new(client: @raw_client)
159
+ end
160
+
161
+ # @return [Payabli::Organizations::Client]
162
+ def organizations
163
+ @organizations ||= Payabli::Organizations::Client.new(client: @raw_client)
164
+ end
165
+
166
+ # @return [Payabli::PaymentMethods::Client]
167
+ def payment_methods
168
+ @payment_methods ||= Payabli::PaymentMethods::Client.new(client: @raw_client)
169
+ end
170
+
171
+ # @return [Payabli::BoardingTemplates::Client]
172
+ def boarding_templates
173
+ @boarding_templates ||= Payabli::BoardingTemplates::Client.new(client: @raw_client)
174
+ end
175
+
176
+ # @return [Payabli::Applications::Client]
177
+ def applications
178
+ @applications ||= Payabli::Applications::Client.new(client: @raw_client)
179
+ end
180
+
146
181
  # @return [Payabli::Boarding::Client]
147
182
  def boarding
148
183
  @boarding ||= Payabli::Boarding::Client.new(client: @raw_client)
@@ -11,9 +11,8 @@ module Payabli
11
11
  end
12
12
 
13
13
  # <Warning>
14
- # This endpoint is deprecated. To export this data, use [List all apps for
15
- # org](/developers/api-reference/boarding/get-list-of-applications-for-an-organization) with the `exportFormat`
16
- # query parameter instead.
14
+ # Legacy boarding is deprecated and will be sunset in Q2 2027. Use [List
15
+ # applications](/developers/api-reference/applications/list-applications) instead. It doesn't export files.
17
16
  # </Warning>
18
17
  #
19
18
  # Export a list of boarding applications for an organization. Use filters to limit results.
@@ -209,9 +209,9 @@ module Payabli
209
209
  # @option params [String] :entry
210
210
  #
211
211
  # @example
212
- # client.organization.get_basic_organization(entry: "8cfec329267")
212
+ # client.organization.get_basic_organization(entry: "pilgrim-planner")
213
213
  #
214
- # @return [Payabli::Types::OrganizationQueryRecord]
214
+ # @return [Payabli::Types::GetBasicOrganizationResponse]
215
215
  def get_basic_organization(request_options: {}, **params)
216
216
  params = Payabli::Internal::Types::Utils.normalize_keys(params)
217
217
  headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }, { "APIKeyAuth" => [] }])
@@ -229,7 +229,7 @@ module Payabli
229
229
  end
230
230
  code = response.code.to_i
231
231
  if code.between?(200, 299)
232
- Payabli::Types::OrganizationQueryRecord.load(response.body)
232
+ Payabli::Types::GetBasicOrganizationResponse.load(response.body)
233
233
  else
234
234
  error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
235
235
  raise error_class.new(response.body, code: code)
@@ -250,7 +250,7 @@ module Payabli
250
250
  # @example
251
251
  # client.organization.get_basic_organization_by_id(org_id: 123)
252
252
  #
253
- # @return [Payabli::Types::OrganizationQueryRecord]
253
+ # @return [Payabli::Types::GetBasicOrganizationResponse]
254
254
  def get_basic_organization_by_id(request_options: {}, **params)
255
255
  params = Payabli::Internal::Types::Utils.normalize_keys(params)
256
256
  headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }, { "APIKeyAuth" => [] }])
@@ -268,7 +268,7 @@ module Payabli
268
268
  end
269
269
  code = response.code.to_i
270
270
  if code.between?(200, 299)
271
- Payabli::Types::OrganizationQueryRecord.load(response.body)
271
+ Payabli::Types::GetBasicOrganizationResponse.load(response.body)
272
272
  else
273
273
  error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
274
274
  raise error_class.new(response.body, code: code)
@@ -0,0 +1,214 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Organizations
5
+ class Client
6
+ # @param client [Payabli::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # Lists organizations with optional filtering and pagination. Only
14
+ # organizations are returned. Other paypoints never appear in this list.
15
+ #
16
+ # @param request_options [Hash]
17
+ # @param params [Hash]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ # @option params [String, nil] :business_reference
24
+ # @option params [String, nil] :status
25
+ # @option params [String, nil] :search
26
+ # @option params [Integer, nil] :limit
27
+ # @option params [Integer, nil] :page
28
+ #
29
+ # @example
30
+ # client.organizations.list_organizations(business_reference: "6e2b9d14-7a3c-4f58-b1e6-0c9d3a5f8e27")
31
+ #
32
+ # @return [Payabli::Types::ListPaypointsEnvelope]
33
+ def list_organizations(request_options: {}, **params)
34
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
35
+ query_params = {}
36
+ query_params["businessReference"] = params[:business_reference] if params.key?(:business_reference)
37
+ query_params["status"] = params[:status] if params.key?(:status)
38
+ query_params["search"] = params[:search] if params.key?(:search)
39
+ query_params["limit"] = params[:limit] if params.key?(:limit)
40
+ query_params["page"] = params[:page] if params.key?(:page)
41
+
42
+ headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
43
+ request = Payabli::Internal::JSON::Request.new(
44
+ base_url: request_options[:base_url],
45
+ method: "GET",
46
+ path: "v2/organizations",
47
+ headers: headers,
48
+ query: query_params,
49
+ request_options: request_options
50
+ )
51
+ begin
52
+ response = @client.send(request)
53
+ rescue Net::HTTPRequestTimeout
54
+ raise Payabli::Errors::TimeoutError
55
+ end
56
+ code = response.code.to_i
57
+ if code.between?(200, 299)
58
+ Payabli::Types::ListPaypointsEnvelope.load(response.body)
59
+ else
60
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
61
+ raise error_class.new(response.body, code: code)
62
+ end
63
+ end
64
+
65
+ # Creates an organization. Provide exactly one of `business` (to create
66
+ # the business inline, recommended) or `businessReference` (an existing
67
+ # business). In intelligent boarding, an organization is a kind of paypoint, so the
68
+ # request takes the paypoint create fields except `paypointType`. Payabli
69
+ # sets the organization type itself. An organization isn't underwritten,
70
+ # so only the fields needed to create the records are required. New
71
+ # organizations start in `pending`. If you don't set
72
+ # `parentPaypointReference`, the organization nests under the
73
+ # organization your credential belongs to. Returns `409` if an
74
+ # organization with the same `externalId` already exists.
75
+ #
76
+ # @param request_options [Hash]
77
+ # @param params [Payabli::Organizations::Types::CreateOrganizationOrganizationsRequest]
78
+ # @option request_options [String] :base_url
79
+ # @option request_options [Hash{String => Object}] :additional_headers
80
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
81
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
82
+ # @option request_options [Integer] :timeout_in_seconds
83
+ #
84
+ # @example
85
+ # client.organizations.create_organization(
86
+ # doing_business_as: "PropertyManager Pro",
87
+ # description: "Property management software partner",
88
+ # website: "https://example.com",
89
+ # customer_service_phone: "3055551212",
90
+ # customer_service_email: "support@example.com",
91
+ # timezone: "America/New_York",
92
+ # external_id: "pmp-org-001",
93
+ # business: {
94
+ # legal_name: "PropertyManager Pro LLC",
95
+ # legal_structure: "llc",
96
+ # external_id: "pmp-biz-001"
97
+ # }
98
+ # )
99
+ #
100
+ # @return [Payabli::Types::PaypointCreatedEnvelope]
101
+ def create_organization(request_options: {}, **params)
102
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
103
+ headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
104
+ request = Payabli::Internal::JSON::Request.new(
105
+ base_url: request_options[:base_url],
106
+ method: "POST",
107
+ path: "v2/organizations",
108
+ headers: headers,
109
+ body: Payabli::Organizations::Types::CreateOrganizationOrganizationsRequest.new(params).to_h,
110
+ request_options: request_options
111
+ )
112
+ begin
113
+ response = @client.send(request)
114
+ rescue Net::HTTPRequestTimeout
115
+ raise Payabli::Errors::TimeoutError
116
+ end
117
+ code = response.code.to_i
118
+ if code.between?(200, 299)
119
+ Payabli::Types::PaypointCreatedEnvelope.load(response.body)
120
+ else
121
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
122
+ raise error_class.new(response.body, code: code)
123
+ end
124
+ end
125
+
126
+ # Retrieves an organization by reference.
127
+ #
128
+ # @param request_options [Hash]
129
+ # @param params [Hash]
130
+ # @option request_options [String] :base_url
131
+ # @option request_options [Hash{String => Object}] :additional_headers
132
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
133
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
134
+ # @option request_options [Integer] :timeout_in_seconds
135
+ # @option params [String] :organization_reference
136
+ #
137
+ # @example
138
+ # client.organizations.get_organization(organization_reference: "a8806f02-23b3-4f6d-bba3-42e1b94326ea")
139
+ #
140
+ # @return [Payabli::Types::PaypointDetailEnvelope]
141
+ def get_organization(request_options: {}, **params)
142
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
143
+ headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
144
+ request = Payabli::Internal::JSON::Request.new(
145
+ base_url: request_options[:base_url],
146
+ method: "GET",
147
+ path: "v2/organizations/#{URI.encode_uri_component(params[:organization_reference].to_s)}",
148
+ headers: headers,
149
+ request_options: request_options
150
+ )
151
+ begin
152
+ response = @client.send(request)
153
+ rescue Net::HTTPRequestTimeout
154
+ raise Payabli::Errors::TimeoutError
155
+ end
156
+ code = response.code.to_i
157
+ if code.between?(200, 299)
158
+ Payabli::Types::PaypointDetailEnvelope.load(response.body)
159
+ else
160
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
161
+ raise error_class.new(response.body, code: code)
162
+ end
163
+ end
164
+
165
+ # Applies a partial update to an organization. Send only the fields you want to change. You can't change an
166
+ # organization's type. If you send `paypointType`, the request ignores it and doesn't return an error.
167
+ #
168
+ # @param request_options [Hash]
169
+ # @param params [Payabli::Organizations::Types::UpdateOrganizationRequest]
170
+ # @option request_options [String] :base_url
171
+ # @option request_options [Hash{String => Object}] :additional_headers
172
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
173
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
174
+ # @option request_options [Integer] :timeout_in_seconds
175
+ # @option params [String] :organization_reference
176
+ #
177
+ # @example
178
+ # client.organizations.update_organization(
179
+ # organization_reference: "a8806f02-23b3-4f6d-bba3-42e1b94326ea",
180
+ # description: "Updated description"
181
+ # )
182
+ #
183
+ # @return [Payabli::Types::PaypointUpdatedEnvelope]
184
+ def update_organization(request_options: {}, **params)
185
+ params = Payabli::Internal::Types::Utils.normalize_keys(params)
186
+ request_data = Payabli::Organizations::Types::UpdateOrganizationRequest.new(params).to_h
187
+ non_body_param_names = %w[organizationReference]
188
+ body = request_data.except(*non_body_param_names)
189
+
190
+ headers = @client.auth_headers_for_endpoint(security: [{ "BearerAuth" => [] }])
191
+ request = Payabli::Internal::JSON::Request.new(
192
+ base_url: request_options[:base_url],
193
+ method: "PATCH",
194
+ path: "v2/organizations/#{URI.encode_uri_component(params[:organization_reference].to_s)}",
195
+ headers: headers,
196
+ body: body,
197
+ request_options: request_options
198
+ )
199
+ begin
200
+ response = @client.send(request)
201
+ rescue Net::HTTPRequestTimeout
202
+ raise Payabli::Errors::TimeoutError
203
+ end
204
+ code = response.code.to_i
205
+ if code.between?(200, 299)
206
+ Payabli::Types::PaypointUpdatedEnvelope.load(response.body)
207
+ else
208
+ error_class = Payabli::Errors::ResponseError.subclass_for_code(code)
209
+ raise error_class.new(response.body, code: code)
210
+ end
211
+ end
212
+ end
213
+ end
214
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Organizations
5
+ module Types
6
+ class CreateOrganizationOrganizationsRequest < Internal::Types::Model
7
+ extend Payabli::Internal::Types::Union
8
+
9
+ member -> { Payabli::Types::CreateOrganizationWithInlineBusiness }
10
+
11
+ member -> { Payabli::Types::CreateOrganizationWithBusinessReference }
12
+
13
+ member -> { Payabli::Types::CreateOrganizationAllFields }
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Organizations
5
+ module Types
6
+ class ListOrganizationsOrganizationsRequest < Internal::Types::Model
7
+ field :business_reference, -> { String }, optional: true, nullable: false, api_name: "businessReference"
8
+
9
+ field :status, -> { String }, optional: true, nullable: false
10
+
11
+ field :search, -> { String }, optional: true, nullable: false
12
+
13
+ field :limit, -> { Integer }, optional: true, nullable: false
14
+
15
+ field :page, -> { Integer }, optional: true, nullable: false
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Payabli
4
+ module Organizations
5
+ module Types
6
+ class UpdateOrganizationRequest < Internal::Types::Model
7
+ field :organization_reference, -> { String }, optional: false, nullable: false, api_name: "organizationReference"
8
+
9
+ field :doing_business_as, -> { String }, optional: true, nullable: false, api_name: "doingBusinessAs"
10
+
11
+ field :description, -> { String }, optional: true, nullable: false
12
+
13
+ field :website, -> { String }, optional: true, nullable: false
14
+
15
+ field :customer_service_phone, -> { String }, optional: true, nullable: false, api_name: "customerServicePhone"
16
+
17
+ field :customer_service_email, -> { String }, optional: true, nullable: false, api_name: "customerServiceEmail"
18
+
19
+ field :timezone, -> { String }, optional: true, nullable: false
20
+
21
+ field :external_id, -> { String }, optional: true, nullable: false, api_name: "externalId"
22
+
23
+ field :custom_data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "customData"
24
+ end
25
+ end
26
+ end
27
+ end