npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

wpm-mcp-server-mcp

v1.6.3

Published

The official MCP Server for the Wpm Mcp Server API

Readme

Wpm Mcp Server TypeScript MCP Server

It is generated with Stainless.

Installation

Direct invocation

You can run the MCP Server directly via npx:

export WPM_BUILDIUM_CLIENT_ID="My Client ID"
export WPM_BUILDIUM_CLIENT_SECRET="My Client Secret"
npx -y wpm-mcp-server-mcp@latest

Via MCP Client

There is a partial list of existing clients at modelcontextprotocol.io. If you already have a client, consult their documentation to install the MCP server.

For clients with a configuration JSON, it might look something like this:

{
  "mcpServers": {
    "wpm_mcp_server_api": {
      "command": "npx",
      "args": ["-y", "wpm-mcp-server-mcp", "--client=claude", "--tools=dynamic"],
      "env": {
        "WPM_BUILDIUM_CLIENT_ID": "My Client ID",
        "WPM_BUILDIUM_CLIENT_SECRET": "My Client Secret"
      }
    }
  }
}

Exposing endpoints to your MCP Client

There are two ways to expose endpoints as tools in the MCP server:

  1. Exposing one tool per endpoint, and filtering as necessary
  2. Exposing a set of tools to dynamically discover and invoke endpoints from the API

Filtering endpoints and tools

You can run the package on the command line to discover and filter the set of tools that are exposed by the MCP Server. This can be helpful for large APIs where including all endpoints at once is too much for your AI's context window.

You can filter by multiple aspects:

  • --tool includes a specific tool by name
  • --resource includes all tools under a specific resource, and can have wildcards, e.g. my.resource*
  • --operation includes just read (get/list) or just write operations

Dynamic tools

If you specify --tools=dynamic to the MCP server, instead of exposing one tool per endpoint in the API, it will expose the following tools:

  1. list_api_endpoints - Discovers available endpoints, with optional filtering by search query
  2. get_api_endpoint_schema - Gets detailed schema information for a specific endpoint
  3. invoke_api_endpoint - Executes any endpoint with the appropriate parameters

This allows you to have the full set of API endpoints available to your MCP Client, while not requiring that all of their schemas be loaded into context at once. Instead, the LLM will automatically use these tools together to search for, look up, and invoke endpoints dynamically. However, due to the indirect nature of the schemas, it can struggle to provide the correct properties a bit more than when tools are imported explicitly. Therefore, you can opt-in to explicit tools, the dynamic tools, or both.

See more information with --help.

All of these command-line options can be repeated, combined together, and have corresponding exclusion versions (e.g. --no-tool).

Use --list to see the list of available tools, or see below.

Specifying the MCP Client

Different clients have varying abilities to handle arbitrary tools and schemas.

You can specify the client you are using with the --client argument, and the MCP server will automatically serve tools and schemas that are more compatible with that client.

  • --client=<type>: Set all capabilities based on a known MCP client

    • Valid values: openai-agents, claude, claude-code, cursor
    • Example: --client=cursor

Additionally, if you have a client not on the above list, or the client has gotten better over time, you can manually enable or disable certain capabilities:

  • --capability=<name>: Specify individual client capabilities
    • Available capabilities:
      • top-level-unions: Enable support for top-level unions in tool schemas
      • valid-json: Enable JSON string parsing for arguments
      • refs: Enable support for $ref pointers in schemas
      • unions: Enable support for union types (anyOf) in schemas
      • formats: Enable support for format validations in schemas (e.g. date-time, email)
      • tool-name-length=N: Set maximum tool name length to N characters
    • Example: --capability=top-level-unions --capability=tool-name-length=40
    • Example: --capability=top-level-unions,tool-name-length=40

Examples

  1. Filter for read operations on cards:
--resource=cards --operation=read
  1. Exclude specific tools while including others:
--resource=cards --no-tool=create_cards
  1. Configure for Cursor client with custom max tool name length:
--client=cursor --capability=tool-name-length=40
  1. Complex filtering with multiple criteria:
--resource=cards,accounts --operation=read --tag=kyc --no-tool=create_cards

Importing the tools and server individually

// Import the server, generated endpoints, or the init function
import { server, endpoints, init } from "wpm-mcp-server-mcp/server";

// import a specific tool
import createAutoPayApplications from "wpm-mcp-server-mcp/tools/applications/create-auto-pay-applications";

// initialize the server and all endpoints
init({ server, endpoints });

// manually start server
const transport = new StdioServerTransport();
await server.connect(transport);

// or initialize your own server with specific tools
const myServer = new McpServer(...);

// define your own endpoint
const myCustomEndpoint = {
  tool: {
    name: 'my_custom_tool',
    description: 'My custom tool',
    inputSchema: zodToJsonSchema(z.object({ a_property: z.string() })),
  },
  handler: async (client: client, args: any) => {
    return { myResponse: 'Hello world!' };
  })
};

// initialize the server with your custom endpoints
init({ server: myServer, endpoints: [createAutoPayApplications, myCustomEndpoint] });

Available Tools

The following tools are available in this MCP server.

Resource applications:

  • create_auto_pay_applications (write): Creates a payment on the application ledger. Note that the recorded payment will be automatically allocated to the general ledger accounts based on the payment allocation settings. These settings can be found under the Settings > Application Settings > Residents page in your account. If you'd like to specify the GL accounts the payment should apply to, please use the Create a payment endpoint.

  • create_pay_reversal_applications (write): Reverses an application ledger payment. Note, this action can only be taken on a payment that has been deposited.

    Accounting > Bank Accounts - View Edit

  • list_balances_applications (read): Retrieves a list of applications that have outstanding balances. Applications with a zero or credit balance will not be returned in the results.

Resource applications.transactions:

  • retrieve_applications_transactions (read): Retrieves a specific application transaction.

  • list_applications_transactions (read): Retrieves all the transactions for a specific application.

Resource applications.charges:

  • create_applications_charges (write): Creates a charge on a specific application ledger.

  • retrieve_applications_charges (read): Retrieves a specific application charge.

  • update_applications_charges (write): Updates a charge on a specific application ledger.

  • list_applications_charges (read): Retrieves all the charges for a specific application.

Resource applications.payments:

  • create_applications_payments (write): Creates an application ledger payment.

  • update_applications_payments (write): Updates an application ledger payment. Each line item must have a unique general ledger account identifier. PaymentMethod, Date, Memo, and the total Amount cannot be changed for payments with a PaymentMethod of BuildiumEFT, BuildiumCC or RetailCash.

Resource applications.refunds:

  • create_applications_refunds (write): Creates a refund for a specific application.

  • retrieve_applications_refunds (read): Retrieves a specific application refund.

Resource associations:

  • create_associations (write): Creates an association.

  • retrieve_associations (read): Retrieve a specific association.

  • update_associations (write): Updates an association.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition.

    The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_associations (read): Retrieves a list of associations.

  • inactivate_associations (write): Inactivates an association along with associated units and ownership accounts.

  • list_bank_lockbox_data_associations (read): Retrieves all association bank lockbox data.

  • reactivate_associations (write): Reactivates an association along with associated units and ownership accounts.

Resource associations.ownershipaccounts:

  • create_associations_ownershipaccounts (write): Creates an ownership account.

    Associations > Owners - View Edit

  • retrieve_associations_ownershipaccounts (read): Retrieves a specific ownership account.

  • update_associations_ownershipaccounts (write): Updates an ownership account.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_associations_ownershipaccounts (read): Retrieves a list of ownership accounts.

  • auto_payments_associations_ownershipaccounts (write): Creates a payment on the ownership account ledger. Note that the recorded payment will be automatically allocated to the general ledger accounts based on the payment allocation settings. These settings can be found under the Settings > Application Settings > Residents page in your account. If you'd like to specify the general ledger accounts the payment should apply to, please use the Create a payment endpoint.

  • credits_associations_ownershipaccounts (write): Creates a ledger credit.

  • get_balances_associations_ownershipaccounts (read): Retrieves a list of ownership account outstanding balances.

Resource associations.ownershipaccounts.transactions:

  • retrieve_ownershipaccounts_associations_transactions (read): Retrieves a specific ownership account ledger transaction.

  • list_ownershipaccounts_associations_transactions (read): Retrieves all ledger transactions for a specific ownership account.

Resource associations.ownershipaccounts.architecturalrequests:

  • create_ownershipaccounts_associations_architecturalrequests (write): Creates an architectural request

    Associations > Ownership accounts - View Edit

    Associations > Architectural requests - View Edit

    Associations > Association owners and tenants - View Edit

  • retrieve_ownershipaccounts_associations_architecturalrequests (read): Retrieves a specific architectural request.

    Associations > Ownership accounts - View

    Associations > Association owners and tenants - View

    Associations > Architectural requests - View

  • list_ownershipaccounts_associations_architecturalrequests (read): Retrieves all architectural requests.

    Associations > Ownership accounts - View

    Associations > Association owners and tenants - View

    Associations > Architectural requests - View

Resource associations.ownershipaccounts.architecturalrequests.files:

  • retrieve_architecturalrequests_ownershipaccounts_associations_files (read): Retrieves an architectural request file.

    Associations > Ownership accounts - View

    Associations > Association owners and tenants - View

    Associations > Architectural requests - View

  • list_architecturalrequests_ownershipaccounts_associations_files (read): Retrieves all files for an architectural request.

    Associations > Ownership accounts - View

    Associations > Association owners and tenants - View

    Associations > Architectural requests - View

  • download_requests_architecturalrequests_ownershipaccounts_associations_files (write): Downloads a specific file associated to the architectural request.

    Associations > Ownership accounts - View

    Associations > Association owners and tenants - View

    Associations > Architectural requests - View

  • upload_requests_architecturalrequests_ownershipaccounts_associations_files (write): Uploads a file and associates it to the specified architectural request record.

    Uploading a file requires making two API requests. Each step is outlined below.

    Step 1 - Save file metadata

    The first step in the file upload process is to submit the file metadata to /v1/associations/ownershipaccounts/architecturalrequests/{architecturalRequestId:int}/files/uploadrequests. The response of this call will contain a URL and a collection of form data that will be used in step 2 to generate the request for the file binary upload.

    NOTE: The response data will expire after 5 minutes. The file metadata will not be saved in the Buildium system if step 2 of this process is not completed successfully.

    Step 2 - Upload the file binary

    Uploading the file binary will require using the response from step 1 to form a POST request to the Buildium file provider. Follow these steps to create the request:

    1. Form a POST request using the value of the BucketUrl property as the URL.

    2. Set the Content-Type header to multipart/form-data.

    3. Copy the fields from the FormData property to this request as form-data key/value pairs.

    NOTE: These values must added to the request form-data in the order they were received in the response.

    1. Lastly create a form-data key named file and set the value to the file binary.

    NOTE: This must be the last field in the form-data list.

    This image shows what the POST request should look like if you're using Postman:

    1. Send the POST request! A successful request will return with a 204 - NO CONTENT HTTP response code. For any failure responses, please refer to AWS documentation on REST error responses.

    NOTE: The file identifier is not generated in this response. To retrieve the file identifier, call /v1/files and pass the PhysicalFileName value received from the response of this endpoint into the physicalfilenames query parameter.

    Associations > Ownership accounts - View Edit

    Associations > Architectural requests - View Edit

    Associations > Association owners and tenants - View Edit

Resource associations.ownershipaccounts.charges:

  • create_ownershipaccounts_associations_charges (write): Creates a ledger charge.

    Accounting > Bills - View Edit In order to associate the charge to a bill using the BillId property, you must have this permission.

  • retrieve_ownershipaccounts_associations_charges (read): Retrieves a specific ownership account ledger charge.

  • update_ownershipaccounts_associations_charges (write): Updates a charge.

  • list_ownershipaccounts_associations_charges (read): Retrieves all ledger charges for a specific ownership account.

Resource associations.ownershipaccounts.payments:

  • create_ownershipaccounts_associations_payments (write): Creates a ledger payment.

  • update_ownershipaccounts_associations_payments (write): Updates a ledger payment. Each line item must have a unique general ledger account identifier. PaymentMethod, Date, Memo, and the total Amount cannot be changed for payments with a PaymentMethod of BuildiumEFT, BuildiumCC or RetailCash.

Resource associations.ownershipaccounts.refunds:

  • create_ownershipaccounts_associations_refunds (write): Creates a refund.

  • retrieve_ownershipaccounts_associations_refunds (read): Retrieves a refund.

Resource associations.ownershipaccounts.applieddeposits:

  • create_ownershipaccounts_associations_applieddeposits (write): Withholds an association owner deposit by reallocating the funds from a liability account to an income account to cover an expense(s).

  • update_ownershipaccounts_associations_applieddeposits (write): Updates an ownership account deposit withholding.

Resource associations.ownershipaccounts.recurringtransactions:

  • list_ownershipaccounts_associations_recurringtransactions (read): Retrieves all recurring transactions for an ownership account.

Resource associations.ownershipaccounts.notes:

  • create_ownershipaccounts_associations_notes (write): Creates a new ownership account note.

  • retrieve_ownershipaccounts_associations_notes (read): Retrieves an ownership account note.

  • update_ownershipaccounts_associations_notes (write): Updates an association ownership account note.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_ownershipaccounts_associations_notes (read): Retrieves notes for an ownership account.

Resource associations.ownershipaccounts.partialpaymentsettings:

  • list_ownershipaccounts_associations_partialpaymentsettings (read): Retrieves partial payment settings for an ownership account.

  • patch_all_ownershipaccounts_associations_partialpaymentsettings (write): Updates partial payment settings for an ownership account.

Resource associations.ownershipaccounts.recurringcharges:

  • create_ownershipaccounts_associations_recurringcharges (write): Creates a recurring charge transaction that will post automatically on the specified ownership account ledger.

  • retrieve_ownershipaccounts_associations_recurringcharges (read): Retrieves a recurring charge.

Resource associations.ownershipaccounts.recurringcredits:

  • create_ownershipaccounts_associations_recurringcredits (write): Creates a recurring credit transaction that will post automatically on the specified ownership account ledger.

  • retrieve_ownershipaccounts_associations_recurringcredits (read): Retrieves a recurring credit.

Resource associations.ownershipaccounts.recurringpayments:

  • create_ownershipaccounts_associations_recurringpayments (write): Creates a recurring payment that will post automatically on the specified ownership account ledger.

  • retrieve_ownershipaccounts_associations_recurringpayments (read): Retrieves a recurring payment.

Resource associations.units:

  • create_associations_units (write): Creates an association unit.

  • retrieve_associations_units (read): Retrieve a specific association unit.

  • update_associations_units (write): Updates an association unit.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_associations_units (read): Retrieves a list of association units.

Resource associations.units.notes:

  • create_units_associations_notes (write): Creates a new association unit note.

  • retrieve_units_associations_notes (read): Retrieves an association unit note.

  • update_units_associations_notes (write): Updates an association unit note.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_units_associations_notes (read): Retrieves all association unit notes.

Resource associations.owners:

  • create_associations_owners (write): Creates an association owner.

    Associations > Ownership accounts - View Edit

  • retrieve_associations_owners (read): Retrieve a specific association owner.

  • update_associations_owners (write): Updates an existing association owner.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_associations_owners (read): Retrieves a list of association owners.

Resource associations.owners.notes:

  • create_owners_associations_notes (write): Creates an association owner note.

  • retrieve_owners_associations_notes (read): Retrieves an association owner note.

  • update_owners_associations_notes (write): Updates an association owner note.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_owners_associations_notes (read): Retrieves all association owner notes.

Resource associations.owners.units:

  • retrieve_owners_associations_units (read): Retrieves the owner occupancy status for an association unit.

  • update_owners_associations_units (write): Updates whether a unit is occupied by the association owner.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_owners_associations_units (read): Retrieves the occupancy status for all of the units owned by the association owner.

Resource associations.tenants:

  • create_associations_tenants (write): Creates an association tenant.

  • retrieve_associations_tenants (read): Retrieves a specific association tenant.

  • update_associations_tenants (write): Updates an association tenant.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_associations_tenants (read): Retrieves a list of association tenants.

Resource associations.tenants.notes:

  • create_tenants_associations_notes (write): Creates an association tenant note.

  • retrieve_tenants_associations_notes (read): Retrieves an association tenant note.

  • update_tenants_associations_notes (write): Updates an association tenant note.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_tenants_associations_notes (read): Retrieves all association tenant notes.

Resource associations.boardmembers:

  • create_associations_boardmembers (write): Creates a board member for a given association.

  • retrieve_associations_boardmembers (read): Retrieves an association board member.

  • update_associations_boardmembers (write): Updates a board member for a given association.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_associations_boardmembers (read): Retrieves all association board members.

  • delete_associations_boardmembers (write): Deletes a board member. Note, this is a hard delete from the database and data can not be restored.

Resource associations.epaysettings:

  • retrieve_associations_epaysettings (read): Retrieves ePay settings for an association.

  • update_associations_epaysettings (write): Updates ePay settings for an association.

Resource associations.meterreadings:

  • list_associations_meterreadings (read): Retrieves all meter readings for an association.

Resource associations.meterreadings.summary:

  • update_meterreadings_associations_summary (write): This endpoint can be used to both create and update a meter reading detail for an association.

  • list_meterreadings_associations_summary (read): Retrieves all meter reading details for an association.

  • delete_meterreadings_associations_summary (write): Delete meter reading details for an association for a given date.

Resource associations.notes:

  • create_associations_notes (write): Creates a note.

  • retrieve_associations_notes (read): Retrieves a note.

  • update_associations_notes (write): Updates a note.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_associations_notes (read): Retrieves all notes.

Resource associations.vendors:

  • update_associations_vendors (write): Updates preferred vendors.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition.

    The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

    Maintenance > Vendors - View Edit

  • list_associations_vendors (read): Retrieves all preferred vendors.

    Maintenance > Vendors - View

Resource associations.appliances:

  • create_associations_appliances (write): Creates an association appliance.

  • retrieve_associations_appliances (read): Retrieves an association appliance by id.

  • update_associations_appliances (write): Updates an association appliance.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_associations_appliances (read): Retrieves all association appliances.

  • delete_associations_appliances (write): Deletes an associations appliance.

Resource associations.appliances.servicehistory:

  • create_appliances_associations_servicehistory (write): Creates a service history for an appliance.

  • retrieve_appliances_associations_servicehistory (read): Retrieves a specific service history record for a given appliance.

  • list_appliances_associations_servicehistory (read): Retrieves all of the service history records for an appliance.

Resource files:

  • retrieve_files (read): Retrieves the file metadata for a specific file. Note this endpoint will only return file metadata. To download files make requests to the Download File endpoint.

  • update_files (write): Updates a metadata of the file.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_files (read): Retrieves a list of files that exist within the customer account. Note this endpoint will only return file metadata. To download files make requests to the Download File endpoint.

  • create_upload_request_files (write): Uploading a file requires making two API requests. Each step is outlined below.

    Step 1 - Save file metadata

    The first step in the file upload process is to submit the file metadata to /v1/files/uploadrequests. The response of this call will contain a URL and a collection of form data that will be used in step 2 to generate the request for the file binary upload.

    NOTE: The response data will expire after 5 minutes. The file metadata will not be saved in the Buildium system if step 2 of this process is not completed successfully.

    Step 2 - Upload the file binary

    Uploading the file binary will require using the response from step 1 to form a POST request to the Buildium file provider. Follow these steps to create the request:

    1. Form a POST request using the value of the BucketUrl property as the URL.

    2. Set the Content-Type header to multipart/form-data.

    3. Copy the fields from the FormData property to this request as form-data key/value pairs.

    NOTE: These values must added to the request form-data in the order they were received in the response.

    1. Lastly create a form-data key named file and set the value to the file binary.

    NOTE: This must be the last field in the form-data list.

    This image shows what the POST request should look like if you're using Postman:

    1. Send the POST request! A successful request will return with a 204 - NO CONTENT HTTP response code. For any failure responses, please refer to AWS documentation on REST error responses.

    NOTE: The file identifier is not generated in this response. To retrieve the file identifier, call /v1/files and pass the PhysicalFileName value received from the response of this endpoint into the physicalfilenames query parameter.

  • request_download_files (write): Downloading a file requires making two API requests. The first request to /v1/files/{fileId}/downloadrequest will return a secure URL that can be used to download the file contents. Note the download URL is transient and will expire after 5 minutes.

Resource files.sharing:

  • retrieve_files_sharing (read): Retrieves a file's share settings. Note, that the response JSON schema includes share setting fields for all file entity types, however only fields that pertain to the queried file entity type will be populated. For example, if a file of entity type Rental is retrieved only the fields in the Rental section of the response will have values.

  • update_files_sharing (write): Updates a file's share settings. Note, can only update a file's share settings based on the file's entity type (ie: If the file belongs to a rental property, you can only update the rental file sharing settings). The response payload contains file share setting values for all file entity types, but the relevant setting values correlate to the file's entity type.

Resource files.categories:

  • create_files_categories (write): Creates a file category.

  • retrieve_files_categories (read): Retrieves a specific file category.

  • update_files_categories (write): Updates a file category. Note that file categories where IsEditable is false can not be updated.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_files_categories (read): Retrieves a list of file categories.

Resource leases:

  • create_leases (write): Creates a signed lease.

    Rentals > Leases - View Edit

    Rentals > Tenants - View Edit

    Rentals > Lease transactions - View Edit

  • retrieve_leases (read): Retrieves a specific lease.

    Rentals > Leases - View

  • update_leases (write): Update a signed lease.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

    Rentals > Leases - View Edit

  • list_leases (read): Retrieves a list of leases.

    Rentals > Leases - View

  • create_auto_payment_leases (write): Creates a payment on the lease ledger. Note that the recorded payment will be automatically allocated to the general ledger accounts based on the payment allocation settings. These settings can be found under the Settings > Application Settings > Residents page in your account. If you'd like to specify the GL accounts the payment should apply to, please use the Create a payment endpoint.

  • create_credit_leases (write): Creates a lease ledger credit.

  • create_pay_reversal_leases (write): Reverses a lease ledger payment. Note, this action can only be taken on a payment that has been deposited.

    Accounting > Bank Accounts - View Edit

  • list_balances_leases (read): Retrieves a list of leases that have outstanding balances. Leases with a zero or credit balance will not be returned in the results.

  • list_renew_history_leases (read): Retrieves all lease renewal history

Resource leases.transactions:

  • retrieve_leases_transactions (read): Retrieves a specific lease transaction.

  • list_leases_transactions (read): Retrieves all the transactions for a specific lease.

Resource leases.charges:

  • create_leases_charges (write): Creates a charge transaction on a specific lease ledger.

    Accounting > Bills - View Edit In order to associate the charge to a bill using the BillId property, you must have this permission.

  • retrieve_leases_charges (read): Retrieves a specific lease charge.

  • update_leases_charges (write): Updates a charge.

  • list_leases_charges (read): Retrieves all the charges for a specific lease.

Resource leases.moveouts:

  • create_leases_moveouts (write): Creates move out data for a single tenant on a given lease.

    Rentals > Tenants - View Edit

  • retrieve_leases_moveouts (read): Retrieves move out data for a single tenant on a given lease.

    Rentals > Tenants - View

  • list_leases_moveouts (read): Retrieves a list of move out dates for a given lease.

    Rentals > Tenants - View

  • delete_leases_moveouts (write): Deletes move out data for a tenant on a given lease.

    Rentals > Tenants - View

Resource leases.payments:

  • create_leases_payments (write): Creates a lease ledger payment.

  • update_leases_payments (write): Updates a ledger payment. Each line item must have a unique general ledger account identifier. PaymentMethod, Date, Memo, and the total Amount cannot be changed for payments with a PaymentMethod of BuildiumEFT, BuildiumCC or RetailCash.

Resource leases.notes:

  • create_leases_notes (write): Creates a lease note.

  • retrieve_leases_notes (read): Retrieves a lease note.

  • update_leases_notes (write): Updates a lease note.

    NOTE: Any field not included in the update request will be set to either an empty string or null in the database depending on the field definition. The recommended workflow to ensure no data is inadvertently overwritten is to execute a GET request for the resource you're about to update and then use this response to fill any of the fields that are not being updated.

  • list_leases_notes (read): Retrieves all lease notes.

Resource leases.refunds:

  • create_leases_refunds (write): Creates a refund.

  • retrieve_leases_refunds (read): Retrieves a refund.

Resource leases.renewals:

  • create_leases_renewals (write): Creates a lease renewal.

  • retrieve_leases_renewals (read): Retrieves a specific renewal for a given lease.

  • list_leases_renewals (read): Retrieves all renewals for a specific a lease.

  • list_upcoming_leases_renewals (read): Retrieves all upcoming lease renewals across all rental properties.

Resource leases.applieddeposits:

  • create_leases_applieddeposits (write): Withholds a resident deposit by reallocating the funds from a liability account to an income account to cover an expense(s).

    Accounting > General Ledger Accounts - View

  • update_leases_applieddeposits (write): Updates a resident deposit withholding.

    Accounting > General Ledger Accounts - View

Resource leases.recurringtransactions:

  • list_leases_recurringtransactions (read): Retrieves all recurring transactions for a given lease.

  • list_all_leases_recurringtransactions (read): Retrieves all recurring transactions for all leases.

Resource leases.epaysettings:

  • retrieve_leases_epaysettings (read): Retrieves ePay settings for a lease.

  • update_leases_epaysettings (write): Updates ePay settings for a lease

Resource leases.partialpaymentsettings:

  • retrieve_leases_partialpaymentsettings (read): Retrieves partial payment settings for a lease.

  • update_leases_partialpaymentsettings (write): Updates partial payment settings for a lease.

Resource leases.recurringcharges:

  • create_leases_recurringcharges (write): Creates a recurring charge transaction that will post automatically on the specified lease ledger.

  • retrieve_leases_recurringcharges (read): Retrieves a recurring charge.

Resource leases.recurringcredits:

  • create_leases_recurringcredits (write): Creates a recurring credit transaction on the specified lease ledger.

  • retrieve_leases_recurringcredits (read): Retrieves a recurring credit.

Resource leases.recurringpayments:

  • create_leases_recurringpayments (write): Creates a recurring payment that will post automatically on the specified lease ledger.

  • retrieve_leases_recurringpayments (read): Retrieves a recurring payment.

Resource leases.rent:

  • create_leases_rent (write): Creates a rent schedule.

  • retrieve_leases_rent (read): The rent schedule provides details (dollar amount, day of the month, etc) of the recurring charges that are applied to the lease ledger each rent cycle. A lease may have more than one rent schedule associated with it if the rent terms change within the duration of the lease.

  • update_leases_rent (write): Updates a rent schedule.

  • get_by_lease_leases_rent (read): The rent schedule provides details (dollar amount, day of the month, etc) of the recurring charges that are applied to the lease ledger each rent cycle. A lease may have more than one rent schedule associated with it if the rent terms change within the duration of the lease.

  • list_all_leases_rent (read): The rent schedule provides details (dollar amount, day of the month, etc) of the recurring charges that are applied to the lease ledger each rent cycle. A lease may have more than one rent schedule associated with it if the rent terms change within the duration of the lease.

Resource leases.rentersinsurance:

  • retrieve_leases_rentersinsurance (read): Retrieves a renters insurance policy.

  • list_all_leases_rentersinsurance (read): Retrieves all renters insurance policies for a lease.

Resource leases.tenants:

  • create_leases_tenants (write): Creates a rental tenant.