### GET /tenants Source: https://www.appfolio.com/stack/partners/api/index Retrieves a list of all tenants. This endpoint provides basic tenant information. ```APIDOC ## GET /tenants ### Description Retrieves all tenants. ### Method GET ### Endpoint /tenants ### Parameters None ### Response #### Success Response (200) - **Id** (string) - Unique identifier of the tenant. - **FirstName** (string) - Tenant's first name. - **LastName** (string) - Tenant's last name. - **Email** (string) - Tenant's email address. - **Phone** (string) - Tenant's phone number. #### Response Example ```json [ { "Id": "tenant_111", "FirstName": "John", "LastName": "Smith", "Email": "john.smith@example.com", "Phone": "555-987-6543" } ] ``` ``` -------------------------------- ### GET /rental-applications Source: https://www.appfolio.com/stack/partners/api/index Retrieves rental applications that meet the specified criteria. This endpoint provides details about applications including applicant information, desired move-in date, and status. ```APIDOC ## GET /rental-applications ### Description Retrieves all rental applications that meet the specified filter criteria. ### Method GET ### Endpoint /rental-applications ### Parameters #### Query Parameters - **Status** (string) - Optional - Filter by application status. - **SubmittedAtFrom** (string) - Optional - Filter by submission date from. ### Response #### Success Response (200) - **Id** (string) - Unique identifier of the rental application. - **CampaignId** (string) - Unique identifier of the campaign associated with the rental application. - **GroupId** (string) - Unique identifier of the group associated with the rental application. - **UnitId** (string) - Unique identifier of the unit associated with the rental application. - **Bedrooms** (integer) - The number of desired bedrooms. - **Bathrooms** (number) - The number of desired bathrooms. - **Deposit** (number) - The security deposit amount. - **ListedMarketRent** (number) - The rent per month as listed on the market. - **Status** (string) - The rental application's status. - **SubmittedAt** (string) - The date and time the rental application was submitted. - **DesiredMoveInDate** (string) - The date the applicant would like to move in. - **Applicant** (object) - The applicant's details. - **FirstName** (string) - **LastName** (string) - **Email** (string) - **Phone** (string) #### Response Example { "Id": "ra_54321", "Bedrooms": 2, "Bathrooms": 1.5, "Deposit": 2000.00, "ListedMarketRent": 2500.00, "Status": "Approved", "SubmittedAt": "2023-10-25T09:00:00Z", "DesiredMoveInDate": "2023-11-01", "Applicant": { "FirstName": "Jane", "LastName": "Doe", "Email": "jane.doe@email.com", "Phone": "555-123-4567" } } ``` -------------------------------- ### GET /recurring-charges Source: https://www.appfolio.com/stack/partners/api/index Retrieves recurring charges associated with occupancies. This endpoint allows fetching details of recurring charges including amount, description, and dates. ```APIDOC ## GET /recurring-charges ### Description Retrieves all recurring charges for occupancies. ### Method GET ### Endpoint /recurring-charges ### Parameters #### Query Parameters - **OccupancyId** (string) - Optional - Filter by occupancy ID. ### Response #### Success Response (200) - **Id** (string) - Unique identifier of the recurring charge. - **OccupancyId** (string) - Unique identifier of the occupancy associated with the recurring charge. - **Amount** (number) - The amount of the recurring charge. - **Description** (string) - A brief summary or description of the recurring charge. - **StartDate** (string) - The start date of the recurring charge. - **EndDate** (string) - The end date of the recurring charge. - **Frequency** (string) - The frequency that the recurring charge occurs. - **GlAccountId** (string) - Unique identifier of the general ledger account associated with the recurring charge. - **LastUpdatedAt** (string) - The date the recurring charge was last updated. #### Response Example { "Id": "rc_78901", "OccupancyId": "occ_67890", "Amount": 1500.00, "Description": "Monthly Rent", "StartDate": "2023-01-01", "Frequency": "Monthly", "LastUpdatedAt": "2023-10-26T15:00:00Z" } ``` -------------------------------- ### GET /properties Source: https://www.appfolio.com/stack/partners/api/index Retrieves a list of properties based on specified filter criteria. This endpoint allows fetching property details such as ID, address, and maintenance notes. ```APIDOC ## GET /properties ### Description Retrieves a list of properties that meet the specified filter criteria. You can filter by update time and inclusion of hidden properties. ### Method GET ### Endpoint /properties ### Parameters #### Query Parameters - **LastUpdatedAtFrom** (string) - Optional - Returns property records that have been updated since the date provided. - **IncludeHidden** (boolean) - Optional - Whether or not to include properties hidden by an AppFolio Property Manager user. ### Response #### Success Response (200) - **Id** (string) - Unique identifier of the property. - **Address1** (string) - Primary street address of the property. - **Address2** (string) - Additional street address information. - **City** (string) - City where the property is located. - **HiddenAt** (string) - When the property was labeled no longer active by an AppFolio Property Manager user. - **LastUpdatedAt** (string) - The last time the property was updated by an AppFolio Property Manager user. - **MaintenanceNotes** (string) - A brief informative message about the property's maintenance. - **Name** (string) - The name of the property. - **PropertyGroupIds** (array of strings) - A list of property group IDs that the property belongs to. - **PropertyType** (string) - The type of property, such as Single-family or HOA property. - **State** (string) - State where the property is located. - **TenantPortalLink** (string) - Link to direct a resident to their resident portal. - **Zip** (string) - Zip code where the property is located. #### Response Example { "Id": "prop_12345", "Address1": "123 Main St", "City": "Anytown", "State": "CA", "Zip": "90210", "Name": "Example Property", "LastUpdatedAt": "2023-10-27T10:00:00Z" } ``` -------------------------------- ### GET /property-groups Source: https://www.appfolio.com/stack/partners/api/index Retrieves a list of property groups based on filter criteria. This endpoint allows fetching property group details such as ID, name, and type. ```APIDOC ## GET /property-groups ### Description Retrieves a list of property groups that meet the specified filter criteria. You can filter by update time. ### Method GET ### Endpoint /property-groups ### Parameters #### Query Parameters - **LastUpdatedAtFrom** (string) - Optional - Returns property group records that have been updated since the date provided. ### Response #### Success Response (200) - **Id** (string) - Unique identifier of the property group. - **LastUpdatedAt** (string) - The last time the property group was updated by an AppFolio Property Manager user. - **Name** (string) - Name of the property group. - **Type** (string) - The type of property group, such as a portfolio. #### Response Example { "Id": "pg_abcde", "Name": "Downtown Portfolio", "Type": "Portfolio", "LastUpdatedAt": "2023-10-27T10:30:00Z" } ``` -------------------------------- ### POST /showings Source: https://www.appfolio.com/stack/partners/api/index Creates a new showing for a unit. This endpoint allows scheduling showings by providing unit ID, lead ID, and desired time slots. ```APIDOC ## POST /showings ### Description Creates a new showing. ### Method POST ### Endpoint /showings ### Parameters #### Request Body - **StartAt** (string) - Required - Start time of the showing. - **EndAt** (string) - Required - End time of the showing. - **LeadId** (string) - Required - Unique identifier of the lead associated with the showing. - **UnitId** (string) - Required - Unique identifier of the unit to be shown. - **AssignedUserId** (string) - Optional - Unique identifier of the AppFolio Property Manager user responsible for the showing. - **Notes** (string) - Optional - A brief informative message about the showing. ### Request Example ```json { "StartAt": "2023-11-01T14:00:00Z", "EndAt": "2023-11-01T14:30:00Z", "LeadId": "lead_abc", "UnitId": "unit_xyz", "AssignedUserId": "user_123", "Notes": "Please check the backyard." } ``` ### Response #### Success Response (201 Created) - **ShowingId** (string) - Unique identifier for the created showing. - **Status** (string) - Current status of the showing. #### Response Example ```json { "ShowingId": "showing_98765", "Status": "Scheduled" } ``` ``` -------------------------------- ### Charges API Source: https://www.appfolio.com/stack/partners/api/index Retrieve all open charges for occupants at a specific property, or create charges individually or in bulk. ```APIDOC ## Charges API ### Description Get all open charges for occupants residing at a specific property, create a charge, or bulk create charges. ### Method GET, POST ### Endpoint /charges ### Parameters #### Query Parameters (for GET) - **PropertyId** (string) - Required - Filter charges by property ID. - **OccupancyId** (string) - Optional - Filter charges by occupancy ID. #### Request Body (for POST) - **OccupancyId** (string) - Required - Unique identifier of the occupancy associated with the charge. - **AmountDue** (number) - Required - The amount of the charge. - **ChargedOn** (date) - Required - The date the charge was applied. - **Description** (string) - Required - Brief description of the charge. - **GlAccountId** (string) - Required - Unique identifier of the general ledger account associated with the charge. ### Request Example (POST) ```json { "OccupancyId": "occ_abc123", "AmountDue": 50.00, "ChargedOn": "2023-11-20", "Description": "Late Fee", "GlAccountId": "gl_fee456" } ``` ### Response #### Success Response (200 / 201) - **Id** (string) - Unique identifier of the charge. - **OccupancyId** (string) - Occupancy ID. - **PropertyId** (string) - Property ID. - **AmountDue** (number) - Amount due. - **ChargedOn** (date) - Date the charge was applied. - **Description** (string) - Description of the charge. - **GlAccountId** (string) - General ledger account ID. #### Response Example (GET) ```json [ { "Id": "chg_1d2e3f4g", "OccupancyId": "occ_abc123", "PropertyId": "prop_xyz789", "AmountDue": 50.00, "ChargedOn": "2023-11-20", "Description": "Late Fee", "GlAccountId": "gl_fee456" } ] ``` ``` -------------------------------- ### Tenant Ledgers API Source: https://www.appfolio.com/stack/partners/api/index Retrieves tenant ledger data, including charges and payments for an occupancy. ```APIDOC ## GET /websites/appfolio_stack_partners_api/tenant_ledgers ### Description Get all tenant ledgers that meet the filter criteria. ### Method GET ### Endpoint /websites/appfolio_stack_partners_api/tenant_ledgers ### Parameters #### Query Parameters - **OccupancyId** (string) - Required - Unique identifier of the occupancy associated with the ledger. ### Response #### Success Response (200) - **Ledger** (object) - Ledger data containing the charges, payments, and credits for the occupancy. - **Transactions** (array) - List of ledger transactions. - **Type** (string) - Type of transaction (e.g., Charge, Payment, Credit). - **Date** (date) - Date of the transaction. - **Amount** (number) - Amount of the transaction. - **Description** (string) - Description of the transaction. - **OccupancyId** (string) - Unique identifier of the occupancy associated with the ledger. #### Response Example ```json { "Ledger": { "Transactions": [ { "Type": "Charge", "Date": "2023-05-01", "Amount": 1500.00, "Description": "Monthly Rent" }, { "Type": "Payment", "Date": "2023-05-05", "Amount": -1500.00, "Description": "Rent Payment" } ] }, "OccupancyId": "occ_xyz789" } ``` ``` -------------------------------- ### Leads API Source: https://www.appfolio.com/stack/partners/api/index This section details the attributes available for leads. Leads represent prospective residents who have expressed interest in a property. ```APIDOC ## Leads Attributes ### Description Provides details about the attributes associated with a lead, which is a prospective resident. ### Method GET ### Endpoint /websites/appfolio_stack_partners_api/leads ### Parameters #### Query Parameters - **Id** (string) - Optional - Unique identifier for the lead. - **PropertyIds** (string) - Optional - Unique identifier of the property associated with the lead. - **LastUpdatedAt** (date) - Optional - Returns lead records that have been updated since the date provided. ### Response #### Success Response (200) - **FirstName** (string) - First name of the prospective resident. - **LastName** (string) - Last name of the prospective resident. - **PropertyId** (string) - Unique identifier for the property associated with the lead. - **AdditionalOccupants** (integer) - Number of other potential occupants. - **Bathrooms** (float) - Number of bathrooms the prospective resident desires. - **Bedrooms** (float) - Number of bedrooms the prospective resident desires. - **CreatedAt** (datetime) - Date the inquiry was created. - **CreditScore** (integer) - Self-reported credit score of the prospective resident. - **DesiredMovein** (date) - Desired move-in date of the prospective resident. - **Email** (string) - Email address of the prospective resident. - **HasCats** (boolean) - Whether or not the prospective resident has a cat(s). - **HasDogs** (boolean) - Whether or not the prospective resident has a dog(s). - **HasOtherPet** (boolean) - Whether or not the prospective resident has other pet(s). - **MaxRent** (float) - Max amount the prospective resident is willing to pay per month. - **MiddleInitial** (string) - Middle initial of the prospective resident. - **MonthlyIncome** (float) - Self-reported monthly income of the prospective resident. - **PhoneNumber** (string) - Phone number of the prospective resident. - **Source** (string) - Mechanism through which the prospective resident submitted the inquiry. - **Status** (string) - The status of the lead. - **UnitIds** (array) - Unique identifier of the unit the prospective resident inquired into. - **LeadId** (string) - Unique identifier of the lead to update. #### Response Example { "Id": "lead_123", "FirstName": "John", "LastName": "Doe", "PropertyId": "prop_456", "Bedrooms": 2, "Email": "john.doe@example.com", "CreatedAt": "2023-10-27T10:00:00Z" } ``` -------------------------------- ### Tenant API Source: https://www.appfolio.com/stack/partners/api/index Retrieves and manages tenant information within AppFolio Property Manager. ```APIDOC ## GET /websites/appfolio_stack_partners_api/tenants ### Description Retrieves a list of tenants based on specified filter criteria. ### Method GET ### Endpoint /websites/appfolio_stack_partners_api/tenants ### Parameters #### Query Parameters - **OccupancyId** (string) - Optional - Unique identifier of an occupancy of one or more tenants. - **UnitId** (string) - Optional - The unit the tenant occupies. - **PropertyId** (string) - Optional - The property with the unit occupied by the tenant. - **FirstName** (string) - Optional - The tenant’s first name. - **LastName** (string) - Optional - The tenant’s last name. - **CompanyName** (string) - Optional - The display name of the tenant’s company. - **Status** (string) - Optional - The status of the tenant. - **PhoneNumber** (string) - Optional - The tenant’s phone number. - **Email** (string) - Optional - The tenant’s email address. - **MoveInOn** (date) - Optional - The tenant started, or will begin occupancy. - **MoveOutOn** (date) - Optional - The date the tenant ended, or will end occupancy. - **RentalApplicationId** (string) - Optional - Unique identifier of the tenant-submitted rental application. - **TenantType** (string) - Optional - The type of tenant. - **PrimaryTenant** (boolean) - Optional - Whether or not the tenant is the primary leaseholder for the occupancy. - **LeaseSignedDate** (date) - Optional - The date the lease was executed by the tenant. - **LeaseStartDate** (date) - Optional - The day the lease agreement starts. - **LeaseEndDate** (date) - Optional - The last day of the lease agreement. - **HiddenAt** (timestamp) - Optional - When the tenant was placed into an inactive state by an AppFolio Property Manager user. - **LastUpdatedAt** (timestamp) - Optional - The last time an AppFolio Property Manager user updated the tenant’s information. ### Response #### Success Response (200) - **Id** (string) - Unique identifier of the tenant. - **OccupancyId** (string) - Unique identifier of an occupancy of one or more tenants. - **UnitId** (string) - The unit the tenant occupies. - **PropertyId** (string) - The property with the unit occupied by the tenant. - **FirstName** (string) - The tenant’s first name. - **LastName** (string) - The tenant’s last name. - **Link** (string) - A link to the tenant’s page in the AppFolio Property Manager. - **CompanyName** (string) - The display name of the tenant’s company. - **Status** (string) - The status of the tenant. - **PhoneNumber** (string) - The tenant’s phone number. - **Email** (string) - The tenant’s email address. - **MoveInOn** (date) - The tenant started, or will begin occupancy. - **MoveOutOn** (date) - The date the tenant ended, or will end occupancy. - **RentalApplicationId** (string) - Unique identifier of the tenant-submitted rental application. - **TenantType** (string) - The type of tenant. - **PrimaryTenant** (boolean) - Whether or not the tenant is the primary leaseholder for the occupancy. - **LeaseSignedDate** (date) - The date the lease was executed by the tenant. - **LeaseStartDate** (date) - The day the lease agreement starts. - **LeaseEndDate** (date) - The last day of the lease agreement. - **HiddenAt** (timestamp) - When the tenant was placed into an inactive state by an AppFolio Property Manager user. - **LastUpdatedAt** (timestamp) - The last time an AppFolio Property Manager user updated the tenant’s information. #### Response Example ```json { "Id": "tnt_abc123", "OccupancyId": "occ_xyz789", "UnitId": "unt_def456", "PropertyId": "prop_ghi012", "FirstName": "John", "LastName": "Doe", "Link": "https://appfolio.com/tenants/tnt_abc123", "CompanyName": "Doe Enterprises", "Status": "Active", "PhoneNumber": "555-123-4567", "Email": "john.doe@example.com", "MoveInOn": "2023-01-15", "MoveOutOn": null, "RentalApplicationId": "app_jkl345", "TenantType": "Resident", "PrimaryTenant": true, "LeaseSignedDate": "2023-01-10", "LeaseStartDate": "2023-01-15", "LeaseEndDate": "2024-01-14", "HiddenAt": null, "LastUpdatedAt": "2023-05-20T10:00:00Z" } ``` ``` -------------------------------- ### POST /pending-charges/batch Source: https://www.appfolio.com/stack/partners/api/index Creates a batch of pending charges. This endpoint allows for bulk creation of charges, specifying batch type and individual charge details. ```APIDOC ## POST /pending-charges/batch ### Description Creates a batch of pending charges. ### Method POST ### Endpoint /pending-charges/batch ### Parameters #### Request Body - **BatchType** (string) - Required - The type of pending charge batch, such as "initial". - **PostMonth** (string) - Required - The month this batch of charges is from (e.g., YYYY-MM). - **PropertyId** (string) - Required - Unique identifier for the property where the charged resident resides. - **Charges** (array) - Required - Lists descriptive information associated with the pending charge batch. - **Amount** (number) - Required - The amount of the charge. - **Description** (string) - Required - Description of the charge. ### Request Example ```json { "BatchType": "initial", "PostMonth": "2023-10", "PropertyId": "prop_12345", "Charges": [ { "Amount": 100.50, "Description": "Late Fee" }, { "Amount": 50.00, "Description": "Utility Charge" } ] } ``` ### Response #### Success Response (201 Created) - **Id** (string) - The unique identifier for the created pending charge batch. - **Status** (string) - The status of the pending charge batch. - **LastUpdatedAt** (string) - The date and time the batch was last updated. #### Response Example ```json { "Id": "batch_998877", "Status": "Processing", "LastUpdatedAt": "2023-10-27T11:00:00Z" } ``` ``` -------------------------------- ### Work Orders API Source: https://www.appfolio.com/stack/partners/api/index Retrieves, creates, or updates work orders for a property, unit, or occupancy. ```APIDOC ## GET /websites/appfolio_stack_partners_api/work_orders ### Description Retrieves a list of work orders based on specified filter criteria. ### Method GET ### Endpoint /websites/appfolio_stack_partners_api/work_orders ### Parameters #### Query Parameters - **PropertyId** (string) - Optional - Filter by property. - **UnitId** (string) - Optional - Filter by unit. - **OccupancyId** (string) - Optional - Filter by occupancy. ### Response #### Success Response (200) - **WorkOrderId** (string) - Unique identifier of the work order. - **PropertyId** (string) - The property associated with the work order. - **UnitId** (string) - The unit associated with the work order. - **OccupancyId** (string) - The occupancy associated with the work order. - **Description** (string) - Description of the work order. - **Status** (string) - Current status of the work order (e.g., Open, In Progress, Completed). - **CreatedBy** (string) - The user who created the work order. - **CreatedAt** (timestamp) - The date and time the work order was created. - **LastUpdatedAt** (timestamp) - The last time the work order was updated. #### Response Example ```json { "WorkOrderId": "wo_12345", "PropertyId": "prop_ghi012", "UnitId": "unt_def456", "OccupancyId": "occ_xyz789", "Description": "Leaky faucet in kitchen", "Status": "Open", "CreatedBy": "usr_abc789", "CreatedAt": "2023-05-15T09:00:00Z", "LastUpdatedAt": "2023-05-15T09:00:00Z" } ``` ## POST /websites/appfolio_stack_partners_api/work_orders ### Description Creates a new work order. ### Method POST ### Endpoint /websites/appfolio_stack_partners_api/work_orders ### Parameters #### Request Body - **PropertyId** (string) - Required - The property associated with the work order. - **UnitId** (string) - Optional - The unit associated with the work order. - **OccupancyId** (string) - Optional - The occupancy associated with the work order. - **Description** (string) - Required - Description of the work order. ### Request Example ```json { "PropertyId": "prop_ghi012", "UnitId": "unt_def456", "Description": "Broken window ``` -------------------------------- ### PUT /showings/{showingId} Source: https://www.appfolio.com/stack/partners/api/index Updates an existing showing. This endpoint allows modification of showing details using the showing ID. ```APIDOC ## PUT /showings/{showingId} ### Description Updates an existing showing. ### Method PUT ### Endpoint /showings/{showingId} ### Parameters #### Path Parameters - **showingId** (string) - Required - Unique identifier for the showing to update. #### Request Body - **EndAt** (string) - Optional - New end time of the showing. - **StartAt** (string) - Optional - New start time of the showing. - **LeadId** (string) - Optional - New unique identifier of the lead associated with the showing. - **UnitId** (string) - Optional - New unique identifier of the unit to be shown. - **AssignedUserId** (string) - Optional - New unique identifier of the AppFolio Property Manager user responsible for the showing. - **Notes** (string) - Optional - New brief informative message about the showing. - **Status** (string) - Optional - New current status of the showing, such as "canceled". ### Request Example ```json { "Status": "Canceled", "Notes": "Showing canceled due to unforeseen circumstances." } ``` ### Response #### Success Response (200 OK) - **ShowingId** (string) - Unique identifier for the updated showing. - **Status** (string) - The updated status of the showing. #### Response Example ```json { "ShowingId": "showing_98765", "Status": "Canceled" } ``` ``` -------------------------------- ### Users API Source: https://www.appfolio.com/stack/partners/api/index Retrieves AppFolio Property Manager user information. ```APIDOC ## GET /websites/appfolio_stack_partners_api/users ### Description Get all AppFolio Property Manager users that meet the filter criteria. ### Method GET ### Endpoint /websites/appfolio_stack_partners_api/users ### Parameters #### Query Parameters - **PropertyId** (string) - Optional - Unique identifier of the property associated with the user. - **LastUpdatedAtFrom** (timestamp) - Optional - Returns AppFolio Property Manager user records that have been updated since the date provided. ### Response #### Success Response (200) - **Id** (string) - Unique identifier of an AppFolio Property Manager user. - **Email** (string) - The user’s email address. - **FirstName** (string) - The first name of the user. - **LastName** (string) - The last name of the user. - **UserRole** (string) - The system role assigned to the user. - **LastUpdatedAt** (timestamp) - The last time a user’s information was updated by an AppFollio Property Manager user. #### Response Example ```json { "Id": "usr_abc789", "Email": "jane.doe@appfolio.com", "FirstName": "Jane", "LastName": "Doe", "UserRole": "Admin", "LastUpdatedAt": "2023-05-20T10:00:00Z" } ``` ``` -------------------------------- ### Vendors API Source: https://www.appfolio.com/stack/partners/api/index Retrieves, creates, or updates vendor information. ```APIDOC ## GET /websites/appfolio_stack_partners_api/vendors ### Description Retrieves a list of vendors based on specified filter criteria. ### Method GET ### Endpoint /websites/appfolio_stack_partners_api/vendors ### Parameters #### Query Parameters - **Id** (string) - Optional - Unique identifier of the vendor(s) that are sought for retrieval. - **LastUpdatedAtFrom** (timestamp) - Optional - Returns vendor records that have been updated since the date provided. - **IncludeHidden** (boolean) - Optional - Whether or not to include vendors hidden by an AppFolio Property Manager user. - **IsCompany** (boolean) - Optional - Whether or not the vendor is a company. ### Response #### Success Response (200) - **Id** (string) - Unique identifier of the vendor. - **UseCompanyNameAsTaxpayerName** (boolean) - Company name of the vendor used for tax purposes. - **TaxpayerName** (string) - The taxpayer name of the vendor. - **CompanyName** (string) - Optional display name of the vendor’s company name. - **Send1099** (boolean) - Whether or not the vendor needs a 1099 tax from the management company. - **FirstName** (string) - The vendor’s first name. - **LastName** (string) - The vendor’s last name. - **Address1** (string) - Primary street address of the vendor. - **Address2** (string) - Additional street address information. - **City** (string) - City where the vendor is located. - **State** (string) - State where the vendor is located. - **Zip** (string) - Zip code where the vendor is located. - **CountryCode** (string) - Country code of the vendor. - **PhoneNumber** (string) - The phone number of the vendor. - **Email** (string) - The email address of the vendor. - **CompanyURL** (string) - Internet address of the vendor’s website. - **LiabilityInsuranceExpiration** (date) - Expiration date of the vendor’s liability insurance. - **AutoInsuranceExpiration** (date) - Expiration date of the vendor’s auto insurance. - **WorkersCompExpiration** (date) - Expiration date of the vendor’s worker’s compensation insurance. - **ContractExpiration** (date) - Expiration date of the vendor’s contract. - **UmbrellaInsuranceExpiration** (date) - Expiration date of the vendor’s umbrella insurance. - **CompliantStatus** (string) - Whether or not the vendor meets compliance. - **HiddenAt** (timestamp) - When the vendor was hidden. - **LastUpdatedAt** (timestamp) - The last time the vendor was updated. #### Response Example ```json { "Id": "vnd_abc123", "UseCompanyNameAsTaxpayerName": true, "TaxpayerName": "Acme Corp", "CompanyName": "Acme Corporation", "Send1099": true, "FirstName": null, "LastName": null, "Address1": "123 Main St", "Address2": null, "City": "Anytown", "State": "CA", "Zip": "90210", "CountryCode": "US", "PhoneNumber": "555-987-6543", "Email": "contact@acmecorp.com", "CompanyURL": "https://acmecorp.com", "LiabilityInsuranceExpiration": "2024-12-31", "AutoInsuranceExpiration": null, "WorkersCompExpiration": null, "ContractExpiration": null, "UmbrellaInsuranceExpiration": null, "CompliantStatus": "Compliant", "HiddenAt": null, "LastUpdatedAt": "2023-05-20T10:00:00Z" } ``` ## POST /websites/appfolio_stack_partners_api/vendors ### Description Creates a new vendor. ### Method POST ### Endpoint /websites/appfolio_stack_partners_api/vendors ### Parameters #### Request Body - **UseCompanyNameAsTaxpayerName** (boolean) - Required - Company name of the vendor used for tax purposes. - **TaxpayerName** (string) - Required - The taxpayer name of the vendor. - **CompanyName** (string) - Optional - Display name of the vendor’s company name. - **Send1099** (boolean) - Optional - Whether or not the vendor needs a 1099 tax from the management company. - **FirstName** (string) - Optional - The vendor’s first name. - **LastName** (string) - Optional - The vendor’s last name. - **Address1** (string) - Optional - Primary street address of the vendor. - **Address2** (string) - Optional - Additional street address information. - **City** (string) - Optional - City where the vendor is located. - **State** (string) - Optional - State where the vendor is located. - **Zip** (string) - Optional - Zip code where the vendor is located. - **CountryCode** (string) - Optional - Country code of the vendor. - **PhoneNumber** (string) - Optional - The phone number of the vendor. - **Email** (string) - Optional - The email address of the vendor. - **CompanyURL** (string) - Optional - Internet address of the vendor’s website. - **LiabilityInsuranceExpiration** (date) - Optional - Expiration date of the vendor’s liability insurance. - **AutoInsuranceExpiration** (date) - Optional - Expiration date of the vendor’s auto insurance. - **WorkersCompExpiration** (date) - Optional - Expiration date of the vendor’s worker’s compensation insurance. - **ContractExpiration** (date) - Optional - Expiration date of the vendor’s contract. - **UmbrellaInsuranceExpiration** (date) - Optional - Expiration date of the vendor’s umbrella insurance. - **CompliantStatus** (string) - Optional - Whether or not the vendor meets compliance. ### Request Example ```json { "UseCompanyNameAsTaxpayerName": true, "TaxpayerName": "Acme Corp", "CompanyName": "Acme Corporation", "Send1099": true, "Address1": "123 Main St", "City": "Anytown", "State": "CA", "Zip": "90210", "CountryCode": "US", "PhoneNumber": "555-987-6543", "Email": "contact@acmecorp.com", "CompanyURL": "https://acmecorp.com", "LiabilityInsuranceExpiration": "2024-12-31", "CompliantStatus": "Compliant" } ``` ### Response #### Success Response (200) - **Id** (string) - Unique identifier of the newly created vendor. - **UseCompanyNameAsTaxpayerName** (boolean) - Company name of the vendor used for tax purposes. - **TaxpayerName** (string) - The taxpayer name of the vendor. - **CompanyName** (string) - Optional display name of the vendor’s company name. - **Send1099** (boolean) - Whether or not the vendor needs a 1099 tax from the management company. - **FirstName** (string) - The vendor’s first name. - **LastName** (string) - The vendor’s last name. - **Address1** (string) - Primary street address of the vendor. - **Address2** (string) - Additional street address information. - **City** (string) - City where the vendor is located. - **State** (string) - State where the vendor is located. - **Zip** (string) - Zip code where the vendor is located. - **CountryCode** (string) - Country code of the vendor. - **PhoneNumber** (string) - The phone number of the vendor. - **Email** (string) - The email address of the vendor. - **CompanyURL** (string) - Internet address of the vendor’s website. - **LiabilityInsuranceExpiration** (date) - Expiration date of the vendor’s liability insurance. - **AutoInsuranceExpiration** (date) - Expiration date of the vendor’s auto insurance. - **WorkersCompExpiration** (date) - Expiration date of the vendor’s worker’s compensation insurance. - **ContractExpiration** (date) - Expiration date of the vendor’s contract. - **UmbrellaInsuranceExpiration** (date) - Expiration date of the vendor’s umbrella insurance. - **CompliantStatus** (string) - Whether or not the vendor meets compliance. - **HiddenAt** (timestamp) - When the vendor was hidden. - **LastUpdatedAt** (timestamp) - The last time the vendor was updated. #### Response Example ```json { "Id": "vnd_new456", "UseCompanyNameAsTaxpayerName": true, "TaxpayerName": "Acme Corp", "CompanyName": "Acme Corporation", "Send1099": true, "FirstName": null, "LastName": null, "Address1": "123 Main St", "Address2": null, "City": "Anytown", "State": "CA", "Zip": "90210", "CountryCode": "US", "PhoneNumber": "555-987-6543", "Email": "contact@acmecorp.com", "CompanyURL": "https://acmecorp.com", "LiabilityInsuranceExpiration": "2024-12-31", "AutoInsuranceExpiration": null, "WorkersCompExpiration": null, "ContractExpiration": null, "UmbrellaInsuranceExpiration": null, "CompliantStatus": "Compliant", "HiddenAt": null, "LastUpdatedAt": "2023-05-21T11:00:00Z" } ``` ## PUT /websites/appfolio_stack_partners_api/vendors/{vendorId} ### Description Updates an existing vendor. ### Method PUT ### Endpoint /websites/appfolio_stack_partners_api/vendors/{vendorId} ### Parameters #### Path Parameters - **vendorId** (string) - Required - The unique identifier of the vendor to update. #### Request Body - **UseCompanyNameAsTaxpayerName** (boolean) - Optional - Company name of the vendor used for tax purposes. - **TaxpayerName** (string) - Optional - The taxpayer name of the vendor. - **CompanyName** (string) - Optional - Display name of the vendor’s company name. - **Send1099** (boolean) - Optional - Whether or not the vendor needs a 1099 tax from the management company. - **FirstName** (string) - Optional - The vendor’s first name. - **LastName** (string) - Optional - The vendor’s last name. - **Address1** (string) - Optional - Primary street address of the vendor. - **Address2** (string) - Optional - Additional street address information. - **City** (string) - Optional - City where the vendor is located. - **State** (string) - Optional - State where the vendor is located. - **Zip** (string) - Optional - Zip code where the vendor is located. - **CountryCode** (string) - Optional - Country code of the vendor. - **PhoneNumber** (string) - Optional - The phone number of the vendor. - **Email** (string) - Optional - The email address of the vendor. - **CompanyURL** (string) - Optional - Internet address of the vendor’s website. - **LiabilityInsuranceExpiration** (date) - Optional - Expiration date of the vendor’s liability insurance. - **AutoInsuranceExpiration** (date) - Optional - Expiration date of the vendor’s auto insurance. - **WorkersCompExpiration** (date) - Optional - Expiration date of the vendor’s worker’s compensation insurance. - **ContractExpiration** (date) - Optional - Expiration date of the vendor’s contract. - **UmbrellaInsuranceExpiration** (date) - Optional - Expiration date of the vendor’s umbrella insurance. - **CompliantStatus** (string) - Optional - Whether or not the vendor meets compliance. ### Request Example ```json { "PhoneNumber": "555-111-2222", "Email": "updated.contact@acmecorp.com" } ``` ### Response #### Success Response (200) - **Id** (string) - Unique identifier of the vendor. - **UseCompanyNameAsTaxpayerName** (boolean) - Company name of the vendor used for tax purposes. - **TaxpayerName** (string) - The taxpayer name of the vendor. - **CompanyName** (string) - Optional display name of the vendor’s company name. - **Send1099** (boolean) - Whether or not the vendor needs a 1099 tax from the management company. - **FirstName** (string) - The vendor’s first name. - **LastName** (string) - The vendor’s last name. - **Address1** (string) - Primary street address of the vendor. - **Address2** (string) - Additional street address information. - **City** (string) - City where the vendor is located. - **State** (string) - State where the vendor is located. - **Zip** (string) - Zip code where the vendor is located. - **CountryCode** (string) - Country code of the vendor. - **PhoneNumber** (string) - The phone number of the vendor. - **Email** (string) - The email address of the vendor. - **CompanyURL** (string) - Internet address of the vendor’s website. - **LiabilityInsuranceExpiration** (date) - Expiration date of the vendor’s liability insurance. - **AutoInsuranceExpiration** (date) - Expiration date of the vendor’s auto insurance. - **WorkersCompExpiration** (date) - Expiration date of the vendor’s worker’s compensation insurance. - **ContractExpiration** (date) - Expiration date of the vendor’s contract. - **UmbrellaInsuranceExpiration** (date) - Expiration date of the vendor’s umbrella insurance. - **CompliantStatus** (string) - Whether or not the vendor meets compliance. - **HiddenAt** (timestamp) - When the vendor was hidden. - **LastUpdatedAt** (timestamp) - The last time the vendor was updated. #### Response Example ```json { "Id": "vnd_abc123", "UseCompanyNameAsTaxpayerName": true, "TaxpayerName": "Acme Corp", "CompanyName": "Acme Corporation", "Send1099": true, "FirstName": null, "LastName": null, "Address1": "123 Main St", "Address2": null, "City": "Anytown", "State": "CA", "Zip": "90210", "CountryCode": "US", "PhoneNumber": "555-111-2222", "Email": "updated.contact@acmecorp.com", "CompanyURL": "https://acmecorp.com", "LiabilityInsuranceExpiration": "2024-12-31", "AutoInsuranceExpiration": null, "WorkersCompExpiration": null, "ContractExpiration": null, "UmbrellaInsuranceExpiration": null, "CompliantStatus": "Compliant", "HiddenAt": null, "LastUpdatedAt": "2023-05-21T11:00:00Z" } ``` ```