@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,146 @@
1
+ {
2
+ "operationId": "get_ca_board_members",
3
+ "resource": "ca",
4
+ "name": "List All Community Association Board Members",
5
+ "method": "GET",
6
+ "path": "/ca/board_members",
7
+ "description": "Returns Community Association (CA) Board of Director Member's details that meet the filter criteria",
8
+ "deprecated": false,
9
+ "writeOperation": false,
10
+ "pagination": true,
11
+ "queryFilters": [
12
+ {
13
+ "name": "filters[AssociationId]",
14
+ "type": "string <uuid>",
15
+ "required": false,
16
+ "description": "Filter by unique identifier of the Community Association. All GET requests must include a filter for [AssociationId] or [LastUpdatedAtFrom]."
17
+ },
18
+ {
19
+ "name": "filters[LastUpdatedAtFrom]",
20
+ "type": "string <date-time>",
21
+ "required": false,
22
+ "description": "Filter by last updated date. All GET requests must include a filter for [AssociationId] or [LastUpdatedAtFrom]."
23
+ },
24
+ {
25
+ "name": "page[number]",
26
+ "type": "integer",
27
+ "required": false,
28
+ "description": "Page number for pagination. Default: 1"
29
+ },
30
+ {
31
+ "name": "page[size]",
32
+ "type": "integer",
33
+ "required": false,
34
+ "description": "Page size for pagination. Default: 1000"
35
+ }
36
+ ],
37
+ "responseFields": [
38
+ {
39
+ "name": "data",
40
+ "type": "array",
41
+ "required": false,
42
+ "description": "Array of CABoardMember objects"
43
+ },
44
+ {
45
+ "name": "data[].Id",
46
+ "type": "string <uuid>",
47
+ "required": false,
48
+ "description": "Unique identifier of the homeowner on the Board of Directors"
49
+ },
50
+ {
51
+ "name": "data[].AssociationId",
52
+ "type": "string <uuid>",
53
+ "required": false,
54
+ "description": "Unique identifier of the association related to the Board of Directors"
55
+ },
56
+ {
57
+ "name": "data[].Email",
58
+ "type": "string",
59
+ "required": false,
60
+ "description": "The Board of Director member's primary email address",
61
+ "deprecated": true
62
+ },
63
+ {
64
+ "name": "data[].Emails",
65
+ "type": "Array of objects",
66
+ "required": false,
67
+ "description": "The Board of Director member's emails"
68
+ },
69
+ {
70
+ "name": "data[].FirstName",
71
+ "type": "string",
72
+ "required": false,
73
+ "description": "The first name of the Board of Director member"
74
+ },
75
+ {
76
+ "name": "data[].LastName",
77
+ "type": "string",
78
+ "required": false,
79
+ "description": "The last name of the Board of Director member"
80
+ },
81
+ {
82
+ "name": "data[].LastUpdatedAt",
83
+ "type": "string <date-time>",
84
+ "required": false,
85
+ "description": "The date the CA Board of Director's details were last updated"
86
+ },
87
+ {
88
+ "name": "data[].MiddleName",
89
+ "type": "string",
90
+ "required": false,
91
+ "description": "The middle name of the Board of Director member"
92
+ },
93
+ {
94
+ "name": "data[].PhoneNumber",
95
+ "type": "string",
96
+ "required": false,
97
+ "description": "The Board of Director member's primary phone number",
98
+ "deprecated": true
99
+ },
100
+ {
101
+ "name": "data[].PhoneNumbers",
102
+ "type": "Array of objects",
103
+ "required": false,
104
+ "description": "The Board of Director member's phone numbers"
105
+ },
106
+ {
107
+ "name": "data[].UnitId",
108
+ "type": "string <uuid>",
109
+ "required": false,
110
+ "description": "Unique identifier of the unit related to the Board of Directors"
111
+ },
112
+ {
113
+ "name": "data[].BoardMemberships",
114
+ "type": "Array of objects",
115
+ "required": false,
116
+ "description": "Array containing details about Board of Director memberships",
117
+ "attributes": [
118
+ {
119
+ "name": "Role",
120
+ "type": "string",
121
+ "required": false,
122
+ "description": "The Board of Director member's role. Valid roles include President, Vice President, Treasurer, Secretary/Treasurer, Board Member or other."
123
+ },
124
+ {
125
+ "name": "StartDate",
126
+ "type": "string <date>",
127
+ "required": false,
128
+ "description": "The Board of Director member's term start date"
129
+ },
130
+ {
131
+ "name": "EndDate",
132
+ "type": "string <date>",
133
+ "required": false,
134
+ "description": "The Board of Director member's term end date"
135
+ }
136
+ ]
137
+ },
138
+ {
139
+ "name": "next_page_path",
140
+ "type": "any",
141
+ "required": false,
142
+ "description": "The URL path to the next page of responses"
143
+ }
144
+ ],
145
+ "requestSample": "curl --location -g \\\n --request GET 'https://api.appfolio.com/api/v0/ca/board_members?filters[AssociationId]=1abcde23-c543-456e-abc9-123456789cee&filters[LastUpdatedAtFrom]=2020-12-15T16:30:46Z' \\\n --header 'Authorization: Basic {Auth}' \\\n --header 'X-AppFolio-Developer-ID: a965e7d8-a17d-11ec-b909-0242ac120002'"
146
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ "operationId": "get_ca_homeowner_ledgers",
3
+ "resource": "ca",
4
+ "name": "List All Community Association Homeowner Ledgers",
5
+ "method": "GET",
6
+ "path": "/ca/homeowner_ledgers",
7
+ "description": "Returns all Community Association ledgers that meet the filter criteria",
8
+ "deprecated": false,
9
+ "writeOperation": false,
10
+ "pagination": true,
11
+ "queryFilters": [
12
+ {
13
+ "name": "filters[AssociationId]",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Filter by unique identifier of the Community Association. All GET requests must include filters for [AssociationId], [DateFrom], and [DateTo]."
17
+ },
18
+ {
19
+ "name": "filters[DateFrom]",
20
+ "type": "string <date>",
21
+ "required": true,
22
+ "description": "The start date for filtering homeowner ledger records. All GET requests must include filters for [AssociationId], [DateFrom], and [DateTo]."
23
+ },
24
+ {
25
+ "name": "filters[DateTo]",
26
+ "type": "string <date>",
27
+ "required": true,
28
+ "description": "The end date for filtering homeowner ledger records. All GET requests must include filters for [AssociationId], [DateFrom], and [DateTo]."
29
+ },
30
+ {
31
+ "name": "page[number]",
32
+ "type": "integer",
33
+ "required": false,
34
+ "description": "Page number for pagination. Default: 1"
35
+ },
36
+ {
37
+ "name": "page[size]",
38
+ "type": "integer",
39
+ "required": false,
40
+ "description": "Page size for pagination. Default: 1000"
41
+ }
42
+ ],
43
+ "responseFields": [
44
+ {
45
+ "name": "data",
46
+ "type": "array",
47
+ "required": false,
48
+ "description": "Array of CaHomeownerLedger objects"
49
+ },
50
+ {
51
+ "name": "data[].OccupancyId",
52
+ "type": "string <uuid>",
53
+ "required": false,
54
+ "description": "Unique identifier of the occupancy associated with the ledger"
55
+ },
56
+ {
57
+ "name": "data[].Ledger",
58
+ "type": "Array of objects",
59
+ "required": false,
60
+ "description": "This contains the charges, payments, and credits for the occupancy specified by the OccupancyId"
61
+ },
62
+ {
63
+ "name": "next_page_path",
64
+ "type": "any",
65
+ "required": false,
66
+ "description": "The URL path to the next page of responses"
67
+ }
68
+ ],
69
+ "requestSample": "curl --location -g \\\n --request GET 'https://api.appfolio.com/api/v0/ca/homeowner_ledgers?filters[DateFrom]=2020-12-15&filters[DateTo]=2020-12-16&filters[AssociationId]=1abcde23-c543-456e-abc9-123456789cee' \\\n --header 'Authorization: Basic {Auth}' \\\n --header 'X-AppFolio-Developer-ID: a965e7d8-a17d-11ec-b909-0242ac120002'"
70
+ }
@@ -0,0 +1,151 @@
1
+ {
2
+ "operationId": "get_ca_homeowners",
3
+ "resource": "ca",
4
+ "name": "List All Community Association Homeowners",
5
+ "method": "GET",
6
+ "path": "/ca/homeowners",
7
+ "description": "Returns Community Association (CA) homeowners that meet the filter criteria",
8
+ "deprecated": false,
9
+ "writeOperation": false,
10
+ "pagination": true,
11
+ "queryFilters": [
12
+ {
13
+ "name": "filters[Id]",
14
+ "type": "string <uuid>",
15
+ "required": false,
16
+ "description": "Filter by unique identifier of the CA homeowner. All GET requests must include a filter for [Id] (if available), or [LastUpdatedAtFrom]."
17
+ },
18
+ {
19
+ "name": "filters[LastUpdatedAtFrom]",
20
+ "type": "string <date-time>",
21
+ "required": false,
22
+ "description": "Filter CA homeowners by last updated date. All GET requests must include a filter for [Id] (if available), or [LastUpdatedAtFrom]."
23
+ },
24
+ {
25
+ "name": "page[number]",
26
+ "type": "integer",
27
+ "required": false,
28
+ "description": "Page number for pagination. Default: 1"
29
+ },
30
+ {
31
+ "name": "page[size]",
32
+ "type": "integer",
33
+ "required": false,
34
+ "description": "Page size for pagination. Default: 1000"
35
+ }
36
+ ],
37
+ "responseFields": [
38
+ {
39
+ "name": "data",
40
+ "type": "array",
41
+ "required": false,
42
+ "description": "Array of CAHomeowner objects"
43
+ },
44
+ {
45
+ "name": "data[].Id",
46
+ "type": "string <uuid>",
47
+ "required": false,
48
+ "description": "Unique identifier of the CA homeowner"
49
+ },
50
+ {
51
+ "name": "data[].UnitId",
52
+ "type": "string <uuid>",
53
+ "required": false,
54
+ "description": "Unique identifier of the unit associated with the CA homeowner"
55
+ },
56
+ {
57
+ "name": "data[].AssociationId",
58
+ "type": "string <uuid>",
59
+ "required": false,
60
+ "description": "Unique identifier of the association associated with the CA homeowner"
61
+ },
62
+ {
63
+ "name": "data[].OccupancyId",
64
+ "type": "string <uuid>",
65
+ "required": false,
66
+ "description": "Unique Identifier of a CA occupancy of one or more CA homeowners"
67
+ },
68
+ {
69
+ "name": "data[].FirstName",
70
+ "type": "string",
71
+ "required": false,
72
+ "description": "The first name of the CA homeowner"
73
+ },
74
+ {
75
+ "name": "data[].MailingAddress",
76
+ "type": "Array of objects",
77
+ "required": false,
78
+ "description": "The homeowner's mailing address"
79
+ },
80
+ {
81
+ "name": "data[].MiddleName",
82
+ "type": "string",
83
+ "required": false,
84
+ "description": "The middle name of the CA homeowner"
85
+ },
86
+ {
87
+ "name": "data[].LastName",
88
+ "type": "string",
89
+ "required": false,
90
+ "description": "The last name of the CA homeowner"
91
+ },
92
+ {
93
+ "name": "data[].PhoneNumber",
94
+ "type": "string",
95
+ "required": false,
96
+ "description": "The CA homeowner's primary phone number",
97
+ "deprecated": true
98
+ },
99
+ {
100
+ "name": "data[].PhoneNumbers",
101
+ "type": "Array of objects",
102
+ "required": false,
103
+ "description": "The CA homeowner's phone numbers"
104
+ },
105
+ {
106
+ "name": "data[].Status",
107
+ "type": "string",
108
+ "required": false,
109
+ "description": "The status of the Community Association homeowner",
110
+ "enum": ["Current", "Past", "Future", "Notice", "Foreclosure"]
111
+ },
112
+ {
113
+ "name": "data[].Email",
114
+ "type": "string",
115
+ "required": false,
116
+ "description": "The CA homeowner's primary email address",
117
+ "deprecated": true
118
+ },
119
+ {
120
+ "name": "data[].Emails",
121
+ "type": "Array of objects",
122
+ "required": false,
123
+ "description": "The CA homeowner's emails"
124
+ },
125
+ {
126
+ "name": "data[].InCollections",
127
+ "type": "boolean",
128
+ "required": false,
129
+ "description": "Indicates whether or not the CA Homeowner is in collections"
130
+ },
131
+ {
132
+ "name": "data[].LastUpdatedAt",
133
+ "type": "string <date-time>",
134
+ "required": false,
135
+ "description": "The date the CA homeowner's details were last updated"
136
+ },
137
+ {
138
+ "name": "data[].Link",
139
+ "type": "string <uri>",
140
+ "required": false,
141
+ "description": "A link to the occupancy page of the homeowner"
142
+ },
143
+ {
144
+ "name": "next_page_path",
145
+ "type": "any",
146
+ "required": false,
147
+ "description": "The URL path to the next page of responses"
148
+ }
149
+ ],
150
+ "requestSample": "curl --location -g \\\n --request GET 'https://api.appfolio.com/api/v0/ca/homeowners?filters[AssociationId]=1abcde23-c543-456e-abc9-123456789cee&filters[LastUpdatedAtFrom]=2020-12-15T16:30:46Z' \\\n --header 'Authorization: Basic {Auth}' \\\n --header 'X-AppFolio-Developer-ID: a965e7d8-a17d-11ec-b909-0242ac120002'"
151
+ }
@@ -0,0 +1,132 @@
1
+ {
2
+ "operationId": "get_ca_renters",
3
+ "resource": "ca",
4
+ "name": "List All Community Association Renters",
5
+ "method": "GET",
6
+ "path": "/ca/renters",
7
+ "description": "Returns Community Association (CA) renters that meet the filter criteria",
8
+ "deprecated": false,
9
+ "writeOperation": false,
10
+ "pagination": true,
11
+ "queryFilters": [
12
+ {
13
+ "name": "filters[Id]",
14
+ "type": "string <uuid>",
15
+ "required": false,
16
+ "description": "Filter by unique identifier of the CA renter. All GET requests must include a filter for [Id], [AssociationId] or [LastUpdatedAtFrom]."
17
+ },
18
+ {
19
+ "name": "filters[AssociationId]",
20
+ "type": "string <uuid>",
21
+ "required": false,
22
+ "description": "Filter by unique identifier of the Community Association. All GET requests must include a filter for [Id], [AssociationId] or [LastUpdatedAtFrom]."
23
+ },
24
+ {
25
+ "name": "filters[LastUpdatedAtFrom]",
26
+ "type": "string <date-time>",
27
+ "required": false,
28
+ "description": "Filter CA renters by last updated date. All GET requests must include a filter for [Id], [AssociationId] or [LastUpdatedAtFrom]."
29
+ },
30
+ {
31
+ "name": "page[number]",
32
+ "type": "integer",
33
+ "required": false,
34
+ "description": "Page number for pagination. Default: 1"
35
+ },
36
+ {
37
+ "name": "page[size]",
38
+ "type": "integer",
39
+ "required": false,
40
+ "description": "Page size for pagination. Default: 1000"
41
+ }
42
+ ],
43
+ "responseFields": [
44
+ {
45
+ "name": "data",
46
+ "type": "array",
47
+ "required": false,
48
+ "description": "Array of CARenter objects"
49
+ },
50
+ {
51
+ "name": "data[].Id",
52
+ "type": "string <uuid>",
53
+ "required": false,
54
+ "description": "Unique identifier of the CA renter"
55
+ },
56
+ {
57
+ "name": "data[].AssociationId",
58
+ "type": "string <uuid>",
59
+ "required": false,
60
+ "description": "Unique identifier of the association related to the CA renter"
61
+ },
62
+ {
63
+ "name": "data[].Email",
64
+ "type": "string",
65
+ "required": false,
66
+ "description": "The CA renter's primary email address",
67
+ "deprecated": true
68
+ },
69
+ {
70
+ "name": "data[].Emails",
71
+ "type": "Array of objects",
72
+ "required": false,
73
+ "description": "The CA renter's emails"
74
+ },
75
+ {
76
+ "name": "data[].FirstName",
77
+ "type": "string",
78
+ "required": false,
79
+ "description": "The first name of the CA renter"
80
+ },
81
+ {
82
+ "name": "data[].LastName",
83
+ "type": "string",
84
+ "required": false,
85
+ "description": "The last name of the CA renter"
86
+ },
87
+ {
88
+ "name": "data[].PhoneNumber",
89
+ "type": "string",
90
+ "required": false,
91
+ "description": "The CA renter's primary phone number",
92
+ "deprecated": true
93
+ },
94
+ {
95
+ "name": "data[].PhoneNumbers",
96
+ "type": "Array of objects",
97
+ "required": false,
98
+ "description": "The CA renter's phone numbers"
99
+ },
100
+ {
101
+ "name": "data[].LastUpdatedAt",
102
+ "type": "string <date-time>",
103
+ "required": false,
104
+ "description": "Returns the CA renters records that have been updated since the date provided. The default time zone is Coordinated Universal Time (UTC)."
105
+ },
106
+ {
107
+ "name": "data[].LeaseEndDate",
108
+ "type": "string <date-time>",
109
+ "required": false,
110
+ "description": "The date the CA renter's lease ends"
111
+ },
112
+ {
113
+ "name": "data[].LeaseStartDate",
114
+ "type": "string <date-time>",
115
+ "required": false,
116
+ "description": "The date the CA renter's lease starts"
117
+ },
118
+ {
119
+ "name": "data[].UnitId",
120
+ "type": "string <uuid>",
121
+ "required": false,
122
+ "description": "Unique identifier of the unit related to the CA renter"
123
+ },
124
+ {
125
+ "name": "next_page_path",
126
+ "type": "any",
127
+ "required": false,
128
+ "description": "The URL path to the next page of responses"
129
+ }
130
+ ],
131
+ "requestSample": "curl --location -g \\\n --request GET 'https://api.appfolio.com/api/v0/ca/renters?filters[AssociationId]=1abcde23-c543-456e-abc9-123456789cee&filters[LastUpdatedAtFrom]=2020-12-15T16:30:46Z' \\\n --header 'Authorization: Basic {Auth}' \\\n --header 'X-AppFolio-Developer-ID: a965e7d8-a17d-11ec-b909-0242ac120002'"
132
+ }
@@ -0,0 +1,76 @@
1
+ {
2
+ "operationId": "get_ca_rules",
3
+ "resource": "ca",
4
+ "name": "List All Community Association Rules",
5
+ "method": "GET",
6
+ "path": "/ca/rules",
7
+ "description": "Returns Community Association (CA) rules that meet the filter criteria",
8
+ "deprecated": false,
9
+ "writeOperation": false,
10
+ "pagination": true,
11
+ "queryFilters": [
12
+ {
13
+ "name": "filters[LastUpdatedAtFrom]",
14
+ "type": "string <date-time>",
15
+ "required": true,
16
+ "description": "Filter CA rules by last updated date. All GET requests must include a filter for [LastUpdatedAtFrom]."
17
+ },
18
+ {
19
+ "name": "page[number]",
20
+ "type": "integer",
21
+ "required": false,
22
+ "description": "Page number for pagination. Default: 1"
23
+ },
24
+ {
25
+ "name": "page[size]",
26
+ "type": "integer",
27
+ "required": false,
28
+ "description": "Page size for pagination. Default: 1000"
29
+ }
30
+ ],
31
+ "responseFields": [
32
+ {
33
+ "name": "data",
34
+ "type": "array",
35
+ "required": false,
36
+ "description": "Array of CARule objects"
37
+ },
38
+ {
39
+ "name": "data[].Id",
40
+ "type": "string <uuid>",
41
+ "required": false,
42
+ "description": "Unique identifier of the CA rule"
43
+ },
44
+ {
45
+ "name": "data[].AssociationId",
46
+ "type": "string <uuid>",
47
+ "required": false,
48
+ "description": "Unique identifier of the association related to the rule(s)"
49
+ },
50
+ {
51
+ "name": "data[].RuleName",
52
+ "type": "string",
53
+ "required": false,
54
+ "description": "The name of the CA rule"
55
+ },
56
+ {
57
+ "name": "data[].RuleDescription",
58
+ "type": "string",
59
+ "required": false,
60
+ "description": "A brief summary or description of the CA rule"
61
+ },
62
+ {
63
+ "name": "data[].LastUpdatedAt",
64
+ "type": "string <date-time>",
65
+ "required": false,
66
+ "description": "The last time a CA rule's details were updated by an AppFolio Property Manager user"
67
+ },
68
+ {
69
+ "name": "next_page_path",
70
+ "type": "any",
71
+ "required": false,
72
+ "description": "The URL path to the next page of responses"
73
+ }
74
+ ],
75
+ "requestSample": "curl --location -g \\\n --request GET 'https://api.appfolio.com/api/v0/ca/rules?filters[AssociationId]=1abcde23-c543-456e-abc9-123456789cee&filters[LastUpdatedAtFrom]=2020-12-15T16:30:46Z' \\\n --header 'Authorization: Basic {Auth}' \\\n --header 'X-AppFolio-Developer-ID: a965e7d8-a17d-11ec-b909-0242ac120002'"
76
+ }