@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,333 @@
1
+ {
2
+ "operationId": "patch_properties_propertyid",
3
+ "resource": "properties",
4
+ "name": "Update Property",
5
+ "method": "PATCH",
6
+ "path": "/properties/{propertyId}",
7
+ "description": "Update a property",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "propertyId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Unique identifier of the property to update"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Property object",
22
+ "attributes": [
23
+ {
24
+ "name": "Name",
25
+ "type": "string",
26
+ "required": false,
27
+ "description": "The name of the property"
28
+ },
29
+ {
30
+ "name": "Amenities",
31
+ "type": "Array of strings",
32
+ "required": false,
33
+ "description": "Array of strings to add to the property. Providing an array of valid strings will overwrite all existing amenities. Passing in an empty array [] or an array of empty strings will clear all existing amenities. Passing in null will result in no change."
34
+ },
35
+ {
36
+ "name": "HomeWarrantyInfo",
37
+ "type": "object",
38
+ "required": false,
39
+ "description": "Object containing information about the property's home warranty policy. If set to null, all values within HomeWarrantyInfo will be deleted from the updated property.",
40
+ "attributes": [
41
+ {
42
+ "name": "CompanyName",
43
+ "type": "string",
44
+ "required": false,
45
+ "description": "The name of the company providing the home warranty coverage"
46
+ },
47
+ {
48
+ "name": "ContactNumber",
49
+ "type": "string",
50
+ "required": false,
51
+ "description": "The contact phone number for the home warranty company or policy administrator"
52
+ },
53
+ {
54
+ "name": "Expiration",
55
+ "type": "string <date>",
56
+ "required": false,
57
+ "description": "The expiration date of the home warranty policy"
58
+ },
59
+ {
60
+ "name": "PolicyNumber",
61
+ "type": "string",
62
+ "required": false,
63
+ "description": "Unique reference number associated with the home warranty policy"
64
+ }
65
+ ]
66
+ },
67
+ {
68
+ "name": "LeaseFeePolicy",
69
+ "type": "object",
70
+ "required": false,
71
+ "description": "Contains details about the property's lease fee policy",
72
+ "attributes": [
73
+ {
74
+ "name": "FeeType",
75
+ "type": "string",
76
+ "required": false,
77
+ "description": "The property's lease fee type. Determines how much is billed to a property per executed lease by the management company.",
78
+ "enum": ["Percent", "Flat"]
79
+ },
80
+ {
81
+ "name": "FlatAmount",
82
+ "type": "string <decimal>",
83
+ "required": false,
84
+ "description": "The dollar amount billed to an owner per move in. Can only be used when LeaseFeeType is set to 'Flat'. Defaults to 0.0 if not provided."
85
+ },
86
+ {
87
+ "name": "Percentage",
88
+ "type": "string <decimal>",
89
+ "required": false,
90
+ "description": "The percentage an owner is billed based on a full month's rent amount of an executed lease after move in, rounded to 2 decimal places. Can only be used when LeaseFeeType is set to 'Percent'. Defaults to 0.0 if not provided."
91
+ }
92
+ ]
93
+ },
94
+ {
95
+ "name": "PropertyType",
96
+ "type": "string",
97
+ "required": false,
98
+ "description": "The type of property",
99
+ "enum": ["Commercial", "Multi-Family", "Self-Storage", "Single-Family", "Student-Housing"]
100
+ },
101
+ {
102
+ "name": "PostedToInternet",
103
+ "type": "boolean",
104
+ "required": false,
105
+ "description": "Sets whether to post the Single-Family (SFR) property to third-party listings pages. Requests containing this attribute for non-SFR property types will return an error."
106
+ },
107
+ {
108
+ "name": "PostedToWebsite",
109
+ "type": "boolean",
110
+ "required": false,
111
+ "description": "Sets whether to post the Single-Family (SFR) property to the AppFolio listings page. Requests containing this attribute for non-SFR property types will return an error."
112
+ },
113
+ {
114
+ "name": "CustomFields",
115
+ "type": "object",
116
+ "required": false,
117
+ "description": "The custom fields for the associated entity. CustomFieldId key maps to the value to update. To clear a CustomField, set its value to null (use [] or \"\" for array-type custom fields).",
118
+ "attributes": [
119
+ {
120
+ "name": "CustomFieldId",
121
+ "type": "object",
122
+ "required": false,
123
+ "description": "The value of the CustomField to update. Must match the type set for the CustomField at creation. To clear the value, set to null (use [] or \"\" for array-type custom fields)."
124
+ }
125
+ ]
126
+ },
127
+ {
128
+ "name": "AdminFee",
129
+ "type": "number",
130
+ "required": false,
131
+ "description": "The admin fee associated with the property"
132
+ },
133
+ {
134
+ "name": "CatsAllowed",
135
+ "type": "string",
136
+ "required": false,
137
+ "description": "The property's cat policy. Valid values include \"Yes\", \"No\" or null.",
138
+ "enum": ["Yes", "No"]
139
+ },
140
+ {
141
+ "name": "Class",
142
+ "type": "string",
143
+ "required": false,
144
+ "description": "Indicates the type and quality of the property based on factors such as age, location, amenities, and overall condition.",
145
+ "enum": ["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-"]
146
+ },
147
+ {
148
+ "name": "CurrentManagementFeePolicy",
149
+ "type": "object",
150
+ "required": false,
151
+ "description": "Contains details about the property's current management fee policy",
152
+ "attributes": [
153
+ {
154
+ "name": "FeeType",
155
+ "type": "string",
156
+ "required": false,
157
+ "description": "The property's fee type. Determines how much is billed to a property per month by the management company.",
158
+ "enum": ["Percent", "Flat"]
159
+ },
160
+ {
161
+ "name": "FlatAmount",
162
+ "type": "string <decimal>",
163
+ "required": false,
164
+ "description": "The dollar amount billed once a month. Can only be used when FeeType is set to 'Flat'."
165
+ },
166
+ {
167
+ "name": "Percentage",
168
+ "type": "string <decimal>",
169
+ "required": false,
170
+ "description": "The percentage a property is billed based on the net income generated from General Ledger accounts subject to management fees."
171
+ },
172
+ {
173
+ "name": "Minimum",
174
+ "type": "string <decimal>",
175
+ "required": false,
176
+ "description": "The minimum management fee billed. Can only be used when FeeType is set to 'Percent'."
177
+ },
178
+ {
179
+ "name": "Maximum",
180
+ "type": "string <decimal>",
181
+ "required": false,
182
+ "description": "The maximum management fee billed. Can only be used when FeeType is set to 'Percent'."
183
+ },
184
+ {
185
+ "name": "StartDate",
186
+ "type": "string <date-time>",
187
+ "required": false,
188
+ "description": "The start date of the management fee policy. The date must be the first of a month."
189
+ },
190
+ {
191
+ "name": "WaiveWhenVacant",
192
+ "type": "boolean",
193
+ "required": false,
194
+ "description": "Sets whether to waive the management fee when the property is vacant"
195
+ }
196
+ ]
197
+ },
198
+ {
199
+ "name": "DogsAllowed",
200
+ "type": "string",
201
+ "required": false,
202
+ "description": "The property's dog policy.",
203
+ "enum": ["Large & Small", "Small Only", "No"]
204
+ },
205
+ {
206
+ "name": "InsuranceExpiration",
207
+ "type": "string <date>",
208
+ "required": false,
209
+ "description": "The date the property's insurance expires"
210
+ },
211
+ {
212
+ "name": "MaintenanceLimit",
213
+ "type": "string <decimal>",
214
+ "required": false,
215
+ "description": "The dollar amount limit to not exceed for maintenance"
216
+ },
217
+ {
218
+ "name": "MaintenanceNotes",
219
+ "type": "string",
220
+ "required": false,
221
+ "description": "A brief informative message about the property's maintenance"
222
+ },
223
+ {
224
+ "name": "ManagementEndDate",
225
+ "type": "string <date-time>",
226
+ "required": false,
227
+ "description": "The date when the current management of the property ended"
228
+ },
229
+ {
230
+ "name": "ManagementEndReason",
231
+ "type": "string",
232
+ "required": false,
233
+ "description": "The reason for the end of the current management of the property",
234
+ "enum": ["Foreclosure", "Maintenance", "Management Company Concerns", "Management Company Terminated", "Owner Moved In", "Owner Self-Managing", "Owner Sold", "Owner Terminated Management", "Property Uninhabitable/Demolition", "Tenant Placement", "Other"]
235
+ },
236
+ {
237
+ "name": "ManagementStartDate",
238
+ "type": "string <date-time>",
239
+ "required": false,
240
+ "description": "The date when the current management of the property began"
241
+ },
242
+ {
243
+ "name": "NsfFee",
244
+ "type": "number",
245
+ "required": false,
246
+ "description": "The non-sufficient funds (NSF) fee associated with the property"
247
+ },
248
+ {
249
+ "name": "SiteManager",
250
+ "type": "object",
251
+ "required": false,
252
+ "description": "Contains the property site manager's contact information and details",
253
+ "attributes": [
254
+ {
255
+ "name": "Salutation",
256
+ "type": "string",
257
+ "required": false,
258
+ "description": "The site manager's salutation. Valid values include null, Mr., Ms. Mrs., Mr. & Mrs. or Dr."
259
+ },
260
+ {
261
+ "name": "FirstName",
262
+ "type": "string",
263
+ "required": false,
264
+ "description": "The site manager's first name"
265
+ },
266
+ {
267
+ "name": "LastName",
268
+ "type": "string",
269
+ "required": false,
270
+ "description": "The site manager's last name"
271
+ },
272
+ {
273
+ "name": "PhoneNumber",
274
+ "type": "string",
275
+ "required": false,
276
+ "description": "The site manager's phone number"
277
+ }
278
+ ]
279
+ },
280
+ {
281
+ "name": "UnitEntryPreAuthorized",
282
+ "type": "boolean",
283
+ "required": false,
284
+ "description": "Indicates whether or not entry to the unit was pre-authorized"
285
+ },
286
+ {
287
+ "name": "YearBuilt",
288
+ "type": "integer",
289
+ "required": false,
290
+ "description": "The year in which the property was constructed"
291
+ },
292
+ {
293
+ "name": "Address1",
294
+ "type": "string",
295
+ "required": false,
296
+ "description": "The primary street address of the property"
297
+ },
298
+ {
299
+ "name": "Address2",
300
+ "type": "string",
301
+ "required": false,
302
+ "description": "Additional street address information pertaining to the property"
303
+ },
304
+ {
305
+ "name": "City",
306
+ "type": "string",
307
+ "required": false,
308
+ "description": "The city where the property is located"
309
+ },
310
+ {
311
+ "name": "State",
312
+ "type": "string",
313
+ "required": false,
314
+ "description": "The state where the property is located"
315
+ },
316
+ {
317
+ "name": "Zip",
318
+ "type": "string",
319
+ "required": false,
320
+ "description": "The zip code where the property is located"
321
+ }
322
+ ]
323
+ },
324
+ "responseFields": [
325
+ {
326
+ "name": "Id",
327
+ "type": "string <uuid>",
328
+ "required": false,
329
+ "description": "Unique identifier of the updated property"
330
+ }
331
+ ],
332
+ "requestSample": "{\n \"Name\": \"Property A\",\n \"AdminFee\": 45.15,\n \"Amenities\": [\n \"washer and dryer\",\n \"balcony\"\n ],\n \"CatsAllowed\": \"No\",\n \"Class\": \"B+\",\n \"DogsAllowed\": \"No\",\n \"InsuranceExpiration\": \"2025-07-22\",\n \"MaintenanceLimit\": 3000,\n \"MaintenanceNotes\": \"Gardening done by Sunset Landscaping\",\n \"ManagementEndDate\": \"2027-03-08\",\n \"ManagementEndReason\": \"Owner Self-Managing\",\n \"ManagementStartDate\": \"2007-09-27\",\n \"NsfFee\": 33.5,\n \"PropertyType\": \"Multi-Family\",\n \"UnitEntryPreAuthorized\": false,\n \"YearBuilt\": 2007,\n \"Address1\": \"123 Highland Avenue\",\n \"Address2\": \"Unit c\",\n \"City\": \"Santa Barbara\",\n \"State\": \"CA\",\n \"Zip\": \"93117\",\n \"SiteManager\": {\n \"FirstName\": \"Josh\",\n \"LastName\": \"Wilkinson\",\n \"Salutation\": \"Mr.\",\n \"PhoneNumber\": \"555-555-5555\"\n },\n \"CurrentManagementFeePolicy\": {\n \"FeeType\": \"Percent\",\n \"Percentage\": 5,\n \"Minimum\": 100,\n \"Maximum\": 150,\n \"StartDate\": \"2025-01-01\",\n \"WaiveWhenVacant\": true\n },\n \"LeaseFeePolicy\": {\n \"FeeType\": \"Percent\",\n \"Percentage\": 30.5\n },\n \"PostedToInternet\": true,\n \"PostedToWebsite\": true,\n \"CustomFields\": {\n \"a965e7d8-a17d-11ec-b909-0242ac120002\": \"a new value\",\n \"454d8635-521e-4864-99fb-0bd6200d3a0f\": true,\n \"c80d3dd1-9eba-45aa-803c-666280b8ff24\": 87.4,\n \"3277c366-1783-42a9-b925-0bca2afbe391\": \"0e9a7b18-1778-4a03-bc1c-f913aeaef6bc\",\n \"4f83a1bf-4e49-4463-8113-15c52f79243a\": []\n }\n}"
333
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "operationId": "patch_properties_propertyid_marketing_photos_marketingphotoid",
3
+ "resource": "properties",
4
+ "name": "Update Property Marketing Photo",
5
+ "method": "PATCH",
6
+ "path": "/properties/{PropertyId}/marketing_photos/{MarketingPhotoId}",
7
+ "description": "Update a property marketing photo",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "PropertyId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "The property to which the marketing photo is attached"
17
+ },
18
+ {
19
+ "name": "MarketingPhotoId",
20
+ "type": "string <uuid>",
21
+ "required": true,
22
+ "description": "Unique identifier of the marketing photo to update"
23
+ }
24
+ ],
25
+ "requestBody": {
26
+ "required": true,
27
+ "description": "Marketing Photo object",
28
+ "attributes": [
29
+ {
30
+ "name": "Position",
31
+ "type": "string",
32
+ "required": false,
33
+ "description": "The position of the marketing photo in the property marketing photo gallery. The position must be a positive integer. The other marketing photos in the gallery will be shifted to accommodate the new position."
34
+ }
35
+ ]
36
+ },
37
+ "responseFields": [
38
+ {
39
+ "name": "Id",
40
+ "type": "string <uuid>",
41
+ "required": false,
42
+ "description": "Unique identifier of the updated property marketing photo"
43
+ }
44
+ ],
45
+ "requestSample": "{\n \"Position\": 1\n}"
46
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "operationId": "patch_properties_propertyid_notes_id",
3
+ "resource": "properties",
4
+ "name": "Update Property Note",
5
+ "method": "PATCH",
6
+ "path": "/properties/{PropertyId}/notes/{Id}",
7
+ "description": "Update a property note",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "PropertyId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "The property to which the note will be attached"
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 property note. A property 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 property note"
43
+ }
44
+ ],
45
+ "requestSample": "curl --location --request PATCH 'https://api.appfolio.com/api/v0/properties/57e04805-01c4-4e39-adc9-c74ff9ddc8d9/notes/45e04805-01c4-4e39-adc9-c75ff9ddc8d7' \\\n --header 'Authorization: Basic {Auth}' \\\n --header 'X-AppFolio-Developer-ID: a965e7d8-a17d-11ec-b909-0242ac120002' \\\n --header 'Content-Type: application/json' \\\n --data '{\"Body\": \"This property has a scheduled cleaning service on 11/30/2022 - Updated\"}'"
46
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "operationId": "patch_properties_propertyid_photos_photoid",
3
+ "resource": "properties",
4
+ "name": "Update Property Photo",
5
+ "method": "PATCH",
6
+ "path": "/properties/{PropertyId}/photos/{PhotoId}",
7
+ "description": "Update a property photo",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "PropertyId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "The property to which the photo is attached"
17
+ },
18
+ {
19
+ "name": "PhotoId",
20
+ "type": "string <uuid>",
21
+ "required": true,
22
+ "description": "Unique identifier of the photo to update"
23
+ }
24
+ ],
25
+ "requestBody": {
26
+ "required": true,
27
+ "description": "Photo object",
28
+ "attributes": [
29
+ {
30
+ "name": "Position",
31
+ "type": "string",
32
+ "required": false,
33
+ "description": "The position of the photo in the property photo gallery. The position must be a non-negative integer. If multiple photos are associated with a property, the order of the remaining photos (positions 1 and above) will not change automatically if some photos are deleted. For example, if there are photos in positions 1, 2, 3, and 4, and photos 1 and 3 are deleted, the remaining photos will retain their original positions of 2 and 4"
34
+ }
35
+ ]
36
+ },
37
+ "responseFields": [
38
+ {
39
+ "name": "Id",
40
+ "type": "string <uuid>",
41
+ "required": false,
42
+ "description": "Unique identifier of the updated property photo"
43
+ }
44
+ ],
45
+ "requestSample": "{\n\"Position\": 1\n}"
46
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "operationId": "patch_property_groups_propertygroupid",
3
+ "resource": "property_groups",
4
+ "name": "Update a Property Group",
5
+ "method": "PATCH",
6
+ "path": "/property_groups/{propertyGroupId}",
7
+ "description": "Update a property group",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "propertyGroupId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Unique identifier of the property group to update"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Property Group object",
22
+ "attributes": [
23
+ {
24
+ "name": "PropertyIds",
25
+ "type": "Array of arrays",
26
+ "required": false,
27
+ "description": "Array of PropertyIds to add to the property group. Any properties previously linked to the property group before this update will be substituted with the properties specified by this attribute. Passing in an empty array will clear all properties from the property group."
28
+ }
29
+ ]
30
+ },
31
+ "responseFields": [
32
+ {
33
+ "name": "Id",
34
+ "type": "string <uuid>",
35
+ "required": false,
36
+ "description": "Unique identifier of the updated property group"
37
+ }
38
+ ],
39
+ "requestSample": "{\n \"PropertyIds\": [\n \"96d90af9-15be-4139-b43e-3390358d2602\",\n \"5683df20-b606-4138-8ec4-d9737f7c12bb\",\n \"4d53faad-dbf6-4754-a23e-f5c486139e85\"\n ]\n}"
40
+ }
@@ -0,0 +1,89 @@
1
+ {
2
+ "operationId": "patch_recurring_charges_recurringchargeid",
3
+ "resource": "recurring_charges",
4
+ "name": "Update Recurring Charges",
5
+ "method": "PATCH",
6
+ "path": "/recurring_charges/{recurringChargeId}",
7
+ "description": "Update a recurring charge",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "recurringChargeId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Unique identifier of the recurring charge to update"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Recurring Charge object",
22
+ "attributes": [
23
+ {
24
+ "name": "Id",
25
+ "type": "string <uuid>",
26
+ "required": false,
27
+ "description": "Unique identifier of the recurring charge"
28
+ },
29
+ {
30
+ "name": "Amount",
31
+ "type": "number <float>",
32
+ "required": false,
33
+ "description": "The amount of the recurring charge"
34
+ },
35
+ {
36
+ "name": "Description",
37
+ "type": "string",
38
+ "required": false,
39
+ "description": "A brief summary or description of the recurring charge"
40
+ },
41
+ {
42
+ "name": "Frequency",
43
+ "type": "string",
44
+ "required": false,
45
+ "description": "The frequency that the recurring charge occurs",
46
+ "enum": ["Monthly", "Every 3 Months", "Every 6 Months", "Once a Year"]
47
+ },
48
+ {
49
+ "name": "EndDate",
50
+ "type": "string <date>",
51
+ "required": false,
52
+ "description": "The end date of the recurring charge"
53
+ },
54
+ {
55
+ "name": "StartDate",
56
+ "type": "string <date>",
57
+ "required": false,
58
+ "description": "The start date of the recurring charge"
59
+ },
60
+ {
61
+ "name": "ProrateFirstMonth",
62
+ "type": "boolean",
63
+ "required": false,
64
+ "description": "Determines if the first month's recurring charge should be prorated. When true, the charge amount will be adjusted based on the start date within the month. Proration requires all of the following conditions: The start date cannot be the first day of a month, must be after the first day of the current month, the charge frequency must be Monthly, the charge cannot be an insurance charge, the charge cannot start and end in the same month, and the first charge has not posted."
65
+ },
66
+ {
67
+ "name": "ProrateLastMonth",
68
+ "type": "boolean",
69
+ "required": false,
70
+ "description": "Determines if the final month's recurring charge should be prorated. When true, the charge amount will be adjusted based on the end date within the month. Proration requires all of the following conditions: The end date must exist and not fall on the last day of a month, must be a future date, the charge frequency must be Monthly, the charge cannot be an insurance charge, the charge cannot start and end in the same month, and final charge has not posted."
71
+ },
72
+ {
73
+ "name": "GlAccountId",
74
+ "type": "string <uuid>",
75
+ "required": false,
76
+ "description": "Unique identifier of the general ledger account associated with the recurring charge"
77
+ }
78
+ ]
79
+ },
80
+ "responseFields": [
81
+ {
82
+ "name": "Id",
83
+ "type": "string <uuid>",
84
+ "required": false,
85
+ "description": "Unique identifier of the updated recurring charge"
86
+ }
87
+ ],
88
+ "requestSample": "{\n \"Amount\": \"222.55\",\n \"Description\": \"Sample description of the recurring charge\",\n \"Frequency\": \"Monthly\",\n \"StartDate\": \"2022-12-25\",\n \"EndDate\": \"2023-12-25\",\n \"ProrateFirstMonth\": false,\n \"ProrateLastMonth\": false,\n \"GlAccountId\": \"d9009724-9f32-11ec-bc31-d46a96ab9b08\"\n}"
89
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "operationId": "patch_rental_applications_rentalapplicationid",
3
+ "resource": "rental_applications",
4
+ "name": "Update Rental Application",
5
+ "method": "PATCH",
6
+ "path": "/rental_applications/{rentalApplicationId}",
7
+ "description": "Update a rental application",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "rentalApplicationId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Unique identifier of the rental application to update"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Rental application update object",
22
+ "attributes": [
23
+ {
24
+ "name": "Status",
25
+ "type": "string",
26
+ "required": false,
27
+ "description": "The rental application's status",
28
+ "enum": ["approved", "canceled", "decision_pending", "denied", "in_review", "info_needed", "in_screening"]
29
+ },
30
+ {
31
+ "name": "StatusReason",
32
+ "type": "string",
33
+ "required": false,
34
+ "description": "The reason for the denied or canceled rental application. Required when Status is \"denied\", optional when Status is \"canceled\". Not applicable for other statuses; will remain null for approved, decision_pending, etc."
35
+ }
36
+ ]
37
+ },
38
+ "responseFields": [
39
+ {
40
+ "name": "Id",
41
+ "type": "string <uuid>",
42
+ "required": false,
43
+ "description": "Unique identifier of the updated rental application"
44
+ }
45
+ ],
46
+ "requestSample": "{\n \"Status\": \"canceled\",\n \"StatusReason\": \"The reason why the rental application is canceled\"\n}"
47
+ }