@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,40 @@
1
+ {
2
+ "operationId": "post_units_unitid_attachments",
3
+ "resource": "units",
4
+ "name": "Create Unit Attachment",
5
+ "method": "POST",
6
+ "path": "/units/{UnitId}/attachments",
7
+ "description": "Upload an attachment to a unit",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "UnitId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "The unit to which the file will be attached"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Attachment object (multipart/form-data)",
22
+ "attributes": [
23
+ {
24
+ "name": "File",
25
+ "type": "string",
26
+ "required": false,
27
+ "description": "Filename.file-extension"
28
+ }
29
+ ]
30
+ },
31
+ "responseFields": [
32
+ {
33
+ "name": "Id",
34
+ "type": "string <uuid>",
35
+ "required": false,
36
+ "description": "Unique identifier of the unit attachment"
37
+ }
38
+ ],
39
+ "requestSample": "{\n \"File\": \"/path/to/file.pdf\"\n}"
40
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "operationId": "post_units_unitid_notes",
3
+ "resource": "units",
4
+ "name": "Create Unit Note",
5
+ "method": "POST",
6
+ "path": "/units/{UnitId}/notes",
7
+ "description": "Add a note to a unit",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "UnitId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "The unit to which the note will be attached"
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Note object",
22
+ "attributes": [
23
+ {
24
+ "name": "Body",
25
+ "type": "string",
26
+ "required": false,
27
+ "description": "A brief informative message about the unit note. A unit note cannot exceed 65,535 characters."
28
+ }
29
+ ]
30
+ },
31
+ "responseFields": [
32
+ {
33
+ "name": "Id",
34
+ "type": "string <uuid>",
35
+ "required": false,
36
+ "description": "Unique identifier of the unit note"
37
+ }
38
+ ],
39
+ "requestSample": "{\n \"Body\": \"This unit has a scheduled cleaning service on 11/11/2023\"\n}"
40
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "operationId": "post_units_unitid_photos",
3
+ "resource": "units",
4
+ "name": "Create Unit Photo",
5
+ "method": "POST",
6
+ "path": "/units/{UnitId}/photos",
7
+ "description": "Upload a photo to a unit.",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "pathParams": [
12
+ {
13
+ "name": "UnitId",
14
+ "type": "string <uuid>",
15
+ "required": true,
16
+ "description": "The unit to which the photo will be attached. Note: Unit photos cannot be created through this endpoint if the unit belongs to a Unit Type that uses Unit Type Photos."
17
+ }
18
+ ],
19
+ "requestBody": {
20
+ "required": true,
21
+ "description": "Photo object (multipart/form-data)",
22
+ "attributes": [
23
+ {
24
+ "name": "File",
25
+ "type": "string",
26
+ "required": false,
27
+ "description": "Filename.file-extension"
28
+ }
29
+ ]
30
+ },
31
+ "responseFields": [
32
+ {
33
+ "name": "Id",
34
+ "type": "string <uuid>",
35
+ "required": false,
36
+ "description": "Unique identifier of the unit photo"
37
+ }
38
+ ],
39
+ "requestSample": "{\n \"File\": \"/path/to/file.pdf\"\n}"
40
+ }
@@ -0,0 +1,279 @@
1
+ {
2
+ "operationId": "post_vendors",
3
+ "resource": "vendors",
4
+ "name": "Create Vendor",
5
+ "method": "POST",
6
+ "path": "/vendors",
7
+ "description": "Create a vendor",
8
+ "deprecated": false,
9
+ "writeOperation": true,
10
+ "pagination": false,
11
+ "requestBody": {
12
+ "required": true,
13
+ "description": "Vendor creation object",
14
+ "attributes": [
15
+ {
16
+ "name": "IsCompany",
17
+ "type": "boolean",
18
+ "required": true,
19
+ "description": "Indicates whether or not the vendor identifies as a company"
20
+ },
21
+ {
22
+ "name": "UseCompanyNameAsTaxpayerName",
23
+ "type": "boolean",
24
+ "required": true,
25
+ "description": "Indicates whether or not to use the company name for tax paying purposes"
26
+ },
27
+ {
28
+ "name": "TaxpayerName",
29
+ "type": "string",
30
+ "required": false,
31
+ "description": "The taxpayer name of the vendor. If UseCompanyNameAsTaxpayerName is true, then TaxpayerName will be CompanyName. If IsCompany is true, and TaxpayerName is not provided, then TaxpayerName will be set to CompanyName. If IsCompany is false, and TaxpayerName is not provided, then TaxpayerName will be set to the concatenation of FirstName and LastName. If TaxpayerName is provided, and UseCompanyNameAsTaxpayerName is false, then TaxpayerName will be set as provided value."
32
+ },
33
+ {
34
+ "name": "TaxpayerId",
35
+ "type": "string",
36
+ "required": false,
37
+ "description": "The tax identification number of the vendor. This field accepts either a Employer Identification Number (EIN), a Social Security Number (SSN), or an Individual Taxpayer Identification Number (ITIN)."
38
+ },
39
+ {
40
+ "name": "CompanyName",
41
+ "type": "string",
42
+ "required": false,
43
+ "description": "Optional display name of vendor's company. If IsCompany is true, this field is required."
44
+ },
45
+ {
46
+ "name": "Send1099",
47
+ "type": "boolean",
48
+ "required": false,
49
+ "description": "Indicates whether or not the vendor needs a 1099 tax form from the management company"
50
+ },
51
+ {
52
+ "name": "FirstName",
53
+ "type": "string",
54
+ "required": false,
55
+ "description": "The vendor's first name. If IsCompany is false, this field is required."
56
+ },
57
+ {
58
+ "name": "LastName",
59
+ "type": "string",
60
+ "required": false,
61
+ "description": "The vendor's last name. If IsCompany is false, this field is required."
62
+ },
63
+ {
64
+ "name": "Address1",
65
+ "type": "string",
66
+ "required": false,
67
+ "description": "The primary street address of the vendor. If provided, City, State, and Zip must also be provided. A primary address is required when UseOnlinePayables is true."
68
+ },
69
+ {
70
+ "name": "Address2",
71
+ "type": "string",
72
+ "required": false,
73
+ "description": "Additional street information pertaining to the vendor. If provided, Address1, City, State, and Zip must also be provided."
74
+ },
75
+ {
76
+ "name": "City",
77
+ "type": "string",
78
+ "required": false,
79
+ "description": "The city where the vendor is located. If provided, Address1, State, and Zip must also be provided. This attribute is required when UseOnlinePayables is true."
80
+ },
81
+ {
82
+ "name": "State",
83
+ "type": "string",
84
+ "required": false,
85
+ "description": "The state where the vendor is located (e.g. \"CA\" for California). If provided, Address1, City, and Zip must also be provided. This attribute is required when UseOnlinePayables is true. This value must not be an unincorporated US territory (AS, FM, MH, MP, or VI) for primary address when UseOnlinePayables and VendorPaidByACH are both true."
86
+ },
87
+ {
88
+ "name": "Zip",
89
+ "type": "string",
90
+ "required": false,
91
+ "description": "The zip code where the vendor is located. Must be a string in 5-digit ZIP code format (e.g., 93013) or ZIP+4 format (e.g., 93013-0429). If provided, Address1, City, and State must also be provided. This attribute is required for primary address when UseOnlinePayables is true."
92
+ },
93
+ {
94
+ "name": "CountryCode",
95
+ "type": "string",
96
+ "required": false,
97
+ "description": "The country code of the vendor (e.g. \"US\" for United States). This attribute is required when UseOnlinePayables is true. This value must be \"US\" for primary address when UseOnlinePayables and VendorPaidByAch are both true."
98
+ },
99
+ {
100
+ "name": "PhoneNumber",
101
+ "type": "string",
102
+ "required": false,
103
+ "description": "The vendor's primary phone number",
104
+ "deprecated": true
105
+ },
106
+ {
107
+ "name": "PhoneNumbers",
108
+ "type": "array",
109
+ "required": false,
110
+ "description": "The vendor's phone number(s). PhoneNumber and PhoneNumbers cannot be provided together.",
111
+ "attributes": [
112
+ {
113
+ "name": "Number",
114
+ "type": "string",
115
+ "required": true,
116
+ "description": "The vendor's phone number"
117
+ },
118
+ {
119
+ "name": "AdditionalDetails",
120
+ "type": "string",
121
+ "required": false,
122
+ "description": "Additional detailed information pertaining to the phone number associated with the vendor"
123
+ },
124
+ {
125
+ "name": "IsPrimary",
126
+ "type": "boolean",
127
+ "required": false,
128
+ "description": "Indicates whether the phone number provided is the vendor's main contact number"
129
+ },
130
+ {
131
+ "name": "Label",
132
+ "type": "string",
133
+ "required": false,
134
+ "description": "The label of the phone number, e.g. 'Home'",
135
+ "enum": ["Fax", "Home", "Mobile", "Office"]
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "name": "Email",
141
+ "type": "string",
142
+ "required": false,
143
+ "description": "The vendor's primary email address",
144
+ "deprecated": true
145
+ },
146
+ {
147
+ "name": "Emails",
148
+ "type": "array",
149
+ "required": false,
150
+ "description": "The vendor's email address(es). Email and Emails cannot be provided together.",
151
+ "attributes": [
152
+ {
153
+ "name": "EmailAddress",
154
+ "type": "string",
155
+ "required": true,
156
+ "description": "The vendor's email address"
157
+ },
158
+ {
159
+ "name": "IsPrimary",
160
+ "type": "boolean",
161
+ "required": false,
162
+ "description": "Indicates whether the email address provided is the vendor's primary email address"
163
+ }
164
+ ]
165
+ },
166
+ {
167
+ "name": "CompanyURL",
168
+ "type": "string",
169
+ "required": false,
170
+ "description": "The internet address of the vendor's website"
171
+ },
172
+ {
173
+ "name": "LiabilityInsuranceExpiration",
174
+ "type": "string <date>",
175
+ "required": false,
176
+ "description": "The expiration date of the vendor's liability insurance. ISO 8601 format (YYYY-MM-DD) is required. Legacy MM/DD/YYYY format is supported for backward compatibility but will be deprecated in a future release."
177
+ },
178
+ {
179
+ "name": "AutoInsuranceExpiration",
180
+ "type": "string <date>",
181
+ "required": false,
182
+ "description": "The expiration date of the vendor's automobile insurance. ISO 8601 format (YYYY-MM-DD) is required. Legacy MM/DD/YYYY format is supported for backward compatibility but will be deprecated in a future release."
183
+ },
184
+ {
185
+ "name": "WorkersCompExpiration",
186
+ "type": "string <date>",
187
+ "required": false,
188
+ "description": "The expiration date of the vendor's worker's compensation insurance. ISO 8601 format (YYYY-MM-DD) is required. Legacy MM/DD/YYYY format is supported for backward compatibility but will be deprecated in a future release."
189
+ },
190
+ {
191
+ "name": "ContractExpiration",
192
+ "type": "string <date>",
193
+ "required": false,
194
+ "description": "The expiration date of the contract. ISO 8601 format (YYYY-MM-DD) is required. Legacy MM/DD/YYYY format is supported for backward compatibility but will be deprecated in a future release."
195
+ },
196
+ {
197
+ "name": "UmbrellaInsuranceExpiration",
198
+ "type": "string <date>",
199
+ "required": false,
200
+ "description": "The expiration date of the vendor's umbrella insurance. ISO 8601 format (YYYY-MM-DD) is required. Legacy MM/DD/YYYY format is supported for backward compatibility but will be deprecated in a future release."
201
+ },
202
+ {
203
+ "name": "CompliantStatus",
204
+ "type": "boolean",
205
+ "required": false,
206
+ "description": "Indicates whether or not the vendor meets compliance"
207
+ },
208
+ {
209
+ "name": "NetVendorId",
210
+ "type": "string",
211
+ "required": false,
212
+ "description": "The vendor's NetVendor ID"
213
+ },
214
+ {
215
+ "name": "PaymentTerms",
216
+ "type": "integer",
217
+ "required": false,
218
+ "description": "Represents the number of days the payment is due after the invoice date. A null value indicates that no payment terms were defined. A value of 0 indicates the payment is due on receipt. A value greater than 0, for example, 15, indicates the payment is due 15 days after the invoice date. Required value of 1-31 if UsingEomTerms is true."
219
+ },
220
+ {
221
+ "name": "UsingEomTerms",
222
+ "type": "boolean",
223
+ "required": false,
224
+ "description": "Indicates whether or not the payment terms include an end-of-month (EOM) stipulation. For example, if PaymentTerms is 15, and EOM is true, the payment is due within 15 days of the end of the month."
225
+ },
226
+ {
227
+ "name": "DefaultAutoAcceptWorkOrders",
228
+ "type": "boolean",
229
+ "required": false,
230
+ "description": "Indicates whether the vendor is ineligible for auto-accept work order assignments. When set to true, this vendor will auto-accept all work orders assigned to them."
231
+ },
232
+ {
233
+ "name": "Tags",
234
+ "type": "Array of strings",
235
+ "required": false,
236
+ "description": "User-defined tag(s) that categorize the vendor"
237
+ },
238
+ {
239
+ "name": "VendorPaidByACH",
240
+ "type": "boolean",
241
+ "required": false,
242
+ "description": "Indicates whether or not the vendor is paid via ACH (Automated Clearing House) transfer."
243
+ },
244
+ {
245
+ "name": "UseOnlinePayables",
246
+ "type": "boolean",
247
+ "required": false,
248
+ "description": "Indicates whether or not the vendor uses Online Payables for receiving payments."
249
+ },
250
+ {
251
+ "name": "BankAccountRoutingNumber",
252
+ "type": "string",
253
+ "required": false,
254
+ "description": "The vendor's bank account routing number. Must be a valid 9-digit ABA routing number. This attribute is required when both UseOnlinePayables and VendorPaidByACH are true."
255
+ },
256
+ {
257
+ "name": "BankAccountNumber",
258
+ "type": "string",
259
+ "required": false,
260
+ "description": "The vendor's bank account number. Must be 4-17 characters and can only contain numbers and hyphens. This attribute is required when both UseOnlinePayables and VendorPaidByACH are true."
261
+ },
262
+ {
263
+ "name": "SavingsAccount",
264
+ "type": "boolean",
265
+ "required": false,
266
+ "description": "Indicates whether or not the bank account is a savings account. If false or not provided, the account is assumed to be a checking account."
267
+ }
268
+ ]
269
+ },
270
+ "responseFields": [
271
+ {
272
+ "name": "Id",
273
+ "type": "string <uuid>",
274
+ "required": false,
275
+ "description": "Unique identifier of the created vendor"
276
+ }
277
+ ],
278
+ "requestSample": "{\n \"TaxpayerName\": \"John Doe\",\n \"TaxpayerId\": \"55-2345678\",\n \"CompanyName\": \"Fake Company\",\n \"IsCompany\": true,\n \"UseCompanyNameAsTaxpayerName\": false,\n \"Send1099\": true,\n \"FirstName\": \"John\",\n \"LastName\": \"Doe\",\n \"Address1\": \"25 Example Way\",\n \"Address2\": \"34 Example Way\",\n \"City\": \"Los Angeles\",\n \"State\": \"CA\",\n \"Zip\": \"92114\",\n \"CountryCode\": \"US\",\n \"Emails\": [{}],\n \"PhoneNumbers\": [{}],\n \"CompanyURL\": \"https://example.com\",\n \"LiabilityInsuranceExpiration\": \"2022-01-23\",\n \"AutoInsuranceExpiration\": \"2022-02-23\",\n \"WorkersCompExpiration\": \"2022-03-23\",\n \"ContractExpiration\": \"2022-04-23\",\n \"UmbrellaInsuranceExpiration\": \"2022-05-23\",\n \"CompliantStatus\": true,\n \"NetVendorId\": \"1\",\n \"DefaultAutoAcceptWorkOrders\": true,\n \"PaymentTerms\": 30,\n \"UsingEomTerms\": true,\n \"Tags\": [\"tag1\", \"tag2\"],\n \"VendorPaidByACH\": true,\n \"UseOnlinePayables\": true,\n \"BankAccountRoutingNumber\": \"121042882\",\n \"BankAccountNumber\": \"1234567890\",\n \"SavingsAccount\": false\n}"
279
+ }