@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,137 @@
1
+ {
2
+ "operationId": "get_journal_entries",
3
+ "resource": "journal_entries",
4
+ "name": "List All Journal Entries",
5
+ "method": "GET",
6
+ "path": "/journal_entries",
7
+ "description": "Returns all journal entries 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 journal entry unique identifier"
17
+ },
18
+ {
19
+ "name": "filters[PropertyId]",
20
+ "type": "string <uuid>",
21
+ "required": false,
22
+ "description": "Filter by unique identifier of the property or association related to the journal entry"
23
+ },
24
+ {
25
+ "name": "filters[LastUpdatedAtFrom]",
26
+ "type": "string <date-time>",
27
+ "required": false,
28
+ "description": "Filter journal entries last updated at or after this date-time. All GET requests must include a filter for [Id] (if available), or [LastUpdatedAtFrom]."
29
+ },
30
+ {
31
+ "name": "page[number]",
32
+ "type": "integer",
33
+ "required": false,
34
+ "description": "Page number for pagination. Default is 1."
35
+ },
36
+ {
37
+ "name": "page[size]",
38
+ "type": "integer",
39
+ "required": false,
40
+ "description": "Page size for pagination. Default is 1000."
41
+ }
42
+ ],
43
+ "responseFields": [
44
+ {
45
+ "name": "data",
46
+ "type": "array",
47
+ "required": false,
48
+ "description": "Array of journal entry objects"
49
+ },
50
+ {
51
+ "name": "data[].Id",
52
+ "type": "string <uuid>",
53
+ "required": false,
54
+ "description": "Unique identifier of the journal entry"
55
+ },
56
+ {
57
+ "name": "data[].AccountingBasis",
58
+ "type": "string",
59
+ "required": false,
60
+ "description": "The accounting basis for the journal entry.",
61
+ "enum": ["All", "CashOnly", "AccrualOnly"]
62
+ },
63
+ {
64
+ "name": "data[].EntryDate",
65
+ "type": "string",
66
+ "required": false,
67
+ "description": "The date the journal entry was created. Valid format is \"YYYY-MM-DD\" e.g. \"2022-03-03\"."
68
+ },
69
+ {
70
+ "name": "data[].LastUpdatedAt",
71
+ "type": "string <date-time>",
72
+ "required": false,
73
+ "description": "The date the journal entry's details were last updated"
74
+ },
75
+ {
76
+ "name": "data[].LineItems",
77
+ "type": "array",
78
+ "required": false,
79
+ "description": "Array of line-item objects"
80
+ },
81
+ {
82
+ "name": "data[].LineItems[].Credit",
83
+ "type": "string",
84
+ "required": false,
85
+ "description": "The credit amount"
86
+ },
87
+ {
88
+ "name": "data[].LineItems[].Debit",
89
+ "type": "string",
90
+ "required": false,
91
+ "description": "The debit amount"
92
+ },
93
+ {
94
+ "name": "data[].LineItems[].Description",
95
+ "type": "string",
96
+ "required": false,
97
+ "description": "A brief, informative description of the journal entry's line item"
98
+ },
99
+ {
100
+ "name": "data[].LineItems[].GlAccountId",
101
+ "type": "string",
102
+ "required": false,
103
+ "description": "Unique identifier of the general ledger account associated with the journal entry line item"
104
+ },
105
+ {
106
+ "name": "data[].PropertyId",
107
+ "type": "string <uuid>",
108
+ "required": false,
109
+ "description": "Unique identifier of the property or association related to the journal entry"
110
+ },
111
+ {
112
+ "name": "data[].ReferenceNumber",
113
+ "type": "string",
114
+ "required": false,
115
+ "description": "The reference number representing the transaction in your ledger. This will be automatically assigned unless provided."
116
+ },
117
+ {
118
+ "name": "data[].Remarks",
119
+ "type": "string",
120
+ "required": false,
121
+ "description": "A description or summary of the journal entry"
122
+ },
123
+ {
124
+ "name": "data[].ScheduledReversalDate",
125
+ "type": "string <date>",
126
+ "required": false,
127
+ "description": "The date on which this journal entry is scheduled to be automatically reversed."
128
+ },
129
+ {
130
+ "name": "next_page_path",
131
+ "type": "any",
132
+ "required": false,
133
+ "description": "The URL path to the next page of responses"
134
+ }
135
+ ],
136
+ "requestSample": "curl --location -g \\\n --request GET 'https://api.appfolio.com/api/v0/journal_entries?page[size]=10&page[number]=2&filters[Id]=1abcde23-c543-456e-abc9-123456789cbaZ&filters[PropertyId]=1abcde23-c543-456e-abc9-123456789cbaZ&filters[LastUpdatedAtFrom]=2020-12-15T16:30:46Z' \\\n --header 'Authorization: Basic {Auth}' \\\n --header 'X-AppFolio-Developer-ID: a965e7d8-a17d-11ec-b909-0242ac120002'"
137
+ }
@@ -0,0 +1,148 @@
1
+ {
2
+ "operationId": "get_late_fee_policies",
3
+ "resource": "late_fee_policies",
4
+ "name": "List All Late Fee Policies",
5
+ "method": "GET",
6
+ "path": "/late_fee_policies",
7
+ "description": "Returns all late fee policies 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 the unique identifier of the late fee policy. All GET requests must include a filter for [Id] or [LastUpdatedAtFrom]."
17
+ },
18
+ {
19
+ "name": "filters[LastUpdatedAtFrom]",
20
+ "type": "string <date-time>",
21
+ "required": false,
22
+ "description": "Filter by the date the late fee policy was last updated (from). All GET requests must include a filter for [Id] or [LastUpdatedAtFrom]."
23
+ },
24
+ {
25
+ "name": "filters[PropertyId]",
26
+ "type": "string <uuid>",
27
+ "required": false,
28
+ "description": "Filter by the unique identifier of the property."
29
+ },
30
+ {
31
+ "name": "filters[PartyType]",
32
+ "type": "string",
33
+ "required": false,
34
+ "description": "Filter by party type (e.g. Property)."
35
+ },
36
+ {
37
+ "name": "page[number]",
38
+ "type": "integer",
39
+ "required": false,
40
+ "description": "Page number for pagination. Default is 1."
41
+ },
42
+ {
43
+ "name": "page[size]",
44
+ "type": "integer",
45
+ "required": false,
46
+ "description": "Page size for pagination. Default is 1000."
47
+ }
48
+ ],
49
+ "responseFields": [
50
+ {
51
+ "name": "data",
52
+ "type": "array",
53
+ "required": false,
54
+ "description": "Array of late fee policy objects"
55
+ },
56
+ {
57
+ "name": "data[].Id",
58
+ "type": "string <uuid>",
59
+ "required": false,
60
+ "description": "Unique identifier of the late fee policy"
61
+ },
62
+ {
63
+ "name": "data[].EligibleCharges",
64
+ "type": "string",
65
+ "required": false,
66
+ "description": "The specific charges to which the late fee will be applied"
67
+ },
68
+ {
69
+ "name": "data[].FeeType",
70
+ "type": "string",
71
+ "required": false,
72
+ "description": "The late fee type"
73
+ },
74
+ {
75
+ "name": "data[].FlatAmount",
76
+ "type": "string <decimal>",
77
+ "required": false,
78
+ "description": "The flat fee"
79
+ },
80
+ {
81
+ "name": "data[].GracePeriodType",
82
+ "type": "string",
83
+ "required": false,
84
+ "description": "The type of Grace Period to enforce"
85
+ },
86
+ {
87
+ "name": "data[].GracePeriodValue",
88
+ "type": "integer",
89
+ "required": false,
90
+ "description": "A number of days after the charge, or a number of days into the following month."
91
+ },
92
+ {
93
+ "name": "data[].LateFeePerDay",
94
+ "type": "string <decimal>",
95
+ "required": false,
96
+ "description": "The daily late fees"
97
+ },
98
+ {
99
+ "name": "data[].LateFeeGraceBalance",
100
+ "type": "string <decimal>",
101
+ "required": false,
102
+ "description": "The late fee grace balance"
103
+ },
104
+ {
105
+ "name": "data[].LastUpdatedAt",
106
+ "type": "string <date-time>",
107
+ "required": false,
108
+ "description": "The date the late fee policy was last updated"
109
+ },
110
+ {
111
+ "name": "data[].MaxDailyLateFeesAmount",
112
+ "type": "string <decimal>",
113
+ "required": false,
114
+ "description": "The maximum daily late fees"
115
+ },
116
+ {
117
+ "name": "data[].OccupancyId",
118
+ "type": "string <uuid>",
119
+ "required": false,
120
+ "description": "When present, the Late Fee Policy belongs to a specific occupancy within a MFR property."
121
+ },
122
+ {
123
+ "name": "data[].Percentage",
124
+ "type": "string <decimal>",
125
+ "required": false,
126
+ "description": "The percentage of late fee"
127
+ },
128
+ {
129
+ "name": "data[].PolicyEffectiveOn",
130
+ "type": "string <date>",
131
+ "required": false,
132
+ "description": "The date at which the late fee policy will start"
133
+ },
134
+ {
135
+ "name": "data[].PropertyId",
136
+ "type": "string <uuid>",
137
+ "required": false,
138
+ "description": "It is filled for both property-based and occupancy-based policies. PropertyId can be used to tie an occupancy-based policy to its MFR building."
139
+ },
140
+ {
141
+ "name": "next_page_path",
142
+ "type": "any",
143
+ "required": false,
144
+ "description": "The URL path to the next page of responses"
145
+ }
146
+ ],
147
+ "requestSample": "curl --location -g \\\n --request GET 'https://api.appfolio.com/api/v0/late_fee_policies?filters[Id]=fabcde23-c543-456e-abc9-123456789cba&filters[PropertyId]=12bcde23-c543-456e-abc9-123456789cba&filters[PartyType]=Property&filters[LastUpdatedAtFrom]=2020-12-15T16:30:46Z' \\\n --header 'Authorization: Basic {Auth}' \\\n --header 'X-AppFolio-Developer-ID: a965e7d8-a17d-11ec-b909-0242ac120002'"
148
+ }
@@ -0,0 +1,248 @@
1
+ {
2
+ "operationId": "get_leads",
3
+ "resource": "leads",
4
+ "name": "List All Leads",
5
+ "method": "GET",
6
+ "path": "/leads",
7
+ "description": "Returns all leads 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 lead Id. All GET requests must include a filter for [Id] (if available), or [LastUpdatedAtFrom]."
17
+ },
18
+ {
19
+ "name": "filters[PropertyId]",
20
+ "type": "string <uuid>",
21
+ "required": false,
22
+ "description": "Filter by property Id associated with the lead."
23
+ },
24
+ {
25
+ "name": "filters[LastUpdatedAtFrom]",
26
+ "type": "string <date-time>",
27
+ "required": false,
28
+ "description": "Filter leads last updated at or after this date-time. All GET requests must include a filter for [Id] (if available), or [LastUpdatedAtFrom]."
29
+ },
30
+ {
31
+ "name": "page[number]",
32
+ "type": "integer",
33
+ "required": false,
34
+ "description": "Page number for pagination. Default is 1."
35
+ },
36
+ {
37
+ "name": "page[size]",
38
+ "type": "integer",
39
+ "required": false,
40
+ "description": "Page size for pagination. Default is 100."
41
+ }
42
+ ],
43
+ "responseFields": [
44
+ {
45
+ "name": "data",
46
+ "type": "Array of objects (Lead)",
47
+ "required": false,
48
+ "description": "Array of lead objects meeting the filter criteria"
49
+ },
50
+ {
51
+ "name": "data[].Id",
52
+ "type": "string <uuid>",
53
+ "required": false,
54
+ "description": "Unique identifier of the lead"
55
+ },
56
+ {
57
+ "name": "data[].AdditionalOccupants",
58
+ "type": "integer",
59
+ "required": false,
60
+ "description": "The number of other potential occupants of the residency"
61
+ },
62
+ {
63
+ "name": "data[].AssignedUserId",
64
+ "type": "string <uuid>",
65
+ "required": false,
66
+ "description": "The AppFolio Property Manager user responsible for the lead. Reference the Users endpoint for any necessary associations."
67
+ },
68
+ {
69
+ "name": "data[].Bathrooms",
70
+ "type": "string <decimal>",
71
+ "required": false,
72
+ "description": "The number of desired bathrooms"
73
+ },
74
+ {
75
+ "name": "data[].Bedrooms",
76
+ "type": "integer",
77
+ "required": false,
78
+ "description": "The number of desired bedrooms"
79
+ },
80
+ {
81
+ "name": "data[].CreatedAt",
82
+ "type": "string <date-time>",
83
+ "required": false,
84
+ "description": "The date the lead was created"
85
+ },
86
+ {
87
+ "name": "data[].CreditScore",
88
+ "type": "string",
89
+ "required": false,
90
+ "description": "The self-reported credit score of the interested party"
91
+ },
92
+ {
93
+ "name": "data[].DesiredMoveIn",
94
+ "type": "string <date>",
95
+ "required": false,
96
+ "description": "The date the prospective resident desires to move in"
97
+ },
98
+ {
99
+ "name": "data[].Duplicate",
100
+ "type": "boolean",
101
+ "required": false,
102
+ "deprecated": true,
103
+ "description": "Indicates whether or not the lead is a duplicate of an existing lead. Leads are marked as duplicates if a lead was submitted from a party with the same contact information (phone number or email) that is already associated with a lead with the same PropertyId."
104
+ },
105
+ {
106
+ "name": "data[].OriginalLeadId",
107
+ "type": "string <uuid>",
108
+ "required": false,
109
+ "deprecated": true,
110
+ "description": "ID of the existing lead this lead duplicates. The ID attribute of the newly created lead will be distinct from its duplicate."
111
+ },
112
+ {
113
+ "name": "data[].Email",
114
+ "type": "string <email>",
115
+ "required": false,
116
+ "description": "The email address of the interested person"
117
+ },
118
+ {
119
+ "name": "data[].FirstName",
120
+ "type": "string",
121
+ "required": false,
122
+ "description": "The first name of the interested person"
123
+ },
124
+ {
125
+ "name": "data[].GuestCardId",
126
+ "type": "string <uuid>",
127
+ "required": false,
128
+ "description": "The unique identifier of the Guest Card, which may include multiple leads"
129
+ },
130
+ {
131
+ "name": "data[].HasCats",
132
+ "type": "boolean",
133
+ "required": false,
134
+ "description": "Indicates whether or not the interested person has cat(s)"
135
+ },
136
+ {
137
+ "name": "data[].HasDogs",
138
+ "type": "boolean",
139
+ "required": false,
140
+ "description": "Indicates whether or not the interested person has dog(s)"
141
+ },
142
+ {
143
+ "name": "data[].HasOtherPet",
144
+ "type": "boolean",
145
+ "required": false,
146
+ "description": "Indicates whether or not the interested person has other pet(s)"
147
+ },
148
+ {
149
+ "name": "data[].InactiveReason",
150
+ "type": "string",
151
+ "required": false,
152
+ "description": "The reason why the lead was marked inactive",
153
+ "enum": ["price", "location", "amenities", "no_response", "decided_not_to_move", "leasing_criteria_not_met", "looking_for_move_in_special", "no_availability", "duplicate", "other"]
154
+ },
155
+ {
156
+ "name": "data[].LastName",
157
+ "type": "string",
158
+ "required": false,
159
+ "description": "The last name of the interested person"
160
+ },
161
+ {
162
+ "name": "data[].Link",
163
+ "type": "string <uri>",
164
+ "required": false,
165
+ "description": "A link to the lead page in the AppFolio Property Manager"
166
+ },
167
+ {
168
+ "name": "data[].MaxRent",
169
+ "type": "string <decimal>",
170
+ "required": false,
171
+ "description": "The max amount the interested person is willing to pay monthly for rent"
172
+ },
173
+ {
174
+ "name": "data[].Messages",
175
+ "type": "Array of objects",
176
+ "required": false,
177
+ "description": "Array of objects representing messages sent about a lead"
178
+ },
179
+ {
180
+ "name": "data[].MiddleInitial",
181
+ "type": "string",
182
+ "required": false,
183
+ "description": "The middle initial of the interested person"
184
+ },
185
+ {
186
+ "name": "data[].MonthlyIncome",
187
+ "type": "string <decimal>",
188
+ "required": false,
189
+ "description": "The self-reported monthly income of the interested person"
190
+ },
191
+ {
192
+ "name": "data[].PhoneNumber",
193
+ "type": "string",
194
+ "required": false,
195
+ "description": "The phone number of the interested person"
196
+ },
197
+ {
198
+ "name": "data[].PropertyId",
199
+ "type": "string <uuid>",
200
+ "required": false,
201
+ "description": "Unique identifier of the property associated with the lead"
202
+ },
203
+ {
204
+ "name": "data[].RentalApplicationId",
205
+ "type": "string <uuid>",
206
+ "required": false,
207
+ "description": "Unique identifier of the rental application associated with the lead"
208
+ },
209
+ {
210
+ "name": "data[].RentalApplicationGroupId",
211
+ "type": "string <uuid>",
212
+ "required": false,
213
+ "description": "Unique identifier of the rental application group id associated with the lead if they applied as a group"
214
+ },
215
+ {
216
+ "name": "data[].Source",
217
+ "type": "string",
218
+ "required": false,
219
+ "description": "The mechanism through which this lead was submitted"
220
+ },
221
+ {
222
+ "name": "data[].Status",
223
+ "type": "string",
224
+ "required": false,
225
+ "description": "Indicates the current phase of engagement with a prospective resident",
226
+ "enum": ["active", "inactive", "cold", "waitlisted", "applied", "applied_review", "applied_approved", "applied_denied", "applied_canceled", "converting", "converted"]
227
+ },
228
+ {
229
+ "name": "data[].UnitIds",
230
+ "type": "Array of strings",
231
+ "required": false,
232
+ "description": "Unique identifier of the unit(s) that the interested party is interested in"
233
+ },
234
+ {
235
+ "name": "data[].LastUpdatedAt",
236
+ "type": "string <date-time>",
237
+ "required": false,
238
+ "description": "The date the lead was last updated"
239
+ },
240
+ {
241
+ "name": "next_page_path",
242
+ "type": "any",
243
+ "required": false,
244
+ "description": "The URL path to the next page of responses"
245
+ }
246
+ ],
247
+ "requestSample": "curl --location -g \\\n --request GET 'https://api.appfolio.com/api/v0/leads?filters[Id]=fabcde23-c543-456e-abc9-123456789cba&filters[PropertyId]=12bcde23-c543-456e-abc9-123456789cba&filters[LastUpdatedAtFrom]=2020-12-15T16:30:46Z' \\\n --header 'Authorization: Basic {Auth}' \\\n --header 'X-AppFolio-Developer-ID: a965e7d8-a17d-11ec-b909-0242ac120002'"
248
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "operationId": "get_leads_notes",
3
+ "resource": "leads",
4
+ "name": "List All Leads Notes",
5
+ "method": "GET",
6
+ "path": "/leads/notes",
7
+ "description": "Returns all notes for a lead that meet the filter criteria",
8
+ "deprecated": false,
9
+ "writeOperation": false,
10
+ "pagination": true,
11
+ "queryFilters": [
12
+ {
13
+ "name": "filters[GuestCardId]",
14
+ "type": "string <uuid>",
15
+ "required": false,
16
+ "description": "Filter by GuestCardId. All GET requests must include a filter for [GuestCardId] or [LastUpdatedAtFrom]."
17
+ },
18
+ {
19
+ "name": "filters[LastUpdatedAtFrom]",
20
+ "type": "string <date-time>",
21
+ "required": false,
22
+ "description": "Filter lead notes last updated at or after this date-time. All GET requests must include a filter for [GuestCardId] or [LastUpdatedAtFrom]."
23
+ },
24
+ {
25
+ "name": "page[number]",
26
+ "type": "integer",
27
+ "required": false,
28
+ "description": "Page number for pagination. Default is 1."
29
+ },
30
+ {
31
+ "name": "page[size]",
32
+ "type": "integer",
33
+ "required": false,
34
+ "description": "Page size for pagination. Default is 1000."
35
+ }
36
+ ],
37
+ "responseFields": [
38
+ {
39
+ "name": "data",
40
+ "type": "Array of objects (Lead.Note)",
41
+ "required": false,
42
+ "description": "Array of lead note objects meeting the filter criteria"
43
+ },
44
+ {
45
+ "name": "data[].Body",
46
+ "type": "string",
47
+ "required": false,
48
+ "description": "A brief informative message about the lead note. A lead note cannot exceed 63,535 characters."
49
+ },
50
+ {
51
+ "name": "data[].EntityId",
52
+ "type": "string <uuid>",
53
+ "required": false,
54
+ "description": "The unique identifier of the Guest Card to which the note will be attached"
55
+ },
56
+ {
57
+ "name": "data[].LastUpdatedAt",
58
+ "type": "string",
59
+ "required": false,
60
+ "description": "The date the lead note's details were last updated"
61
+ },
62
+ {
63
+ "name": "data[].Id",
64
+ "type": "string <uuid>",
65
+ "required": false,
66
+ "description": "Unique identifier of the note associated with the guest card"
67
+ },
68
+ {
69
+ "name": "data[].NoteId",
70
+ "type": "string <uuid>",
71
+ "required": false,
72
+ "deprecated": true,
73
+ "description": "Unique identifier of the note associated with the guest card. Deprecated in favor of Id."
74
+ },
75
+ {
76
+ "name": "next_page_path",
77
+ "type": "any",
78
+ "required": false,
79
+ "description": "The URL path to the next page of responses"
80
+ }
81
+ ],
82
+ "requestSample": "curl --location -g \\\n --request GET 'https://api.appfolio.com/api/v0/leads/notes?filters[GuestCardId]=1abcde23-c543-456e-abc9-123456789cba&filters[LastUpdatedAtFrom]=2020-12-15T16:30:46Z' \\\n --header 'Authorization: Basic {Auth}' \\\n --header 'X-AppFolio-Developer-ID: a965e7d8-a17d-11ec-b909-0242ac120002'"
83
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ "operationId": "get_leases",
3
+ "resource": "leases",
4
+ "name": "List All Leases",
5
+ "method": "GET",
6
+ "path": "/leases",
7
+ "description": "Returns all leases that meet the filter criteria",
8
+ "deprecated": false,
9
+ "writeOperation": false,
10
+ "pagination": true,
11
+ "queryFilters": [
12
+ {
13
+ "name": "filters[LeaseId]",
14
+ "type": "string <uuid>",
15
+ "required": false,
16
+ "description": "Filter leases by lease identifier"
17
+ }
18
+ ],
19
+ "responseFields": [
20
+ {
21
+ "name": "Id",
22
+ "type": "string <uuid>",
23
+ "required": false,
24
+ "description": "Id of lease"
25
+ },
26
+ {
27
+ "name": "IsMtm",
28
+ "type": "boolean",
29
+ "required": false,
30
+ "description": "Indicates if the lease is month-to-month"
31
+ },
32
+ {
33
+ "name": "StartOn",
34
+ "type": "string",
35
+ "required": false,
36
+ "description": "Indicates the start date of the lease"
37
+ },
38
+ {
39
+ "name": "EndOn",
40
+ "type": "string",
41
+ "required": false,
42
+ "description": "Indicates the end date of the lease"
43
+ },
44
+ {
45
+ "name": "RenewedOn",
46
+ "type": "string",
47
+ "required": false,
48
+ "description": "Indicates the date the lease was renewed"
49
+ },
50
+ {
51
+ "name": "LastUpdatedAt",
52
+ "type": "string <date-time>",
53
+ "required": false,
54
+ "description": "Indicates the date the lease was last updated"
55
+ },
56
+ {
57
+ "name": "Status",
58
+ "type": "string",
59
+ "required": false,
60
+ "description": "Indicates the status of the lease"
61
+ },
62
+ {
63
+ "name": "OccupancyId",
64
+ "type": "string <uuid>",
65
+ "required": false,
66
+ "description": "Id of associated occupancy"
67
+ }
68
+ ],
69
+ "requestSample": "curl --location -g \\\n --request GET 'https://api.appfolio.com/api/v0/leases?filters[LeaseId]=1abcde23-c543-456e-abc9-123456789cba' \\\n --header 'X-AppFolio-Developer-ID: a965e7d8-a17d-11ec-b909-0242ac120002' \\\n --header 'Authorization: Basic {Auth}'"
70
+ }