@nightsquawktech/appfolio-mcp-server 0.0.1

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 (313) hide show
  1. package/COMMERCIAL.md +35 -0
  2. package/LICENSE +661 -0
  3. package/README.md +127 -0
  4. package/dist/catalog/index.json +1511 -0
  5. package/dist/catalog/report-spec.js +27 -0
  6. package/dist/catalog/reports/account_totals.json +112 -0
  7. package/dist/catalog/reports/additional_fees.json +73 -0
  8. package/dist/catalog/reports/aged_payables_summary.json +124 -0
  9. package/dist/catalog/reports/aged_receivables_detail.json +132 -0
  10. package/dist/catalog/reports/amenities_by_property.json +73 -0
  11. package/dist/catalog/reports/annual_budget_comparative.json +138 -0
  12. package/dist/catalog/reports/annual_budget_forecast.json +125 -0
  13. package/dist/catalog/reports/appfolio_stack_usage.json +112 -0
  14. package/dist/catalog/reports/association_work_order.json +232 -0
  15. package/dist/catalog/reports/balance_sheet.json +124 -0
  16. package/dist/catalog/reports/balance_sheet_comparative.json +126 -0
  17. package/dist/catalog/reports/balance_sheet_comparison.json +113 -0
  18. package/dist/catalog/reports/bank_account_association.json +94 -0
  19. package/dist/catalog/reports/bill_detail.json +183 -0
  20. package/dist/catalog/reports/board_of_directors.json +87 -0
  21. package/dist/catalog/reports/budget_comparative.json +162 -0
  22. package/dist/catalog/reports/budget_comparison.json +141 -0
  23. package/dist/catalog/reports/cancelled_processes.json +122 -0
  24. package/dist/catalog/reports/cash_flow.json +158 -0
  25. package/dist/catalog/reports/cash_flow_comparison.json +158 -0
  26. package/dist/catalog/reports/cash_flow_detail.json +129 -0
  27. package/dist/catalog/reports/charge_detail.json +198 -0
  28. package/dist/catalog/reports/chart_of_accounts.json +22 -0
  29. package/dist/catalog/reports/check_register.json +181 -0
  30. package/dist/catalog/reports/check_register_detail.json +181 -0
  31. package/dist/catalog/reports/completed_processes.json +117 -0
  32. package/dist/catalog/reports/delinquency.json +164 -0
  33. package/dist/catalog/reports/delinquency_as_of.json +155 -0
  34. package/dist/catalog/reports/deposit_register.json +51 -0
  35. package/dist/catalog/reports/dues_roll.json +89 -0
  36. package/dist/catalog/reports/dues_roll_itemized.json +113 -0
  37. package/dist/catalog/reports/eligible_debt_summary.json +73 -0
  38. package/dist/catalog/reports/email_delivery_errors.json +104 -0
  39. package/dist/catalog/reports/expense_distribution.json +109 -0
  40. package/dist/catalog/reports/expense_register.json +149 -0
  41. package/dist/catalog/reports/fixed_assets.json +111 -0
  42. package/dist/catalog/reports/flows_assigned_tasks.json +103 -0
  43. package/dist/catalog/reports/fund_balance_sheet.json +113 -0
  44. package/dist/catalog/reports/fund_balance_sheet_active_funds.json +113 -0
  45. package/dist/catalog/reports/fund_income_statement.json +132 -0
  46. package/dist/catalog/reports/general_ledger.json +166 -0
  47. package/dist/catalog/reports/gross_potential_rent_enhanced.json +102 -0
  48. package/dist/catalog/reports/guest_card_inquiries.json +177 -0
  49. package/dist/catalog/reports/guest_cards.json +161 -0
  50. package/dist/catalog/reports/historical_advertised_rent.json +92 -0
  51. package/dist/catalog/reports/homeowner_delinquency.json +143 -0
  52. package/dist/catalog/reports/homeowner_delinquency_as_of.json +161 -0
  53. package/dist/catalog/reports/homeowner_directory.json +126 -0
  54. package/dist/catalog/reports/homeowner_ledger.json +59 -0
  55. package/dist/catalog/reports/homeowner_prepayment_balance.json +127 -0
  56. package/dist/catalog/reports/homeowner_resale.json +107 -0
  57. package/dist/catalog/reports/homeowner_vehicle_info.json +104 -0
  58. package/dist/catalog/reports/import_variances.json +41 -0
  59. package/dist/catalog/reports/in_progress_workflows.json +181 -0
  60. package/dist/catalog/reports/inactive_guest_cards.json +134 -0
  61. package/dist/catalog/reports/income_register.json +131 -0
  62. package/dist/catalog/reports/income_statement.json +130 -0
  63. package/dist/catalog/reports/income_statement_comparative.json +140 -0
  64. package/dist/catalog/reports/income_statement_comparison.json +135 -0
  65. package/dist/catalog/reports/income_statement_date_range.json +134 -0
  66. package/dist/catalog/reports/inspection_detail.json +107 -0
  67. package/dist/catalog/reports/insurance_enforcement.json +22 -0
  68. package/dist/catalog/reports/insurance_usage.json +92 -0
  69. package/dist/catalog/reports/inventory_status.json +73 -0
  70. package/dist/catalog/reports/inventory_usage.json +131 -0
  71. package/dist/catalog/reports/keys_detail.json +131 -0
  72. package/dist/catalog/reports/late_fee_policy_comparison.json +135 -0
  73. package/dist/catalog/reports/lease_expiration_detail.json +147 -0
  74. package/dist/catalog/reports/lease_expiration_summary.json +95 -0
  75. package/dist/catalog/reports/lease_history.json +147 -0
  76. package/dist/catalog/reports/leasing_agent_performance.json +54 -0
  77. package/dist/catalog/reports/leasing_funnel_performance.json +113 -0
  78. package/dist/catalog/reports/leasing_summary.json +92 -0
  79. package/dist/catalog/reports/loans.json +95 -0
  80. package/dist/catalog/reports/occupancy_custom_fields.json +73 -0
  81. package/dist/catalog/reports/occupancy_summary.json +95 -0
  82. package/dist/catalog/reports/owner1099.json +135 -0
  83. package/dist/catalog/reports/owner1099_detail.json +156 -0
  84. package/dist/catalog/reports/owner_custom_fields.json +73 -0
  85. package/dist/catalog/reports/owner_directory.json +101 -0
  86. package/dist/catalog/reports/owner_leasing.json +115 -0
  87. package/dist/catalog/reports/owner_withholdings.json +170 -0
  88. package/dist/catalog/reports/payment_plans.json +128 -0
  89. package/dist/catalog/reports/premium_leads_billing_detail.json +70 -0
  90. package/dist/catalog/reports/project_budget_detail.json +56 -0
  91. package/dist/catalog/reports/project_directory.json +144 -0
  92. package/dist/catalog/reports/property_budget.json +83 -0
  93. package/dist/catalog/reports/property_custom_fields.json +73 -0
  94. package/dist/catalog/reports/property_directory.json +73 -0
  95. package/dist/catalog/reports/property_group_directory.json +85 -0
  96. package/dist/catalog/reports/property_performance.json +115 -0
  97. package/dist/catalog/reports/property_staff_assignments.json +73 -0
  98. package/dist/catalog/reports/prospect_source_tracking.json +92 -0
  99. package/dist/catalog/reports/purchase_order.json +163 -0
  100. package/dist/catalog/reports/receivables_activity.json +138 -0
  101. package/dist/catalog/reports/renewal_summary.json +134 -0
  102. package/dist/catalog/reports/rent_roll.json +114 -0
  103. package/dist/catalog/reports/rent_roll_commercial.json +106 -0
  104. package/dist/catalog/reports/rent_roll_itemized.json +125 -0
  105. package/dist/catalog/reports/rentable_items.json +97 -0
  106. package/dist/catalog/reports/rental_applications.json +118 -0
  107. package/dist/catalog/reports/renter_directory.json +60 -0
  108. package/dist/catalog/reports/resident_financial_activity.json +107 -0
  109. package/dist/catalog/reports/screening_assessments.json +104 -0
  110. package/dist/catalog/reports/screening_usage.json +92 -0
  111. package/dist/catalog/reports/security_deposit_funds_detail.json +141 -0
  112. package/dist/catalog/reports/showings.json +123 -0
  113. package/dist/catalog/reports/student_housing_rent_roll_by_bed.json +125 -0
  114. package/dist/catalog/reports/surveys_summary.json +118 -0
  115. package/dist/catalog/reports/tenant_debt_collections_status.json +90 -0
  116. package/dist/catalog/reports/tenant_directory.json +120 -0
  117. package/dist/catalog/reports/tenant_ledger.json +72 -0
  118. package/dist/catalog/reports/tenant_tickler.json +102 -0
  119. package/dist/catalog/reports/tenant_transactions_summary.json +97 -0
  120. package/dist/catalog/reports/tenant_unpaid_charges_summary.json +147 -0
  121. package/dist/catalog/reports/tenant_vehicle_info.json +107 -0
  122. package/dist/catalog/reports/trial_balance.json +104 -0
  123. package/dist/catalog/reports/trial_balance_by_property.json +104 -0
  124. package/dist/catalog/reports/trust_account_balance.json +116 -0
  125. package/dist/catalog/reports/trust_account_balance_detail.json +112 -0
  126. package/dist/catalog/reports/twelve_month_cash_flow.json +157 -0
  127. package/dist/catalog/reports/twelve_month_income_statement.json +147 -0
  128. package/dist/catalog/reports/unit_custom_fields.json +73 -0
  129. package/dist/catalog/reports/unit_directory.json +80 -0
  130. package/dist/catalog/reports/unit_inspection.json +95 -0
  131. package/dist/catalog/reports/unit_turn_detail.json +104 -0
  132. package/dist/catalog/reports/unit_vacancy.json +143 -0
  133. package/dist/catalog/reports/unpaid_balances_by_month.json +181 -0
  134. package/dist/catalog/reports/upcoming_activities.json +142 -0
  135. package/dist/catalog/reports/vendor1099.json +84 -0
  136. package/dist/catalog/reports/vendor_custom_fields.json +22 -0
  137. package/dist/catalog/reports/vendor_directory.json +134 -0
  138. package/dist/catalog/reports/vendor_ledger.json +122 -0
  139. package/dist/catalog/reports/vendor_ledger_enhanced.json +122 -0
  140. package/dist/catalog/reports/violation_detail.json +122 -0
  141. package/dist/catalog/reports/work_order.json +254 -0
  142. package/dist/catalog/reports/work_order_labor_summary.json +148 -0
  143. package/dist/catalog-db/endpoint-spec.js +22 -0
  144. package/dist/catalog-db/endpoints/delete_inspections_inspectionid.json +21 -0
  145. package/dist/catalog-db/endpoints/delete_inventories_id.json +21 -0
  146. package/dist/catalog-db/endpoints/delete_properties_propertyid_marketing_photos_marketingphotoid.json +27 -0
  147. package/dist/catalog-db/endpoints/delete_properties_propertyid_photos_photoid.json +27 -0
  148. package/dist/catalog-db/endpoints/delete_units_unitid_photos_photoid.json +27 -0
  149. package/dist/catalog-db/endpoints/delete_work_orders_workorderid_attachments_attachmentid.json +27 -0
  150. package/dist/catalog-db/endpoints/get_bank_accounts.json +58 -0
  151. package/dist/catalog-db/endpoints/get_bills.json +185 -0
  152. package/dist/catalog-db/endpoints/get_ca_associations.json +106 -0
  153. package/dist/catalog-db/endpoints/get_ca_bank_balances.json +101 -0
  154. package/dist/catalog-db/endpoints/get_ca_board_members.json +146 -0
  155. package/dist/catalog-db/endpoints/get_ca_homeowner_ledgers.json +70 -0
  156. package/dist/catalog-db/endpoints/get_ca_homeowners.json +151 -0
  157. package/dist/catalog-db/endpoints/get_ca_renters.json +132 -0
  158. package/dist/catalog-db/endpoints/get_ca_rules.json +76 -0
  159. package/dist/catalog-db/endpoints/get_ca_units.json +130 -0
  160. package/dist/catalog-db/endpoints/get_ca_violations.json +119 -0
  161. package/dist/catalog-db/endpoints/get_charges.json +76 -0
  162. package/dist/catalog-db/endpoints/get_corporate_entities.json +88 -0
  163. package/dist/catalog-db/endpoints/get_custom_fields.json +120 -0
  164. package/dist/catalog-db/endpoints/get_delinquent_charges.json +88 -0
  165. package/dist/catalog-db/endpoints/get_gl_accounts.json +115 -0
  166. package/dist/catalog-db/endpoints/get_gl_details.json +154 -0
  167. package/dist/catalog-db/endpoints/get_inventories.json +131 -0
  168. package/dist/catalog-db/endpoints/get_inventory_locations.json +70 -0
  169. package/dist/catalog-db/endpoints/get_jobs.json +79 -0
  170. package/dist/catalog-db/endpoints/get_journal_entries.json +137 -0
  171. package/dist/catalog-db/endpoints/get_late_fee_policies.json +148 -0
  172. package/dist/catalog-db/endpoints/get_leads.json +248 -0
  173. package/dist/catalog-db/endpoints/get_leads_notes.json +83 -0
  174. package/dist/catalog-db/endpoints/get_leases.json +70 -0
  175. package/dist/catalog-db/endpoints/get_leases_renewal_pricings.json +52 -0
  176. package/dist/catalog-db/endpoints/get_listings.json +259 -0
  177. package/dist/catalog-db/endpoints/get_occupancies_documents.json +70 -0
  178. package/dist/catalog-db/endpoints/get_owner_groups.json +230 -0
  179. package/dist/catalog-db/endpoints/get_owners.json +258 -0
  180. package/dist/catalog-db/endpoints/get_owners_attachments.json +82 -0
  181. package/dist/catalog-db/endpoints/get_owners_notes.json +71 -0
  182. package/dist/catalog-db/endpoints/get_owners_ownerid.json +247 -0
  183. package/dist/catalog-db/endpoints/get_payables.json +138 -0
  184. package/dist/catalog-db/endpoints/get_portfolios.json +70 -0
  185. package/dist/catalog-db/endpoints/get_properties.json +267 -0
  186. package/dist/catalog-db/endpoints/get_properties_attachments.json +76 -0
  187. package/dist/catalog-db/endpoints/get_properties_marketing_photos.json +76 -0
  188. package/dist/catalog-db/endpoints/get_properties_notes.json +71 -0
  189. package/dist/catalog-db/endpoints/get_properties_photos.json +76 -0
  190. package/dist/catalog-db/endpoints/get_property_groups.json +84 -0
  191. package/dist/catalog-db/endpoints/get_recurring_charges.json +106 -0
  192. package/dist/catalog-db/endpoints/get_rental_applications.json +186 -0
  193. package/dist/catalog-db/endpoints/get_rental_applications_notes.json +71 -0
  194. package/dist/catalog-db/endpoints/get_showings.json +99 -0
  195. package/dist/catalog-db/endpoints/get_tenant_ledgers.json +82 -0
  196. package/dist/catalog-db/endpoints/get_tenants.json +273 -0
  197. package/dist/catalog-db/endpoints/get_tenants_notes.json +71 -0
  198. package/dist/catalog-db/endpoints/get_unit_types.json +168 -0
  199. package/dist/catalog-db/endpoints/get_units.json +359 -0
  200. package/dist/catalog-db/endpoints/get_units_attachments.json +76 -0
  201. package/dist/catalog-db/endpoints/get_units_notes.json +71 -0
  202. package/dist/catalog-db/endpoints/get_units_photos.json +70 -0
  203. package/dist/catalog-db/endpoints/get_users.json +88 -0
  204. package/dist/catalog-db/endpoints/get_vendors.json +317 -0
  205. package/dist/catalog-db/endpoints/get_vendors_notes.json +71 -0
  206. package/dist/catalog-db/endpoints/get_work_orders.json +322 -0
  207. package/dist/catalog-db/endpoints/get_work_orders_attachments.json +83 -0
  208. package/dist/catalog-db/endpoints/patch_bills_billid.json +156 -0
  209. package/dist/catalog-db/endpoints/patch_ca_violations_violationid.json +71 -0
  210. package/dist/catalog-db/endpoints/patch_inspections_inspectionid.json +77 -0
  211. package/dist/catalog-db/endpoints/patch_inventories_id.json +113 -0
  212. package/dist/catalog-db/endpoints/patch_inventory_locations_id.json +52 -0
  213. package/dist/catalog-db/endpoints/patch_journal_entries_journalentryid.json +90 -0
  214. package/dist/catalog-db/endpoints/patch_leads_guestcardid_notes_id.json +46 -0
  215. package/dist/catalog-db/endpoints/patch_leads_leadid.json +162 -0
  216. package/dist/catalog-db/endpoints/patch_leases_leaseid.json +52 -0
  217. package/dist/catalog-db/endpoints/patch_owner_groups_id.json +72 -0
  218. package/dist/catalog-db/endpoints/patch_owners_ownerid.json +344 -0
  219. package/dist/catalog-db/endpoints/patch_owners_ownerid_notes_id.json +46 -0
  220. package/dist/catalog-db/endpoints/patch_portfolios_portfolioid.json +46 -0
  221. package/dist/catalog-db/endpoints/patch_properties_propertyid.json +333 -0
  222. package/dist/catalog-db/endpoints/patch_properties_propertyid_marketing_photos_marketingphotoid.json +46 -0
  223. package/dist/catalog-db/endpoints/patch_properties_propertyid_notes_id.json +46 -0
  224. package/dist/catalog-db/endpoints/patch_properties_propertyid_photos_photoid.json +46 -0
  225. package/dist/catalog-db/endpoints/patch_property_groups_propertygroupid.json +40 -0
  226. package/dist/catalog-db/endpoints/patch_recurring_charges_recurringchargeid.json +89 -0
  227. package/dist/catalog-db/endpoints/patch_rental_applications_rentalapplicationid.json +47 -0
  228. package/dist/catalog-db/endpoints/patch_rental_applications_rentalapplicationid_notes_id.json +46 -0
  229. package/dist/catalog-db/endpoints/patch_showings_showingid.json +69 -0
  230. package/dist/catalog-db/endpoints/patch_tenants_bulk.json +131 -0
  231. package/dist/catalog-db/endpoints/patch_tenants_tenantid.json +48 -0
  232. package/dist/catalog-db/endpoints/patch_tenants_tenantid_notes_id.json +46 -0
  233. package/dist/catalog-db/endpoints/patch_unit_types_unittypeid.json +126 -0
  234. package/dist/catalog-db/endpoints/patch_units_unitid.json +296 -0
  235. package/dist/catalog-db/endpoints/patch_units_unitid_notes_id.json +46 -0
  236. package/dist/catalog-db/endpoints/patch_units_unitid_photos_photoid.json +46 -0
  237. package/dist/catalog-db/endpoints/patch_vendors_vendorid.json +263 -0
  238. package/dist/catalog-db/endpoints/patch_vendors_vendorid_notes_id.json +46 -0
  239. package/dist/catalog-db/endpoints/patch_work_orders_workorderid.json +273 -0
  240. package/dist/catalog-db/endpoints/patch_work_orders_workorderid_notes_id.json +46 -0
  241. package/dist/catalog-db/endpoints/post_bank_accounts_bulk.json +167 -0
  242. package/dist/catalog-db/endpoints/post_bills.json +160 -0
  243. package/dist/catalog-db/endpoints/post_bills_billid_attachments.json +40 -0
  244. package/dist/catalog-db/endpoints/post_bills_bulk.json +185 -0
  245. package/dist/catalog-db/endpoints/post_bills_bulk_async.json +192 -0
  246. package/dist/catalog-db/endpoints/post_ca_violations.json +63 -0
  247. package/dist/catalog-db/endpoints/post_ca_violations_violationid_attachments.json +41 -0
  248. package/dist/catalog-db/endpoints/post_charges.json +56 -0
  249. package/dist/catalog-db/endpoints/post_charges_bulk.json +70 -0
  250. package/dist/catalog-db/endpoints/post_charges_bulk_async.json +70 -0
  251. package/dist/catalog-db/endpoints/post_charges_chargeid_attachments.json +40 -0
  252. package/dist/catalog-db/endpoints/post_corporate_gl_accounts_bulk.json +71 -0
  253. package/dist/catalog-db/endpoints/post_gl_accounts_bulk.json +77 -0
  254. package/dist/catalog-db/endpoints/post_inspections.json +70 -0
  255. package/dist/catalog-db/endpoints/post_inspections_bulk.json +76 -0
  256. package/dist/catalog-db/endpoints/post_inspections_inspectionid_attachments.json +41 -0
  257. package/dist/catalog-db/endpoints/post_inventories.json +105 -0
  258. package/dist/catalog-db/endpoints/post_inventories_bulk.json +119 -0
  259. package/dist/catalog-db/endpoints/post_inventory_locations.json +44 -0
  260. package/dist/catalog-db/endpoints/post_inventory_locations_bulk.json +58 -0
  261. package/dist/catalog-db/endpoints/post_journal_entries.json +101 -0
  262. package/dist/catalog-db/endpoints/post_journal_entries_bulk.json +115 -0
  263. package/dist/catalog-db/endpoints/post_journal_entries_journalentryid_attachments.json +41 -0
  264. package/dist/catalog-db/endpoints/post_late_fee_policies_bulk.json +115 -0
  265. package/dist/catalog-db/endpoints/post_leads.json +204 -0
  266. package/dist/catalog-db/endpoints/post_leads_guestcardid_notes.json +40 -0
  267. package/dist/catalog-db/endpoints/post_occupancies_occupancyid_attachments.json +41 -0
  268. package/dist/catalog-db/endpoints/post_owner_groups.json +96 -0
  269. package/dist/catalog-db/endpoints/post_owners.json +330 -0
  270. package/dist/catalog-db/endpoints/post_owners_bulk.json +203 -0
  271. package/dist/catalog-db/endpoints/post_owners_ownerid_attachments.json +40 -0
  272. package/dist/catalog-db/endpoints/post_owners_ownerid_notes.json +40 -0
  273. package/dist/catalog-db/endpoints/post_properties_bulk.json +245 -0
  274. package/dist/catalog-db/endpoints/post_properties_propertyid_attachments.json +40 -0
  275. package/dist/catalog-db/endpoints/post_properties_propertyid_marketing_photos.json +52 -0
  276. package/dist/catalog-db/endpoints/post_properties_propertyid_notes.json +40 -0
  277. package/dist/catalog-db/endpoints/post_properties_propertyid_photos.json +40 -0
  278. package/dist/catalog-db/endpoints/post_recurring_charges.json +81 -0
  279. package/dist/catalog-db/endpoints/post_recurring_charges_bulk.json +95 -0
  280. package/dist/catalog-db/endpoints/post_rental_applications_rentalapplicationid_attachments.json +41 -0
  281. package/dist/catalog-db/endpoints/post_rental_applications_rentalapplicationid_notes.json +40 -0
  282. package/dist/catalog-db/endpoints/post_showings.json +62 -0
  283. package/dist/catalog-db/endpoints/post_tenants_bulk.json +161 -0
  284. package/dist/catalog-db/endpoints/post_tenants_tenantid_notes.json +40 -0
  285. package/dist/catalog-db/endpoints/post_unit_types_bulk.json +138 -0
  286. package/dist/catalog-db/endpoints/post_units_bulk.json +236 -0
  287. package/dist/catalog-db/endpoints/post_units_unitid_attachments.json +40 -0
  288. package/dist/catalog-db/endpoints/post_units_unitid_notes.json +40 -0
  289. package/dist/catalog-db/endpoints/post_units_unitid_photos.json +40 -0
  290. package/dist/catalog-db/endpoints/post_vendors.json +279 -0
  291. package/dist/catalog-db/endpoints/post_vendors_bulk.json +279 -0
  292. package/dist/catalog-db/endpoints/post_vendors_vendorid_notes.json +40 -0
  293. package/dist/catalog-db/endpoints/post_work_orders.json +251 -0
  294. package/dist/catalog-db/endpoints/post_work_orders_workorderid_attachments.json +41 -0
  295. package/dist/catalog-db/endpoints/post_work_orders_workorderid_notes.json +40 -0
  296. package/dist/catalog-db/endpoints/put_leases_renewal_pricings_bulk.json +58 -0
  297. package/dist/catalog-db/endpoints/put_units_pricing_matrices_bulk.json +58 -0
  298. package/dist/catalog-db/endpoints/put_units_pricing_matrices_bulk_async.json +46 -0
  299. package/dist/catalog-db/endpoints/put_units_unitid_pricing_matrices.json +66 -0
  300. package/dist/catalog-db/index.json +1894 -0
  301. package/dist/clients/appfolio-client.js +131 -0
  302. package/dist/clients/appfolio-db-client.js +186 -0
  303. package/dist/helpers/register-db-tools.js +27 -0
  304. package/dist/helpers/register-report-tools.js +27 -0
  305. package/dist/index.js +10 -0
  306. package/dist/server/appfolio-mcp-server.js +18 -0
  307. package/dist/tools/call-endpoint.js +109 -0
  308. package/dist/tools/describe-endpoint.js +63 -0
  309. package/dist/tools/describe-report.js +55 -0
  310. package/dist/tools/list-endpoints.js +90 -0
  311. package/dist/tools/list-reports.js +58 -0
  312. package/dist/tools/run-report.js +102 -0
  313. package/package.json +42 -0
@@ -0,0 +1,77 @@
1
+ {
2
+ "operationId": "patch_inspections_inspectionid",
3
+ "resource": "inspections",
4
+ "name": "Update Inspection",
5
+ "method": "PATCH",
6
+ "path": "/inspections/{InspectionId}",
7
+ "description": "Update an inspection record",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "InspectionId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Unique identifier of the inspection to update"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Attributes to update for the inspection",
22
+ "attributes": [
23
+ {
24
+ "name": "Name",
25
+ "type": "string",
26
+ "required": false,
27
+ "description": "The user-provided name of the inspection."
28
+ },
29
+ {
30
+ "name": "URL",
31
+ "type": "string",
32
+ "required": false,
33
+ "description": "The URL link to an external page hosted by the partner with additional details about the inspection."
34
+ },
35
+ {
36
+ "name": "InspectionDate",
37
+ "type": "string <date>",
38
+ "required": false,
39
+ "description": "The date the inspection was or is scheduled to be conducted. Valid format is \"YYYY-MM-DD\" e.g. \"2025-03-25\"."
40
+ },
41
+ {
42
+ "name": "Status",
43
+ "type": "string",
44
+ "required": false,
45
+ "description": "Indicates the current status of the inspection. Valid values for update include \"NEW\", \"IN PROGRESS\", \"DONE\", \"OUT FOR SIGNING\", or \"SIGNED\".",
46
+ "enum": ["NEW", "IN PROGRESS", "DONE", "OUT FOR SIGNING", "SIGNED"]
47
+ },
48
+ {
49
+ "name": "OccupancyId",
50
+ "type": "string <uuid>",
51
+ "required": false,
52
+ "description": "Unique identifier of the occupancy to associate with the inspection. Only one of OccupancyId, PropertyId, or UnitId may be specified."
53
+ },
54
+ {
55
+ "name": "PropertyId",
56
+ "type": "string <uuid>",
57
+ "required": false,
58
+ "description": "Unique identifier of the property to associate with the inspection. Only one of OccupancyId, PropertyId, or UnitId may be specified."
59
+ },
60
+ {
61
+ "name": "UnitId",
62
+ "type": "string <uuid>",
63
+ "required": false,
64
+ "description": "Unique identifier of the unit to associate with the inspection. Only one of OccupancyId, PropertyId, or UnitId may be specified."
65
+ }
66
+ ]
67
+ },
68
+ "responseFields": [
69
+ {
70
+ "name": "Id",
71
+ "type": "string <uuid>",
72
+ "required": false,
73
+ "description": "Unique identifier of the updated inspection"
74
+ }
75
+ ],
76
+ "requestSample": "{\n \"Name\": \"New Name\",\n \"URL\": \"https://partner.com/inspections/updated-123\",\n \"InspectionDate\": \"2025-06-10\",\n \"Status\": \"DONE\"\n}"
77
+ }
@@ -0,0 +1,113 @@
1
+ {
2
+ "operationId": "patch_inventories_id",
3
+ "resource": "inventories",
4
+ "name": "Update Inventory",
5
+ "method": "PATCH",
6
+ "path": "/inventories/{Id}",
7
+ "description": "Update an inventory item. At least one attribute or relationship must be provided.",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "Id",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Unique identifier of the inventory item to update"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Update inventory object. At least one attribute must be provided.",
22
+ "attributes": [
23
+ {
24
+ "name": "Name",
25
+ "type": "string",
26
+ "required": false,
27
+ "description": "The name of the inventory item."
28
+ },
29
+ {
30
+ "name": "Quantity",
31
+ "type": "number",
32
+ "required": false,
33
+ "description": "The quantity of the inventory item."
34
+ },
35
+ {
36
+ "name": "Reorder",
37
+ "type": "integer",
38
+ "required": false,
39
+ "description": "The reorder threshold for the inventory item."
40
+ },
41
+ {
42
+ "name": "Cost",
43
+ "type": "number",
44
+ "required": false,
45
+ "description": "The cost of the inventory item."
46
+ },
47
+ {
48
+ "name": "Description",
49
+ "type": "string",
50
+ "required": false,
51
+ "description": "A description of the inventory item."
52
+ },
53
+ {
54
+ "name": "PartNumber",
55
+ "type": "string",
56
+ "required": false,
57
+ "description": "The part number of the inventory item."
58
+ },
59
+ {
60
+ "name": "Shelf",
61
+ "type": "string",
62
+ "required": false,
63
+ "description": "The bin/shelf location of the inventory item."
64
+ },
65
+ {
66
+ "name": "Category",
67
+ "type": "string",
68
+ "required": false,
69
+ "description": "The category of the inventory item."
70
+ },
71
+ {
72
+ "name": "LocationId",
73
+ "type": "string <uuid>",
74
+ "required": false,
75
+ "description": "Unique identifier of the inventory location."
76
+ },
77
+ {
78
+ "name": "VendorId",
79
+ "type": "string <uuid>",
80
+ "required": false,
81
+ "description": "Unique identifier of the vendor."
82
+ },
83
+ {
84
+ "name": "GlAccountId",
85
+ "type": "string <uuid>",
86
+ "required": false,
87
+ "description": "Unique identifier of the GL account (must be expense type)."
88
+ },
89
+ {
90
+ "name": "MarkUpType",
91
+ "type": "string",
92
+ "required": false,
93
+ "description": "The markup type.",
94
+ "enum": ["Percentage", "Fixed Amount"]
95
+ },
96
+ {
97
+ "name": "MarkUp",
98
+ "type": "number",
99
+ "required": false,
100
+ "description": "The markup value."
101
+ }
102
+ ]
103
+ },
104
+ "responseFields": [
105
+ {
106
+ "name": "Id",
107
+ "type": "string <uuid>",
108
+ "required": false,
109
+ "description": "Unique identifier of the updated inventory item"
110
+ }
111
+ ],
112
+ "requestSample": "{\n \"Name\": \"Updated Inventory Item\",\n \"Quantity\": 10,\n \"Cost\": \"25.00\"\n}"
113
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "operationId": "patch_inventory_locations_id",
3
+ "resource": "inventory_locations",
4
+ "name": "Update Inventory Location",
5
+ "method": "PATCH",
6
+ "path": "/inventory_locations/{Id}",
7
+ "description": "Update an inventory location. At least one attribute or relationship must be provided.",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "Id",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Unique identifier of the inventory location to update"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Update inventory location object. At least one attribute must be provided.",
22
+ "attributes": [
23
+ {
24
+ "name": "Name",
25
+ "type": "string",
26
+ "required": false,
27
+ "description": "The name of the inventory location."
28
+ },
29
+ {
30
+ "name": "Description",
31
+ "type": "string",
32
+ "required": false,
33
+ "description": "A description of the inventory location."
34
+ },
35
+ {
36
+ "name": "PropertyId",
37
+ "type": "string <uuid>",
38
+ "required": false,
39
+ "description": "Unique identifier of the property associated with the inventory location."
40
+ }
41
+ ]
42
+ },
43
+ "responseFields": [
44
+ {
45
+ "name": "Id",
46
+ "type": "string <uuid>",
47
+ "required": false,
48
+ "description": "Unique identifier of the updated inventory location"
49
+ }
50
+ ],
51
+ "requestSample": "{\n \"Name\": \"Storage Room A\",\n \"Description\": \"Main storage room on the first floor\",\n \"PropertyId\": \"1abcde23-c543-456e-abc9-123456789cba\"\n}"
52
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "operationId": "patch_journal_entries_journalentryid",
3
+ "resource": "journal_entries",
4
+ "name": "Update Journal Entries",
5
+ "method": "PATCH",
6
+ "path": "/journal_entries/{JournalEntryId}",
7
+ "description": "Update a journal entry",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "JournalEntryId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Unique identifier of the journal entry to update"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Journal Entry object",
22
+ "attributes": [
23
+ {
24
+ "name": "Id",
25
+ "type": "string <uuid>",
26
+ "required": false,
27
+ "description": "Unique identifier of the journal entry"
28
+ },
29
+ {
30
+ "name": "EntryDate",
31
+ "type": "string",
32
+ "required": false,
33
+ "description": "The date the journal entry was created. Valid format is \"YYYY-MM-DD\" e.g. \"2022-03-03\"."
34
+ },
35
+ {
36
+ "name": "LineItems",
37
+ "type": "array",
38
+ "required": false,
39
+ "description": "Array of line-item objects. Two or more line-item objects must be passed to create a journal entry. The sum of the total debits must equal the total credits for all line-item objects.",
40
+ "attributes": [
41
+ {
42
+ "name": "Credit",
43
+ "type": "string <decimal>",
44
+ "required": false,
45
+ "description": "The credit amount. Total debits and credits must be equal. For example, if line-item 1 has a credit of \"10.00\", line-item 2 must have a debit of \"10.00\"."
46
+ },
47
+ {
48
+ "name": "Debit",
49
+ "type": "string <decimal>",
50
+ "required": false,
51
+ "description": "The debit amount. Total debits and credits must be equal. For example, if line-item 1 has a credit of \"10.00\", line-item 2 must have a debit of \"10.00\"."
52
+ },
53
+ {
54
+ "name": "Description",
55
+ "type": "string",
56
+ "required": false,
57
+ "description": "A brief, informative description of the journal entry's line item"
58
+ },
59
+ {
60
+ "name": "GlAccountId",
61
+ "type": "string <uuid>",
62
+ "required": false,
63
+ "description": "Unique identifier of the general ledger account associated with the journal entry line item"
64
+ }
65
+ ]
66
+ },
67
+ {
68
+ "name": "PropertyId",
69
+ "type": "string <uuid>",
70
+ "required": false,
71
+ "description": "Unique identifier of the property or association related to the journal entry"
72
+ },
73
+ {
74
+ "name": "Remarks",
75
+ "type": "string",
76
+ "required": false,
77
+ "description": "A description or summary of the journal entry"
78
+ }
79
+ ]
80
+ },
81
+ "responseFields": [
82
+ {
83
+ "name": "Id",
84
+ "type": "string <uuid>",
85
+ "required": false,
86
+ "description": "Unique identifier of the updated journal entry"
87
+ }
88
+ ],
89
+ "requestSample": "{\n \"EntryDate\": \"2022-02-01\",\n \"PropertyId\": \"71c5cb28-547f-11ec-bfa5-02975b268737\",\n \"LineItems\": [\n {},\n {}\n ],\n \"Remarks\": \"Payroll November\"\n}"
90
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "operationId": "patch_leads_guestcardid_notes_id",
3
+ "resource": "leads",
4
+ "name": "Update Lead Note",
5
+ "method": "PATCH",
6
+ "path": "/leads/{GuestCardId}/notes/{Id}",
7
+ "description": "Update a note to a lead",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "GuestCardId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "The unique identifier of the Guest Card to which the note will be attached. Guest Cards can be linked to multiple leads."
17
+ },
18
+ {
19
+ "name": "Id",
20
+ "type": "string <uuid>",
21
+ "required": true,
22
+ "description": "Unique identifier of the note to update"
23
+ }
24
+ ],
25
+ "requestBody": {
26
+ "required": true,
27
+ "description": "Note object",
28
+ "attributes": [
29
+ {
30
+ "name": "Body",
31
+ "type": "string",
32
+ "required": false,
33
+ "description": "A brief informative message about the lead note. A lead note cannot exceed 65,535 characters."
34
+ }
35
+ ]
36
+ },
37
+ "responseFields": [
38
+ {
39
+ "name": "Id",
40
+ "type": "string <uuid>",
41
+ "required": false,
42
+ "description": "Unique identifier of the updated lead note"
43
+ }
44
+ ],
45
+ "requestSample": "{\n \"Body\": \"This rental application has been submitted on 11/11/2023 - Updated\"\n}"
46
+ }
@@ -0,0 +1,162 @@
1
+ {
2
+ "operationId": "patch_leads_leadid",
3
+ "resource": "leads",
4
+ "name": "Update Lead",
5
+ "method": "PATCH",
6
+ "path": "/leads/{leadId}",
7
+ "description": "Update a lead",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "leadId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Unique identifier of the lead to update"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Lead fields to update. All attributes are optional; only provided fields will be updated.",
22
+ "attributes": [
23
+ {
24
+ "name": "AdditionalOccupants",
25
+ "type": "integer",
26
+ "required": false,
27
+ "description": "The number of other potential occupants of the residency"
28
+ },
29
+ {
30
+ "name": "AssignedUserId",
31
+ "type": "string <uuid>",
32
+ "required": false,
33
+ "description": "The AppFolio Property Manager user assigned to the lead. A null value passed to AssignedUserId will unassign the user previously assigned to the lead. Omitting AssignedUserId from the request body will not update the assigned user. Reference the Users endpoint for any necessary associations."
34
+ },
35
+ {
36
+ "name": "Bathrooms",
37
+ "type": "string <decimal>",
38
+ "required": false,
39
+ "description": "The number of desired bathrooms"
40
+ },
41
+ {
42
+ "name": "Bedrooms",
43
+ "type": "integer",
44
+ "required": false,
45
+ "description": "The number of desired bedrooms"
46
+ },
47
+ {
48
+ "name": "CreatedAt",
49
+ "type": "string <date-time>",
50
+ "required": false,
51
+ "description": "The date the lead was created. The value must adhere to the ISO 8601 format YYYY-MM-DDThh:mm:ssZ and the default time zone is Coordinated Universal Time (UTC)."
52
+ },
53
+ {
54
+ "name": "CreditScore",
55
+ "type": "string",
56
+ "required": false,
57
+ "description": "The self-reported credit score of the interested party"
58
+ },
59
+ {
60
+ "name": "DesiredMoveIn",
61
+ "type": "string <date>",
62
+ "required": false,
63
+ "description": "The date the prospective resident desires to move in"
64
+ },
65
+ {
66
+ "name": "FirstName",
67
+ "type": "string",
68
+ "required": false,
69
+ "description": "The first name of the interested person"
70
+ },
71
+ {
72
+ "name": "Email",
73
+ "type": "string",
74
+ "required": false,
75
+ "description": "The email address of the interested person"
76
+ },
77
+ {
78
+ "name": "HasCats",
79
+ "type": "boolean",
80
+ "required": false,
81
+ "description": "Indicates whether or not the interested person has cat(s)"
82
+ },
83
+ {
84
+ "name": "HasDogs",
85
+ "type": "boolean",
86
+ "required": false,
87
+ "description": "Indicates whether or not the interested person has dog(s)"
88
+ },
89
+ {
90
+ "name": "HasOtherPet",
91
+ "type": "boolean",
92
+ "required": false,
93
+ "description": "Indicates whether or not the interested person has other pet(s)"
94
+ },
95
+ {
96
+ "name": "InactiveReason",
97
+ "type": "string",
98
+ "required": false,
99
+ "description": "The reason why the lead was marked inactive",
100
+ "enum": ["price", "location", "amenities", "no_response", "decided_not_to_move", "leasing_criteria_not_met", "looking_for_move_in_special", "no_availability", "duplicate", "other"]
101
+ },
102
+ {
103
+ "name": "LastName",
104
+ "type": "string",
105
+ "required": false,
106
+ "description": "The last name of the interested person"
107
+ },
108
+ {
109
+ "name": "MaxRent",
110
+ "type": "string <decimal>",
111
+ "required": false,
112
+ "description": "The max amount the interested person is willing to pay monthly for rent"
113
+ },
114
+ {
115
+ "name": "MiddleInitial",
116
+ "type": "string",
117
+ "required": false,
118
+ "description": "The middle initial of the interested person"
119
+ },
120
+ {
121
+ "name": "MonthlyIncome",
122
+ "type": "string <decimal>",
123
+ "required": false,
124
+ "description": "The self-reported monthly income of interested person"
125
+ },
126
+ {
127
+ "name": "PhoneNumber",
128
+ "type": "string",
129
+ "required": false,
130
+ "description": "The phone number of the interested person"
131
+ },
132
+ {
133
+ "name": "Source",
134
+ "type": "string",
135
+ "required": false,
136
+ "description": "The mechanism through which this lead was submitted"
137
+ },
138
+ {
139
+ "name": "Status",
140
+ "type": "string",
141
+ "required": false,
142
+ "description": "Indicates the current phase of engagement with a prospective resident. If the status is set to inactive, you must specify the reason the lead was marked inactive by setting a value for InactiveReason.",
143
+ "enum": ["active", "cold", "inactive", "waitlisted"]
144
+ },
145
+ {
146
+ "name": "UnitIds",
147
+ "type": "Array of strings",
148
+ "required": false,
149
+ "description": "Array of UnitIds to update on the lead. To maintain a unit's association with a lead, pass in that unit's Id. Passing an empty array of UnitIds will drop all unit interests from the lead. Passing in null for this array or omitting it from the request will not change the units."
150
+ }
151
+ ]
152
+ },
153
+ "responseFields": [
154
+ {
155
+ "name": "Id",
156
+ "type": "string <uuid>",
157
+ "required": false,
158
+ "description": "Unique identifier of the updated lead"
159
+ }
160
+ ],
161
+ "requestSample": "{\n \"AdditionalOccupants\": 1,\n \"AssignedUserId\": \"123cde23-c543-456e-abc9-123456789cba\",\n \"Bathrooms\": \"2.5\",\n \"Bedrooms\": 2,\n \"CreatedAt\": \"2021-12-15T16:30:46Z\",\n \"CreditScore\": \"650\",\n \"DesiredMoveIn\": \"2021-12-31\",\n \"Email\": \"sample@example.com\",\n \"FirstName\": \"John\",\n \"HasCats\": true,\n \"HasDogs\": false,\n \"HasOtherPet\": false,\n \"LastName\": \"Doe\",\n \"MaxRent\": \"2200.00\",\n \"MiddleInitial\": \"\",\n \"MonthlyIncome\": \"6600.00\",\n \"PhoneNumber\": \"(310) 555-0194\",\n \"Source\": \"Website\",\n \"Status\": \"active\",\n \"UnitIds\": [\"1abcde23-c543-456e-abc9-123456789cba\", \"234abcde-c543-456e-abc9-123456789abc\"]\n}"
162
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "operationId": "patch_leases_leaseid",
3
+ "resource": "leases",
4
+ "name": "Update Lease",
5
+ "method": "PATCH",
6
+ "path": "/leases/{LeaseId}",
7
+ "description": "Update a lease. Note: IsMtm and EndOn are mutually exclusive and cannot be set in the same request.",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "LeaseId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Unique identifier of the lease to update"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Update lease object. At least one attribute must be provided. Note: IsMtm and EndOn are mutually exclusive and cannot be set in the same request.",
22
+ "attributes": [
23
+ {
24
+ "name": "EndOn",
25
+ "type": "string <date>",
26
+ "required": false,
27
+ "description": "The end date of the lease. The value must adhere to the ISO 8601 format YYYY-MM-DD. Cannot be set if IsMtm is true."
28
+ },
29
+ {
30
+ "name": "IsMtm",
31
+ "type": "boolean",
32
+ "required": false,
33
+ "description": "Indicates if the lease is month-to-month. Cannot be set to true if EndOn is provided."
34
+ },
35
+ {
36
+ "name": "RenewedOn",
37
+ "type": "string <date>",
38
+ "required": false,
39
+ "description": "The date the lease was renewed. The value must adhere to the ISO 8601 format YYYY-MM-DD."
40
+ }
41
+ ]
42
+ },
43
+ "responseFields": [
44
+ {
45
+ "name": "Id",
46
+ "type": "string <uuid>",
47
+ "required": false,
48
+ "description": "Unique identifier of the updated lease"
49
+ }
50
+ ],
51
+ "requestSample": "{\n \"EndOn\": \"2026-12-31\",\n \"RenewedOn\": \"2026-01-15\"\n}"
52
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "operationId": "patch_owner_groups_id",
3
+ "resource": "owner_groups",
4
+ "name": "Update Owner Group",
5
+ "method": "PATCH",
6
+ "path": "/owner_groups/{id}",
7
+ "description": "Update an existing Owner Group",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "id",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Unique identifier of the owner group to update"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Owner Group update parameters",
22
+ "attributes": [
23
+ {
24
+ "name": "FiscalYearEnd",
25
+ "type": "integer",
26
+ "required": false,
27
+ "description": "The month number representing the end of the fiscal year"
28
+ },
29
+ {
30
+ "name": "OwnerPacketBasis",
31
+ "type": "string",
32
+ "required": false,
33
+ "description": "The accounting method used for owner packet calculations. Valid values are \"Cash\" or \"Accrual\".",
34
+ "enum": ["Cash", "Accrual"]
35
+ },
36
+ {
37
+ "name": "PaymentType",
38
+ "type": "string",
39
+ "required": false,
40
+ "description": "The type of payment distribution for the owners. Valid values are \"Net Income\" or \"Flat\".",
41
+ "enum": ["Net Income", "Flat"]
42
+ },
43
+ {
44
+ "name": "PaymentAmount",
45
+ "type": "string <decimal>",
46
+ "required": false,
47
+ "description": "The fixed payment amount to distribute to owners. This value is required when PaymentType is \"Flat\"."
48
+ },
49
+ {
50
+ "name": "StartDate",
51
+ "type": "string <date>",
52
+ "required": false,
53
+ "description": "The date when this ownership group becomes effective. The date must be in YYYY-MM-DD format and cannot be set in the future. When updating an existing property's ownership, this date must be later than the current ownership group's StartDate. Creating a new owner group will automatically set the previous owner group's EndDate to one day before this StartDate to maintain ownership continuity."
54
+ },
55
+ {
56
+ "name": "ReserveFunds",
57
+ "type": "string <decimal>",
58
+ "required": false,
59
+ "description": "The amount of funds to maintain in reserve for the property"
60
+ }
61
+ ]
62
+ },
63
+ "responseFields": [
64
+ {
65
+ "name": "Id",
66
+ "type": "string <uuid>",
67
+ "required": false,
68
+ "description": "Unique identifier of the updated owner group"
69
+ }
70
+ ],
71
+ "requestSample": "{\n \"FiscalYearEnd\": 4,\n \"ReserveFunds\": \"2000.55\",\n \"PaymentType\": \"Flat\",\n \"PaymentAmount\": \"1000.00\",\n \"OwnerPacketBasis\": \"Cash\",\n \"StartDate\": \"2021-09-01\"\n}"
72
+ }