@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,46 @@
1
+ {
2
+ "operationId": "patch_vendors_vendorid_notes_id",
3
+ "resource": "vendors",
4
+ "name": "Update Vendor Note",
5
+ "method": "PATCH",
6
+ "path": "/vendors/{VendorId}/notes/{Id}",
7
+ "description": "Update a note to a vendor",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "VendorId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "The vendor 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 vendor note. A vendor 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 vendor note"
43
+ }
44
+ ],
45
+ "requestSample": "{\n \"Body\": \"This vendor completed maintenance on 11/30/2022 - Updated\"\n}"
46
+ }
@@ -0,0 +1,273 @@
1
+ {
2
+ "operationId": "patch_work_orders_workorderid",
3
+ "resource": "work_orders",
4
+ "name": "Update Work Order",
5
+ "method": "PATCH",
6
+ "path": "/work_orders/{workOrderId}",
7
+ "description": "Update a work order",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "workOrderId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "Unique identifier of the work order to update"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Work order update object. At least one attribute must be provided.",
22
+ "attributes": [
23
+ {
24
+ "name": "AssignedUsers",
25
+ "type": "Array of arrays",
26
+ "required": false,
27
+ "description": "Array of AssignedUsers IDs to be updated. Pass in all the assigned users you want to keep. When this is empty, it will drop all assigned users. When this is null or not passed in, it will not change the assigned users."
28
+ },
29
+ {
30
+ "name": "BillableItems",
31
+ "type": "array",
32
+ "required": false,
33
+ "description": "Array of billable line item attributes present on a work order",
34
+ "attributes": [
35
+ {
36
+ "name": "Description",
37
+ "type": "string",
38
+ "required": false,
39
+ "description": "A brief informative message about the billable line item"
40
+ },
41
+ {
42
+ "name": "GlAccountId",
43
+ "type": "string",
44
+ "required": false,
45
+ "description": "Unique identifier of the General Ledger account associated with the billable line item"
46
+ },
47
+ {
48
+ "name": "Quantity",
49
+ "type": "string <uuid>",
50
+ "required": false,
51
+ "description": "The number of services or goods utilized. Quantity must be a positive number."
52
+ },
53
+ {
54
+ "name": "Rate",
55
+ "type": "string",
56
+ "required": false,
57
+ "description": "The rate (cost) of the goods or services provided. Valid format is \"DD.CC\", e.g. \"23.33\""
58
+ }
59
+ ]
60
+ },
61
+ {
62
+ "name": "CanceledOn",
63
+ "type": "string <date>",
64
+ "required": false,
65
+ "description": "The date the work order status changed to canceled"
66
+ },
67
+ {
68
+ "name": "CompletedOn",
69
+ "type": "string <date>",
70
+ "required": false,
71
+ "description": "The date the work order status changed to Completed"
72
+ },
73
+ {
74
+ "name": "Description",
75
+ "type": "string",
76
+ "required": false,
77
+ "description": "The top-level description for a grouping of work orders in AppFolio"
78
+ },
79
+ {
80
+ "name": "Estimates",
81
+ "type": "array",
82
+ "required": false,
83
+ "description": "Use estimates to track anticipated costs for Work Orders. DO NOT INCLUDE Estimates unless one or more estimates have changed. Passing any number of estimates will replace all existing estimates for the work order. Passing an empty array [] will remove all existing estimates for the work order.",
84
+ "attributes": [
85
+ {
86
+ "name": "VendorId",
87
+ "type": "string <uuid>",
88
+ "required": false,
89
+ "description": "The unique identifier of the vendor who submitted this estimate. If provided, ManagementCompanyAsVendor must be false or omitted."
90
+ },
91
+ {
92
+ "name": "ManagementCompanyAsVendor",
93
+ "type": "boolean",
94
+ "required": false,
95
+ "description": "Indicates whether or not the management company is acting as the vendor for the estimate. If true, VendorId must be null or omitted."
96
+ },
97
+ {
98
+ "name": "Amount",
99
+ "type": "number <decimal>",
100
+ "required": false,
101
+ "description": "The total estimated cost in dollars for completing the work order as quoted by the vendor."
102
+ },
103
+ {
104
+ "name": "Status",
105
+ "type": "string",
106
+ "required": false,
107
+ "description": "The current approval status of the estimate. Only one estimate can have Approved status at a time per work order. Enum: \"Pending\" \"Approved\" \"Not Approved\"",
108
+ "enum": ["Pending", "Approved", "Not Approved"]
109
+ },
110
+ {
111
+ "name": "InternalNotes",
112
+ "type": "string",
113
+ "required": false,
114
+ "description": "Internal notes or comments attached to the estimate. These notes are for internal use only and not visible to vendors or owners."
115
+ },
116
+ {
117
+ "name": "EstimateRequestedDate",
118
+ "type": "string <date>",
119
+ "required": false,
120
+ "description": "The date the estimate was requested from the Vendor."
121
+ },
122
+ {
123
+ "name": "EstimateReceivedDate",
124
+ "type": "string <date>",
125
+ "required": false,
126
+ "description": "The date the estimate was received from the Vendor. If Amount is provided but EstimateReceivedDate is not specified, it will automatically default to today's date."
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "name": "InventoryDetails",
132
+ "type": "array",
133
+ "required": false,
134
+ "description": "Array of InventoryDetails objects to be updated. Pass in all the inventory details you want to keep. When this is empty, it will drop all inventory details. When this is null or not passed in, it will not change the inventory details.",
135
+ "attributes": [
136
+ {
137
+ "name": "InventoryId",
138
+ "type": "string <uuid>",
139
+ "required": true,
140
+ "description": "Unique identifier of the inventory item"
141
+ },
142
+ {
143
+ "name": "GlAccountId",
144
+ "type": "string <uuid>",
145
+ "required": false,
146
+ "description": "Unique identifier of the GL account associated with the inventory detail"
147
+ },
148
+ {
149
+ "name": "Quantity",
150
+ "type": "number",
151
+ "required": false,
152
+ "description": "The quantity of the inventory item used"
153
+ },
154
+ {
155
+ "name": "Rate",
156
+ "type": "number",
157
+ "required": false,
158
+ "description": "The rate of the inventory item"
159
+ }
160
+ ]
161
+ },
162
+ {
163
+ "name": "JobDescription",
164
+ "type": "string",
165
+ "required": false,
166
+ "description": "A brief description of the work order to be performed"
167
+ },
168
+ {
169
+ "name": "LaborItems",
170
+ "type": "array",
171
+ "required": false,
172
+ "description": "Array of labor line item attributes present on a work order",
173
+ "attributes": [
174
+ {
175
+ "name": "Date",
176
+ "type": "string <date>",
177
+ "required": false,
178
+ "description": "The date the labor was completed. Valid format is \"YYYY-MM-DD\" e.g. \"2020-12-01\"."
179
+ },
180
+ {
181
+ "name": "Description",
182
+ "type": "string",
183
+ "required": false,
184
+ "description": "A brief informative message about the labor performed"
185
+ },
186
+ {
187
+ "name": "HoursWorked",
188
+ "type": "string <decimal>",
189
+ "required": false,
190
+ "description": "The number of hours worked by the maintenance tech"
191
+ },
192
+ {
193
+ "name": "HoursBillable",
194
+ "type": "string <decimal>",
195
+ "required": false,
196
+ "description": "The number of hours worked by the maintenance tech that are billable, used to create the work order bill"
197
+ },
198
+ {
199
+ "name": "UserId",
200
+ "type": "string <uuid>",
201
+ "required": false,
202
+ "description": "Unique identifier of the maintenance tech assigned to the work order"
203
+ }
204
+ ]
205
+ },
206
+ {
207
+ "name": "ManagementCompanyAsVendor",
208
+ "type": "boolean",
209
+ "required": false,
210
+ "description": "Indicates whether or not the management company is the vendor for the work order. If false, the assigned vendor company will be dropped."
211
+ },
212
+ {
213
+ "name": "PermissionToEnter",
214
+ "type": "boolean or string",
215
+ "required": false,
216
+ "description": "Occupancy has given permission to enter unit"
217
+ },
218
+ {
219
+ "name": "Priority",
220
+ "type": "string",
221
+ "required": false,
222
+ "description": "The priority of the work order. Enum: \"Urgent\" \"Normal\" \"Low\"",
223
+ "enum": ["Urgent", "Normal", "Low"]
224
+ },
225
+ {
226
+ "name": "ScheduledEnd",
227
+ "type": "string <date-time>",
228
+ "required": false,
229
+ "description": "When the work order is scheduled to be completed. If ScheduledEnd is null, it will be considered scheduled for 'all day'. The value must adhere to the ISO 8601 format YYYY-MM-DDThh:mm:ssZ and the default time zone is Coordinated Universal Time (UTC)."
230
+ },
231
+ {
232
+ "name": "ScheduledStart",
233
+ "type": "string <date-time>",
234
+ "required": false,
235
+ "description": "When the work order is scheduled to start. Set this value together with ScheduledEnd. The time difference between ScheduledStart and ScheduledEnd should not exceed 12 hours unless it is scheduled for 'all day'. The value must adhere to the ISO 8601 format YYYY-MM-DDThh:mm:ssZ and the default time zone is Coordinated Universal Time (UTC)."
236
+ },
237
+ {
238
+ "name": "Status",
239
+ "type": "string",
240
+ "required": false,
241
+ "description": "The status of the work order. Enum: \"Assigned\" \"Canceled\" \"Completed\" \"New\" \"Scheduled\" \"Waiting\" \"Work Completed\"",
242
+ "enum": ["Assigned", "Canceled", "Completed", "New", "Scheduled", "Waiting", "Work Completed"]
243
+ },
244
+ {
245
+ "name": "VendorId",
246
+ "type": "string <uuid>",
247
+ "required": false,
248
+ "description": "Unique identifier of the vendor associated with the work order. When the value of this attribute is null, it will drop the assigned vendor. When present, ManagementCompanyAsVendor cannot be true."
249
+ },
250
+ {
251
+ "name": "VendorTrade",
252
+ "type": "string",
253
+ "required": false,
254
+ "description": "The type of service offered by the vendor. Pass \"\" to remove the vendor trade."
255
+ },
256
+ {
257
+ "name": "WorkCompletedOn",
258
+ "type": "string <date>",
259
+ "required": false,
260
+ "description": "The date the work order was completed"
261
+ }
262
+ ]
263
+ },
264
+ "responseFields": [
265
+ {
266
+ "name": "Id",
267
+ "type": "string <uuid>",
268
+ "required": false,
269
+ "description": "Unique identifier of the updated work order"
270
+ }
271
+ ],
272
+ "requestSample": "{\n \"AssignedUsers\": [\n \"1091593d-613b-43d0-b8f1-1cd0eac704e4\",\n \"4897dd96-7479-44ec-83a0-99b19936d607\"\n ],\n \"BillableItems\": [\n {},\n {}\n ],\n \"Description\": \"Something to fix.\",\n \"Estimates\": [\n {},\n {}\n ],\n \"InventoryDetails\": [\n {},\n {}\n ],\n \"LaborItems\": [\n {},\n {}\n ],\n \"ManagementCompanyAsVendor\": false,\n \"PermissionToEnter\": true,\n \"Priority\": \"Normal\",\n \"ScheduledEnd\": \"2021-01-15T20:30:46Z\",\n \"ScheduledStart\": \"2021-01-15T16:30:46Z\",\n \"VendorId\": \"8eb28538-c8f5-41e7-ac82-3f9609cceec9\",\n \"VendorTrade\": \"Appliances\"\n}"
273
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "operationId": "patch_work_orders_workorderid_notes_id",
3
+ "resource": "work_orders",
4
+ "name": "Update Work Order Note",
5
+ "method": "PATCH",
6
+ "path": "/work_orders/{WorkOrderId}/notes/{Id}",
7
+ "description": "Update a work order's note",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "WorkOrderId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "The work order 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 work order. A work order 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 work order note"
43
+ }
44
+ ],
45
+ "requestSample": "{\n\"Body\": \"This work order have scheduled a maintenance service on 11/30/2022 - Updated\"\n}"
46
+ }
@@ -0,0 +1,167 @@
1
+ {
2
+ "operationId": "post_bank_accounts_bulk",
3
+ "resource": "bank_accounts",
4
+ "name": "Bulk Create Bank Accounts",
5
+ "method": "POST",
6
+ "path": "/bank_accounts/bulk",
7
+ "description": "Create bank accounts in bulk",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "requestBody": {
12
+ "required": true,
13
+ "description": "Bank Account objects",
14
+ "attributes": [
15
+ {
16
+ "name": "data",
17
+ "type": "array",
18
+ "required": false,
19
+ "description": "Array of bank account objects to create in bulk",
20
+ "attributes": [
21
+ {
22
+ "name": "ReferenceId",
23
+ "type": "string",
24
+ "required": true,
25
+ "description": "Transient unique ID assigned by the developer. Used to reference individual bank accounts in the bulk-creation process."
26
+ },
27
+ {
28
+ "name": "AccountNumber",
29
+ "type": "string",
30
+ "required": true,
31
+ "description": "Account number of the bank account"
32
+ },
33
+ {
34
+ "name": "AccountName",
35
+ "type": "string",
36
+ "required": true,
37
+ "description": "The user-provided name for the bank account"
38
+ },
39
+ {
40
+ "name": "AccountType",
41
+ "type": "string",
42
+ "required": true,
43
+ "description": "The type of bank account",
44
+ "enum": [
45
+ "Personal Checking",
46
+ "Personal Savings",
47
+ "Business Checking",
48
+ "Business Saving",
49
+ "Other"
50
+ ]
51
+ },
52
+ {
53
+ "name": "BankName",
54
+ "type": "string",
55
+ "required": true,
56
+ "description": "Name of the bank associated with the bank account"
57
+ },
58
+ {
59
+ "name": "RoutingNumber",
60
+ "type": "string",
61
+ "required": true,
62
+ "description": "The routing number of the bank associated with the bank account"
63
+ },
64
+ {
65
+ "name": "BankAddress1",
66
+ "type": "string",
67
+ "required": true,
68
+ "description": "The primary street address of the bank associated with the bank account"
69
+ },
70
+ {
71
+ "name": "BankCity",
72
+ "type": "string",
73
+ "required": true,
74
+ "description": "The city where the bank associated with the bank account is located"
75
+ },
76
+ {
77
+ "name": "NextCheckNumber",
78
+ "type": "integer",
79
+ "required": false,
80
+ "description": "The number checks for this bank account should start at. Must be a positive integer (not zero)"
81
+ },
82
+ {
83
+ "name": "BankAddress2",
84
+ "type": "string",
85
+ "required": false,
86
+ "description": "Additional street address information pertaining to the bank associated with the bank account"
87
+ },
88
+ {
89
+ "name": "BankState",
90
+ "type": "string",
91
+ "required": false,
92
+ "description": "The state where the bank associated with the bank account is located"
93
+ },
94
+ {
95
+ "name": "BankZip",
96
+ "type": "string",
97
+ "required": false,
98
+ "description": "The zip code where the bank associated with the bank account is located"
99
+ },
100
+ {
101
+ "name": "CompanyAddress1",
102
+ "type": "string",
103
+ "required": false,
104
+ "description": "The primary street address of the company. Will be printed on any blank checkstock"
105
+ },
106
+ {
107
+ "name": "CompanyAddress2",
108
+ "type": "string",
109
+ "required": false,
110
+ "description": "Additional street address information of the company"
111
+ },
112
+ {
113
+ "name": "CompanyCity",
114
+ "type": "string",
115
+ "required": false,
116
+ "description": "The city where the company is located. Must be provided if entering a company address"
117
+ },
118
+ {
119
+ "name": "CompanyState",
120
+ "type": "string",
121
+ "required": false,
122
+ "description": "The state where the company is located. Must be provided if entering a company address"
123
+ },
124
+ {
125
+ "name": "CompanyZip",
126
+ "type": "string",
127
+ "required": false,
128
+ "description": "The zip code where the company is located. Must be provided if entering a company address"
129
+ },
130
+ {
131
+ "name": "CompanyNameOnChecks",
132
+ "type": "string",
133
+ "required": false,
134
+ "description": "The company name printed on checks issued from this bank account"
135
+ }
136
+ ]
137
+ }
138
+ ]
139
+ },
140
+ "responseFields": [
141
+ {
142
+ "name": "data",
143
+ "type": "array",
144
+ "required": false,
145
+ "description": "Array of results for each bank account creation attempt"
146
+ },
147
+ {
148
+ "name": "data[].ReferenceId",
149
+ "type": "string",
150
+ "required": false,
151
+ "description": "Transient unique ID assigned by the developer. Used to reference individual bank accounts in the bulk-creation process."
152
+ },
153
+ {
154
+ "name": "data[].successful",
155
+ "type": "boolean",
156
+ "required": false,
157
+ "description": "Indication of successful creation"
158
+ },
159
+ {
160
+ "name": "data[].BankAccountId",
161
+ "type": "string",
162
+ "required": false,
163
+ "description": "Unique identifier of the created bank account"
164
+ }
165
+ ],
166
+ "requestSample": "{\n \"data\": [\n {}\n ]\n}"
167
+ }