@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.
- package/COMMERCIAL.md +35 -0
- package/LICENSE +661 -0
- package/README.md +127 -0
- package/dist/catalog/index.json +1511 -0
- package/dist/catalog/report-spec.js +27 -0
- package/dist/catalog/reports/account_totals.json +112 -0
- package/dist/catalog/reports/additional_fees.json +73 -0
- package/dist/catalog/reports/aged_payables_summary.json +124 -0
- package/dist/catalog/reports/aged_receivables_detail.json +132 -0
- package/dist/catalog/reports/amenities_by_property.json +73 -0
- package/dist/catalog/reports/annual_budget_comparative.json +138 -0
- package/dist/catalog/reports/annual_budget_forecast.json +125 -0
- package/dist/catalog/reports/appfolio_stack_usage.json +112 -0
- package/dist/catalog/reports/association_work_order.json +232 -0
- package/dist/catalog/reports/balance_sheet.json +124 -0
- package/dist/catalog/reports/balance_sheet_comparative.json +126 -0
- package/dist/catalog/reports/balance_sheet_comparison.json +113 -0
- package/dist/catalog/reports/bank_account_association.json +94 -0
- package/dist/catalog/reports/bill_detail.json +183 -0
- package/dist/catalog/reports/board_of_directors.json +87 -0
- package/dist/catalog/reports/budget_comparative.json +162 -0
- package/dist/catalog/reports/budget_comparison.json +141 -0
- package/dist/catalog/reports/cancelled_processes.json +122 -0
- package/dist/catalog/reports/cash_flow.json +158 -0
- package/dist/catalog/reports/cash_flow_comparison.json +158 -0
- package/dist/catalog/reports/cash_flow_detail.json +129 -0
- package/dist/catalog/reports/charge_detail.json +198 -0
- package/dist/catalog/reports/chart_of_accounts.json +22 -0
- package/dist/catalog/reports/check_register.json +181 -0
- package/dist/catalog/reports/check_register_detail.json +181 -0
- package/dist/catalog/reports/completed_processes.json +117 -0
- package/dist/catalog/reports/delinquency.json +164 -0
- package/dist/catalog/reports/delinquency_as_of.json +155 -0
- package/dist/catalog/reports/deposit_register.json +51 -0
- package/dist/catalog/reports/dues_roll.json +89 -0
- package/dist/catalog/reports/dues_roll_itemized.json +113 -0
- package/dist/catalog/reports/eligible_debt_summary.json +73 -0
- package/dist/catalog/reports/email_delivery_errors.json +104 -0
- package/dist/catalog/reports/expense_distribution.json +109 -0
- package/dist/catalog/reports/expense_register.json +149 -0
- package/dist/catalog/reports/fixed_assets.json +111 -0
- package/dist/catalog/reports/flows_assigned_tasks.json +103 -0
- package/dist/catalog/reports/fund_balance_sheet.json +113 -0
- package/dist/catalog/reports/fund_balance_sheet_active_funds.json +113 -0
- package/dist/catalog/reports/fund_income_statement.json +132 -0
- package/dist/catalog/reports/general_ledger.json +166 -0
- package/dist/catalog/reports/gross_potential_rent_enhanced.json +102 -0
- package/dist/catalog/reports/guest_card_inquiries.json +177 -0
- package/dist/catalog/reports/guest_cards.json +161 -0
- package/dist/catalog/reports/historical_advertised_rent.json +92 -0
- package/dist/catalog/reports/homeowner_delinquency.json +143 -0
- package/dist/catalog/reports/homeowner_delinquency_as_of.json +161 -0
- package/dist/catalog/reports/homeowner_directory.json +126 -0
- package/dist/catalog/reports/homeowner_ledger.json +59 -0
- package/dist/catalog/reports/homeowner_prepayment_balance.json +127 -0
- package/dist/catalog/reports/homeowner_resale.json +107 -0
- package/dist/catalog/reports/homeowner_vehicle_info.json +104 -0
- package/dist/catalog/reports/import_variances.json +41 -0
- package/dist/catalog/reports/in_progress_workflows.json +181 -0
- package/dist/catalog/reports/inactive_guest_cards.json +134 -0
- package/dist/catalog/reports/income_register.json +131 -0
- package/dist/catalog/reports/income_statement.json +130 -0
- package/dist/catalog/reports/income_statement_comparative.json +140 -0
- package/dist/catalog/reports/income_statement_comparison.json +135 -0
- package/dist/catalog/reports/income_statement_date_range.json +134 -0
- package/dist/catalog/reports/inspection_detail.json +107 -0
- package/dist/catalog/reports/insurance_enforcement.json +22 -0
- package/dist/catalog/reports/insurance_usage.json +92 -0
- package/dist/catalog/reports/inventory_status.json +73 -0
- package/dist/catalog/reports/inventory_usage.json +131 -0
- package/dist/catalog/reports/keys_detail.json +131 -0
- package/dist/catalog/reports/late_fee_policy_comparison.json +135 -0
- package/dist/catalog/reports/lease_expiration_detail.json +147 -0
- package/dist/catalog/reports/lease_expiration_summary.json +95 -0
- package/dist/catalog/reports/lease_history.json +147 -0
- package/dist/catalog/reports/leasing_agent_performance.json +54 -0
- package/dist/catalog/reports/leasing_funnel_performance.json +113 -0
- package/dist/catalog/reports/leasing_summary.json +92 -0
- package/dist/catalog/reports/loans.json +95 -0
- package/dist/catalog/reports/occupancy_custom_fields.json +73 -0
- package/dist/catalog/reports/occupancy_summary.json +95 -0
- package/dist/catalog/reports/owner1099.json +135 -0
- package/dist/catalog/reports/owner1099_detail.json +156 -0
- package/dist/catalog/reports/owner_custom_fields.json +73 -0
- package/dist/catalog/reports/owner_directory.json +101 -0
- package/dist/catalog/reports/owner_leasing.json +115 -0
- package/dist/catalog/reports/owner_withholdings.json +170 -0
- package/dist/catalog/reports/payment_plans.json +128 -0
- package/dist/catalog/reports/premium_leads_billing_detail.json +70 -0
- package/dist/catalog/reports/project_budget_detail.json +56 -0
- package/dist/catalog/reports/project_directory.json +144 -0
- package/dist/catalog/reports/property_budget.json +83 -0
- package/dist/catalog/reports/property_custom_fields.json +73 -0
- package/dist/catalog/reports/property_directory.json +73 -0
- package/dist/catalog/reports/property_group_directory.json +85 -0
- package/dist/catalog/reports/property_performance.json +115 -0
- package/dist/catalog/reports/property_staff_assignments.json +73 -0
- package/dist/catalog/reports/prospect_source_tracking.json +92 -0
- package/dist/catalog/reports/purchase_order.json +163 -0
- package/dist/catalog/reports/receivables_activity.json +138 -0
- package/dist/catalog/reports/renewal_summary.json +134 -0
- package/dist/catalog/reports/rent_roll.json +114 -0
- package/dist/catalog/reports/rent_roll_commercial.json +106 -0
- package/dist/catalog/reports/rent_roll_itemized.json +125 -0
- package/dist/catalog/reports/rentable_items.json +97 -0
- package/dist/catalog/reports/rental_applications.json +118 -0
- package/dist/catalog/reports/renter_directory.json +60 -0
- package/dist/catalog/reports/resident_financial_activity.json +107 -0
- package/dist/catalog/reports/screening_assessments.json +104 -0
- package/dist/catalog/reports/screening_usage.json +92 -0
- package/dist/catalog/reports/security_deposit_funds_detail.json +141 -0
- package/dist/catalog/reports/showings.json +123 -0
- package/dist/catalog/reports/student_housing_rent_roll_by_bed.json +125 -0
- package/dist/catalog/reports/surveys_summary.json +118 -0
- package/dist/catalog/reports/tenant_debt_collections_status.json +90 -0
- package/dist/catalog/reports/tenant_directory.json +120 -0
- package/dist/catalog/reports/tenant_ledger.json +72 -0
- package/dist/catalog/reports/tenant_tickler.json +102 -0
- package/dist/catalog/reports/tenant_transactions_summary.json +97 -0
- package/dist/catalog/reports/tenant_unpaid_charges_summary.json +147 -0
- package/dist/catalog/reports/tenant_vehicle_info.json +107 -0
- package/dist/catalog/reports/trial_balance.json +104 -0
- package/dist/catalog/reports/trial_balance_by_property.json +104 -0
- package/dist/catalog/reports/trust_account_balance.json +116 -0
- package/dist/catalog/reports/trust_account_balance_detail.json +112 -0
- package/dist/catalog/reports/twelve_month_cash_flow.json +157 -0
- package/dist/catalog/reports/twelve_month_income_statement.json +147 -0
- package/dist/catalog/reports/unit_custom_fields.json +73 -0
- package/dist/catalog/reports/unit_directory.json +80 -0
- package/dist/catalog/reports/unit_inspection.json +95 -0
- package/dist/catalog/reports/unit_turn_detail.json +104 -0
- package/dist/catalog/reports/unit_vacancy.json +143 -0
- package/dist/catalog/reports/unpaid_balances_by_month.json +181 -0
- package/dist/catalog/reports/upcoming_activities.json +142 -0
- package/dist/catalog/reports/vendor1099.json +84 -0
- package/dist/catalog/reports/vendor_custom_fields.json +22 -0
- package/dist/catalog/reports/vendor_directory.json +134 -0
- package/dist/catalog/reports/vendor_ledger.json +122 -0
- package/dist/catalog/reports/vendor_ledger_enhanced.json +122 -0
- package/dist/catalog/reports/violation_detail.json +122 -0
- package/dist/catalog/reports/work_order.json +254 -0
- package/dist/catalog/reports/work_order_labor_summary.json +148 -0
- package/dist/catalog-db/endpoint-spec.js +22 -0
- package/dist/catalog-db/endpoints/delete_inspections_inspectionid.json +21 -0
- package/dist/catalog-db/endpoints/delete_inventories_id.json +21 -0
- package/dist/catalog-db/endpoints/delete_properties_propertyid_marketing_photos_marketingphotoid.json +27 -0
- package/dist/catalog-db/endpoints/delete_properties_propertyid_photos_photoid.json +27 -0
- package/dist/catalog-db/endpoints/delete_units_unitid_photos_photoid.json +27 -0
- package/dist/catalog-db/endpoints/delete_work_orders_workorderid_attachments_attachmentid.json +27 -0
- package/dist/catalog-db/endpoints/get_bank_accounts.json +58 -0
- package/dist/catalog-db/endpoints/get_bills.json +185 -0
- package/dist/catalog-db/endpoints/get_ca_associations.json +106 -0
- package/dist/catalog-db/endpoints/get_ca_bank_balances.json +101 -0
- package/dist/catalog-db/endpoints/get_ca_board_members.json +146 -0
- package/dist/catalog-db/endpoints/get_ca_homeowner_ledgers.json +70 -0
- package/dist/catalog-db/endpoints/get_ca_homeowners.json +151 -0
- package/dist/catalog-db/endpoints/get_ca_renters.json +132 -0
- package/dist/catalog-db/endpoints/get_ca_rules.json +76 -0
- package/dist/catalog-db/endpoints/get_ca_units.json +130 -0
- package/dist/catalog-db/endpoints/get_ca_violations.json +119 -0
- package/dist/catalog-db/endpoints/get_charges.json +76 -0
- package/dist/catalog-db/endpoints/get_corporate_entities.json +88 -0
- package/dist/catalog-db/endpoints/get_custom_fields.json +120 -0
- package/dist/catalog-db/endpoints/get_delinquent_charges.json +88 -0
- package/dist/catalog-db/endpoints/get_gl_accounts.json +115 -0
- package/dist/catalog-db/endpoints/get_gl_details.json +154 -0
- package/dist/catalog-db/endpoints/get_inventories.json +131 -0
- package/dist/catalog-db/endpoints/get_inventory_locations.json +70 -0
- package/dist/catalog-db/endpoints/get_jobs.json +79 -0
- package/dist/catalog-db/endpoints/get_journal_entries.json +137 -0
- package/dist/catalog-db/endpoints/get_late_fee_policies.json +148 -0
- package/dist/catalog-db/endpoints/get_leads.json +248 -0
- package/dist/catalog-db/endpoints/get_leads_notes.json +83 -0
- package/dist/catalog-db/endpoints/get_leases.json +70 -0
- package/dist/catalog-db/endpoints/get_leases_renewal_pricings.json +52 -0
- package/dist/catalog-db/endpoints/get_listings.json +259 -0
- package/dist/catalog-db/endpoints/get_occupancies_documents.json +70 -0
- package/dist/catalog-db/endpoints/get_owner_groups.json +230 -0
- package/dist/catalog-db/endpoints/get_owners.json +258 -0
- package/dist/catalog-db/endpoints/get_owners_attachments.json +82 -0
- package/dist/catalog-db/endpoints/get_owners_notes.json +71 -0
- package/dist/catalog-db/endpoints/get_owners_ownerid.json +247 -0
- package/dist/catalog-db/endpoints/get_payables.json +138 -0
- package/dist/catalog-db/endpoints/get_portfolios.json +70 -0
- package/dist/catalog-db/endpoints/get_properties.json +267 -0
- package/dist/catalog-db/endpoints/get_properties_attachments.json +76 -0
- package/dist/catalog-db/endpoints/get_properties_marketing_photos.json +76 -0
- package/dist/catalog-db/endpoints/get_properties_notes.json +71 -0
- package/dist/catalog-db/endpoints/get_properties_photos.json +76 -0
- package/dist/catalog-db/endpoints/get_property_groups.json +84 -0
- package/dist/catalog-db/endpoints/get_recurring_charges.json +106 -0
- package/dist/catalog-db/endpoints/get_rental_applications.json +186 -0
- package/dist/catalog-db/endpoints/get_rental_applications_notes.json +71 -0
- package/dist/catalog-db/endpoints/get_showings.json +99 -0
- package/dist/catalog-db/endpoints/get_tenant_ledgers.json +82 -0
- package/dist/catalog-db/endpoints/get_tenants.json +273 -0
- package/dist/catalog-db/endpoints/get_tenants_notes.json +71 -0
- package/dist/catalog-db/endpoints/get_unit_types.json +168 -0
- package/dist/catalog-db/endpoints/get_units.json +359 -0
- package/dist/catalog-db/endpoints/get_units_attachments.json +76 -0
- package/dist/catalog-db/endpoints/get_units_notes.json +71 -0
- package/dist/catalog-db/endpoints/get_units_photos.json +70 -0
- package/dist/catalog-db/endpoints/get_users.json +88 -0
- package/dist/catalog-db/endpoints/get_vendors.json +317 -0
- package/dist/catalog-db/endpoints/get_vendors_notes.json +71 -0
- package/dist/catalog-db/endpoints/get_work_orders.json +322 -0
- package/dist/catalog-db/endpoints/get_work_orders_attachments.json +83 -0
- package/dist/catalog-db/endpoints/patch_bills_billid.json +156 -0
- package/dist/catalog-db/endpoints/patch_ca_violations_violationid.json +71 -0
- package/dist/catalog-db/endpoints/patch_inspections_inspectionid.json +77 -0
- package/dist/catalog-db/endpoints/patch_inventories_id.json +113 -0
- package/dist/catalog-db/endpoints/patch_inventory_locations_id.json +52 -0
- package/dist/catalog-db/endpoints/patch_journal_entries_journalentryid.json +90 -0
- package/dist/catalog-db/endpoints/patch_leads_guestcardid_notes_id.json +46 -0
- package/dist/catalog-db/endpoints/patch_leads_leadid.json +162 -0
- package/dist/catalog-db/endpoints/patch_leases_leaseid.json +52 -0
- package/dist/catalog-db/endpoints/patch_owner_groups_id.json +72 -0
- package/dist/catalog-db/endpoints/patch_owners_ownerid.json +344 -0
- package/dist/catalog-db/endpoints/patch_owners_ownerid_notes_id.json +46 -0
- package/dist/catalog-db/endpoints/patch_portfolios_portfolioid.json +46 -0
- package/dist/catalog-db/endpoints/patch_properties_propertyid.json +333 -0
- package/dist/catalog-db/endpoints/patch_properties_propertyid_marketing_photos_marketingphotoid.json +46 -0
- package/dist/catalog-db/endpoints/patch_properties_propertyid_notes_id.json +46 -0
- package/dist/catalog-db/endpoints/patch_properties_propertyid_photos_photoid.json +46 -0
- package/dist/catalog-db/endpoints/patch_property_groups_propertygroupid.json +40 -0
- package/dist/catalog-db/endpoints/patch_recurring_charges_recurringchargeid.json +89 -0
- package/dist/catalog-db/endpoints/patch_rental_applications_rentalapplicationid.json +47 -0
- package/dist/catalog-db/endpoints/patch_rental_applications_rentalapplicationid_notes_id.json +46 -0
- package/dist/catalog-db/endpoints/patch_showings_showingid.json +69 -0
- package/dist/catalog-db/endpoints/patch_tenants_bulk.json +131 -0
- package/dist/catalog-db/endpoints/patch_tenants_tenantid.json +48 -0
- package/dist/catalog-db/endpoints/patch_tenants_tenantid_notes_id.json +46 -0
- package/dist/catalog-db/endpoints/patch_unit_types_unittypeid.json +126 -0
- package/dist/catalog-db/endpoints/patch_units_unitid.json +296 -0
- package/dist/catalog-db/endpoints/patch_units_unitid_notes_id.json +46 -0
- package/dist/catalog-db/endpoints/patch_units_unitid_photos_photoid.json +46 -0
- package/dist/catalog-db/endpoints/patch_vendors_vendorid.json +263 -0
- package/dist/catalog-db/endpoints/patch_vendors_vendorid_notes_id.json +46 -0
- package/dist/catalog-db/endpoints/patch_work_orders_workorderid.json +273 -0
- package/dist/catalog-db/endpoints/patch_work_orders_workorderid_notes_id.json +46 -0
- package/dist/catalog-db/endpoints/post_bank_accounts_bulk.json +167 -0
- package/dist/catalog-db/endpoints/post_bills.json +160 -0
- package/dist/catalog-db/endpoints/post_bills_billid_attachments.json +40 -0
- package/dist/catalog-db/endpoints/post_bills_bulk.json +185 -0
- package/dist/catalog-db/endpoints/post_bills_bulk_async.json +192 -0
- package/dist/catalog-db/endpoints/post_ca_violations.json +63 -0
- package/dist/catalog-db/endpoints/post_ca_violations_violationid_attachments.json +41 -0
- package/dist/catalog-db/endpoints/post_charges.json +56 -0
- package/dist/catalog-db/endpoints/post_charges_bulk.json +70 -0
- package/dist/catalog-db/endpoints/post_charges_bulk_async.json +70 -0
- package/dist/catalog-db/endpoints/post_charges_chargeid_attachments.json +40 -0
- package/dist/catalog-db/endpoints/post_corporate_gl_accounts_bulk.json +71 -0
- package/dist/catalog-db/endpoints/post_gl_accounts_bulk.json +77 -0
- package/dist/catalog-db/endpoints/post_inspections.json +70 -0
- package/dist/catalog-db/endpoints/post_inspections_bulk.json +76 -0
- package/dist/catalog-db/endpoints/post_inspections_inspectionid_attachments.json +41 -0
- package/dist/catalog-db/endpoints/post_inventories.json +105 -0
- package/dist/catalog-db/endpoints/post_inventories_bulk.json +119 -0
- package/dist/catalog-db/endpoints/post_inventory_locations.json +44 -0
- package/dist/catalog-db/endpoints/post_inventory_locations_bulk.json +58 -0
- package/dist/catalog-db/endpoints/post_journal_entries.json +101 -0
- package/dist/catalog-db/endpoints/post_journal_entries_bulk.json +115 -0
- package/dist/catalog-db/endpoints/post_journal_entries_journalentryid_attachments.json +41 -0
- package/dist/catalog-db/endpoints/post_late_fee_policies_bulk.json +115 -0
- package/dist/catalog-db/endpoints/post_leads.json +204 -0
- package/dist/catalog-db/endpoints/post_leads_guestcardid_notes.json +40 -0
- package/dist/catalog-db/endpoints/post_occupancies_occupancyid_attachments.json +41 -0
- package/dist/catalog-db/endpoints/post_owner_groups.json +96 -0
- package/dist/catalog-db/endpoints/post_owners.json +330 -0
- package/dist/catalog-db/endpoints/post_owners_bulk.json +203 -0
- package/dist/catalog-db/endpoints/post_owners_ownerid_attachments.json +40 -0
- package/dist/catalog-db/endpoints/post_owners_ownerid_notes.json +40 -0
- package/dist/catalog-db/endpoints/post_properties_bulk.json +245 -0
- package/dist/catalog-db/endpoints/post_properties_propertyid_attachments.json +40 -0
- package/dist/catalog-db/endpoints/post_properties_propertyid_marketing_photos.json +52 -0
- package/dist/catalog-db/endpoints/post_properties_propertyid_notes.json +40 -0
- package/dist/catalog-db/endpoints/post_properties_propertyid_photos.json +40 -0
- package/dist/catalog-db/endpoints/post_recurring_charges.json +81 -0
- package/dist/catalog-db/endpoints/post_recurring_charges_bulk.json +95 -0
- package/dist/catalog-db/endpoints/post_rental_applications_rentalapplicationid_attachments.json +41 -0
- package/dist/catalog-db/endpoints/post_rental_applications_rentalapplicationid_notes.json +40 -0
- package/dist/catalog-db/endpoints/post_showings.json +62 -0
- package/dist/catalog-db/endpoints/post_tenants_bulk.json +161 -0
- package/dist/catalog-db/endpoints/post_tenants_tenantid_notes.json +40 -0
- package/dist/catalog-db/endpoints/post_unit_types_bulk.json +138 -0
- package/dist/catalog-db/endpoints/post_units_bulk.json +236 -0
- package/dist/catalog-db/endpoints/post_units_unitid_attachments.json +40 -0
- package/dist/catalog-db/endpoints/post_units_unitid_notes.json +40 -0
- package/dist/catalog-db/endpoints/post_units_unitid_photos.json +40 -0
- package/dist/catalog-db/endpoints/post_vendors.json +279 -0
- package/dist/catalog-db/endpoints/post_vendors_bulk.json +279 -0
- package/dist/catalog-db/endpoints/post_vendors_vendorid_notes.json +40 -0
- package/dist/catalog-db/endpoints/post_work_orders.json +251 -0
- package/dist/catalog-db/endpoints/post_work_orders_workorderid_attachments.json +41 -0
- package/dist/catalog-db/endpoints/post_work_orders_workorderid_notes.json +40 -0
- package/dist/catalog-db/endpoints/put_leases_renewal_pricings_bulk.json +58 -0
- package/dist/catalog-db/endpoints/put_units_pricing_matrices_bulk.json +58 -0
- package/dist/catalog-db/endpoints/put_units_pricing_matrices_bulk_async.json +46 -0
- package/dist/catalog-db/endpoints/put_units_unitid_pricing_matrices.json +66 -0
- package/dist/catalog-db/index.json +1894 -0
- package/dist/clients/appfolio-client.js +131 -0
- package/dist/clients/appfolio-db-client.js +186 -0
- package/dist/helpers/register-db-tools.js +27 -0
- package/dist/helpers/register-report-tools.js +27 -0
- package/dist/index.js +10 -0
- package/dist/server/appfolio-mcp-server.js +18 -0
- package/dist/tools/call-endpoint.js +109 -0
- package/dist/tools/describe-endpoint.js +63 -0
- package/dist/tools/describe-report.js +55 -0
- package/dist/tools/list-endpoints.js +90 -0
- package/dist/tools/list-reports.js +58 -0
- package/dist/tools/run-report.js +102 -0
- package/package.json +42 -0
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
{
|
|
2
|
+
"operationId": "post_vendors_bulk",
|
|
3
|
+
"resource": "vendors",
|
|
4
|
+
"name": "Bulk Create Vendors",
|
|
5
|
+
"method": "POST",
|
|
6
|
+
"path": "/vendors/bulk",
|
|
7
|
+
"description": "Create vendors in bulk",
|
|
8
|
+
"deprecated": false,
|
|
9
|
+
"writeOperation": true,
|
|
10
|
+
"pagination": false,
|
|
11
|
+
"requestBody": {
|
|
12
|
+
"required": true,
|
|
13
|
+
"description": "Vendor objects",
|
|
14
|
+
"attributes": [
|
|
15
|
+
{
|
|
16
|
+
"name": "data",
|
|
17
|
+
"type": "array",
|
|
18
|
+
"required": false,
|
|
19
|
+
"description": "Array of Vendor 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 vendors in the bulk-creation of vendors."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "IsCompany",
|
|
29
|
+
"type": "boolean",
|
|
30
|
+
"required": true,
|
|
31
|
+
"description": "Indicates whether or not the vendor identifies as a company"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "UseCompanyNameAsTaxpayerName",
|
|
35
|
+
"type": "boolean",
|
|
36
|
+
"required": true,
|
|
37
|
+
"description": "Indicates whether or not to use the company name for tax paying purposes"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "TaxpayerName",
|
|
41
|
+
"type": "string",
|
|
42
|
+
"required": false,
|
|
43
|
+
"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."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "TaxpayerId",
|
|
47
|
+
"type": "string",
|
|
48
|
+
"required": false,
|
|
49
|
+
"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)."
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "CompanyName",
|
|
53
|
+
"type": "string",
|
|
54
|
+
"required": false,
|
|
55
|
+
"description": "The display name of a vendor's company. If IsCompany is true, this field is required."
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "Send1099",
|
|
59
|
+
"type": "boolean",
|
|
60
|
+
"required": false,
|
|
61
|
+
"description": "Indicates whether or not the vendor needs a 1099 tax form from the management company"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "FirstName",
|
|
65
|
+
"type": "string",
|
|
66
|
+
"required": false,
|
|
67
|
+
"description": "The vendor's first name. If IsCompany is false, this field is required."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "LastName",
|
|
71
|
+
"type": "string",
|
|
72
|
+
"required": false,
|
|
73
|
+
"description": "The vendor's last name. If IsCompany is false, this field is required."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "Address1",
|
|
77
|
+
"type": "string",
|
|
78
|
+
"required": false,
|
|
79
|
+
"description": "The primary street address of the vendor. If provided, City and CountryCode must also be provided. A primary address is required when UseOnlinePayables is true."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "Address2",
|
|
83
|
+
"type": "string",
|
|
84
|
+
"required": false,
|
|
85
|
+
"description": "Additional street information pertaining to the vendor. If provided, Address1, City and CountryCode must also be provided."
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "City",
|
|
89
|
+
"type": "string",
|
|
90
|
+
"required": false,
|
|
91
|
+
"description": "The city where the vendor is located. If provided, Address1 and CountryCode must also be provided. This attribute is required when UseOnlinePayables is true."
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"name": "State",
|
|
95
|
+
"type": "string",
|
|
96
|
+
"required": false,
|
|
97
|
+
"description": "The state where the vendor is located (e.g. \"CA\" for California). If provided, Address1, City and CountryCode 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."
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "Zip",
|
|
101
|
+
"type": "string",
|
|
102
|
+
"required": false,
|
|
103
|
+
"description": "The zip code where the vendor is located. Must be a valid 5-digit ZIP code (e.g., 93013) or ZIP+4 format (e.g., 93013-0429). If provided, Address1, City and CountryCode must also be provided. This attribute is required for primary address when UseOnlinePayables is true."
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "CountryCode",
|
|
107
|
+
"type": "string",
|
|
108
|
+
"required": false,
|
|
109
|
+
"description": "The country code of the vendor (e.g. \"US\" for United States). If provided, Address1 and City must also be provided. This attribute is required when UseOnlinePayables is true. This value must be \"US\" for primary address when UseOnlinePayables and VendorPaidByAch are both true."
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "PhoneNumbers",
|
|
113
|
+
"type": "array",
|
|
114
|
+
"required": false,
|
|
115
|
+
"description": "The vendor's phone number(s)",
|
|
116
|
+
"attributes": [
|
|
117
|
+
{
|
|
118
|
+
"name": "Number",
|
|
119
|
+
"type": "string",
|
|
120
|
+
"required": true,
|
|
121
|
+
"description": "The vendor's phone number"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"name": "AdditionalDetails",
|
|
125
|
+
"type": "string",
|
|
126
|
+
"required": false,
|
|
127
|
+
"description": "Additional detailed information pertaining to the phone number"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "IsPrimary",
|
|
131
|
+
"type": "boolean",
|
|
132
|
+
"required": false,
|
|
133
|
+
"description": "Indicates whether the phone number provided is the vendor's main contact number"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "Label",
|
|
137
|
+
"type": "string",
|
|
138
|
+
"required": false,
|
|
139
|
+
"description": "The label of the phone number",
|
|
140
|
+
"enum": ["Fax", "Home", "Mobile", "Office"]
|
|
141
|
+
}
|
|
142
|
+
]
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "Emails",
|
|
146
|
+
"type": "array",
|
|
147
|
+
"required": false,
|
|
148
|
+
"description": "The vendor's email address(es)",
|
|
149
|
+
"attributes": [
|
|
150
|
+
{
|
|
151
|
+
"name": "EmailAddress",
|
|
152
|
+
"type": "string",
|
|
153
|
+
"required": true,
|
|
154
|
+
"description": "The vendor's email address"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "IsPrimary",
|
|
158
|
+
"type": "boolean",
|
|
159
|
+
"required": false,
|
|
160
|
+
"description": "Indicates whether the email address provided is the vendor's primary email address"
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"name": "CompanyURL",
|
|
166
|
+
"type": "string",
|
|
167
|
+
"required": false,
|
|
168
|
+
"description": "The internet address of the vendor's website"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"name": "LiabilityInsuranceExpiration",
|
|
172
|
+
"type": "string <date>",
|
|
173
|
+
"required": false,
|
|
174
|
+
"description": "The expiration date of the vendor's liability insurance"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "AutoInsuranceExpiration",
|
|
178
|
+
"type": "string <date>",
|
|
179
|
+
"required": false,
|
|
180
|
+
"description": "The expiration date of the vendor's automobile insurance"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"name": "WorkersCompExpiration",
|
|
184
|
+
"type": "string <date>",
|
|
185
|
+
"required": false,
|
|
186
|
+
"description": "The expiration date of the vendor's worker's compensation insurance"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"name": "ContractExpiration",
|
|
190
|
+
"type": "string <date>",
|
|
191
|
+
"required": false,
|
|
192
|
+
"description": "The expiration date of the contract"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"name": "UmbrellaInsuranceExpiration",
|
|
196
|
+
"type": "string <date>",
|
|
197
|
+
"required": false,
|
|
198
|
+
"description": "The expiration date of the vendor's umbrella insurance"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"name": "CompliantStatus",
|
|
202
|
+
"type": "boolean",
|
|
203
|
+
"required": false,
|
|
204
|
+
"description": "Indicates whether or not the vendor meets compliance"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"name": "NetVendorId",
|
|
208
|
+
"type": "string",
|
|
209
|
+
"required": false,
|
|
210
|
+
"description": "The vendor's NetVendor ID"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"name": "PaymentTerms",
|
|
214
|
+
"type": "integer",
|
|
215
|
+
"required": false,
|
|
216
|
+
"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. Required value of 1-31 if UsingEomTerms is true."
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"name": "UsingEomTerms",
|
|
220
|
+
"type": "boolean",
|
|
221
|
+
"required": false,
|
|
222
|
+
"description": "Indicates whether or not the payment terms include an end-of-month (EOM) stipulation. If a null value passed to UsingEomTerms or no value is provided, UsingEomTerms will default to false."
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"name": "DefaultAutoAcceptWorkOrders",
|
|
226
|
+
"type": "boolean",
|
|
227
|
+
"required": false,
|
|
228
|
+
"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."
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"name": "Tags",
|
|
232
|
+
"type": "Array of strings",
|
|
233
|
+
"required": false,
|
|
234
|
+
"description": "User-defined tag(s) that categorize the vendor"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"name": "VendorPaidByACH",
|
|
238
|
+
"type": "boolean",
|
|
239
|
+
"required": false,
|
|
240
|
+
"description": "Indicates whether or not the vendor is paid via ACH (Automated Clearing House) transfer."
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"name": "UseOnlinePayables",
|
|
244
|
+
"type": "boolean",
|
|
245
|
+
"required": false,
|
|
246
|
+
"description": "Indicates whether or not the vendor uses Online Payables for receiving payments."
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"name": "BankAccountRoutingNumber",
|
|
250
|
+
"type": "string",
|
|
251
|
+
"required": false,
|
|
252
|
+
"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. Will be ignored if online payables is enabled and vendor is not paid by ACH."
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"name": "BankAccountNumber",
|
|
256
|
+
"type": "string",
|
|
257
|
+
"required": false,
|
|
258
|
+
"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. Will be ignored if online payables is enabled and vendor is not paid by ACH."
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"name": "SavingsAccount",
|
|
262
|
+
"type": "boolean",
|
|
263
|
+
"required": false,
|
|
264
|
+
"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. Will be ignored if online payables is enabled and vendor is not paid by ACH."
|
|
265
|
+
}
|
|
266
|
+
]
|
|
267
|
+
}
|
|
268
|
+
]
|
|
269
|
+
},
|
|
270
|
+
"responseFields": [
|
|
271
|
+
{
|
|
272
|
+
"name": "JobId",
|
|
273
|
+
"type": "string <uuid>",
|
|
274
|
+
"required": false,
|
|
275
|
+
"description": "Unique identifier of the asynchronous bulk create job"
|
|
276
|
+
}
|
|
277
|
+
],
|
|
278
|
+
"requestSample": "{\n \"data\": [{}]\n}"
|
|
279
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"operationId": "post_vendors_vendorid_notes",
|
|
3
|
+
"resource": "vendors",
|
|
4
|
+
"name": "Create Vendor Note",
|
|
5
|
+
"method": "POST",
|
|
6
|
+
"path": "/vendors/{VendorId}/notes",
|
|
7
|
+
"description": "Add 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
|
+
"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 related to the vendor. A vendor 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 vendor note"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"requestSample": "{\n \"Body\": \"This vendor completed maintenance on 11/11/2023\"\n}"
|
|
40
|
+
}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
{
|
|
2
|
+
"operationId": "post_work_orders",
|
|
3
|
+
"resource": "work_orders",
|
|
4
|
+
"name": "Create Work Orders",
|
|
5
|
+
"method": "POST",
|
|
6
|
+
"path": "/work_orders",
|
|
7
|
+
"description": "Create a work order which belongs to a property, unit, occupancy, or inspection",
|
|
8
|
+
"deprecated": false,
|
|
9
|
+
"writeOperation": true,
|
|
10
|
+
"pagination": false,
|
|
11
|
+
"requestBody": {
|
|
12
|
+
"required": true,
|
|
13
|
+
"description": "Created work order object. One of PropertyId, UnitId, OccupancyId, InspectionId, or ServiceRequestId must be provided.",
|
|
14
|
+
"attributes": [
|
|
15
|
+
{
|
|
16
|
+
"name": "JobDescription",
|
|
17
|
+
"type": "string",
|
|
18
|
+
"required": true,
|
|
19
|
+
"description": "A brief description of the work order to be performed"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "PropertyId",
|
|
23
|
+
"type": "string <uuid>",
|
|
24
|
+
"required": false,
|
|
25
|
+
"description": "Unique identifier of the property associated with the work order"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "AssignedUsers",
|
|
29
|
+
"type": "Array of arrays",
|
|
30
|
+
"required": false,
|
|
31
|
+
"description": "Array of AssignedUsers to create the work order with"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "BillableItems",
|
|
35
|
+
"type": "array",
|
|
36
|
+
"required": false,
|
|
37
|
+
"description": "Array of billable line item attributes present on a work order",
|
|
38
|
+
"attributes": [
|
|
39
|
+
{
|
|
40
|
+
"name": "Description",
|
|
41
|
+
"type": "string",
|
|
42
|
+
"required": false,
|
|
43
|
+
"description": "A brief informative message about the billable line item"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "GlAccountId",
|
|
47
|
+
"type": "string",
|
|
48
|
+
"required": false,
|
|
49
|
+
"description": "Unique identifier of the General Ledger account associated with the billable line item"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "Quantity",
|
|
53
|
+
"type": "string <uuid>",
|
|
54
|
+
"required": false,
|
|
55
|
+
"description": "The number of services or goods utilized. Quantity must be a positive number."
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "Rate",
|
|
59
|
+
"type": "string",
|
|
60
|
+
"required": false,
|
|
61
|
+
"description": "The rate (cost) of the goods or services provided. Valid format is \"DD.CC\", e.g. \"23.33\""
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "CanceledOn",
|
|
67
|
+
"type": "string <date>",
|
|
68
|
+
"required": false,
|
|
69
|
+
"description": "The date the work order status changed to \"canceled\""
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "CompletedOn",
|
|
73
|
+
"type": "string <date>",
|
|
74
|
+
"required": false,
|
|
75
|
+
"description": "The date the work order status changed to \"completed\""
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "Description",
|
|
79
|
+
"type": "string",
|
|
80
|
+
"required": false,
|
|
81
|
+
"description": "The top-level description for a grouping of work orders in AppFolio"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "Estimates",
|
|
85
|
+
"type": "array",
|
|
86
|
+
"required": false,
|
|
87
|
+
"description": "Use estimates to track anticipated costs for Work Orders. Estimates created via API are not automatically sent to Vendors or Owners, but are visible to assigned Vendors in the Vendor Portal.",
|
|
88
|
+
"attributes": [
|
|
89
|
+
{
|
|
90
|
+
"name": "VendorId",
|
|
91
|
+
"type": "string <uuid>",
|
|
92
|
+
"required": false,
|
|
93
|
+
"description": "The unique identifier of the vendor who submitted this estimate. If provided, ManagementCompanyAsVendor must be false or omitted."
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "ManagementCompanyAsVendor",
|
|
97
|
+
"type": "boolean",
|
|
98
|
+
"required": false,
|
|
99
|
+
"description": "Indicates whether or not the management company is acting as the vendor for the estimate. If true, VendorId must be null or omitted."
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "Amount",
|
|
103
|
+
"type": "number <decimal>",
|
|
104
|
+
"required": false,
|
|
105
|
+
"description": "The total estimated cost in dollars for completing the work order as quoted by the vendor."
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"name": "Status",
|
|
109
|
+
"type": "string",
|
|
110
|
+
"required": false,
|
|
111
|
+
"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\"",
|
|
112
|
+
"enum": ["Pending", "Approved", "Not Approved"]
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "InternalNotes",
|
|
116
|
+
"type": "string",
|
|
117
|
+
"required": false,
|
|
118
|
+
"description": "Internal notes or comments attached to the estimate. These notes are for internal use only and not visible to vendors or owners."
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "EstimateRequestedDate",
|
|
122
|
+
"type": "string <date>",
|
|
123
|
+
"required": false,
|
|
124
|
+
"description": "The date the estimate was requested from the Vendor."
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"name": "EstimateReceivedDate",
|
|
128
|
+
"type": "string <date>",
|
|
129
|
+
"required": false,
|
|
130
|
+
"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."
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "LaborItems",
|
|
136
|
+
"type": "array",
|
|
137
|
+
"required": false,
|
|
138
|
+
"description": "Array of labor line item attributes present on a work order",
|
|
139
|
+
"attributes": [
|
|
140
|
+
{
|
|
141
|
+
"name": "Date",
|
|
142
|
+
"type": "string <date>",
|
|
143
|
+
"required": false,
|
|
144
|
+
"description": "The date the labor was completed. Valid format is \"YYYY-MM-DD\" e.g. \"2020-12-01\"."
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "Description",
|
|
148
|
+
"type": "string",
|
|
149
|
+
"required": false,
|
|
150
|
+
"description": "A brief informative message about the labor performed"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"name": "HoursWorked",
|
|
154
|
+
"type": "string <decimal>",
|
|
155
|
+
"required": false,
|
|
156
|
+
"description": "The number of hours worked by the maintenance tech"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"name": "HoursBillable",
|
|
160
|
+
"type": "string <decimal>",
|
|
161
|
+
"required": false,
|
|
162
|
+
"description": "The number of hours worked by the maintenance tech that are billable, used to create the work order bill"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"name": "UserId",
|
|
166
|
+
"type": "string <uuid>",
|
|
167
|
+
"required": false,
|
|
168
|
+
"description": "Unique identifier of the maintenance tech assigned to the work order"
|
|
169
|
+
}
|
|
170
|
+
]
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "ManagementCompanyAsVendor",
|
|
174
|
+
"type": "boolean",
|
|
175
|
+
"required": false,
|
|
176
|
+
"description": "Indicates whether or not the management company is the vendor for the work order. If true, VendorId must be null or omitted."
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "PermissionToEnter",
|
|
180
|
+
"type": "boolean or string",
|
|
181
|
+
"required": false,
|
|
182
|
+
"description": "Indicates whether or not the occupancy has given permission to enter the unit"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "Priority",
|
|
186
|
+
"type": "string",
|
|
187
|
+
"required": false,
|
|
188
|
+
"description": "The priority of the work order. Enum: \"Urgent\" \"Normal\" \"Low\"",
|
|
189
|
+
"enum": ["Urgent", "Normal", "Low"]
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"name": "ScheduledEnd",
|
|
193
|
+
"type": "string <date-time>",
|
|
194
|
+
"required": false,
|
|
195
|
+
"description": "When the work order is scheduled to be completed. The value must adhere to the ISO 8601 format YYYY-MM-DDThh:mm:ssZ and the default time zone is Coordinated Universal Time (UTC)."
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"name": "ScheduledStart",
|
|
199
|
+
"type": "string <date-time>",
|
|
200
|
+
"required": false,
|
|
201
|
+
"description": "When the work order is scheduled to start. The value must adhere to the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ."
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "Status",
|
|
205
|
+
"type": "string",
|
|
206
|
+
"required": false,
|
|
207
|
+
"description": "The status of the work order. Enum: \"Assigned\" \"Canceled\" \"Completed\" \"New\" \"Scheduled\" \"Waiting\" \"Work Completed\"",
|
|
208
|
+
"enum": ["Assigned", "Canceled", "Completed", "New", "Scheduled", "Waiting", "Work Completed"]
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"name": "VendorId",
|
|
212
|
+
"type": "string <uuid>",
|
|
213
|
+
"required": false,
|
|
214
|
+
"description": "Unique identifier of the vendor associated with the work order. If the management company is the vendor, this should be null or omitted."
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"name": "VendorTrade",
|
|
218
|
+
"type": "string",
|
|
219
|
+
"required": false,
|
|
220
|
+
"description": "The type of service offered by the vendor"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"name": "WorkCompletedOn",
|
|
224
|
+
"type": "string <date>",
|
|
225
|
+
"required": false,
|
|
226
|
+
"description": "The date the work order was completed"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"name": "UnitTurnCategory",
|
|
230
|
+
"type": "string",
|
|
231
|
+
"required": false,
|
|
232
|
+
"description": "The category of the unit turn work order. This field requires a valid UnitId or OccupancyId if provided."
|
|
233
|
+
}
|
|
234
|
+
]
|
|
235
|
+
},
|
|
236
|
+
"responseFields": [
|
|
237
|
+
{
|
|
238
|
+
"name": "Id",
|
|
239
|
+
"type": "string <uuid>",
|
|
240
|
+
"required": false,
|
|
241
|
+
"description": "Unique identifier of the created work order"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"name": "Link",
|
|
245
|
+
"type": "string <uri>",
|
|
246
|
+
"required": false,
|
|
247
|
+
"description": "A link to the work order page in the AppFolio Property Manager."
|
|
248
|
+
}
|
|
249
|
+
],
|
|
250
|
+
"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 \"LaborItems\": [\n {},\n {}\n ],\n \"JobDescription\": \"Fix leaky sink.\",\n \"ManagementCompanyAsVendor\": false,\n \"PermissionToEnter\": true,\n \"Priority\": \"Normal\",\n \"PropertyId\": \"8eb28538-c8f5-41e7-ac82-3f9609cceec9\",\n \"ScheduledEnd\": \"2021-01-15T20:30:46Z\",\n \"ScheduledStart\": \"2021-01-15T16:30:46Z\",\n \"Status\": \"Scheduled\",\n \"VendorId\": \"8eb28538-c8f5-41e7-ac82-3f9609ccee10\",\n \"VendorTrade\": \"Appliances\",\n \"UnitTurnCategory\": \"Paint\"\n}"
|
|
251
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"operationId": "post_work_orders_workorderid_attachments",
|
|
3
|
+
"resource": "work_orders",
|
|
4
|
+
"name": "Create Work Order Attachment",
|
|
5
|
+
"method": "POST",
|
|
6
|
+
"path": "/work_orders/{WorkOrderId}/attachments",
|
|
7
|
+
"description": "Upload an attachment to 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": "The work order 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
|
+
"format": "multipart/form-data"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"responseFields": [
|
|
33
|
+
{
|
|
34
|
+
"name": "Id",
|
|
35
|
+
"type": "string <uuid>",
|
|
36
|
+
"required": false,
|
|
37
|
+
"description": "Unique identifier of the work order attachment"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"requestSample": "{\n \"File\": \"/path/to/file.pdf\"\n}"
|
|
41
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"operationId": "post_work_orders_workorderid_notes",
|
|
3
|
+
"resource": "work_orders",
|
|
4
|
+
"name": "Create Work Order Note",
|
|
5
|
+
"method": "POST",
|
|
6
|
+
"path": "/work_orders/{WorkOrderId}/notes",
|
|
7
|
+
"description": "Add a note to 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": "The work order 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 work order. A work order 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 work order note"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"requestSample": "{\n \"Body\": \"This work order have scheduled a maintenance service on 11/11/2022\"\n}"
|
|
40
|
+
}
|