Open API, powered by Buildium (v1)

Download OpenAPI specification:Download

Introduction

Welcome!

Welcome to Buildium’s API—a powerful, RESTful programming interface that lets you leverage valuable Buildium data.

Using HTTP requests, you can create integrations with applications that specialize in accounting, lead tracking, and more. Enjoy greater flexibility, transparency, and control over your business!

What's in this Guide?

This guide is full of simple, easy-to-follow instructions that’ll help you use Buildium’s API like a pro.

Topics include:

  • choosing the right resources for your use case
  • making HTTP requests to any resource
  • understanding data and response codes

Getting Started

Excited to get going? We’ll walk you through the setup process.

Note: To take advantage of the Buildium Open API you must have a Premium Subscription.

Account Configuration

Before you can use Buildium’s API, you’ll need to make some tweaks to your account settings.


Enabling the API

In order to start creating your keys and making requests, you’ll need to enable the API.

Tip: You’ll need an administrator user role with access to Application settings to set things up properly.


Let's Begin!

  1. Sign in to your Buildium account from your browser.

  2. Open the Settings menu and click Application settings.

  3. Under System preferences, click Api settings. A modal will appear.

  4. Click the Open API toggle to turn it on. Then click Save.

Congratulations! Your account's enabled. Now, you’re ready to start managing API keys.

If you are having issues enabling the API within your account you can submit a Support request for assistance.


API Keys

Account-level API keys authenticate every request and keep things secure.

API keys have two components: a “client ID” and a “secret”.

  • Client IDs are similar to usernames. They’re used to identify your Buildium account and are safe to share.
  • Secrets are similar to passwords. They must be kept confidential.

Whenever you make a request, you’ll need the API key’s client ID and secret. If you forget it, make a mistake, or try to use information that’s linked to a deleted key, the API will return a 401 response code.

Tip: We compiled a list of best practices that detail how securely store API keys. Give it a read!

Creating API Keys

Now that the Open APi is enabled, you’ll be able to create API keys. You’re almost there!

Tip: You’ll need an administrator user role to complete this step, too.


How to create an API key

  1. Sign in to your Buildium account from your browser.

  2. Open the Settings menu and click Developer Tools. The page will open automatically.

  3. Click the Create API Key button. A modal will appear.

  4. Enter a clear, memorable name and description for your API key. It’ll make it easier to locate the right key when you make a request. Once finished, click Next.

  5. Now, choose which pieces of Buildium data you want this API key to have access to by marking the corresponding checkboxes. Once finished, click Next.

  6. You successfully created an API key!

Important: This is your only chance to record the secret. Make sure it’s stored somewhere secure! If it’s forgotten, you’ll need to delete this key and start from scratch.



You have now successfully created an API key and have everything you need to send requests to the Buildium API!

Before moving on to making your first request please review Keeping your Keys Safe for an overview on securely storing your API keys.

If you are having issues creating API keys you can submit a Support request for assistance.

Keeping API Keys Safe

Based on their permissions, API keys could have full access to your account’s Buildium data. It’s important that you only grant access to trusted applications, securely record secrets, and consider a password manager to stay organized.

  • Avoid hard-coding client IDs and secrets inside source files.
  • Avoid storing client IDs and secrets in any files that may be committed to source control, particularly cloud-based source control platforms.
  • Apply restrictions to client IDs and secrets shared with your staff. You can restrict a key to particular Buildium entities or to read-only access (GET resources only).
  • Avoid sharing client IDs and secrets across public, insecure platforms.
  • Establish a process to regularly recreate your client IDs and secrets from your Buildium account.

How to Make a Request

You’ve done a great job setting up your account, Now, we’ll walk you through how to access your data. It’s very straightforward and should only take a few minutes!

Tip: Looking for the right HTTP client? If you’re just getting started, we recommend Postman.


Let's Get Started!

Step 1: Get Your API Key

If you haven't yet done so, obtain your API key client ID and secret from your Buildium account. Your API key is how the Buildium API authenticates requests and ensures only you can access your data.

See Getting Started for a deeper dive into enabling the API and creating keys.

Step 2: Install a HTTP client

The Buildium API supports any standard HTTP client. If you're looking for a user-friendly HTTP client application, we recommend Postman – it allows you to access the Buildium API without writing code. We’ll use Postman for our example below to demonstrate sending an API request.

Step 3: Make a Sample Request

Let's dive in and make a simple request to get all the Rental Properties in your account. This will confirm your connectivity to our platform and validate the keys you created on our website. Simply follow the instructions below.

  1. Open the Postman application.
  2. Open the verb menu and select GET.
  3. Enter the request endpoint in the field next to GET.
  1. To authenticate the request, enter your client ID and secret respectively in these request headers:
  • x-buildium-client-id
  • x-buildium-client-secret
  • Your full request should look similar to the image below.

  1. Review the parameters of your request on last time. Once finished, click Send.

  2. If successful, you should see a JSON response and a 200 HTTP status code. Voilà! You've connected to the Buildium API.


You now have the knowledge required to make requests for any of our resources.

If you've received an error response please review the JSON response message for a description of how to resolve the issue. You can also see more information about HTTP status codes in the Response Codes section. If you are still having trouble making a request after reviewing these sections please submit a Support request.


API Overview

The Buildium API is built upon standard REST conventions. It's designed to use consistent resource-oriented URLs, accept and return JSON-encoded messages, and use standard HTTP status codes and verbs.

Base URL

The base URL for production environment API requests is: https://api.buildium.com/

The base URL for sandbox environment API requests is: https://apisandbox.buildium.com/

In order to ensure all requests and responses are secure between the API consumer and Buildium servers, requests must be made using the https protocol. Any requests not made with the https protocol will be refused by the Buildium API platform.

Note: URL paths are case-sensitive to stay consistent with common REST standards. If your request doesn’t align with the documented URL path, you’ll receive a 404 response code reminding you of this constraint.

API Versioning

The Buildium API is version controlled. Versioning ensures backwards-incompatible changes to the API don’t impact any existing integrations.

Buildium uses only a major version nomenclature to manage changes. The current version of the Buildium API is version 1. By specifying a version in the resource request URL, you'll get expected responses regardless of future changes to the API. Here's an example of calling version 1 of the retrieve all rentals resource:

https://api.buildium.com/v1/rentals

Any request submitted without the version in the URL path will result in a 404 error response code.

Releasing Changes to the API

The Buildium API will continue to evolve to ensure it meets the needs of our customers. Changes will be defined as either backwards-compatible or backwards-incompatible.

We’ll always provide advance notice for all API releases–regardless of the type of modifications being made.

Backward-compatible Changes

Backward-compatible changes are modifications to the API that shouldn't impact existing integrations. They'll apply to the current version of the API. Simply put: you won’t need to change the version to consume new changes like these.

It's important as you develop against the Buildium API that you ensure these types of changes don't impact your integration. Here's are examples of backward-compatible modifications.

  • Adding new API resources and/or endpoints.
  • Adding new optional request parameters to existing API methods.
  • Adding new properties to existing API responses and non-required properties for request messages.
  • Changing property order in existing API responses.

All backward-compatible changes to the API will be documented in the Changelog.

Backwards-incompatible Changes

When backwards-incompatible changes to the API occur, a new version of the API will be released. You’ll need to update the URL path to consume resources under the new API version.

Backwards-incompatible changes include:

  • Removing a property from a request and/or response message.
  • Changing the name of a property in a message.
  • Adding a required parameter to a request message.
  • Changing existing enumeration values.

New versions of the API will have full reference documentation and an upgrade guide.


Authentication

The Buildium API uses API key’s client IDs and secrets to authenticate requests.

An API key client ID and secret must be passed in every request header using the following parameters:

  • x-buildium-client-id
  • x-buildium-client-secret

Failing to provide both of them in the request header will cause the API to return a 401 HTTP status code.

Note: We currently do not support enabling CORS to access the Buildium API due to the security and authentication mechanisms we have in place to protect your data. Buildium supports authentication through API keys passed in the headers of a request versus a more CORS supported authentication mechanism like oAuth. Our recommendation is to access the Buildium API using server to server communication versus browser to server communication for the safest implementation.

Rate Limiting

Rate limits help us ensure consistent and reliable performance for all users, even during peak loads. That’s why we limit clients to 10 concurrent requests per second.

If your request rate violates that limit, a response code of 429 is returned. Simply retry the request after a short interval (~200ms).

Request Size Limits

The query string for a request is limited to a maximum length of 4096 characters. If the query string exceeds this length, the API will return a 500 HTTP status code.

Bulk Request Options

All top-level API resources support bulk fetches. For instance, you can retrieve all Associations. These resources also allow for filtering criteria. Each resource has descriptions of the filter criteria available.

In addition to filtering, our API gives you the ability to control the returned data’s pagination and the sort order.

Pagination

Endpoints that return result sets allow for pagination using limit and offset request parameters to reduce the amount of data returned.

The limit request parameter will cap the number of results that come back in the response. If you don't specify a limit value, a default of 50 results are returned. The maximum limit value is 1000. If a limit value is specified greater than 1000, it will be overridden to the default to 1000.

The offset request parameter indicates the record position within the resultset to start at when returning the results. The offset is zero-based and is inclusive. If no offset value is submitted it will default to 0.

The total resultset count is returned in the HTTP Header X-Total-Count


Pagination Example

As an example, let's say we make a request to retrieve all rental properties with no paging parameters. Our response indicates in the X-Total-Count header that there are 150 total rental properties. We want to get only the last 50 results so we would submit a request with the offset set to 100 and the limit set to 50.

Note: The limit and offset parameter names are case-sensitive. If they aren't formatted correctly, the API will return a 404 HTTP status code.


Sorting Results

You can specify the sort order of returned data by assigning any property from the returned object to the orderby parameter in the querystring. For example:

orderby=LeaseType

By default, the sort is performed in ascending order. To specify sort order, use "asc" for ascending or "desc" for descending. For example:

orderby=LeaseType desc

Additionally, you can sort by multiple properties by comma separating the properties. For example:

orderby=Rent desc,City asc

In order to avoid potentially getting inconsistent results or missing data when paging, you must sort on a unique property such as Id. If sorting by properties that may not be unique such as Date or Name, a secondary sort on a unique property is necessary to preserve sort order between pages. An example of sorting this way would be:

orderby=Date desc,Id asc

Note: While the orderby parameter is case-sensitive, the properties specified in the orderby value aren't.

Response Codes

The Buildium API supports standard HTTP status codes.

Response Code Description
200 OK Everything worked as expected.
201 Created Everything worked as expected.
202 Accepted Everything worked as expected.
204 No Content Everything worked as expected.
400 Bad Request The request was unacceptable, often due to missing a required parameter.
401 Unauthorized The API client ID and secret weren’t provided or they’re no longer valid. Be sure that the client ID and secret combination are correct and they are still active.
403 Forbidden The API key doesn't have permission to perform the request. This could be due to authorization for the given endpoint or an inability to access given entities within the platform (e.g. properties).
404 Not Found The requested resource doesn't exist.
409 Conflict The request cannot be completed due to an issue that cannot be resolved by changing the input of the request. Resolve the error before trying again.
415 Unsupported Media Type Ensure you have the appropriate content-type header value set on your request. Each resource is documented with media type(s) that are accepted.
429 Too Many Requests Too many requests against the API too quickly. We recommend an exponential backoff of your requests. See more information in Rate Limiting.
500 and above - Server Errors Something went wrong on Buildium's end. Review the JSON response message for more details about the error. These are rare. Excludes 503 responses.
503 Service Unavailable A service you are trying to use is currently either down for maintenance or not functioning correctly, and your request will need to be resubmitted when functionality is restored.

Support

If you are unable to resolve your issue after reviewing the API documentation our support team can assist you. Please fill out the form below and let us know how we can help.

Select your issue


Please include the following information when applicable to your issue:
  • Date & time of API request
  • Full URL used in making the request along with any querystring and/or post parameters
  • HTTP status code (e.g. 500)
  • Response body


API Sandbox

To assist your development efforts Buildium offers a free Sandbox account with your Premium subscription. A sandbox is a development environment that is separate from your production account. Sandboxes duplicate much of the same property management functionality available in your production account and all of the resources available in the Open API. The benefit of the sandbox is that it's isolated from your primary account. This separation ensures that API operations you perform against the sandbox account during development of your integration do not corrupt the data in your production account.

Mock Data

To help you hit the ground running with your development efforts sandbox accounts are provisioned with realistic sample data. This ensures you have data to work with immediately and won’t have to spend time doing data entry. You always have the ability to add more data through the application and the Buildium Open API.

Getting Started

To create a sandbox account follow the steps below.

  1. Sign in to your Buildium account from your browser.

  2. Open the Settings menu and click Developer Tools.

  3. Click the API Sandbox tab.

  4. Click the Create sandbox button. A modal will appear.

  5. Enter the name and email of the person that will be administering the sandbox account. When the sandbox creation process has completed an email will be sent to the email address submitted. This email will provide a link to the sandbox. After all fields have been filled out, click Create.

  6. The provisioning process will now execute. It can take 2 - 3 minutes for the sandbox to be created. The page will automatically refresh with the provisioning status. When it completes you will see the sandbox status is Active along with details about the sandbox including the URL to the account. You can browse back to this page at any time if you need to look up the URL to the sandbox.


  7. Once the sandbox has been created an email will be sent to the address you entered in the "Create sandbox" modal. To complete the activation of the sandbox open the email and click on the "Activate Account". This will allow you to create a password for your account and log into the sandbox.

  8. You are now ready to begin making API requests to your sandbox! Please see Accessing the Sandbox for next steps on how to start making API requests.

Accessing the Sandbox

Once your sandbox is created you can begin to access it through the Open API. Requests are made following all the same versioning, authentication, messages, etc that are used in the production environment with the exception of the base URL. The base URL for the sandbox is:
https://apisandbox.buildium.com/

You can read more about connecting to the API in the API Overview section.

Once you have completed your development and testing against the sandbox and you're ready to start using the integration in your production account simply change the base URL in your integration to the production API URL.

Sandbox Account Restrictions

The core Buildium functionality is available in the sandbox environment, however there are some restrictions which include:

  1. Add-on services, ePay and other paid services will not be available.
  2. A maximum of 1500 units (rentals and associations) can be created within the sandbox.
  3. A maximum of 50 rental tenants per lease can be created within the sandbox.
  4. Communication emails will not be sent out. This protects you from inadvertently sending emails to your test accounts.

FAQs

How many sandboxes can I create?

The Premium subscription plan allows you to create one sandbox.

Can I use my production keys to access my sandbox?

No. To ensure you are accessing the correct environment the API keys are restricted to the environment they were created in.

What is the throttle limit on requests to the sandbox?

A sandbox account is limited to 10 concurrent requests per second.

Can I reset sandbox data to its original state?

Resetting sandbox data is not supported at this time.

Can I delete a sandbox?

You cannot delete a sandbox at this time. Closing your account or changing subscription plans will delete your sandbox and it will be no longer accessible.

Can I delete the sandbox data?

Yes, you can manually delete records by logging into the web application.

Why do I see an error when I try to access add-on functionality like ePayments?

Certain functionality is restricted in the sandbox environment. Please see Sandbox Account Restrictions for an overview of these limitations.

Webhooks

Buildium webhooks allow your remote applications to listen for events within your Buildium account and react to those events in near real-time!

To implement webhooks you need to register a callback URL to your web server for the events you want to capture. Then Builidum will send notifications to that URL when the events occur making syncing data and automating workflows a breeze.

As an example, let’s say you’ve registered a callback to your application to receive “Lease Created” events. When a user within your Buildium account creates a new lease then a webhook callback from Buildium informs your app about this new lease. After your application receives the event it can then execute actions such as creating tasks to clean the apartment and change the locks.

Another advantage of using webhooks is that they allow your applications to respond to events in Buildium in near real time. Having events pushed to your platform as they happen is like calling the API every second to ask “Was a lease created”?

The diagram below illustrates how your application would integrate with Buildium webhooks.

Webhook Events Overview

Event notifications are Buildium’s way of letting you know when something interesting happens in your account. When a subscribed event occurs a new Event object is created and sent to your endpoint as part of a HTTPS POST request.

Event objects are simple data structures with fields that describe the entity and the event that occurred. The object will have the following fields:

Field Description
EventName This value indicates the entity and operation that occurred.
EventDateTime The date and time that the operation occurred. The value is in UTC and formatted as YYYY-MM-DDTHH:MM:SSSSSSSZ.
AccountId Your Buildium account identifier. This is used to distinguish between accounts if you have configured webhook callbacks across multiple Buildium accounts to the same endpoint.
Entity Identifier(s) These field(s) constitute the identifier of the entity. Use these values to query the Buildium Open API for the full entity data.

Here is an example of an Event object, serialized as JSON, when a rental property has been updated:

{
"EventName": "Rental.Updated",
"EventDateTime": "2022-05-10T15:12:46.2317653Z",
"AccountId": 123456,
"PropertyId": 23
}

Note that the EventName is a constant value that can be used to determine the entity and the operation that triggered the event. This value is concatenation of the entity name and operation separated by a period. For example, if a rental property was updated the EventName value would be: Rental.Updated.

The event identifiers included in the Event object will provide the data necessary to query the Buildium Open API and retrieve the full entity.

The Webhook Events section below lists all of the available entities and their corresponding events that can be subscribed to. The grid also includes the EventName constants and sample JSON for each entity.

Receiving Callbacks

To take advantage of webhooks you’ll need to establish an endpoint that our Buildium servers can make a request to whenever the data you’re interested in changes. You can use one endpoint to handle several different event types at once or set up individual endpoints for specific events.

Your endpoint must be implemented to support the following:

  • HTTPS protocol
  • Be publicly available
  • POST requests that consist of a JSON formatted payload sent as raw body type and a Content-Type of application/json.

When receiving webhook callbacks it is important that your endpoint responds promptly. If Buildium doesn’t receive a response within 10 seconds the callback is considered unsuccessful. As a best practice your endpoint should return a response prior to executing any complex logic to ensure a response within the 10 second duration. Any HTTP response code from your endpoint other than a 2XX is also considered an unsuccessful request. Buildium will retry unsuccessful events on the following intervals:

  1. 1 minute
  2. 10 minutes
  3. 1 hour

If a callback for an event is unsuccessful after all three attempts Buildium will stop attempting to send the event message.

The webhook subscription will be suspended if there 20 consecutive failed attempts to send events to the URL. Upon suspension an email will be sent notifying you that the subscription has been paused. You can troubleshoot issues and enable the webhook by browsing to Settings > Developer Tools > Webhooks. The email is sent to the contact email address that is set when the webhook subscription is created or updated.

As you develop the callback endpoint you can use the JSON examples found in the webhook event grid to generate the mock payloads for testing. Once you are able to successfully receive the event callback you should implement a signature check to ensure the authenticity of of the request.

Signature Checks

It is strongly recommended that you validate webhook event signatures in your application to ensure that the request came from Buildium and not a bad actor attempting to impersonate Buildium, alter event messages after they have been sent, or perform replay attacks. While validating the request isn’t required to read the payload, it is strongly recommended to ensure the authenticity of the request and ensure the overall security and data integrity of your application.

All webhook callback requests include the signature and a timestamp in the HTTP headers.

HTTP Header Description
buildium-webhook-timestamp A UNIX timestamp of when the message was sent. NOTE: This is not the time the event occurred within the system, but rather the time the event was sent.
buildium-webhook-signature A computed signature using the secret key that can be used to verify that the request came from Buildium. The secret key is generated when the webhook subscription is created.

The signature is a concatenation of the timestamp value and the event message hashed by a secret key. The secret key is generated for you when creating webhook subscriptions. It is important to keep this key stored safely as you would with any other credentials.

The following steps outline how to use the secret key, the event message and the HTTP header values to verify the request:

  1. Concatenate the value of the buildium-webhook-timestamp header with the body of the event with a period character in between the two values. The body of the event must have all newlines removed and not contain spaces after the colon between property names and values. For example
    {
      "EventName": "Rental.Created",
      "EventDateTime": "2022-12-22T16:18:20.876772Z",
      "AccountId": 123456,
      "PropertyId": 78910
    }
    
    would be passed into your verification method as:
    {"EventName":"Rental.Created","EventDateTime":"2022-12-22T16:18:20.876772Z","AccountId":123456,"PropertyId":78910}
    
  2. Hash the concatenated string using the HMACSHA256 algorithm setting the webhook secret key as the algorithm key.
  3. Convert the resulting hash bytes to a base64 string.
  4. Compare the base64 string to the value of the buildium-webhook-signature header. If the values match with a case sensitive comparison, the message has been validated to have come from Buildium.

Sample Validation Code (C#)

private static bool ClientSideValidate(
string eventNotificationMessage, 
string timestamp, 
string signature)
{
   var signedPayload = $"{timestamp}.{eventNotificationMessage}";
   var hasher = new HMACSHA256(Encoding.UTF8.GetBytes(m_secretKey));
   var computedHash = hasher.ComputeHash(Encoding.UTF8.GetBytes(signedPayload));
   var computedHashString = Convert.ToBase64String(computedHash);

   return computedHashString.Equals(signature);
}

Once you’ve successfully validated the message you can begin to process it with confidence it came from the Buildium platform and has not been altered after it has been sent.

To test your validation logic you can generate requests to your URL with headers you generate using the similar logic you created for validating the values.

Webhook Creation

Once your endpoint is ready to be tested end to end you will need to create a webhook subscription in your Buildium account. The subscription can be created by browsing to Settings > Developer Tools > Webhooks and then clicking the “Add webhook” button.

Once you’ve configured a new webhook, events will be sent to your endpoint as they are triggered within the account. So all you have to do is execute the action you want to test. You can expect webhook callbacks to your endpoint to fire within a few seconds to a few minutes from the event occurring in the Buildium platform. To determine if the events have been sent and/or see the resulting response from your platform you can view the webhook subscription event history page.

We strongly suggest you test your webhooks in your Buildium API sandbox account to ensure you don’t corrupt data in your production account. Once the integration is fully tested you can register the webhook in your production account.

NOTE: Due to our current security policies we do not support webhook callbacks to the Ngrok platform. We understand Ngrok can be useful for testing local webhook development and we hope to be able to support that platform safely and securely soon. In the meantime, we recommend using other websites and tools that can capture the webhook event HTTP request payload and headers and replay it manually on your local machine with a tool such as Postman.

Best Practices

  • Be sure to validate the signature on all incoming requests and consider rolling your secret keys on a regular basis. A new secret key can be generated by clicking the "Generate key" link next to the current secret key value when updating the webhook subscription.
  • Your webhook endpoints should be configured to receive only the types of events required by your integration. Listening for extra events (or all events) will put undue strain on your server and is not recommended.
  • Be sure your platform can handle duplicate events correctly. We do our best to ensure an event is only sent one time, but due to the distributed nature of the process we can not make any guarantees. We advise you to guard against duplicated event receipts by making your event processing idempotent. One way of doing this is logging the events you’ve processed, and then not processing already-logged events.
  • Buildium does not guarantee delivery of events in the order in which they are generated within the platform. For example, creating a lease might generate the following events - Lease.Created, Tenant.Created. Your endpoint shouldn’t expect delivery of these events in this order and should handle this accordingly. You can use the API to fetch any missing data. For example, you can fetch the lease resource using the information from tenant if you happen to receive that event first.

Webhook Events

The grid below details the available webhooks events along with their EventName and JSON message schema.

Applicants Applicant.Created
Applicant.Updated
Applicant.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  ApplicantId: [integer]
}
Applicant Applications ApplicantApplication.Created
ApplicantApplication.Updated
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  ApplicantId: [integer]
  ApplicationId: [integer]
}
Application Transactions Application.Transaction.Created
Application.Transaction.Updated
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  ApplicationId: [integer],
  TransactionId: [integer],
  TransactionType: [string],
}
Association Board Members AssociationBoardMember.Created
AssociationBoardMember.Updated
AssociationBoardMember.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  BoardMemberId: [integer]
}
Associations Association.Created
Association.Updated
Association.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  PropertyId: [integer]
}
Association Meter Readings Association.MeterReading.Created
Association.MeterReading.Updated
Association.MeterReading.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  PropertyId: [integer],
  ReadingDate: [date],
  MeterType: [string]
}
Association Owners AssociationOwner.Created
AssociationOwner.Updated
AssociationOwner.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  OwnerId: [integer]
}
Association Ownership Account Transactions OwnershipAccountTransaction.Created
OwnershipAccountTransaction.Updated
OwnershipAccountTransaction.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  TransactionId: [integer],
  TransactionType: [string]
}
Association Ownership Accounts OwnershipAccount.Created
OwnershipAccount.Updated
OwnershipAccount.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  OwnershipAccountId: [integer]
}
Association Tenants AssociationTenant.Created
AssociationTenant.Updated
AssociationTenant.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  TenantId: [integer]
}
Association Units AssociationUnit.Created
AssociationUnit.Updated
AssociationUnit.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  UnitId: [integer]
}
Bank Accounts BankAccount.Created
BankAccount.Updated
BankAccount.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  BankAccountId: [integer]
}
Bank Account Transactions BankAccount.Transaction.Created
BankAccount.Transaction.Updated
BankAccount.Transaction.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  BankAccountId: [integer],
  TransactionId: [integer],
  TransactionType: [string]
}
Bills Bill.Created
Bill.Updated
Bill.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  BillId: [integer]
}
Bill Payments Bill.Payment.Created
Bill.Payment.Updated
Bill.Payment.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  PaymentId: [integer]
  BillIds: [
   [integer]
  ]
}
Budgets Budget.Created
Budget.Updated
Budget.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  BudgetId: [integer]
}
General Ledger Accounts GLAccount.Created
GLAccount.Updated
GLAccount.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  GLAccountId: [integer]
}
Integrations Installation.Created
Installation.Updated
Installation.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  IntegrationName: [string]
}
Lease Move Outs Lease.MoveOut.Created {
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  LeaseId: [integer],
  TenantId: [integer]
}
Lease Tenants LeaseTenant.Created
LeaseTenant.Updated
LeaseTenant.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  TenantId: [integer]
}
Lease Transactions LeaseTransaction.Created
LeaseTransaction.Updated
LeaseTransaction.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  TransactionId: [integer],
  TransactionType: [string]
}
Leases Lease.Created
Lease.Updated
Lease.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  LeaseId: [integer]
}
Listings Listing.Created
Listing.Updated
Listing.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  UnitId: [integer]
}
Phone Logs PhoneLog.Created
PhoneLog.Updated
PhoneLog.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  PhoneLogId: [integer]
}
Rental Meter Readings Rental.MeterReading.Created
Rental.MeterReading.Updated
Rental.MeterReading.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  PropertyId: [integer],
  ReadingDate: [date],
  MeterType: [string]
}
Rental Properties Rental.Created
Rental.Updated
Rental.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  PropertyId: [integer]
}
Rental Units RentalUnit.Created
RentalUnit.Updated
RentalUnit.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  UnitId: [integer]
}
Task Categories TaskCategory.Created
TaskCategory.Updated
TaskCategory.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  TaskCategoryId: [integer]
}
Task History Task.History.Created
Task.History.Updated
Task.History.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  TaskId: [integer],
  TaskHistoryId: [integer],
}
Tasks Task.Created
Task.Updated
Task.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  TaskId: [integer],
  TaskType: [string]
}
Vendor Categories VendorCategory.Created
VendorCategory.Updated
VendorCategory.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  VendorCategoryId: [integer]
}
Vendors Vendor.Created
Vendor.Updated
Vendor.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  VendorId: [integer]
}
Vendor Transactions Vendor.Transaction.Created
Vendor.Transaction.Updated
Vendor.Transaction.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  TransactionId: [integer]
  TransactionType: [string]
  VendorId: [integer]
}
Work Orders WorkOrder.Created
WorkOrder.Updated
WorkOrder.Deleted
{
  EventName: [string],
  EventDateTime: [datetime],
  AccountId: [integer],
  WorkOrderId: [integer]
}

Changelog

2026-03-17

API Updates

2026-02-17

API Updates

2025-11-18

API Updates

2025-07-15

API Updates

2025-05-20

API Updates

2025-04-17

API Updates

Webhook Updates

  • New webhook events have been added for the following resources:
    • Application transactions (created and updated).

2025-02-24

API Updates

2025-02-18

API Updates

2025-01-21

  • Added guidance on including secondary sorts on unique properties to preserve sort order when paginating to the bulk request options section.

2024-12-17

API Updates

2024-11-19

API Updates

2024-09-17

API Updates

2024-08-20

API Updates

  • Accounts receivable, accounts payable, undeposited funds, and bank account ids can no longer be used in lines when creating or updating checks. Doing so will result in a 422 Unprocessible Entity result.
  • The following template ids can no longer be used when sending an email. Doing so will result in a 422 Unprocessible Entity result.
    • 1 (Tenant Statement)
    • 2 (Homeowner Statement)
    • 3 (Rental Owner Statement)
    • 123 (Association Tenant Invoice)
    • 124 (Rental Tenant Invoice)
  • UnitIds is available as a filter option for retrieving all tenants.
  • LastUpdatedDateTime has been added to applicant resources.
  • LastUpdatedFrom and LastUpdatedTo are available as filter options for retrieving all applicants.
  • PrimaryAddress, AlternateAddress, and MailingPreference have been added to association owner resources when retrieving all association lockbox data.

2024-07-16

API Updates

2024-06-18

API Updates

2024-05-21

Webhook Updates

  • New webhook events have been added for the following resource:
    • Task history

2024-04-23

API Updates

  • UserType has been added to the CreatedByUser and LastUpdatedByUser properties for task history resources.

2024-04-16

API Updates

  • General ledger transaction resources can now be filtered by LastUpdatedFrom and LastUpdatedTo.
  • LastUpdatedDateTime has been added to general ledger transaction resources.
  • The ability to update a deposit withholding has been released.
  • We have released our first PATCH endpoint! PATCH allows for partial updates of resources without having to provide an entire resource representation in a PUT.
    • Our first PATCH endpoint provides the ability to Update a bill.

2024-03-19

API Updates

2024-02-20

API Updates

2024-01-23

API Updates

2023-12-12

API Updates

  • File sharing resources have been released:
  • TransactionTypeEnum has been added as a property to lease and ownership account transaction response resources.
  • MoveInDate has been added as a property to each resource in the Tenants property of a lease resource.

2023-11-14

API Updates

  • The ability to set sharing options while creating a resident request task has been released.
  • AccountNumberUnmasked has been added as a property to bank account response resources.
  • DelinquencyStatus has been added as a property to each Ownership Account in the response for association lockbox data response resources.

2023-10-17

API Updates

2023-09-19

API Updates

2023-08-16

API Updates

2023-07-18

API Updates

Webhook Updates

  • New webhook events have been added for the following resources:
    • Vendor transactions

2023-06-20

API Updates

2023-05-16

API Updates

2023-04-18

API Updates

2023-03-21

API Updates

2023-02-21

API Updates

2022-12-13

API Updates

2022-11-15

API Updates

2022-10-18

API Updates

Webhook Updates

  • New webhook events have been added for the following resources:
    • Bank Accounts
    • Bank Account Transactions
    • Bills
    • Bill Payments
    • Budgets
    • General Ledger Accounts
    • Phone logs

2022-09-20

API Updates

Webhook Updates

  • Webhooks have been released! Please refer to the Webhooks section of the documentation for more details.

2022-08-16

API Updates

2022-07-19

API Updates

2022-06-14

API Updates

2022-05-24

API Updates

2022-04-19

API Updates

  • Preferred vendor capabilities have been released including:
    • The ability to retrieve and update preferred vendors for associations.
    • The ability to retrieve and update preferred vendors for rental properties.

2022-03-22

API Updates

2022-02-15

API Updates

  • Additional rental data is now available including:
  • Additional applicant capabilities are available including:
    • The ability to retrieve and create applicant notes.
    • When an applicant is converted to a tenant a new TenantId field on the applicant message will link the two resources.
    • The ability to filter the Retrieve all Applicants endpoint by email address.
  • The ability to retrieve file metadata as well as upload and download files related to the following resources - Accounts, Associations, Association Owners, Association Units, Leases, Ownership Accounts, Public Assets, Rentals, Rental Owners, RentalUnits, Tenants and Vendors.

2022-01-18

API Updates

  • Additional association data is now available including:
    • The ability retrieve, create and delete association board members.
    • Association fiscal month and day can now be retrieved and updated as part of the Association endpoints.
    • Staff members can now be assigned as the association manager for a given association.
  • Additional association owner data is now available including:
    • Association owner occupancy status can be retrieved and updated.
    • Association owner tax payer identification number can be retrieved and updated as part of the association owner endpoints.
    • The date and time the association owner record was created is now being returned in the response payload.
  • Additional association tenant features are now available including:
    • The ability to set the move out date.
    • The date and time the association tenant record was created is now being returned in the response payload.
  • Updating bills now includes the ability to edit line items.
  • The ability to retrieve client leads has been introduced. Note, this data is only available if you have an All Property Management account.

2021-12-14

API Updates

  • Additional bank account endpoints have been added to retrieve, create and update bank accounts and bank account transactions.

2021-11-16

API Updates

2021-10-19

API Updates

2021-09-21

API Updates

2021-08-24

API Updates

2021-07-20

API Updates

2021-06-22

API Updates

  • Bill and bill payment resources have been released. These new endpoints will support retrieve, create and update functionality for bills and retrieve functionality for bill payments. Creating and updating bill payments will be available in a future release.
  • Rental applicant, applicant groups and application read capabilities have been released. These new endpoints will support retrieving rental applicants, applicant groups and their rental applications. Creating and updating applicants and applicant groups will be available in a future release.
  • Rental leases can now be filtered by the date and time they were created. The lease created date and time are also being returned as part of the lease response message.

2021-05-18

API Updates

2021-04-20

API Updates

  • Task resources have been released. These new endpoints will support retrieve, create and update functionality for all task request types. Review the Tasks documentation for more information.
  • Vendor create and update capabilities have been released. These new endpoints will support creating and updating vendors.

2021-02-16

API Updates

  • Phone log resources have been released. These new endpoints will support create, update and retrieve functionality for phone logs.
  • Enhancements to the leases resource have been released. These new endpoints will support create and update functionality for leases.
  • Ability to filter by phone has been released for the following:

2020-12-15

API Updates

  • Rental listing resources have been released. These new endpoints will support create and retrieve functionality for:

2020-11-17

API Updates

2020-10-20

API Updates

Feature Enhancements

  • Sandbox environments can now be created for developing and testing your integrations. Learn more about how to take advantage of this new capability in the API Sandbox section of the documentation.

2020-09-15

API Updates

  • General ledger account balances are now available through the Retrieve all general ledger account balances endpoint. This new endpoint provides the ability to retrieve the general ledger account balances as of a given date.

2020-08-18

API Updates

  • General ledger transactions are now available through the Retrieve all general ledger transactions endpoint. These new endpoints provide the ability to retrieve all transactions or use a set of filters including specific rental/association properties, rental owners, date ranges, and others to find specific transactions.

2020-07-21

API Updates

  • Association Owners response message now returns board member terms including the start date, end date and position.
  • Two new resources were added to retrieve Users and User Roles.
  • The general ledger response message now includes the property IsBankAccount. This is a boolean property that indicates whether the general ledger account is also a bank account.
  • A Country property has been added to all Address messages. This property contains an enumeration indicating the country of the address.

Bank Accounts

Bank account resources provide access to bank accounts.

Retrieve all bank accounts

Retrieves a list of bank accounts.

Required permission(s):

Accounting > Bank Accounts - `View`
query Parameters
bankaccountstatus
string
Enum: "Active" "InActive"
bankname
string
routingnumbers
Array of strings
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a bank account

Creates a bank account.

Required permission(s):

Accounting > Banking - `View` `Edit`
Request Body schema: application/json
object or null
Name
required
string non-empty
Description
string or null
BankAccountType
required
string
Enum: "Checking" "Savings"
Country
required
string
Enum: "Afghanistan" "Akrotiri" "Albania" "Algeria" "AmericanSamoa" "Andorra" "Angola" "Anguilla" "Antarctica" "AntiguaandBarbuda" "Argentina" "Armenia" "Aruba" "AshmoreandCartierIslands" "Australia" "Austria" "Azerbaijan" "Bahamas" "Bahrain" "Bangladesh" "Barbados" "BassasdaIndia" "Belarus" "Belgium" "Belize" "Benin" "Bermuda" "Bhutan" "Bolivia" "BosniaandHerzegovina" "Botswana" "BouvetIsland" "Brazil" "BritishIndianOceanTerritory" "BritishVirginIslands" "Brunei" "Bulgaria" "BurkinaFaso" "Burma" "Burundi" "Cambodia" "Cameroon" "Canada" "CapeVerde" "CaymanIslands" "CentralAfricanRepublic" "Chad" "Chile" "China" "ChristmasIsland" "ClippertonIsland" "CocosIslands" "Colombia" "Comoros" "DemocraticRepublicOfTheCongo" "RepublicOfTheCongo" "CookIslands" "CoralSeaIslands" "CostaRica" "CotedIvoire" "Croatia" "Cuba" "Cyprus" "CzechRepublic" "Denmark" "Dhekelia" "Djibouti" "Dominica" "DominicanRepublic" "Ecuador" "Egypt" "ElSalvador" "EquatorialGuinea" "Eritrea" "Estonia" "Ethiopia" "EuropaIsland" "FalklandIslands" "FaroeIslands" "Fiji" "Finland" "France" "FrenchGuiana" "FrenchPolynesia" "FrenchSouthernandAntarcticLands" "Gabon" "Gambia" "GazaStrip" "Georgia" "Germany" "Ghana" "Gibraltar" "GloriosoIslands" "Greece" "Greenland" "Grenada" "Guadeloupe" "Guam" "Guatemala" "Guernsey" "Guinea" "GuineaBissau" "Guyana" "Haiti" "HeardIslandandMcDonaldIslands" "VaticanCity" "Honduras" "HongKong" "Hungary" "Iceland" "India" "Indonesia" "Iran" "Iraq" "Ireland" "IsleofMan" "Israel" "Italy" "Jamaica" "JanMayen" "Japan" "Jersey" "Jordan" "JuandeNovaIsland" "Kazakhstan" "Kenya" "Kiribati" "NorthKorea" "SouthKorea" "Kuwait" "Kyrgyzstan" "Laos" "Latvia" "Lebanon" "Lesotho" "Liberia" "Libya" "Liechtenstein" "Lithuania" "Luxembourg" "Macau" "Macedonia" "Madagascar" "Malawi" "Malaysia" "Maldives" "Mali" "Malta" "MarshallIslands" "Martinique" "Mauritania" "Mauritius" "Mayotte" "Mexico" "Micronesia" "Moldova" "Monaco" "Mongolia" "Montserrat" "Morocco" "Mozambique" "Namibia" "Nauru" "NavassaIsland" "Nepal" "Netherlands" "NetherlandsAntilles" "NewCaledonia" "NewZealand" "Nicaragua" "Niger" "Nigeria" "Niue" "NorfolkIsland" "NorthernMarianaIslands" "Norway" "Oman" "Pakistan" "Palau" "Panama" "PapuaNewGuinea" "ParacelIslands" "Paraguay" "Peru" "Philippines" "PitcairnIslands" "Poland" "Portugal" "PuertoRico" "Qatar" "Reunion" "Romania" "Russia" "Rwanda" "SaintHelena" "SaintKittsandNevis" "SaintLucia" "SaintPierreandMiquelon" "SaintVincentandtheGrenadines" "Samoa" "SanMarino" "SaoTomeandPrincipe" "SaudiArabia" "Senegal" "SerbiaandMontenegro" "Seychelles" "SierraLeone" "Singapore" "Slovakia" "Slovenia" "SolomonIslands" "Somalia" "SouthAfrica" "SouthGeorgiaandtheSouthSandwichIslands" "Spain" "SpratlyIslands" "SriLanka" "Sudan" "Suriname" "Svalbard" "Swaziland" "Sweden" "Switzerland" "Syria" "Taiwan" "Tajikistan" "Tanzania" "Thailand" "TimorLeste" "Togo" "Tokelau" "Tonga" "TrinidadandTobago" "TromelinIsland" "Tunisia" "Turkey" "Turkmenistan" "TurksandCaicosIslands" "Tuvalu" "Uganda" "Ukraine" "UnitedArabEmirates" "UnitedKingdom" "UnitedStates" "Uruguay" "Uzbekistan" "Vanuatu" "Venezuela" "Vietnam" "VirginIslands" "WakeIsland" "WallisandFutuna" "WestBank" "WesternSahara" "Yemen" "Zambia" "Zimbabwe"
AccountNumber
string or null
RoutingNumber
string or null

Responses

Request samples

Content type
application/json
{
  • "CheckPrintingInfo": {
    },
  • "Name": "string",
  • "Description": "string",
  • "BankAccountType": "Checking",
  • "Country": "Afghanistan",
  • "AccountNumber": "string",
  • "RoutingNumber": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "GLAccount": {
    },
  • "CheckPrintingInfo": {
    },
  • "ElectronicPayments": {
    },
  • "Name": "string",
  • "Description": "string",
  • "BankAccountType": "string",
  • "Country": "Afghanistan",
  • "AccountNumber": "string",
  • "RoutingNumber": "string",
  • "IsActive": true,
  • "Balance": 0,
  • "AccountNumberUnmasked": "string"
}

Retrieve a bank account

Retrieves a specific bank account.

Required permission(s):

Accounting > Bank Accounts - `View`
path Parameters
bankAccountId
required
integer <int32>

The bank account identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "GLAccount": {
    },
  • "CheckPrintingInfo": {
    },
  • "ElectronicPayments": {
    },
  • "Name": "string",
  • "Description": "string",
  • "BankAccountType": "string",
  • "Country": "Afghanistan",
  • "AccountNumber": "string",
  • "RoutingNumber": "string",
  • "IsActive": true,
  • "Balance": 0,
  • "AccountNumberUnmasked": "string"
}

Update a bank account

Updates a bank 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.

Required permission(s):

Accounting > Banking - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
Request Body schema: application/json
required
object
Name
required
string non-empty
Description
string or null
BankAccountType
required
string
Enum: "Checking" "Savings"
Country
required
string
Enum: "Afghanistan" "Akrotiri" "Albania" "Algeria" "AmericanSamoa" "Andorra" "Angola" "Anguilla" "Antarctica" "AntiguaandBarbuda" "Argentina" "Armenia" "Aruba" "AshmoreandCartierIslands" "Australia" "Austria" "Azerbaijan" "Bahamas" "Bahrain" "Bangladesh" "Barbados" "BassasdaIndia" "Belarus" "Belgium" "Belize" "Benin" "Bermuda" "Bhutan" "Bolivia" "BosniaandHerzegovina" "Botswana" "BouvetIsland" "Brazil" "BritishIndianOceanTerritory" "BritishVirginIslands" "Brunei" "Bulgaria" "BurkinaFaso" "Burma" "Burundi" "Cambodia" "Cameroon" "Canada" "CapeVerde" "CaymanIslands" "CentralAfricanRepublic" "Chad" "Chile" "China" "ChristmasIsland" "ClippertonIsland" "CocosIslands" "Colombia" "Comoros" "DemocraticRepublicOfTheCongo" "RepublicOfTheCongo" "CookIslands" "CoralSeaIslands" "CostaRica" "CotedIvoire" "Croatia" "Cuba" "Cyprus" "CzechRepublic" "Denmark" "Dhekelia" "Djibouti" "Dominica" "DominicanRepublic" "Ecuador" "Egypt" "ElSalvador" "EquatorialGuinea" "Eritrea" "Estonia" "Ethiopia" "EuropaIsland" "FalklandIslands" "FaroeIslands" "Fiji" "Finland" "France" "FrenchGuiana" "FrenchPolynesia" "FrenchSouthernandAntarcticLands" "Gabon" "Gambia" "GazaStrip" "Georgia" "Germany" "Ghana" "Gibraltar" "GloriosoIslands" "Greece" "Greenland" "Grenada" "Guadeloupe" "Guam" "Guatemala" "Guernsey" "Guinea" "GuineaBissau" "Guyana" "Haiti" "HeardIslandandMcDonaldIslands" "VaticanCity" "Honduras" "HongKong" "Hungary" "Iceland" "India" "Indonesia" "Iran" "Iraq" "Ireland" "IsleofMan" "Israel" "Italy" "Jamaica" "JanMayen" "Japan" "Jersey" "Jordan" "JuandeNovaIsland" "Kazakhstan" "Kenya" "Kiribati" "NorthKorea" "SouthKorea" "Kuwait" "Kyrgyzstan" "Laos" "Latvia" "Lebanon" "Lesotho" "Liberia" "Libya" "Liechtenstein" "Lithuania" "Luxembourg" "Macau" "Macedonia" "Madagascar" "Malawi" "Malaysia" "Maldives" "Mali" "Malta" "MarshallIslands" "Martinique" "Mauritania" "Mauritius" "Mayotte" "Mexico" "Micronesia" "Moldova" "Monaco" "Mongolia" "Montserrat" "Morocco" "Mozambique" "Namibia" "Nauru" "NavassaIsland" "Nepal" "Netherlands" "NetherlandsAntilles" "NewCaledonia" "NewZealand" "Nicaragua" "Niger" "Nigeria" "Niue" "NorfolkIsland" "NorthernMarianaIslands" "Norway" "Oman" "Pakistan" "Palau" "Panama" "PapuaNewGuinea" "ParacelIslands" "Paraguay" "Peru" "Philippines" "PitcairnIslands" "Poland" "Portugal" "PuertoRico" "Qatar" "Reunion" "Romania" "Russia" "Rwanda" "SaintHelena" "SaintKittsandNevis" "SaintLucia" "SaintPierreandMiquelon" "SaintVincentandtheGrenadines" "Samoa" "SanMarino" "SaoTomeandPrincipe" "SaudiArabia" "Senegal" "SerbiaandMontenegro" "Seychelles" "SierraLeone" "Singapore" "Slovakia" "Slovenia" "SolomonIslands" "Somalia" "SouthAfrica" "SouthGeorgiaandtheSouthSandwichIslands" "Spain" "SpratlyIslands" "SriLanka" "Sudan" "Suriname" "Svalbard" "Swaziland" "Sweden" "Switzerland" "Syria" "Taiwan" "Tajikistan" "Tanzania" "Thailand" "TimorLeste" "Togo" "Tokelau" "Tonga" "TrinidadandTobago" "TromelinIsland" "Tunisia" "Turkey" "Turkmenistan" "TurksandCaicosIslands" "Tuvalu" "Uganda" "Ukraine" "UnitedArabEmirates" "UnitedKingdom" "UnitedStates" "Uruguay" "Uzbekistan" "Vanuatu" "Venezuela" "Vietnam" "VirginIslands" "WakeIsland" "WallisandFutuna" "WestBank" "WesternSahara" "Yemen" "Zambia" "Zimbabwe"
AccountNumber
string or null
RoutingNumber
string or null

Responses

Request samples

Content type
application/json
{
  • "CheckPrintingInfo": {
    },
  • "Name": "string",
  • "Description": "string",
  • "BankAccountType": "Checking",
  • "Country": "Afghanistan",
  • "AccountNumber": "string",
  • "RoutingNumber": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "GLAccount": {
    },
  • "CheckPrintingInfo": {
    },
  • "ElectronicPayments": {
    },
  • "Name": "string",
  • "Description": "string",
  • "BankAccountType": "string",
  • "Country": "Afghanistan",
  • "AccountNumber": "string",
  • "RoutingNumber": "string",
  • "IsActive": true,
  • "Balance": 0,
  • "AccountNumberUnmasked": "string"
}

Retrieve all checks

Retrieves all bank account checks.

Required permission(s):

Accounting > Bank Accounts - `View`

Accounting > General Ledger Transactions - View (Required for checks associated with a Company)

path Parameters
bankAccountId
required
integer <int32>
query Parameters
startdate
required
string <date>
enddate
required
string <date>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a check

Creates a check.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
Request Body schema: application/json
required
object
CheckNumber
string or null
EntryDate
required
string <date>
Memo
string or null
required
Array of objects (BankAccountCheckLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Payee": {
    },
  • "CheckNumber": "string",
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Payee": {
    },
  • "CheckNumber": "string",
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Retrieve a check

Retrieves a bank account check.

Required permission(s):

Accounting > Bank Accounts - `View`

Accounting > General Ledger Transactions - View (Required for checks associated with a Company)

path Parameters
bankAccountId
required
integer <int32>
checkId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Payee": {
    },
  • "CheckNumber": "string",
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Update a check

Updates a check.

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.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
checkId
required
integer <int32>
Request Body schema: application/json
required
object
CheckNumber
string or null
EntryDate
required
string <date>
Memo
string or null
required
Array of objects (BankAccountCheckLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Payee": {
    },
  • "CheckNumber": "string",
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Payee": {
    },
  • "CheckNumber": "string",
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Retrieve all files for a check

Retrieves the metadata for all files associated to the specified check.

Required permission(s):

Accounting > Bank Accounts - `View`

Accounting > General Ledger Transactions - View (Required for checks associated with a Company)

path Parameters
bankAccountId
required
integer <int32>
checkId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a file for a check

Retrieves the metadata for a specific file associated with the specified check.

Required permission(s):

Accounting > Bank Accounts - `View`

Accounting > General Ledger Transactions - View (Required for checks associated with a Company)

path Parameters
bankAccountId
required
integer <int32>
checkId
required
integer <int32>
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Title": "string",
  • "PhysicalFileName": "string",
  • "Size": 0,
  • "ContentType": "string",
  • "UploadedDateTime": "2019-08-24T14:15:22Z"
}

Delete a file for a check

Deletes a file for a check

Required permission(s):

Accounting > BankAccounts - `View` `Edit` `Delete`

Accounting > General Ledger Transactions - View (Required for checks associated with a Company)

path Parameters
bankAccountId
required
integer <int32>
checkId
required
integer <int32>
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Download a file for a check

Downloads a specific file associated to the check.

Required permission(s):

Accounting > Bank Accounts - `View`

Accounting > General Ledger Transactions - View (Required for checks associated with a Company)

path Parameters
bankAccountId
required
integer <int32>
checkId
required
integer <int32>
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "DownloadUrl": "string"
}

Upload a file for a check

Uploads a file and associates it to the specified check 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/bankaccounts/{bankAccountId}/checks/{checkId}/files/uploads. The response of this call will contain an upload URL and a collection of headers 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 PUT request to the Buildium file provider. Follow these steps to create the request:

  1. Form a PUT request using the value of the UploadUrl property as the URL.

  2. Set the Content-Type header to application/octet-stream.

  3. Copy the fields from the Headers property to this request as header key/value pairs.

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

  1. Lastly create the body of the request with the file binary.

  2. Send the PUT request! A successful request will return with a 200 - OK 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.

Required permission(s):

Accounting > Checks - `View` `Edit` Accounting > General Ledger Transactions - `View` (Required for checks associated with a Company)
path Parameters
bankAccountId
required
integer <int32>
checkId
required
integer <int32>
Request Body schema: application/json
FileName
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "FileName": "string"
}

Response samples

Content type
application/json
{
  • "BucketUrl": "string",
  • "FormData": {
    },
  • "PhysicalFileName": "string"
}

Retrieve all deposits

Retrieves all bank account deposits.

Required permission(s):

Accounting > BankAccount - `View`

Accounting > General Ledger Transactions - View (Required for deposits associated with a Company)

path Parameters
bankAccountId
required
integer <int32>
query Parameters
startdate
required
string <date>
enddate
required
string <date>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a deposit

Creates a deposit.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
Memo
string or null
Array of objects or null (BankAccountDepositLineSaveMessage)
PaymentTransactionIds
Array of integers or null <int32>

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "Lines": [
    ],
  • "PaymentTransactionIds": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "TotalAmount": 0,
  • "Lines": [
    ],
  • "PaymentTransactionIds": [
    ]
}

Retrieve a deposit

Retrieves a bank account deposit.

Required permission(s):

Accounting > BankAccount - `View`

Accounting > General Ledger Transactions - View (Required for deposits associated with a Company)

path Parameters
bankAccountId
required
integer <int32>
depositId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "TotalAmount": 0,
  • "Lines": [
    ],
  • "PaymentTransactionIds": [
    ]
}

Update a deposit

Updates a deposit.

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.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
depositId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
Memo
string or null
Array of objects or null (BankAccountDepositLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "TotalAmount": 0,
  • "Lines": [
    ],
  • "PaymentTransactionIds": [
    ]
}

Retrieve all quick deposits

Retrieves all quick deposits.

Required permission(s):

Accounting > BankAccount - `View`
path Parameters
bankAccountId
required
integer <int32>
query Parameters
startdate
required
string <date>
enddate
required
string <date>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a quick deposit

Creates a quick deposit.

Required permission(s):

Accounting > BankAccount - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
OffsetGLAccountId
required
integer <int32>
Amount
required
number <double>
Memo
string or null
required
object

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "OffsetGLAccountId": 0,
  • "Amount": 0,
  • "Memo": "string",
  • "AccountingEntity": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "TotalAmount": 0,
  • "AccountingEntity": {
    },
  • "OffsetGLAccountId": 0
}

Retrieve a quick deposit

Retrieves a quick deposit.

Required permission(s):

Accounting > BankAccount - `View`
path Parameters
bankAccountId
required
integer <int32>
quickDepositId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "TotalAmount": 0,
  • "AccountingEntity": {
    },
  • "OffsetGLAccountId": 0
}

Update a quick deposit

Updates a quick deposit.

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.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
quickDepositId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
OffsetGLAccountId
required
integer <int32>
Amount
required
number <double>
Memo
string or null
required
object

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "OffsetGLAccountId": 0,
  • "Amount": 0,
  • "Memo": "string",
  • "AccountingEntity": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "TotalAmount": 0,
  • "AccountingEntity": {
    },
  • "OffsetGLAccountId": 0
}

Create a reconciliation

Creates a reconciliation. Reconciliations can only be created for bank accounts that are not linked externally.

Required permission(s):

Accounting > BankAccount - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
Request Body schema: application/json
StatementEndingDate
required
string <date>
TotalChecksAndWithdrawals
number or null <double>
TotalDepositsAndAdditions
number or null <double>
EndingBalance
required
number <double>

Responses

Request samples

Content type
application/json
{
  • "StatementEndingDate": "2019-08-24",
  • "TotalChecksAndWithdrawals": 0,
  • "TotalDepositsAndAdditions": 0,
  • "EndingBalance": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "IsFinished": true,
  • "StatementEndingDate": "2019-08-24"
}

Retrieve all reconciliations

Retrieves all bank account reconciliations. Reconciliations can only be retrieved for bank accounts that are not linked externally.

Required permission(s):

Accounting > BankAccount - `View`
path Parameters
bankAccountId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a reconciliation

Retrieves a bank account reconciliation. Reconciliations can only be retrieved for bank accounts that are not linked externally.

Required permission(s):

Accounting > BankAccount - `View`
path Parameters
bankAccountId
required
integer <int32>
reconciliationId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "IsFinished": true,
  • "StatementEndingDate": "2019-08-24"
}

Update a reconciliation

Updates a reconciliation. Reconciliations can only be updated for bank accounts that are not linked externally.

Required permission(s):

Accounting > BankAccount - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
reconciliationId
required
integer <int32>
Request Body schema: application/json
StatementEndingDate
required
string <date>

Responses

Request samples

Content type
application/json
{
  • "StatementEndingDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "IsFinished": true,
  • "StatementEndingDate": "2019-08-24"
}

Retrieve a reconciliation's balance

Retrieves a bank account reconciliation's balance. Reconciliation balances can only be retrieved for bank accounts that are not linked externally.

Required permission(s):

Accounting > BankAccount - `View`
path Parameters
bankAccountId
required
integer <int32>
reconciliationId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Difference": 0,
  • "StatementBalance": {
    },
  • "ClearedBalance": {
    }
}

Update a reconciliation's balance

Updates a bank account reconciliation's balance. Reconciliation balances can only be updated for bank accounts that are not linked externally.

Required permission(s):

Accounting > BankAccount - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
reconciliationId
required
integer <int32>
Request Body schema: application/json
TotalChecksAndWithdrawals
required
number <double>
TotalDepositsAndAdditions
required
number <double>
EndingBalance
required
number <double>

Responses

Request samples

Content type
application/json
{
  • "TotalChecksAndWithdrawals": 0,
  • "TotalDepositsAndAdditions": 0,
  • "EndingBalance": 0
}

Response samples

Content type
application/json
{
  • "Difference": 0,
  • "StatementBalance": {
    },
  • "ClearedBalance": {
    }
}

Clear transactions for a reconciliation

Clears transactions for a reconciliation. Reconciliation transactions can only be cleared for bank accounts that are not linked externally.

Required permission(s):

Accounting > BankAccount - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
reconciliationId
required
integer <int32>
Request Body schema: application/json
TransactionIds
required
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "TransactionIds": [
    ]
}

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Finalize a manual reconciliation

Finalizes a manual reconciliation. Reconciliations can only be finalized for bank accounts that are not linked externally.

Required permission(s):

Accounting > BankAccount - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
reconciliationId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Retrieve all transactions for a reconciliation

Retrieves all transactions, both cleared and uncleared, up to the Statement Ending Date of the related reconciliation. This is true for pending and completed reconciliations. Transactions can only be retrieved for bank accounts that are not linked externally.

Required permission(s):

Accounting > BankAccount - `View`
path Parameters
bankAccountId
required
integer <int32>
reconciliationId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Un-clear transactions for a reconciliation

Un-clears transactions for a reconciliation. Reconciliation transactions can only be un-cleared for bank accounts that are not linked externally.

Required permission(s):

Accounting > BankAccount - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
reconciliationId
required
integer <int32>
Request Body schema: application/json
TransactionIds
required
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "TransactionIds": [
    ]
}

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Retrieve all transactions

Retrieves all bank account transactions.

        Note: When using the `orderby` query string parameter, the only supported parameter is `EntryDate`.
        

Required permission(s):

Accounting > Bank Accounts - `View`
path Parameters
bankAccountId
required
integer <int32>
query Parameters
selectionentityid
integer <int32>
selectionentitytype
string
Enum: "Company" "Rental" "RentalOwner" "Association"
startdate
required
string <date>
enddate
required
string <date>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a transaction

Retrieves a specific bank account transaction.

Required permission(s):

Accounting > Bank Account - `View`
path Parameters
bankAccountId
required
integer <int32>
transactionId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "TransactionType": "Bill",
  • "CheckNumber": "string",
  • "Memo": "string",
  • "Amount": 0,
  • "ReconciliationStatus": "Unknown",
  • "PaidBy": [
    ],
  • "PaidTo": [
    ],
  • "Balance": 0
}

Retrieve all transfers

Retrieves all bank account transfers.

Required permission(s):

Accounting > BankAccount - `View`
path Parameters
bankAccountId
required
integer <int32>
query Parameters
startdate
required
string <date>
enddate
required
string <date>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a transfer

Creates a bank account transfer.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
TransferToBankAccountId
required
integer <int32>
TotalAmount
required
number <double>
Memo
string or null
required
object

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "TransferToBankAccountId": 0,
  • "TotalAmount": 0,
  • "Memo": "string",
  • "AccountingEntity": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "AccountingEntity": {
    },
  • "TotalAmount": 0,
  • "TransferToBankAccountId": 0
}

Retrieve a transfer

Retrieves a bank account transfer.

Required permission(s):

Accounting > Bank Accounts - `View`
path Parameters
bankAccountId
required
integer <int32>

The bank account identifier.

transferId
required
integer <int32>

The transfer identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "GLAccount": {
    },
  • "CheckPrintingInfo": {
    },
  • "ElectronicPayments": {
    },
  • "Name": "string",
  • "Description": "string",
  • "BankAccountType": "string",
  • "Country": "Afghanistan",
  • "AccountNumber": "string",
  • "RoutingNumber": "string",
  • "IsActive": true,
  • "Balance": 0,
  • "AccountNumberUnmasked": "string"
}

Update a transfer

Updates a bank account transfer.

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.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
transferId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
TransferToBankAccountId
required
integer <int32>
TotalAmount
required
number <double>
Memo
string or null
required
object

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "TransferToBankAccountId": 0,
  • "TotalAmount": 0,
  • "Memo": "string",
  • "AccountingEntity": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "AccountingEntity": {
    },
  • "TotalAmount": 0,
  • "TransferToBankAccountId": 0
}

Retrieve all undeposited funds

Retrieve all bank account undeposited funds.

Required permission(s):

Accounting > Bank Accounts - `View`
path Parameters
bankAccountId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all withdrawals

Retrieves all bank account withdrawals.

Required permission(s):

Accounting > BankAccounts - `View`
path Parameters
bankAccountId
required
integer <int32>
query Parameters
startdate
required
string <date>
enddate
required
string <date>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a withdrawal

Creates a bank account withdrawal.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
OffsetGLAccountId
required
integer <int32>
Amount
required
number <double>
Memo
string or null
required
object

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "OffsetGLAccountId": 0,
  • "Amount": 0,
  • "Memo": "string",
  • "AccountingEntity": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "TotalAmount": 0,
  • "AccountingEntity": {
    },
  • "OffsetGLAccountId": 0
}

Retrieve a withdrawal

Retrieves a bank account withdrawal.

Required permission(s):

Accounting > BankAccounts - `View`
path Parameters
bankAccountId
required
integer <int32>
withdrawalId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "TotalAmount": 0,
  • "AccountingEntity": {
    },
  • "OffsetGLAccountId": 0
}

Update a withdrawal

Updates a bank account withdrawal.

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.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
bankAccountId
required
integer <int32>
withdrawalId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
OffsetGLAccountId
required
integer <int32>
Amount
required
number <double>
Memo
string or null
required
object

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "OffsetGLAccountId": 0,
  • "Amount": 0,
  • "Memo": "string",
  • "AccountingEntity": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "TotalAmount": 0,
  • "AccountingEntity": {
    },
  • "OffsetGLAccountId": 0
}

Bills

Billing related resources.

Retrieve all bills

Retrieves a list of bills.

Required permission(s):

Accounting > Bills - `View`
query Parameters
entityid
integer <int32>
entitytype
string
Enum: "Rental" "RentalOwner" "Association"
vendorid
integer <int32>
referencenumber
string
paidstatus
string
Enum: "Paid" "Unpaid" "UncollectedMarkups"
frompaiddate
string <date>
topaiddate
string <date>
approvalstatuses
Array of strings
Items Enum: "NotNeeded" "ApprovalRequired" "Approved" "Pending" "Rejected"
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a bill

Creates a bill.

Required permission(s):

Accounting > Bills - `View` `Edit`
Request Body schema: application/json
Date
required
string <date>
DueDate
required
string <date>
Memo
string or null
VendorId
required
integer <int32>
WorkOrderId
integer or null <int32>
ReferenceNumber
string or null
required
Array of objects (BillLinePostMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "DueDate": "2019-08-24",
  • "Memo": "string",
  • "VendorId": 0,
  • "WorkOrderId": 0,
  • "ReferenceNumber": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "DueDate": "2019-08-24",
  • "PaidDate": "2019-08-24",
  • "Memo": "string",
  • "VendorId": 0,
  • "WorkOrderId": 0,
  • "ReferenceNumber": "string",
  • "ApprovalStatus": "NotNeeded",
  • "Lines": [
    ]
}

Retrieve a bill

Retrieves a single bill.

Required permission(s):

Accounting > Bills - `View`
path Parameters
billId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "DueDate": "2019-08-24",
  • "PaidDate": "2019-08-24",
  • "Memo": "string",
  • "VendorId": 0,
  • "WorkOrderId": 0,
  • "ReferenceNumber": "string",
  • "ApprovalStatus": "NotNeeded",
  • "Lines": [
    ]
}

Update a bill

Use this operation to update any of the writable fields of an existing bill resource. When updating this resource keep the following in mind:

  • Writable fields omitted from the request or that do not have a value in the request message are set to `NULL`. If you do not want to update the field, submit the original field value.
  • When a bill has an existing payment any edits to the line items that change the total bill amount must result in the new total bill amount being equal to or greater than the amount paid.
  • When adding a new line item leave the `LineItem.Id` field empty.
  • You cannot update a bill that has a pending EFT associated with it.

Required permission(s):

Accounting > Bills - `View` `Edit`
path Parameters
billId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
DueDate
required
string <date>
Memo
string or null
VendorId
required
integer <int32>
ReferenceNumber
string or null
Array of objects or null (BillLinePutMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "DueDate": "2019-08-24",
  • "Memo": "string",
  • "VendorId": 0,
  • "ReferenceNumber": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "DueDate": "2019-08-24",
  • "PaidDate": "2019-08-24",
  • "Memo": "string",
  • "VendorId": 0,
  • "WorkOrderId": 0,
  • "ReferenceNumber": "string",
  • "ApprovalStatus": "NotNeeded",
  • "Lines": [
    ]
}

Update a bill

Updates a bill.

Required permission(s):

Accounting > Bills - `View` `Edit`
path Parameters
billId
required
integer <int32>
Request Body schema:

Represents the structure of the data that can be provided to a JSON patch document as path values via JSON pointer syntax.

Date
string or null <date>
DueDate
string or null <date>
Memo
string or null
VendorId
integer or null <int32>
ReferenceNumber
string or null
Array of objects or null (BillLineItemPatchMessage)

Responses

Request samples

Content type
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "DueDate": "2019-08-24",
  • "PaidDate": "2019-08-24",
  • "Memo": "string",
  • "VendorId": 0,
  • "WorkOrderId": 0,
  • "ReferenceNumber": "string",
  • "ApprovalStatus": "NotNeeded",
  • "Lines": [
    ]
}

Retrieve all files for a bill

Retrieves the metadata for all files associated to the specified bill. To download the actual file view the Download a bill file.

Required permission(s):

Accounting > Bills - `View`
path Parameters
billId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a file for a bill

Retrieves the metadata for a specific file associated with the specified bill.

Required permission(s):

Accounting > Bills - `View`
path Parameters
billId
required
integer <int32>
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Title": "string",
  • "PhysicalFileName": "string",
  • "Size": 0,
  • "ContentType": "string",
  • "UploadedDateTime": "2019-08-24T14:15:22Z"
}

Delete a bill file

Deletes the specified file from a bill. The file will be permanently deleted from the Buildium platform and can not be recovered.

Required permission(s):

Accounting > Bills - `View` `Edit` `Delete`
path Parameters
billId
required
integer <int32>
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Download a bill file

Downloads a specific file associated to the bill.

Required permission(s):

Accounting > Bills - `View`
path Parameters
billId
required
integer <int32>
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "DownloadUrl": "string"
}

Upload a bill file

Uploads a file and associates it to the specified bill 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/bills/{billId}/files/uploads. The response of this call will contain an upload URL and a collection of headers 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 PUT request to the Buildium file provider. Follow these steps to create the request:

  1. Form a PUT request using the value of the UploadUrl property as the URL.

  2. Set the Content-Type header to application/octet-stream.

  3. Copy the fields from the Headers property to this request as header key/value pairs.

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

  1. Lastly create the body of the request with the file binary.

  2. Send the PUT request! A successful request will return with a 200 - OK 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.

Required permission(s):

Accounting > Bills - `View` `Edit`
path Parameters
billId
required
integer <int32>
Request Body schema: application/json
FileName
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "FileName": "string"
}

Response samples

Content type
application/json
{
  • "UploadUrl": "string",
  • "PhysicalFileName": "string",
  • "Headers": {
    }
}

Retrieve all bill payments

Retrieves a list of bill payments for a specific bill.

Required permission(s):

Accounting > Bills - `View`
path Parameters
billId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a bill payment

Creates a bill payment.

Required permission(s):

Accounting > Bills - `View` `Edit` Accounting > Bank Accounts - `View` `Edit`
path Parameters
billId
required
integer <int32>
Request Body schema: application/json
BankAccountId
required
integer <int32>
EntryDate
required
string <date>
Memo
string or null
CheckNumber
string or null
required
Array of objects (BillPaymentLinePostMessage)
VendorCreditIds
Array of integers or null <int32>

Responses

Request samples

Content type
application/json
{
  • "BankAccountId": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "CheckNumber": "string",
  • "Lines": [
    ],
  • "VendorCreditIds": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "BankAccountId": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "CheckNumber": "string",
  • "PaidBillIds": [
    ],
  • "AppliedVendorCredits": [
    ],
  • "Lines": [
    ]
}

Retrieve a bill payment

Retrieves specific bill payment.

Required permission(s):

Accounting > Bills - `View`
path Parameters
billId
required
integer <int32>
paymentId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "BankAccountId": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "CheckNumber": "string",
  • "PaidBillIds": [
    ],
  • "AppliedVendorCredits": [
    ],
  • "Lines": [
    ]
}

Create a payment for multiple bills with one check

Creates a payment for multiple bills with one check.

Required permission(s):

Accounting > Bills - `View` `Edit` Accounting > Bank Accounts - `View` `Edit`
Request Body schema: application/json
BankAccountId
required
integer <int32>
EntryDate
required
string <date>
QueueChecksForPrinting
boolean or null
BillIds
required
Array of integers <int32> [ items <int32 > ]
VendorCreditIds
Array of integers or null <int32>
Array of objects or null (MultipleBillPaymentAllocationLinePostMessage)

Responses

Request samples

Content type
application/json
{
  • "BankAccountId": 0,
  • "EntryDate": "2019-08-24",
  • "QueueChecksForPrinting": true,
  • "BillIds": [
    ],
  • "VendorCreditIds": [
    ],
  • "PaymentAllocations": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "BankAccountId": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "CheckNumber": "string",
  • "PaidBillIds": [
    ],
  • "AppliedVendorCredits": [
    ],
  • "Lines": [
    ]
}

Budgets

A budget is a tool to plan upcoming income and expenses. The Buildium platform allows you to manage budgets for all rental and association properties.

Retrieve all budgets

Retrieves all budgets.

Required permission(s):

Accounting > Budgets - `View`
query Parameters
propertyids
Array of integers <int32> [ items <int32 > ]
fiscalyear
integer <int32>
name
string
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a budget

Creates a budget.

Required permission(s):

Accounting > Budgets - `View` `Edit`
Request Body schema: application/json
Name
required
string non-empty
PropertyId
required
integer <int32>
StartMonth
required
string
Enum: "January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December"
FiscalYear
required
integer <int32>
required
Array of objects (BudgetDetailsSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "PropertyId": 0,
  • "StartMonth": "January",
  • "FiscalYear": 0,
  • "Details": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "StartDate": "2019-08-24",
  • "EndDate": "2019-08-24",
  • "Property": {
    },
  • "Details": [
    ]
}

Retrieve a budget

Retrieves a budget.

Required permission(s):

Accounting > Budgets - `View`
path Parameters
budgetId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "StartDate": "2019-08-24",
  • "EndDate": "2019-08-24",
  • "Property": {
    },
  • "Details": [
    ]
}

Update a budget

Updates a budget.

Required permission(s):

Accounting > Budgets - `View` `Edit`
path Parameters
budgetId
required
integer <int32>
Request Body schema: application/json
Name
required
string non-empty
required
Array of objects (BudgetDetailsSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Details": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "StartDate": "2019-08-24",
  • "EndDate": "2019-08-24",
  • "Property": {
    },
  • "Details": [
    ]
}

General Ledger

The General ledger tracks all debits and credits for every financial transaction over a period of time.

Retrieve all general ledger entries

Retrieves all general ledger entries

Required permission(s):

Accounting > General Ledger Transactions - `View`
query Parameters
accountingbasis
required
string
Enum: "Accrual" "Cash"
entitytype
string
Enum: "Company" "Rental" "RentalOwner" "Association"
entityid
integer <int32>
glaccountids
required
Array of integers <int32> [ items <int32 > ]
startdate
required
string <date>
enddate
required
string <date>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a general journal entry

Creates a general journal entry.

Required permission(s):

Accounting > General Ledger Transactions - `View` `Edit`
Request Body schema: application/json
required
object
Date
required
string <date>
Memo
string or null
required
Array of objects (GeneralJournalEntryLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "AccountingEntity": {
    },
  • "Date": "2019-08-24",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "UnitAgreement": {
    },
  • "UnitId": 0,
  • "UnitNumber": "string",
  • "PaymentDetail": {
    },
  • "DepositDetails": {
    },
  • "Application": {
    },
  • "Journal": {
    },
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Update a general journal entry

Updates a general journal entry.

Required permission(s):

Accounting > General Ledger Transactions - `View` `Edit`
path Parameters
journalEntryId
required
integer <int32>
Request Body schema: application/json
required
object
Date
required
string <date>
Memo
string or null
required
Array of objects (GeneralJournalEntryLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "AccountingEntity": {
    },
  • "Date": "2019-08-24",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "UnitAgreement": {
    },
  • "UnitId": 0,
  • "UnitNumber": "string",
  • "PaymentDetail": {
    },
  • "DepositDetails": {
    },
  • "Application": {
    },
  • "Journal": {
    },
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve all general ledger transactions

Retrieves a list of general ledger transactions.

Required permission(s):

Accounting > General Ledger Transactions - `View`
query Parameters
selectionentityid
integer <int32>
selectionentitytype
string
Enum: "Rental" "RentalOwner" "Association"
startdate
required
string <date>
enddate
required
string <date>
glaccountids
required
Array of integers <int32> [ items <int32 > ]
selectionentityunitid
integer <int32>
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a general ledger transaction

Retrieves a specific general ledger transaction.

Required permission(s):

Accounting > General Ledger Transactions - `View`
path Parameters
transactionId
required
integer <int32>

The general ledger transaction identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "UnitAgreement": {
    },
  • "UnitId": 0,
  • "UnitNumber": "string",
  • "PaymentDetail": {
    },
  • "DepositDetails": {
    },
  • "Application": {
    },
  • "Journal": {
    },
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve all general ledger accounts

Retrieves a list of general ledger accounts.

General ledger accounts are used to categorize transactions for accounting purposes.

Required permission(s):

Accounting > General Ledger Accounts - `View`
query Parameters
accounttypes
Array of strings
Items Enum: "Asset" "Liability" "Equity" "Income" "Expense"
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a general ledger account

Creates a general ledger account.

Required permission(s):

Accounting > General Ledger Accounts - `View` `Edit`
Request Body schema: application/json
SubType
required
string
Enum: "CurrentAsset" "FixedAsset" "CurrentLiability" "LongTermLiability" "Equity" "Income" "NonOperatingIncome" "OperatingExpenses" "NonOperatingExpenses"
IsCashAsset
boolean or null
Name
required
string non-empty
AccountNumber
required
string non-empty
Description
string or null
IsContraAccount
boolean or null
CashFlowClassification
string or null
Enum: "OperatingActivities" "InvestingActivities" "FinancingActivities"
ParentGLAccountId
integer or null <int32>

Responses

Request samples

Content type
application/json
{
  • "SubType": "CurrentAsset",
  • "IsCashAsset": true,
  • "Name": "string",
  • "AccountNumber": "string",
  • "Description": "string",
  • "IsContraAccount": true,
  • "CashFlowClassification": "OperatingActivities",
  • "ParentGLAccountId": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AccountNumber": "string",
  • "Name": "string",
  • "Description": "string",
  • "Type": "Asset",
  • "SubType": "CurrentAsset",
  • "IsDefaultGLAccount": true,
  • "DefaultAccountName": "string",
  • "IsContraAccount": true,
  • "IsBankAccount": true,
  • "CashFlowClassification": "OperatingActivities",
  • "ExcludeFromCashBalances": true,
  • "SubAccounts": [
    ],
  • "IsActive": true,
  • "ParentGLAccountId": 0,
  • "IsCreditCardAccount": true
}

Retrieve a general ledger account

Retrieves a specific general ledger account.

Required permission(s):

Accounting > General Ledger Accounts - `View`
path Parameters
glAccountId
required
integer <int32>

The general ledger account identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AccountNumber": "string",
  • "Name": "string",
  • "Description": "string",
  • "Type": "Asset",
  • "SubType": "CurrentAsset",
  • "IsDefaultGLAccount": true,
  • "DefaultAccountName": "string",
  • "IsContraAccount": true,
  • "IsBankAccount": true,
  • "CashFlowClassification": "OperatingActivities",
  • "ExcludeFromCashBalances": true,
  • "SubAccounts": [
    ],
  • "IsActive": true,
  • "ParentGLAccountId": 0,
  • "IsCreditCardAccount": true
}

Update a general ledger account

Updates a general ledger account.

Required permission(s):

Accounting > General Ledger Accounts - `View` `Edit`
path Parameters
glAccountId
required
integer <int32>
Request Body schema: application/json
Name
required
string non-empty
SubType
required
string
Enum: "CurrentAsset" "FixedAsset" "CurrentLiability" "LongTermLiability" "Equity" "Income" "NonOperatingIncome" "OperatingExpenses" "NonOperatingExpenses"
ParentGLAccountId
integer or null <int32>
IsCashAsset
boolean or null
AccountNumber
string or null
Description
string or null
IsContraAccount
boolean or null
CashFlowClassification
string or null
Enum: "OperatingActivities" "InvestingActivities" "FinancingActivities"

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "SubType": "CurrentAsset",
  • "ParentGLAccountId": 0,
  • "IsCashAsset": true,
  • "AccountNumber": "string",
  • "Description": "string",
  • "IsContraAccount": true,
  • "CashFlowClassification": "OperatingActivities"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AccountNumber": "string",
  • "Name": "string",
  • "Description": "string",
  • "Type": "Asset",
  • "SubType": "CurrentAsset",
  • "IsDefaultGLAccount": true,
  • "DefaultAccountName": "string",
  • "IsContraAccount": true,
  • "IsBankAccount": true,
  • "CashFlowClassification": "OperatingActivities",
  • "ExcludeFromCashBalances": true,
  • "SubAccounts": [
    ],
  • "IsActive": true,
  • "ParentGLAccountId": 0,
  • "IsCreditCardAccount": true
}

Retrieve all general ledger account balances

Retrieves all general ledger account balances as of a given date. The response includes the total balance of each account along with the subtotals for any accounting entities (company, associations or rental properties) that have transactions assigned to the account.

Required permission(s):

Accounting > General Ledger Accounts - `View`
query Parameters
entitytype
string
Enum: "Association" "Rental" "RentalOwner"
entityid
integer <int32>
glaccountids
Array of integers <int32> [ items <int32 > ]
accountingbasis
required
string
Enum: "Accrual" "Cash"
asofdate
required
string <date>
aggregatebalancesbyunitid
boolean
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Credit Card Accounts

Credit card account resources provide access to credit cards

Get all credit card accounts

Gets credit card accounts.

Required permission(s):

Accounting > Bank Accounts - `View`
query Parameters
creditcardaccountstatus
string
Enum: "Active" "InActive"
name
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a credit card account

Creates a credit card account.

Required permission(s):

Accounting > Banking - `View` `Edit`
Request Body schema: application/json
Name
required
string non-empty
Description
string or null
PaymentDueDay
integer or null <int32>
CreditLimit
number or null <double>

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Description": "string",
  • "PaymentDueDay": 0,
  • "CreditLimit": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "Description": "string",
  • "PaymentDueDay": "string",
  • "CreditLimit": 0,
  • "IsActive": true,
  • "Balance": 0
}

Get a credit card account

Gets a credit card account.

Required permission(s):

Accounting > Bank Accounts - `View`
path Parameters
creditCardAccountId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "Description": "string",
  • "PaymentDueDay": "string",
  • "CreditLimit": 0,
  • "IsActive": true,
  • "Balance": 0
}

Update a credit card account

Updates a credit card 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.

Required permission(s):

Accounting > Banking - `View` `Edit`
path Parameters
creditCardAccountId
required
integer <int32>
Request Body schema: application/json
Name
required
string non-empty
Description
string or null
PaymentDueDay
integer or null <int32>
CreditLimit
number or null <double>

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Description": "string",
  • "PaymentDueDay": 0,
  • "CreditLimit": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "Description": "string",
  • "PaymentDueDay": "string",
  • "CreditLimit": 0,
  • "IsActive": true,
  • "Balance": 0
}

Create a credit card balance payment

Creates a credit card balance payment.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
creditCardAccountId
required
integer <int32>
Request Body schema: application/json
BankAccountId
required
integer <int32>
EntryDate
required
string <date>
Memo
string or null
required
Array of objects (CreditCardBalancePaymentLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "BankAccountId": 0,
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "BankAccountId": 0,
  • "Memo": "string",
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Edit a credit card balance payment

Edits a credit card balance payment.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
journalId
required
integer <int32>
creditCardAccountId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
Memo
string or null
required
Array of objects (CreditCardBalancePaymentLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "BankAccountId": 0,
  • "Memo": "string",
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Retrieve a credit card balance payment

Retrieves a credit card balance payment.

Required permission(s):

Accounting > BankAccount - `View`
path Parameters
creditCardAccountId
required
integer <int32>
journalId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "BankAccountId": 0,
  • "Memo": "string",
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Create a credit card purchase

Creates a credit card purchase.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
creditCardAccountId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
PayeeUserId
required
integer <int32>
Memo
string or null
required
Array of objects (CreditCardAccountPurchaseLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "PayeeUserId": 0,
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Payee": {
    },
  • "Memo": "string",
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Retrieve a credit card purchase

Retrieves a credit card purchase.

Required permission(s):

Accounting > BankAccount - `View`
path Parameters
creditCardAccountId
required
integer <int32>
journalId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Payee": {
    },
  • "Memo": "string",
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Edit a credit card purchase

Edits a credit card purchase.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
journalId
required
integer <int32>
creditCardAccountId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
PayeeUserId
required
integer <int32>
Memo
string or null
required
Array of objects (CreditCardAccountPurchaseLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "PayeeUserId": 0,
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "Payee": {
    },
  • "Memo": "string",
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Retrieve all transactions

Retrieves all credit card account transactions.

        Note: When using the `orderby` query string parameter, the only supported parameter is `EntryDate`.
        

Required permission(s):

Accounting > Bank Accounts - `View`
path Parameters
creditCardAccountId
required
integer <int32>
query Parameters
selectionentityid
integer <int32>
selectionentitytype
string
Enum: "Company" "Rental" "Association"
startdate
required
string <date>
enddate
required
string <date>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a transaction

Retrieves a specific credit card account transaction.

Required permission(s):

Accounting > Bank Accounts - `View`
path Parameters
creditCardAccountId
required
integer <int32>
transactionId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "TransactionType": "Bill",
  • "Memo": "string",
  • "Amount": 0,
  • "PaidBy": [
    ],
  • "PaidTo": [
    ],
  • "Balance": 0
}

Associations

Association property resources providing access to associations and association notes.

Retrieve all associations

Retrieves a list of associations.

Required permission(s):

Associations > Associations and units - `View`
query Parameters
ids
Array of integers <int32> [ items <int32 > ]
location
string
status
string
Enum: "Active" "InActive"
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
operatingbankaccountids
Array of integers <int32> [ items <int32 > ]
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an association

Creates an association.

Required permission(s):

Associations > Associations and units - `View` `Edit`
Request Body schema: application/json
Name
required
string non-empty
OperatingBankAccountId
required
integer <int32>
required
object
IsActive
boolean or null
Reserve
number or null <double>
Description
string or null
YearBuilt
integer or null <int32>
PropertyManagerId
integer or null <int32>
object or null

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "OperatingBankAccountId": 0,
  • "Address": {
    },
  • "IsActive": true,
  • "Reserve": 0,
  • "Description": "string",
  • "YearBuilt": 0,
  • "PropertyManagerId": 0,
  • "TaxInformation": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "IsActive": true,
  • "Reserve": 0,
  • "Description": "string",
  • "YearBuilt": 0,
  • "OperatingBankAccount": "string",
  • "OperatingBankAccountId": 0,
  • "Address": {
    },
  • "AssociationManager": {
    },
  • "FiscalYearEndDay": 0,
  • "FiscalYearEndMonth": 0,
  • "TaxInformation": {
    }
}

Retrieve an association

Retrieve a specific association.

Required permission(s):

Associations > Associations and units - `View`
path Parameters
associationId
required
integer <int32>

The association identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "IsActive": true,
  • "Reserve": 0,
  • "Description": "string",
  • "YearBuilt": 0,
  • "OperatingBankAccount": "string",
  • "OperatingBankAccountId": 0,
  • "Address": {
    },
  • "AssociationManager": {
    },
  • "FiscalYearEndDay": 0,
  • "FiscalYearEndMonth": 0,
  • "TaxInformation": {
    }
}

Update an association

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.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
associationId
required
integer <int32>
Request Body schema: application/json
Name
required
string non-empty
Description
string or null
YearBuilt
integer or null <int32>
OperatingBankAccountId
required
integer <int32>
Reserve
number or null <double>
required
object
PropertyManagerId
integer or null <int32>
FiscalYearEndDay
required
integer <int32>
FiscalYearEndMonth
required
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Description": "string",
  • "YearBuilt": 0,
  • "OperatingBankAccountId": 0,
  • "Reserve": 0,
  • "Address": {
    },
  • "PropertyManagerId": 0,
  • "FiscalYearEndDay": 0,
  • "FiscalYearEndMonth": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "IsActive": true,
  • "Reserve": 0,
  • "Description": "string",
  • "YearBuilt": 0,
  • "OperatingBankAccount": "string",
  • "OperatingBankAccountId": 0,
  • "Address": {
    },
  • "AssociationManager": {
    },
  • "FiscalYearEndDay": 0,
  • "FiscalYearEndMonth": 0,
  • "TaxInformation": {
    }
}

Retrieve ePay settings

Retrieves ePay settings for an association.

Required permission(s):

Associations > Associations and units - `View`
path Parameters
associationId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "EFTPayments": {
    },
  • "CreditCardPayments": {
    },
  • "OfflinePayments": {
    }
}

Update ePay settings

Updates ePay settings for an association.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
associationId
required
integer <int32>
Request Body schema: application/json
required
object
required
object
required
object

Responses

Request samples

Content type
application/json
{
  • "EFTPayments": {
    },
  • "CreditCardPayments": {
    },
  • "OfflinePayments": {
    }
}

Response samples

Content type
application/json
{
  • "EFTPayments": {
    },
  • "CreditCardPayments": {
    },
  • "OfflinePayments": {
    }
}

Inactivate an association

Inactivates an association along with associated units and ownership accounts.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
associationId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Retrieve all notes

Retrieves all notes.

Required permission(s):

Associations > Associations and units - `View`
path Parameters
associationId
required
integer <int32>
query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a note

Creates a note.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
associationId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve a note

Retrieves a note.

Required permission(s):

Associations > Associations and units - `View`
path Parameters
associationId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Update a note

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.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
associationId
required
integer <int32>
noteId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Reactivate an association

Reactivates an association along with associated units and ownership accounts.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
associationId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Retrieve all preferred vendors

Retrieves all preferred vendors.

Required permission(s):

Associations > Associations and units - `View`

Maintenance > Vendors - View

path Parameters
associationId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update preferred vendors

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.

Required permission(s):

Associations > Associations and units - `View` `Edit`

Maintenance > Vendors - View Edit

path Parameters
associationId
required
integer <int32>
Request Body schema: application/json
VendorIds
required
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "VendorIds": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all association bank lockbox data

Retrieves all association bank lockbox data.

Required permission(s):

Associations > Associations and units - `View`
query Parameters
associationids
Array of integers <int32> [ items <int32 > ]
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Association Units

Association unit resources providing access to units and unit notes.

Retrieve all units

Retrieves a list of association units.

Required permission(s):

Associations > Associations and units - `View`
query Parameters
associationids
Array of integers <int32> [ items <int32 > ]
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a unit

Creates an association unit.

Required permission(s):

Associations > Associations and units - `View` `Edit`
Request Body schema: application/json
UnitNumber
required
string non-empty
AssociationId
required
integer <int32>
UnitSize
integer or null <int32>
required
object
UnitBedrooms
string or null
Enum: "NotSet" "Studio" "OneBed" "TwoBed" "ThreeBed" "FourBed" "FiveBed" "SixBed" "SevenBed" "EightBed" "NineBedPlus"
UnitBathrooms
string or null
Enum: "NotSet" "OneBath" "OnePointFiveBath" "TwoBath" "TwoPointFiveBath" "ThreeBath" "FourBath" "FiveBath" "FivePlusBath" "ThreePointFiveBath" "FourPointFiveBath"

Responses

Request samples

Content type
application/json
{
  • "UnitNumber": "string",
  • "AssociationId": 0,
  • "UnitSize": 0,
  • "Address": {
    },
  • "UnitBedrooms": "NotSet",
  • "UnitBathrooms": "NotSet"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationId": 0,
  • "AssociationName": "string",
  • "UnitNumber": "string",
  • "Address": {
    },
  • "UnitBedrooms": "NotSet",
  • "UnitBathrooms": "NotSet",
  • "UnitSize": 0
}

Retrieve a unit

Retrieve a specific association unit.

Required permission(s):

Associations > Associations and units - `View`
path Parameters
unitId
required
integer <int32>

The association unit identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationId": 0,
  • "AssociationName": "string",
  • "UnitNumber": "string",
  • "Address": {
    },
  • "UnitBedrooms": "NotSet",
  • "UnitBathrooms": "NotSet",
  • "UnitSize": 0
}

Update a unit

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.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
unitId
required
integer <int32>

The identifier of the unit to update.

Request Body schema: application/json
UnitNumber
required
string non-empty
UnitSize
integer or null <int32>
required
object
UnitBedrooms
string or null
Enum: "NotSet" "Studio" "OneBed" "TwoBed" "ThreeBed" "FourBed" "FiveBed" "SixBed" "SevenBed" "EightBed" "NineBedPlus"
UnitBathrooms
string or null
Enum: "NotSet" "OneBath" "OnePointFiveBath" "TwoBath" "TwoPointFiveBath" "ThreeBath" "FourBath" "FiveBath" "FivePlusBath" "ThreePointFiveBath" "FourPointFiveBath"

Responses

Request samples

Content type
application/json
{
  • "UnitNumber": "string",
  • "UnitSize": 0,
  • "Address": {
    },
  • "UnitBedrooms": "NotSet",
  • "UnitBathrooms": "NotSet"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationId": 0,
  • "AssociationName": "string",
  • "UnitNumber": "string",
  • "Address": {
    },
  • "UnitBedrooms": "NotSet",
  • "UnitBathrooms": "NotSet",
  • "UnitSize": 0
}

Retrieve all notes

Retrieves all association unit notes.

Required permission(s):

Associations > Associations and units - `View`
path Parameters
unitId
required
integer <int32>
query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a note

Creates a new association unit note.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
unitId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve a note

Retrieves an association unit note.

Required permission(s):

Associations > Associations and units - `View`
path Parameters
unitId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Update a note

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.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
unitId
required
integer <int32>
noteId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Appliances

Association appliance resources providing access to appliances and appliance history.

Retrieve all appliances

Retrieves all association appliances.

Required permission(s):

Associations > Associations and units - `View`
query Parameters
associationids
Array of integers <int32> [ items <int32 > ]
unitids
Array of integers <int32> [ items <int32 > ]
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an appliance

Creates an association appliance.

Required permission(s):

Associations > Associations and units - `View` `Edit`
Request Body schema: application/json
AssociationId
required
integer <int32>
UnitId
integer or null <int32>
Name
required
string non-empty
Make
string or null
Model
string or null
Description
string or null
InstallDate
string or null <date>
WarrantyEndDate
string or null <date>

Responses

Request samples

Content type
application/json
{
  • "AssociationId": 0,
  • "UnitId": 0,
  • "Name": "string",
  • "Make": "string",
  • "Model": "string",
  • "Description": "string",
  • "InstallDate": "2019-08-24",
  • "WarrantyEndDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationId": 0,
  • "UnitId": 0,
  • "Name": "string",
  • "Make": "string",
  • "Model": "string",
  • "Description": "string",
  • "WarrantyEndDate": "2019-08-24"
}

Retrieve an appliance

Retrieves an association appliance by id.

Required permission(s):

Associations > Associations and units - `View`
path Parameters
applianceId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationId": 0,
  • "UnitId": 0,
  • "Name": "string",
  • "Make": "string",
  • "Model": "string",
  • "Description": "string",
  • "WarrantyEndDate": "2019-08-24"
}

Update an appliance

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.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
applianceId
required
integer <int32>
Request Body schema: application/json
UnitId
integer or null <int32>
Name
required
string non-empty
Make
string or null
Model
string or null
Description
string or null
WarrantyEndDate
string or null <date>

Responses

Request samples

Content type
application/json
{
  • "UnitId": 0,
  • "Name": "string",
  • "Make": "string",
  • "Model": "string",
  • "Description": "string",
  • "WarrantyEndDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationId": 0,
  • "UnitId": 0,
  • "Name": "string",
  • "Make": "string",
  • "Model": "string",
  • "Description": "string",
  • "WarrantyEndDate": "2019-08-24"
}

Delete an appliance

Deletes an associations appliance.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
applianceId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Retrieve all service history

Retrieves all of the service history records for an appliance.

Required permission(s):

Associations > Associations and units - `View`
path Parameters
applianceId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a service history

Creates a service history for an appliance.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
applianceId
required
integer <int32>
Request Body schema: application/json
ServiceType
required
string
Enum: "Installed" "Serviced" "Uninstalled"
Date
required
string <date>
Details
string or null

Responses

Request samples

Content type
application/json
{
  • "ServiceType": "Installed",
  • "Date": "2019-08-24",
  • "Details": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "ServiceType": "Installed",
  • "Date": "2019-08-24",
  • "Details": "string"
}

Retrieve a service history

Retrieves a specific service history record for a given appliance.

Required permission(s):

Associations > Associations and units - `View`
path Parameters
applianceId
required
integer <int32>
serviceHistoryId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "ServiceType": "Installed",
  • "Date": "2019-08-24",
  • "Details": "string"
}

Association Owners

Association owners resources providing access to owners and owner notes.

Retrieve all owners

Retrieves a list of association owners.

Required permission(s):

Associations > Association owners and tenants - `View`
query Parameters
name
string
phone
string
email
string
associationids
Array of integers <int32> [ items <int32 > ]
statuses
Array of strings
Items Enum: "Active" "Past" "Future"
createddatetimeto
string <date-time>
createddatetimefrom
string <date-time>
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an owner

Creates an association owner.

Required permission(s):

Associations > Association owners and tenants - `View` `Edit`

Associations > Ownership accounts - View Edit

Request Body schema: application/json
OwnershipAccountId
required
integer <int32>
SendWelcomeEmail
required
boolean
required
object
object or null
FirstName
required
string non-empty
LastName
required
string non-empty
object or null
IsOwnerOccupied
required
boolean
Email
string or null
AlternateEmail
string or null
object or null
DateOfBirth
string or null <date>
object or null
Comment
string or null
MailingPreference
string or null
Enum: "PrimaryAddress" "AlternateAddress"
TaxId
string or null

Responses

Request samples

Content type
application/json
{
  • "OwnershipAccountId": 0,
  • "SendWelcomeEmail": true,
  • "PrimaryAddress": {
    },
  • "AlternateAddress": {
    },
  • "FirstName": "string",
  • "LastName": "string",
  • "BoardMemberTerm": {
    },
  • "IsOwnerOccupied": true,
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": {
    },
  • "DateOfBirth": "2019-08-24",
  • "EmergencyContact": {
    },
  • "Comment": "string",
  • "MailingPreference": "PrimaryAddress",
  • "TaxId": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": [
    ],
  • "PrimaryAddress": {
    },
  • "AlternateAddress": {
    },
  • "Comment": "string",
  • "EmergencyContact": {
    },
  • "OwnershipAccounts": [
    ],
  • "MailingPreference": "PrimaryAddress",
  • "Vehicles": [
    ],
  • "OccupiesUnit": true,
  • "BoardMemberTerms": [
    ],
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "TaxId": "string",
  • "DelinquencyStatus": "NoDelinquency"
}

Retrieve an owner

Retrieve a specific association owner.

Required permission(s):

Associations > Association owners and tenants - `View`
path Parameters
ownerId
required
integer <int32>

The association owner identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": [
    ],
  • "PrimaryAddress": {
    },
  • "AlternateAddress": {
    },
  • "Comment": "string",
  • "EmergencyContact": {
    },
  • "OwnershipAccounts": [
    ],
  • "MailingPreference": "PrimaryAddress",
  • "Vehicles": [
    ],
  • "OccupiesUnit": true,
  • "BoardMemberTerms": [
    ],
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "TaxId": "string",
  • "DelinquencyStatus": "NoDelinquency"
}

Update an owner

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.

Required permission(s):

Associations > Association owners and tenants - `View` `Edit`
path Parameters
ownerId
required
integer <int32>

The identifier of the association owner to update.

Request Body schema: application/json
FirstName
required
string non-empty
LastName
required
string non-empty
required
object
object or null
Email
string or null
AlternateEmail
string or null
object or null
object or null
Comment
string or null
MailingPreference
string or null
Enum: "PrimaryAddress" "AlternateAddress"
TaxId
string or null

Responses

Request samples

Content type
application/json
{
  • "FirstName": "string",
  • "LastName": "string",
  • "PrimaryAddress": {
    },
  • "AlternateAddress": {
    },
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": {
    },
  • "EmergencyContact": {
    },
  • "Comment": "string",
  • "MailingPreference": "PrimaryAddress",
  • "TaxId": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": [
    ],
  • "PrimaryAddress": {
    },
  • "AlternateAddress": {
    },
  • "Comment": "string",
  • "EmergencyContact": {
    },
  • "OwnershipAccounts": [
    ],
  • "MailingPreference": "PrimaryAddress",
  • "Vehicles": [
    ],
  • "OccupiesUnit": true,
  • "BoardMemberTerms": [
    ],
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "TaxId": "string",
  • "DelinquencyStatus": "NoDelinquency"
}

Retrieve all notes

Retrieves all association owner notes.

Required permission(s):

Associations > Association owners and tenants - `View`
path Parameters
ownerId
required
integer <int32>
query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a note

Creates an association owner note.

Required permission(s):

Associations > Association owners and tenants - `View` `Edit`
path Parameters
ownerId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve a note

Retrieves an association owner note.

Required permission(s):

Associations > Association owners and tenants - `View`
path Parameters
ownerId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Update a note

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.

Required permission(s):

Associations > Association owners and tenants - `View` `Edit`
path Parameters
ownerId
required
integer <int32>
noteId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve all occupancy statuses

Retrieves the occupancy status for all of the units owned by the association owner.

Required permission(s):

Associations > Association owners and tenants - `View` Associations > Ownership Accounts - `View`
path Parameters
ownerId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve an occupancy status

Retrieves the owner occupancy status for an association unit.

Required permission(s):

Associations > Association owners and tenants - `View` Associations > Ownership Accounts - `View`
path Parameters
ownerId
required
integer <int32>
unitId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UnitId": 0,
  • "IsOccupied": true
}

Update occupancy status

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.

Required permission(s):

Associations > Association owners and tenants - `View` `Edit` Associations > Ownership Accounts - `View`
path Parameters
ownerId
required
integer <int32>
unitId
required
integer <int32>
Request Body schema: application/json
IsOccupied
required
boolean

Responses

Request samples

Content type
application/json
{
  • "IsOccupied": true
}

Response samples

Content type
application/json
{
  • "UnitId": 0,
  • "IsOccupied": true
}

Ownership Accounts

Association ownership account resources providing access to ownership accounts and ownership account notes.

Retrieve all ownership accounts

Retrieves a list of ownership accounts.

Required permission(s):

Associations > Ownership accounts - `View`
query Parameters
ids
Array of integers <int32> [ items <int32 > ]
associationids
Array of integers <int32> [ items <int32 > ]
unitorowner
string
datefrom
string <date>
dateto
string <date>
status
Array of strings
Items Enum: "Active" "Past" "Future"
delinquencystatuses
Array of strings
Items Enum: "NoDelinquency" "InCollections" "InForeclosure" "Foreclosed"
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an ownership account

Creates an ownership account.

Required permission(s):

Associations > Ownership accounts - `View` `Edit`

Associations > Owners - View Edit

Request Body schema: application/json
UnitId
required
integer <int32>
DateOfPurchase
required
string <date>
AssociationFee
number or null <double>
RecurringFrequency
string or null
Enum: "Monthly" "Weekly" "Every2Weeks" "Quarterly" "Yearly" "Every2Months" "Daily" "Every6Months" "OneTime"
AssociationOwnerIds
Array of integers or null <int32>
Array of objects or null (AssociationOwnerPostMessage)
SendWelcomeEmail
required
boolean
ReplaceExistingOwnershipAccount
required
boolean

Responses

Request samples

Content type
application/json
{
  • "UnitId": 0,
  • "DateOfPurchase": "2019-08-24",
  • "AssociationFee": 0,
  • "RecurringFrequency": "Monthly",
  • "AssociationOwnerIds": [
    ],
  • "AssociationOwners": [
    ],
  • "SendWelcomeEmail": true,
  • "ReplaceExistingOwnershipAccount": true
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationId": 0,
  • "UnitId": 0,
  • "Status": "Active",
  • "DateOfPurchase": "2019-08-24",
  • "DateOfSale": "2019-08-24",
  • "Comments": "string",
  • "AssociationOwnerIds": [
    ],
  • "DelinquencyStatus": "NoDelinquency"
}

Retrieve an ownership account

Retrieves a specific ownership account.

Required permission(s):

Associations > Ownership accounts - `View`
path Parameters
ownershipAccountId
required
integer <int32>

The ownership account identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationId": 0,
  • "UnitId": 0,
  • "Status": "Active",
  • "DateOfPurchase": "2019-08-24",
  • "DateOfSale": "2019-08-24",
  • "Comments": "string",
  • "AssociationOwnerIds": [
    ],
  • "DelinquencyStatus": "NoDelinquency"
}

Update an ownership account

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.

Required permission(s):

Associations > Ownership accounts - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>
Request Body schema: application/json
DateOfPurchase
required
string <date>

Responses

Request samples

Content type
application/json
{
  • "DateOfPurchase": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationId": 0,
  • "UnitId": 0,
  • "Status": "Active",
  • "DateOfPurchase": "2019-08-24",
  • "DateOfSale": "2019-08-24",
  • "Comments": "string",
  • "AssociationOwnerIds": [
    ],
  • "DelinquencyStatus": "NoDelinquency"
}

Retrieve all notes

Retrieves notes for an ownership account.

Required permission(s):

Associations > OwnershipAccounts - `View`
path Parameters
ownershipAccountId
required
integer <int32>
query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a note

Creates a new ownership account note.

Required permission(s):

Associations > Ownership accounts - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve a note

Retrieves an ownership account note.

Required permission(s):

Associations > OwnershipAccounts - `View`
path Parameters
ownershipAccountId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Update a note

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.

Required permission(s):

Associations > Ownership Accounts - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>
noteId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve all partial payment settings for an ownership account

Retrieves partial payment settings for an ownership account.

Required permission(s):

Associations > OwnershipAccounts - `View`
path Parameters
ownershipAccountId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "RequirePaymentsInFull": true
}

Update partial payment settings for an ownership account

Updates partial payment settings for an ownership account.

Required Permission(s):

Associations > Ownership Accounts - `View` `Edit` Administration > Application Settings - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>
Request Body schema:

Represents the structure of the data that can be provided to a JSON patch document as path values via JSON pointer syntax.

RequirePaymentsInFull
boolean or null

Responses

Request samples

Content type
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "RequirePaymentsInFull": true
}

Ownership Account Transactions

Ownership account transaction resources that allow for recording both one-time and recurring transactions such as charges, payments and credits on the ownership account ledger.

Retrieve all transactions

Retrieves all ledger transactions for a specific ownership account.

Required permission(s):

Associations > Ownership account transactions - `View`
path Parameters
ownershipAccountId
required
integer <int32>

The ownership account identifier.

query Parameters
transactiondatefrom
string <date>
transactiondateto
string <date>
transactiontypes
Array of strings
Items Enum: "Bill" "Check" "Charge" "Payment" "Credit" "Refund" "ApplyDeposit" "ElectronicFundsTransfer" "Other" "Deposit" "GeneralJournalEntry" "OwnerContribution" "ReversePayment" "ReverseElectronicFundsTransfer" "VendorCredit" "RentalApplicationFeePayment" "ReverseRentalApplicationFeePayment" "ReverseOwnerContribution" "VendorRefund" "UnreversedPayment" "UnreversedElectronicFundsTransfer" "UnreversedOwnerContribution" "UnreversedRentalApplicationFeePayment" "ReversedEftRefund" "CreditCardPurchase" "CreditCardPayment"
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a transaction

Retrieves a specific ownership account ledger transaction.

Required permission(s):

Associations > Ownership account transactions - `View`
path Parameters
ownershipAccountId
required
integer <int32>

The ownership account identifier.

transactionId
required
integer <int32>

The transaction identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "OwnershipAccountId": 0,
  • "PayeeAssociationOwnerId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Retrieve all outstanding balances

Retrieves a list of ownership account outstanding balances.

Required permission(s):

Associations > Outstanding Balances - `View`
query Parameters
associationid
integer <int32>
ownershipaccountstatuses
Array of strings
Items Enum: "Active" "Past" "Future"
ownershipaccountids
Array of integers <int32> [ items <int32 > ]
pastdueemail
string
Enum: "NoEmailAddress" "Sent"
balanceduration
string
Enum: "TotalBalance" "Balance0to30Days" "Balance31to60Days" "Balance61to90Days" "BalanceOver90Days"
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all charges

Retrieves all ledger charges for a specific ownership account.

Required permission(s):

Associations > Ownership account transactions - `View`
path Parameters
ownershipAccountId
required
integer <int32>
query Parameters
transactiondatefrom
string <date>
transactiondateto
string <date>
billids
Array of integers <int32> [ items <int32 > ]
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a charge

Creates a ledger charge.

Required permission(s):

Associations > Ownership account transactions - `View` `Edit`

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

path Parameters
ownershipAccountId
required
integer <int32>

The ownership account identifier.

Request Body schema: application/json
Date
required
string <date>
Memo
string or null
BillId
integer or null <int32>
required
Array of objects (OwnershipAccountLedgerChargeLinesSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "Memo": "string",
  • "BillId": 0,
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "OwnershipAccountId": 0,
  • "PayeeAssociationOwnerId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Retrieve a charge

Retrieves a specific ownership account ledger charge.

Required permission(s):

Associations > Ownership account transactions - `View`
path Parameters
ownershipAccountId
required
integer <int32>

The ownership account identifier.

chargeId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TotalAmount": 0,
  • "Memo": "string",
  • "BillId": 0,
  • "Lines": [
    ]
}

Update a charge

Updates a charge.

Required permission(s):

Associations > Ownership account transactions - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>

The ownership account identifier.

chargeId
required
integer <int32>

The charge identifier.

Request Body schema: application/json
Date
required
string <date>
Memo
string or null
required
Array of objects (OwnershipAccountLedgerChargeLinesPutMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "OwnershipAccountId": 0,
  • "PayeeAssociationOwnerId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Create a payment

Creates a ledger payment.

Required permission(s):

Associations > Ownership account transactions - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
PaymentMethod
required
string
Enum: "Check" "Cash" "MoneyOrder" "CashierCheck" "DirectDeposit" "CreditCard" "ElectronicPayment"
PayeeUserId
integer or null <int32>
Memo
string or null
ReferenceNumber
string or null
SendEmailReceipt
required
boolean
required
Array of objects (OwnershipAccountLedgerPaymentLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "PaymentMethod": "Check",
  • "PayeeUserId": 0,
  • "Memo": "string",
  • "ReferenceNumber": "string",
  • "SendEmailReceipt": true,
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "OwnershipAccountId": 0,
  • "PayeeAssociationOwnerId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Create a payment (auto allocated)

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.

Required permission(s):

Associations > Ownership account transactions - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
PaymentMethod
required
string
Enum: "Check" "Cash" "MoneyOrder" "CashierCheck" "DirectDeposit" "CreditCard" "ElectronicPayment"
PayeeUserId
integer or null <int32>
Memo
string or null
ReferenceNumber
string or null
SendEmailReceipt
required
boolean
TotalAmount
required
number <double>

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "PaymentMethod": "Check",
  • "PayeeUserId": 0,
  • "Memo": "string",
  • "ReferenceNumber": "string",
  • "SendEmailReceipt": true,
  • "TotalAmount": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "OwnershipAccountId": 0,
  • "PayeeAssociationOwnerId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Update a payment

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.

Required permission(s):

Associations > Ownership account transactions - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>
paymentId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
PaymentMethod
required
string
Enum: "Check" "Cash" "MoneyOrder" "CashierCheck" "DirectDeposit" "CreditCard" "ElectronicPayment" "BuildiumEFT" "BuildiumCC" "RetailCash"
PayeeUserId
integer or null <int32>
Memo
string or null
ReferenceNumber
string or null
required
Array of objects (OwnershipAccountLedgerPaymentLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "PaymentMethod": "Check",
  • "PayeeUserId": 0,
  • "Memo": "string",
  • "ReferenceNumber": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "OwnershipAccountId": 0,
  • "PayeeAssociationOwnerId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Create a credit

Creates a ledger credit.

Required permission(s):

Associations > Ownership account transactions - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
Memo
string or null
CreditType
required
string
Enum: "WaiveUnpaid" "Exchange" "PreviouslyDeposited"
OffsettingGLAccountId
integer or null <int32>
required
Array of objects (OwnershipAccountCreditLinePostMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "Memo": "string",
  • "CreditType": "WaiveUnpaid",
  • "OffsettingGLAccountId": 0,
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "OwnershipAccountId": 0,
  • "PayeeAssociationOwnerId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Retrieve a refund

Retrieves a refund.

Required permission(s):

Accounting > Bank Accounts - `View`
path Parameters
ownershipAccountId
required
integer <int32>
refundId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "Payees": [
    ],
  • "Memo": "string",
  • "CheckNumber": "string",
  • "BankAccountId": 0,
  • "Address": {
    },
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Create a refund

Creates a refund.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
PayeeUserIds
required
Array of integers <int32> [ items <int32 > ]
Memo
string or null
CheckNumber
string or null
BankAccountId
required
integer <int32>
required
object
required
Array of objects (OwnershipAccountRefundLinesPostMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "PayeeUserIds": [
    ],
  • "Memo": "string",
  • "CheckNumber": "string",
  • "BankAccountId": 0,
  • "Address": {
    },
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "Payees": [
    ],
  • "Memo": "string",
  • "CheckNumber": "string",
  • "BankAccountId": 0,
  • "Address": {
    },
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Create a deposit withholding

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

Required permission(s):

Associations > Ownership account transactions - `View` `Edit` Accounting > General Ledger Accounts - `View`
path Parameters
ownershipAccountId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
DepositLiabilityGLAccountId
required
integer <int32>
Memo
string or null
Array of objects or null (OwnershipAccountDepositWithholdingLinePostMessage)

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "DepositLiabilityGLAccountId": 0,
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "OwnershipAccountId": 0,
  • "PayeeAssociationOwnerId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Update a deposit withholding

Updates an ownership account deposit withholding.

Required permission(s):

Associations > Ownership account transactions - `View` `Edit` Accounting > General Ledger Accounts - `View`
path Parameters
ownershipAccountId
required
integer <int32>
depositId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
DepositLiabilityGLAccountId
required
integer <int32>
Memo
string or null
Array of objects or null (OwnershipAccountDepositWithholdingLinePutMessage)

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "DepositLiabilityGLAccountId": 0,
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "OwnershipAccountId": 0,
  • "PayeeAssociationOwnerId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Retrieve all recurring transactions

Retrieves all recurring transactions for an ownership account.

Required permission(s):

Associations > Ownership account transactions - `View`
path Parameters
ownershipAccountId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a recurring charge

Creates a recurring charge transaction that will post automatically on the specified ownership account ledger.

Required permission(s):

Associations > Ownership account transactions - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>
Request Body schema: application/json
GLAccountId
required
integer <int32>
Amount
required
number <double>
Memo
string or null
FirstOccurrenceDate
required
string <date>
PostDaysInAdvance
required
integer <int32>
Frequency
required
string
Enum: "Monthly" "Weekly" "Every2Weeks" "Quarterly" "Yearly" "Every2Months" "Daily" "Every6Months" "OneTime"
Duration
string or null
Enum: "UntilEndOfTerm" "SpecificNumber"
NumberOfOccurrences
integer or null <int32>

Responses

Request samples

Content type
application/json
{
  • "GLAccountId": 0,
  • "Amount": 0,
  • "Memo": "string",
  • "FirstOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Frequency": "Monthly",
  • "Duration": "UntilEndOfTerm",
  • "NumberOfOccurrences": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "OwnershipAccountId": 0,
  • "GLAccountId": 0,
  • "RentId": 0,
  • "Amount": 0,
  • "Memo": "string",
  • "FirstOccurrenceDate": "2019-08-24",
  • "NextOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "OccurrencesRemaining": 0,
  • "Frequency": "Monthly",
  • "Duration": "Unspecified"
}

Retrieve a recurring charge

Retrieves a recurring charge.

Required permission(s):

Associations > Ownership account transactions - `View`
path Parameters
ownershipAccountId
required
integer <int32>
transactionId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "OwnershipAccountId": 0,
  • "GLAccountId": 0,
  • "RentId": 0,
  • "Amount": 0,
  • "Memo": "string",
  • "FirstOccurrenceDate": "2019-08-24",
  • "NextOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "OccurrencesRemaining": 0,
  • "Frequency": "Monthly",
  • "Duration": "Unspecified"
}

Create a recurring credit

Creates a recurring credit transaction that will post automatically on the specified ownership account ledger.

Required permission(s):

Associations > Ownership account transactions - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>
Request Body schema: application/json
CreditType
required
string
Enum: "WaiveUnpaid" "Exchange" "PreviouslyDeposited"
OffsettingGLAccountId
integer or null <int32>
PostingRuleGlAccountId
integer or null <int32>
Array of objects or null (RecurringTransactionLinePostMessage)
PostDaysInAdvance
required
integer <int32>
Frequency
required
string
Enum: "Monthly" "Weekly" "Every2Weeks" "Quarterly" "Yearly" "Every2Months" "Daily" "Every6Months" "OneTime"
Duration
string or null
Enum: "UntilEndOfTerm" "SpecificNumber"
NumberOfOccurrences
integer or null <int32>
FirstOccurrenceDate
required
string <date>
Memo
string or null

Responses

Request samples

Content type
application/json
{
  • "CreditType": "WaiveUnpaid",
  • "OffsettingGLAccountId": 0,
  • "PostingRuleGlAccountId": 0,
  • "Lines": [
    ],
  • "PostDaysInAdvance": 0,
  • "Frequency": "Monthly",
  • "Duration": "UntilEndOfTerm",
  • "NumberOfOccurrences": 0,
  • "FirstOccurrenceDate": "2019-08-24",
  • "Memo": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "OwnershipAccountId": 0,
  • "CreditType": "WaiveUnpaid",
  • "OffsettingGLAccountId": 0,
  • "PostingRuleGLAccountId": 0,
  • "Lines": [
    ],
  • "Amount": 0,
  • "OccurrencesRemaining": 0,
  • "FirstOccurrenceDate": "2019-08-24",
  • "NextOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Memo": "string",
  • "Frequency": "Monthly",
  • "Duration": "Unspecified"
}

Retrieve a recurring credit

Retrieves a recurring credit.

Required permission(s):

Associations > Ownership account transactions - `View`
path Parameters
ownershipAccountId
required
integer <int32>
transactionId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "OwnershipAccountId": 0,
  • "CreditType": "WaiveUnpaid",
  • "OffsettingGLAccountId": 0,
  • "PostingRuleGLAccountId": 0,
  • "Lines": [
    ],
  • "Amount": 0,
  • "OccurrencesRemaining": 0,
  • "FirstOccurrenceDate": "2019-08-24",
  • "NextOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Memo": "string",
  • "Frequency": "Monthly",
  • "Duration": "Unspecified"
}

Create a recurring payment

Creates a recurring payment that will post automatically on the specified ownership account ledger.

Required permission(s):

Associations > Ownership account transactions - `View` `Edit`
path Parameters
ownershipAccountId
required
integer <int32>
Request Body schema: application/json
PayerUserId
integer or null <int32>
PaymentMethod
required
string
Enum: "Check" "Cash" "MoneyOrder" "CashierCheck" "DirectDeposit" "CreditCard" "ElectronicPayment"
Array of objects or null (RecurringTransactionLinePostMessage)
Memo
string or null
FirstOccurrenceDate
required
string <date>
PostDaysInAdvance
required
integer <int32>
Frequency
required
string
Enum: "Monthly" "Weekly" "Every2Weeks" "Quarterly" "Yearly" "Every2Months" "Daily" "Every6Months" "OneTime"
Duration
string or null
Enum: "UntilEndOfTerm" "SpecificNumber"
NumberOfOccurrences
integer or null <int32>

Responses

Request samples

Content type
application/json
{
  • "PayerUserId": 0,
  • "PaymentMethod": "Check",
  • "Lines": [
    ],
  • "Memo": "string",
  • "FirstOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Frequency": "Monthly",
  • "Duration": "UntilEndOfTerm",
  • "NumberOfOccurrences": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "OwnershipAccountId": 0,
  • "Payer": {
    },
  • "PaymentMethod": "None",
  • "Lines": [
    ],
  • "Amount": 0,
  • "FirstOccurrenceDate": "2019-08-24",
  • "NextOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Frequency": "Monthly",
  • "Duration": "Unspecified",
  • "OccurrencesRemaining": 0,
  • "Memo": "string"
}

Retrieve a recurring payment

Retrieves a recurring payment.

Required permission(s):

Associations > Ownership account transactions - `View`
path Parameters
ownershipAccountId
required
integer <int32>
paymentId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "OwnershipAccountId": 0,
  • "Payer": {
    },
  • "PaymentMethod": "None",
  • "Lines": [
    ],
  • "Amount": 0,
  • "FirstOccurrenceDate": "2019-08-24",
  • "NextOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Frequency": "Monthly",
  • "Duration": "Unspecified",
  • "OccurrencesRemaining": 0,
  • "Memo": "string"
}

Retrieve all recurring transactions for all ownership accounts

Retrieves all recurring transactions for all ownership accounts.

Required permission(s):

Associations > Ownership account transactions - `View`
query Parameters
ownershipaccountids
Array of integers <int32> [ items <int32 > ]
createddatetimefrom
string <date-time>
createddatetimeto
string <date-time>
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Association Tenants

Association tenants resources providing access to tenants and tenant notes.

Retrieve all tenants

Retrieves a list of association tenants.

Required permission(s):

Associations > Association owners and tenants - `View`
query Parameters
name
string
phone
string
email
string
associationids
Array of integers <int32> [ items <int32 > ]
statuses
Array of strings
Items Enum: "Active" "Past" "Future"
createddatetimeto
string <date-time>
createddatetimefrom
string <date-time>
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a tenant

Creates an association tenant.

Required permission(s):

Associations > Association owners and tenants - `View` `Edit`
Request Body schema: application/json
FirstName
required
string non-empty
LastName
required
string non-empty
Email
string or null
AlternateEmail
string or null
object or null
DateOfBirth
string or null <date>
Comment
string or null
object or null
required
object
object or null
MoveInDate
string or null <date>
MoveOutDate
string or null <date>
OwnershipAccountId
required
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": {
    },
  • "DateOfBirth": "2019-08-24",
  • "Comment": "string",
  • "EmergencyContact": {
    },
  • "PrimaryAddress": {
    },
  • "AlternateAddress": {
    },
  • "MoveInDate": "2019-08-24",
  • "MoveOutDate": "2019-08-24",
  • "OwnershipAccountId": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": [
    ],
  • "PrimaryAddress": {
    },
  • "AlternateAddress": {
    },
  • "Comment": "string",
  • "EmergencyContact": {
    },
  • "OwnershipAccounts": [
    ],
  • "MoveInDate": "2019-08-24",
  • "MoveOutDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve a tenant

Retrieves a specific association tenant.

Required permission(s):

Associations > Association owners and tenants - `View`
path Parameters
tenantId
required
integer <int32>

The tenant identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": [
    ],
  • "PrimaryAddress": {
    },
  • "AlternateAddress": {
    },
  • "Comment": "string",
  • "EmergencyContact": {
    },
  • "OwnershipAccounts": [
    ],
  • "MoveInDate": "2019-08-24",
  • "MoveOutDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z"
}

Update a tenant

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.

Required permission(s):

Associations > Association owners and tenants - `View` `Edit`
path Parameters
tenantId
required
integer <int32>

The identifier of the association tenant to update.

Request Body schema: application/json
FirstName
required
string non-empty
LastName
required
string non-empty
Email
string or null
AlternateEmail
string or null
object or null
DateOfBirth
string or null <date>
Comment
string or null
object or null
required
object
object or null
MoveOutDate
string or null <date>

Responses

Request samples

Content type
application/json
{
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": {
    },
  • "DateOfBirth": "2019-08-24",
  • "Comment": "string",
  • "EmergencyContact": {
    },
  • "PrimaryAddress": {
    },
  • "AlternateAddress": {
    },
  • "MoveOutDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": [
    ],
  • "PrimaryAddress": {
    },
  • "AlternateAddress": {
    },
  • "Comment": "string",
  • "EmergencyContact": {
    },
  • "OwnershipAccounts": [
    ],
  • "MoveInDate": "2019-08-24",
  • "MoveOutDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve all notes

Retrieves all association tenant notes.

Required permission(s):

Associations > Association owners and tenants - `View`
path Parameters
tenantId
required
integer <int32>
query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a note

Creates an association tenant note.

Required permission(s):

Associations > Association owners and tenants - `View` `Edit`
path Parameters
tenantId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve a note

Retrieves an association tenant note.

Required permission(s):

Associations > Association owners and tenants - `View`
path Parameters
tenantId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Update a note

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.

Required permission(s):

Associations > Association owners and tenants - `View` `Edit`
path Parameters
tenantId
required
integer <int32>
noteId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Board Members

Board members make up a governing body that runs the association's affairs. In Buildium board members must be an Association Owner.

Retrieve all board members

Retrieves all association board members.

Required permission(s):

Associations > Association owners and tenants - `View`
path Parameters
associationId
required
integer <int32>
query Parameters
statuses
Array of strings
Items Enum: "Current" "Former" "Future"
boardpositiontypes
Array of strings
Items Enum: "President" "VicePresident" "Treasurer" "Secretary" "BoardMember"
createddatetimeto
string <date-time>
createddatetimefrom
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a board member

Creates a board member for a given association.

Required permission(s):

Associations > Association owners and tenants - `View` `Edit`
path Parameters
associationId
required
integer <int32>
Request Body schema: application/json
AssociationOwnerId
required
integer <int32>
BoardPositionType
required
string
Enum: "President" "VicePresident" "Treasurer" "Secretary" "BoardMember"
StartDate
string or null <date>
EndDate
string or null <date>

Responses

Request samples

Content type
application/json
{
  • "AssociationOwnerId": 0,
  • "BoardPositionType": "President",
  • "StartDate": "2019-08-24",
  • "EndDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationOwnerId": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "PhoneNumbers": [
    ],
  • "BoardPositionType": "President",
  • "StartDate": "2019-08-24",
  • "EndDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve a board member

Retrieves an association board member.

Required permission(s):

Associations > Association owners and tenants - `View`
path Parameters
associationId
required
integer <int32>
boardMemberId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationOwnerId": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "PhoneNumbers": [
    ],
  • "BoardPositionType": "President",
  • "StartDate": "2019-08-24",
  • "EndDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z"
}

Update a board member

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.

Required permission(s):

Associations > Association owners and tenants - `View` `Edit`
path Parameters
associationId
required
integer <int32>
boardMemberId
required
integer <int32>
Request Body schema: application/json
BoardPositionType
required
string
Enum: "President" "VicePresident" "Treasurer" "Secretary" "BoardMember"
StartDate
string or null <date>
EndDate
string or null <date>

Responses

Request samples

Content type
application/json
{
  • "BoardPositionType": "President",
  • "StartDate": "2019-08-24",
  • "EndDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationOwnerId": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "PhoneNumbers": [
    ],
  • "BoardPositionType": "President",
  • "StartDate": "2019-08-24",
  • "EndDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z"
}

Delete a board member

Deletes a board member. Note, this is a hard delete from the database and data can not be restored.

Required permission(s):

Associations > Association owners and tenants - `View` `Edit` `Delete`
path Parameters
associationId
required
integer <int32>
boardMemberId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Association Meter Readings

Meter reading resources for units on associations.

Retrieve all meter readings

Retrieves all meter readings for an association.

Required permission(s):

Associations > Associations and units - `View`
path Parameters
associationId
required
integer <int32>
query Parameters
readingdatefrom
required
string <date>
readingdateto
required
string <date>
metertypes
Array of strings
Items Enum: "Electric" "Gas" "Oil" "Water" "Sewer"
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete meter reading details for a given date

Delete meter reading details for an association for a given date.

Required permission(s):

Associations > Ownership account transactions - `View` `Edit` `Delete`
path Parameters
associationId
required
integer <int32>
query Parameters
readingdate
required
string <date>
metertype
required
string
Enum: "Electric" "Gas" "Oil" "Water" "Sewer"

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Retrieve all meter reading details

Retrieves all meter reading details for an association.

Required permission(s):

Associations > Associations and units - `View`
path Parameters
associationId
required
integer <int32>
query Parameters
readingdate
required
string <date>
metertype
required
string
Enum: "Electric" "Gas" "Oil" "Water" "Sewer"

Responses

Response samples

Content type
application/json
{
  • "ReadingDate": "2019-08-24",
  • "MeterType": "Unknown",
  • "Details": [
    ]
}

Create/Update meter reading details

This endpoint can be used to both create and update a meter reading detail for an association.

  • There can only be one meter reading detail for a given combination of MeterType and ReadingDate for an association
  • If you are updating an existing meter reading detail, use the query parameters to specify the existing meter reading detail to update.
  • If you are creating a new meter reading detail, do not pass any query parameters.
  • When adding a new item to the Details array, leave out the Id field.
  • When updating an existing item in the Details array, the Id field of the existing item must be included.

Required permission(s):

Associations > Associations and units - `View` `Edit`
path Parameters
associationId
required
integer <int32>
query Parameters
readingdate
string <date>
metertype
string
Enum: "Electric" "Gas" "Oil" "Water" "Sewer"
Request Body schema: application/json
ReadingDate
required
string <date>
MeterType
required
string
Enum: "Electric" "Gas" "Oil" "Water" "Sewer"
required
Array of objects (MeterReadingDetailPutMessage)

Responses

Request samples

Content type
application/json
{
  • "ReadingDate": "2019-08-24",
  • "MeterType": "Electric",
  • "Details": [
    ]
}

Response samples

Content type
application/json
{
  • "ReadingDate": "2019-08-24",
  • "MeterType": "Unknown",
  • "Details": [
    ]
}

Architectural Requests

Association architectural request resources providing access to architectural requests

Retrieve all architectural requests

Retrieves all architectural requests.

Required permission(s):

Associations > Associations and units - `View`

Associations > Ownership accounts - View

Associations > Association owners and tenants - View

Associations > Architectural requests - View

query Parameters
associationids
Array of integers <int32> [ items <int32 > ]
ownershipaccountids
Array of integers <int32> [ items <int32 > ]
ids
Array of integers <int32> [ items <int32 > ]
statuses
Array of strings
Items Enum: "New" "InProgress" "Completed"
decisions
Array of strings
Items Enum: "Pending" "Approved" "Denied"
createddatetimefrom
string <date-time>
createddatetimeto
string <date-time>
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
submitteddatetimefrom
string <date-time>
submitteddatetimeto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an architectural request

Creates an architectural request

Required permission(s):

Associations > Associations and units - `View` `Edit`

Associations > Ownership accounts - View Edit

Associations > Architectural requests - View Edit

Associations > Association owners and tenants - View Edit

Request Body schema: application/json
AssociationId
required
integer <int32>
OwnershipAccountId
required
integer <int32>
Name
required
string non-empty
SubmittedDateTime
required
string <date-time>
Status
string or null
Enum: "New" "InProgress" "Completed"
Decision
string or null
Enum: "Pending" "Approved" "Denied"

Responses

Request samples

Content type
application/json
{
  • "AssociationId": 0,
  • "OwnershipAccountId": 0,
  • "Name": "string",
  • "SubmittedDateTime": "2019-08-24T14:15:22Z",
  • "Status": "New",
  • "Decision": "Pending"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationId": 0,
  • "OwnershipAccountId": 0,
  • "Name": "string",
  • "SubmittedDateTime": "2019-08-24T14:15:22Z",
  • "Status": "New",
  • "Decision": "Pending",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "CreatedByUser": {
    },
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedByUser": {
    }
}

Retrieve an architectural request

Retrieves a specific architectural request.

Required permission(s):

Associations > Associations and units - `View`

Associations > Ownership accounts - View

Associations > Association owners and tenants - View

Associations > Architectural requests - View

path Parameters
architecturalRequestId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "AssociationId": 0,
  • "OwnershipAccountId": 0,
  • "Name": "string",
  • "SubmittedDateTime": "2019-08-24T14:15:22Z",
  • "Status": "New",
  • "Decision": "Pending",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "CreatedByUser": {
    },
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedByUser": {
    }
}

Retrieve all files for an architectural request

Retrieves all files for an architectural request.

Required permission(s):

Associations > Associations and units - `View`

Associations > Ownership accounts - View

Associations > Association owners and tenants - View

Associations > Architectural requests - View

path Parameters
architecturalRequestId
required
integer <int32>
query Parameters
ids
Array of integers <int32> [ items <int32 > ]
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Title": "string",
  • "PhysicalFileName": "string",
  • "Size": 0,
  • "ContentType": "string",
  • "UploadedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve an architectural request file

Retrieves an architectural request file.

Required permission(s):

Associations > Associations and units - `View`

Associations > Ownership accounts - View

Associations > Association owners and tenants - View

Associations > Architectural requests - View

path Parameters
architecturalRequestId
required
integer <int32>
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Title": "string",
  • "PhysicalFileName": "string",
  • "Size": 0,
  • "ContentType": "string",
  • "UploadedDateTime": "2019-08-24T14:15:22Z"
}

Download an architectural request file

Downloads a specific file associated to the architectural request.

Required permission(s):

Associations > Associations and units - `View`

Associations > Ownership accounts - View

Associations > Association owners and tenants - View

Associations > Architectural requests - View

path Parameters
architecturalRequestId
required
integer <int32>
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "DownloadUrl": "string"
}

Upload an architectural request file

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/uploads. The response of this call will contain an upload URL and a collection of headers 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 PUT request to the Buildium file provider. Follow these steps to create the request:

  1. Form a PUT request using the value of the UploadUrl property as the URL.

  2. Set the Content-Type header to application/octet-stream.

  3. Copy the fields from the Headers property to this request as header key/value pairs.

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

  1. Lastly create the body of the request with the file binary.

  2. Send the PUT request! A successful request will return with a 200 - OK 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.

Required permission(s):

Associations > Associations and units - `View` `Edit`

Associations > Ownership accounts - View Edit

Associations > Architectural requests - View Edit

Associations > Association owners and tenants - View Edit

path Parameters
architecturalRequestId
required
integer <int32>
Request Body schema: application/json
FileName
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "FileName": "string"
}

Response samples

Content type
application/json
{
  • "UploadUrl": "string",
  • "PhysicalFileName": "string",
  • "Headers": {
    }
}

Rental Properties

Rental property resources providing access to properties and property notes.

Retrieve all properties

Retrieves a list of rental properties.

Required permission(s):

Rentals > Rental properties and units - `View`
query Parameters
location
string
types
Array of strings
Items Enum: "Residential" "Commercial"
subtypes
Array of strings
Items Enum: "CondoTownhome" "MultiFamily" "SingleFamily" "Industrial" "Office" "Retail" "ShoppingCenter" "Storage" "ParkingSpace"
status
string
Enum: "Active" "InActive"
rentalownerids
Array of integers <int32> [ items <int32 > ]
propertyids
Array of integers <int32> [ items <int32 > ]
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a property

Creates a new rental property.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
Request Body schema: application/json
Name
required
string non-empty
StructureDescription
string or null
required
object
RentalSubType
required
string
Enum: "CondoTownhome" "MultiFamily" "SingleFamily" "Industrial" "Office" "Retail" "ShoppingCenter" "Storage" "ParkingSpace"
RentalOwnerIds
Array of integers or null <int32>
OperatingBankAccountId
required
integer <int32>
PropertyManagerId
integer or null <int32>
Reserve
number or null <double>
YearBuilt
integer or null <int32>
Array of objects or null (RentalPropertyUnitPostMessage)

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "StructureDescription": "string",
  • "Address": {
    },
  • "RentalSubType": "CondoTownhome",
  • "RentalOwnerIds": [
    ],
  • "OperatingBankAccountId": 0,
  • "PropertyManagerId": 0,
  • "Reserve": 0,
  • "YearBuilt": 0,
  • "Units": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "StructureDescription": "string",
  • "NumberUnits": 0,
  • "IsActive": true,
  • "OperatingBankAccountId": 0,
  • "Reserve": 0,
  • "Address": {
    },
  • "YearBuilt": 0,
  • "RentalType": "None",
  • "RentalSubType": "CondoTownhome",
  • "RentalManager": {
    }
}

Retrieve a property

Retrieve a specific rental property.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
propertyId
required
integer <int32>

The rental property identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "StructureDescription": "string",
  • "NumberUnits": 0,
  • "IsActive": true,
  • "OperatingBankAccountId": 0,
  • "Reserve": 0,
  • "Address": {
    },
  • "YearBuilt": 0,
  • "RentalType": "None",
  • "RentalSubType": "CondoTownhome",
  • "RentalManager": {
    }
}

Update a property

Updates a rental property.

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.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
propertyId
required
integer <int32>
Request Body schema: application/json
Name
required
string non-empty
StructureDescription
string or null
required
object
RentalSubType
required
string
Enum: "CondoTownhome" "MultiFamily" "SingleFamily" "Industrial" "Office" "Retail" "ShoppingCenter" "Storage" "ParkingSpace"
OperatingBankAccountId
required
integer <int32>
PropertyManagerId
integer or null <int32>
Reserve
number or null <double>
YearBuilt
integer or null <int32>

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "StructureDescription": "string",
  • "Address": {
    },
  • "RentalSubType": "CondoTownhome",
  • "OperatingBankAccountId": 0,
  • "PropertyManagerId": 0,
  • "Reserve": 0,
  • "YearBuilt": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "StructureDescription": "string",
  • "NumberUnits": 0,
  • "IsActive": true,
  • "OperatingBankAccountId": 0,
  • "Reserve": 0,
  • "Address": {
    },
  • "YearBuilt": 0,
  • "RentalType": "None",
  • "RentalSubType": "CondoTownhome",
  • "RentalManager": {
    }
}

Inactivate a property

Inactivates a rental property and all associated units. Any associated property's owners that have no remaining active properties will be inactivated.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
propertyId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Reactivate a property

Reactivates a rental property and all associated units. Any inactive rental owners assigned to this property will also be reactivated.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
propertyId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Retrieve all preferred vendors

Retrieves all preferred vendors.

Required permission(s):

Rentals > Rental properties and units - `View`

Maintenance > Vendors - View

path Parameters
propertyId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update preferred vendors

Updates preferred vendors.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`

Maintenance > Vendors - View Edit

path Parameters
propertyId
required
integer <int32>
Request Body schema: application/json
VendorIds
required
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "VendorIds": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all amenities

Retrieve all the amenities for a rental property.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
propertyId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Features": [
    ],
  • "IncludedInRent": [
    ]
}

Update amenities

Updates the amenities for a rental property.

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.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
propertyId
required
integer <int32>
Request Body schema: application/json
Features
Array of strings or null
Enum: "LaundryRoom" "WheelchairAccess" "DoorAttendant" "Elevator" "Parking" "StorageUnits" "Pool" "FitnessCenter" "TennisCourt" "ClubHouse" "Power" "ParkingCommercial" "SprinklerSystem" "DockHighDoorsOrLoadingAvailable" "Availability24Hours" "AccentWalls" "BasketballCourt" "Bilingual" "BoatDocks" "BusinessCenter" "CarWashArea" "ChildCare" "ClubDiscount" "ConferenceRoom" "Concierge" "FreeWeights" "FurnishedAvailable" "GamingStations" "Garage" "Gate" "GroceryService" "GroupExercise" "GuestRoom" "Housekeeping" "HouseSitting" "JoggingWalkingTrails" "LakeFront" "LakeAccess" "Library" "MealService" "MediaRoom" "MultiUseRoom" "NightPatrol" "OnSiteMaintenance" "OnSiteManagement" "PackageReceiving" "PerDiemAccepted" "PlayGround" "Racquetball" "RecRoom" "Recycling" "Sauna" "ShortTermLease" "SmokeFree" "Spa" "Sundeck" "Transportation" "TVLounge" "ValetTrash" "Vintage" "VolleyballCourt" "WirelessInternet" "HighSpeedInternet"
IncludedInRent
Array of strings or null
Enum: "Gas" "Electric" "Trash" "Water" "HotWater" "Telephone" "Heat" "Cable" "AirCon" "Satellite" "Sewer" "BroadbandInternet"

Responses

Request samples

Content type
application/json
{
  • "Features": [
    ],
  • "IncludedInRent": [
    ]
}

Response samples

Content type
application/json
{
  • "Features": [
    ],
  • "IncludedInRent": [
    ]
}

Retrieve ePay settings

Retrieves ePay settings for a rental property.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
propertyId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "EFTPayments": {
    },
  • "CreditCardPayments": {
    },
  • "OfflinePayments": {
    }
}

Update ePay settings

Updates ePay settings for a rental property.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
propertyId
required
integer <int32>
Request Body schema: application/json
required
object
required
object
required
object

Responses

Request samples

Content type
application/json
{
  • "EFTPayments": {
    },
  • "CreditCardPayments": {
    },
  • "OfflinePayments": {
    }
}

Response samples

Content type
application/json
{
  • "EFTPayments": {
    },
  • "CreditCardPayments": {
    },
  • "OfflinePayments": {
    }
}

Retrieve all property images

Retrieves all images for a rental property. Note this endpoint will only return file metadata such as file names and descriptions. To download files make requests to the Download File endpoint.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
propertyId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a property image

Retrieves a rental property image.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
propertyId
required
integer <int32>
imageId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Description": "string",
  • "PhysicalFileName": "string",
  • "Provider": "None",
  • "ShowInListing": true
}

Update a property image

Updates a rental property image.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
propertyId
required
integer <int32>
imageId
required
integer <int32>
Request Body schema: application/json
Description
string or null
ShowInListing
required
boolean

Responses

Request samples

Content type
application/json
{
  • "Description": "string",
  • "ShowInListing": true
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Description": "string",
  • "PhysicalFileName": "string",
  • "Provider": "None",
  • "ShowInListing": true
}

Delete a property image

Deletes a rental property image.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit` `Delete`
path Parameters
propertyId
required
integer <int32>
imageId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Download a property image

Use this endpoint to create a temporary URL that can be used to download a property image. This URL expires after 5 minutes.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
propertyId
required
integer <int32>
imageId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "DownloadUrl": "string"
}

Update property image order

Updates the image display order within the Buildium web application and in any associated rental listings.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
propertyId
required
integer <int32>
Request Body schema: application/json
Ids
required
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "Ids": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Upload a rental image

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/rentals/{propertyId}/images/uploads. The response of this call will contain an upload URL and a collection of headers 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 PUT request to the Buildium file provider. Follow these steps to create the request:

  1. Form a PUT request using the value of the UploadUrl property as the URL.

  2. Set the Content-Type header to application/octet-stream.

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

NOTE: These values must be 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 PUT request! A successful request will return with a 200 - OK 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.

Required permission(s):

Documents > Files - `View` `Edit`
path Parameters
propertyId
required
integer <int32>
Request Body schema: application/json
FileName
required
string non-empty
Description
string or null
ShowInListing
required
boolean

Responses

Request samples

Content type
application/json
{
  • "FileName": "string",
  • "Description": "string",
  • "ShowInListing": true
}

Response samples

Content type
application/json
{
  • "UploadUrl": "string",
  • "PhysicalFileName": "string",
  • "Headers": {
    }
}

Create an image for a rental using a video link

Creates an image for a rental using a video link.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
propertyId
required
integer <int32>
Request Body schema: application/json
VideoUrl
required
string non-empty
ShowInListing
required
boolean

Responses

Request samples

Content type
application/json
{
  • "VideoUrl": "string",
  • "ShowInListing": true
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Description": "string",
  • "PhysicalFileName": "string",
  • "Provider": "None",
  • "ShowInListing": true
}

Retrieve all notes

Retrieves all notes.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
propertyId
required
integer <int32>
query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a note

Creates a note.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
propertyId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve a note

Retrieves a note.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
propertyId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Update a note

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.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
propertyId
required
integer <int32>
noteId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Rental Units

Rental property unit resources providing access to units and unit notes.

Retrieve all units

Retrieves a list of rental property units.

Required permission(s):

Rentals > Rental properties and units - `View`
query Parameters
propertyids
Array of integers <int32> [ items <int32 > ]
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a unit

Creates a rental unit.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
Request Body schema: application/json
UnitNumber
required
string non-empty
PropertyId
required
integer <int32>
UnitSize
integer or null <int32>
MarketRent
number or null <double>
required
object
UnitBedrooms
string or null
Enum: "NotSet" "Studio" "OneBed" "TwoBed" "ThreeBed" "FourBed" "FiveBed" "SixBed" "SevenBed" "EightBed" "NineBedPlus"
UnitBathrooms
string or null
Enum: "NotSet" "OneBath" "OnePointFiveBath" "TwoBath" "TwoPointFiveBath" "ThreeBath" "FourBath" "FiveBath" "FivePlusBath" "ThreePointFiveBath" "FourPointFiveBath"
Description
string or null

Responses

Request samples

Content type
application/json
{
  • "UnitNumber": "string",
  • "PropertyId": 0,
  • "UnitSize": 0,
  • "MarketRent": 0,
  • "Address": {
    },
  • "UnitBedrooms": "NotSet",
  • "UnitBathrooms": "NotSet",
  • "Description": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "PropertyId": 0,
  • "BuildingName": "string",
  • "UnitNumber": "string",
  • "Description": "string",
  • "MarketRent": 0,
  • "Address": {
    },
  • "UnitBedrooms": "NotSet",
  • "UnitBathrooms": "NotSet",
  • "UnitSize": 0,
  • "IsUnitListed": true,
  • "IsUnitOccupied": true
}

Retrieve a unit

Retrieves a specific rental property unit.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
unitId
required
integer <int32>

The rental unit identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "PropertyId": 0,
  • "BuildingName": "string",
  • "UnitNumber": "string",
  • "Description": "string",
  • "MarketRent": 0,
  • "Address": {
    },
  • "UnitBedrooms": "NotSet",
  • "UnitBathrooms": "NotSet",
  • "UnitSize": 0,
  • "IsUnitListed": true,
  • "IsUnitOccupied": true
}

Update a unit

Updates a rental 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.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
unitId
required
integer <int32>

The identifier of the unit to update.

Request Body schema: application/json
UnitNumber
required
string non-empty
UnitSize
integer or null <int32>
MarketRent
number or null <double>
required
object
UnitBedrooms
string or null
Enum: "NotSet" "Studio" "OneBed" "TwoBed" "ThreeBed" "FourBed" "FiveBed" "SixBed" "SevenBed" "EightBed" "NineBedPlus"
UnitBathrooms
string or null
Enum: "NotSet" "OneBath" "OnePointFiveBath" "TwoBath" "TwoPointFiveBath" "ThreeBath" "FourBath" "FiveBath" "FivePlusBath" "ThreePointFiveBath" "FourPointFiveBath"
Description
string or null

Responses

Request samples

Content type
application/json
{
  • "UnitNumber": "string",
  • "UnitSize": 0,
  • "MarketRent": 0,
  • "Address": {
    },
  • "UnitBedrooms": "NotSet",
  • "UnitBathrooms": "NotSet",
  • "Description": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "PropertyId": 0,
  • "BuildingName": "string",
  • "UnitNumber": "string",
  • "Description": "string",
  • "MarketRent": 0,
  • "Address": {
    },
  • "UnitBedrooms": "NotSet",
  • "UnitBathrooms": "NotSet",
  • "UnitSize": 0,
  • "IsUnitListed": true,
  • "IsUnitOccupied": true
}

Retrieve all amenities

Retrieves all amenities for a rental unit.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
unitId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Features": [
    ]
}

Update amenities

Updates the amenities for a rental 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.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
unitId
required
integer <int32>
Request Body schema: application/json
Features
Array of strings or null
Enum: "CableReady" "Microwave" "HardwoodFloors" "HighSpeedInternet" "AirConditioning" "Refrigerator" "Dishwasher" "WalkinClosets" "BalconyOrDeckOrPatio" "GarageParking" "Carport" "FencedYard" "LaundryRoomOrHookups" "Fireplace" "CableReadyCommercial" "HighSpeedInternetCommercial" "AirConditioningCommercial" "Heating" "OvenOrRange" "HeatElectric" "HeatGas" "HeatOil" "PetsAllowed" "Balcony" "PrivateBalcony" "PrivatePatio" "Dryer" "Heat" "WD_Hookup" "Washer" "AdditionalStorage" "Alarm" "Carpet" "CeilingFan" "ControlledAccess" "Courtyard" "Disposal" "DoubleSinkVanity" "FramedMirrors" "Furnished" "Handrails" "IndividualClimateControl" "IslandKitchen" "LinenCloset" "Pantry" "Satellite" "Skylight" "TileFlooring" "VaultedCeiling" "View" "VinylFlooring" "WheelChair" "WindowCoverings" "DogFriendly" "CatFriendly"

Responses

Request samples

Content type
application/json
{
  • "Features": [
    ]
}

Response samples

Content type
application/json
{
  • "Features": [
    ]
}

Retrieve all unit images

Retrieves all images for a unit. Note this endpoint will only return file metadata such as file names and descriptions. To download files make requests to the Download File endpoint.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
unitId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a unit image

Retrieves a unit image.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
unitId
required
integer <int32>
imageId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Description": "string",
  • "PhysicalFileName": "string",
  • "Provider": "None",
  • "ShowInListing": true
}

Update a unit image

Updates a unit image.

Required permission(s):

Rentals > Properties and units - `View` `Edit`
path Parameters
unitId
required
integer <int32>
imageId
required
integer <int32>
Request Body schema: application/json
Description
string or null
ShowInListing
required
boolean

Responses

Request samples

Content type
application/json
{
  • "Description": "string",
  • "ShowInListing": true
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Description": "string",
  • "PhysicalFileName": "string",
  • "Provider": "None",
  • "ShowInListing": true
}

Delete a unit image

Deletes a unit image.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit` `Delete`
path Parameters
unitId
required
integer <int32>
imageId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Download a unit image

Use this endpoint to create a temporary URL that can be used to download a unit image. This URL expires after 5 minutes.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
unitId
required
integer <int32>
imageId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "DownloadUrl": "string"
}

Update unit image order

Updates the image display order within the Buildium web application and in any associated rental listings.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
unitId
required
integer <int32>
Request Body schema: application/json
Ids
required
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "Ids": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Upload a unit image

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/rentals/units/{unitId}/images/uploads. The response of this call will contain an upload URL and a collection of headers 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 PUT request to the Buildium file provider. Follow these steps to create the request:

  1. Form a PUT request using the value of the UploadUrl property as the URL.

  2. Set the Content-Type header to application/octet-stream.

  3. Copy the fields from the Headers property to this request as header key/value pairs.

NOTE: These values must be added to the request headers in the order they were received in the response.

  1. Lastly create the body of the request with the file binary.

  2. Send the PUT request! A successful request will return with a 200 - OK 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.

Required permission(s):

Documents > Files - `View` `Edit`
path Parameters
unitId
required
integer <int32>
Request Body schema: application/json
FileName
required
string non-empty
Description
string or null
ShowInListing
required
boolean

Responses

Request samples

Content type
application/json
{
  • "FileName": "string",
  • "Description": "string",
  • "ShowInListing": true
}

Response samples

Content type
application/json
{
  • "UploadUrl": "string",
  • "PhysicalFileName": "string",
  • "Headers": {
    }
}

Create an image for a unit using a video link

Creates an image for a rental unit using a video link.

Required permission(s):

Rentals > Properties and units - `View` `Edit`
path Parameters
unitId
required
integer <int32>
Request Body schema: application/json
VideoUrl
required
string non-empty
ShowInListing
required
boolean

Responses

Request samples

Content type
application/json
{
  • "VideoUrl": "string",
  • "ShowInListing": true
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Description": "string",
  • "PhysicalFileName": "string",
  • "Provider": "None",
  • "ShowInListing": true
}

Retrieve all notes

Retrieves all rental unit notes.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
unitId
required
integer <int32>
query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a note

Creates a rental unit note.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
unitId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve a note

Retrieves a rental unit note.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
unitId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Update a note

Updates a rental 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.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
unitId
required
integer <int32>
noteId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Rental Appliances

Rental property appliance resources providing access to appliances and appliance history.

Retrieve all appliances

Retrieves all rental appliances.

Required permission(s):

Rentals > Rental properties and units - `View`
query Parameters
propertyids
Array of integers <int32> [ items <int32 > ]
unitids
Array of integers <int32> [ items <int32 > ]
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an appliance

Creates a rental property appliance.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
Request Body schema: application/json
PropertyId
required
integer <int32>
UnitId
integer or null <int32>
Name
required
string non-empty
Make
string or null
Model
string or null
Description
string or null
InstallDate
string or null <date>
WarrantyEndDate
string or null <date>

Responses

Request samples

Content type
application/json
{
  • "PropertyId": 0,
  • "UnitId": 0,
  • "Name": "string",
  • "Make": "string",
  • "Model": "string",
  • "Description": "string",
  • "InstallDate": "2019-08-24",
  • "WarrantyEndDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "Name": "string",
  • "Make": "string",
  • "Model": "string",
  • "Description": "string",
  • "WarrantyEndDate": "2019-08-24"
}

Retrieve an appliance

Retrieves a rental appliance.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
applianceId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "Name": "string",
  • "Make": "string",
  • "Model": "string",
  • "Description": "string",
  • "WarrantyEndDate": "2019-08-24"
}

Delete an appliance

Deletes an appliance.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
applianceId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Update an appliance

Updates a rental 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.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
applianceId
required
integer <int32>
Request Body schema: application/json
UnitId
integer or null <int32>
Name
required
string non-empty
Make
string or null
Model
string or null
Description
string or null
WarrantyEndDate
string or null <date>

Responses

Request samples

Content type
application/json
{
  • "UnitId": 0,
  • "Name": "string",
  • "Make": "string",
  • "Model": "string",
  • "Description": "string",
  • "WarrantyEndDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "Name": "string",
  • "Make": "string",
  • "Model": "string",
  • "Description": "string",
  • "WarrantyEndDate": "2019-08-24"
}

Retrieve all service history

Retrieves all of the service history records for an appliance.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
applianceId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a service history

Creates a service history record for an appliance.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
applianceId
required
integer <int32>
Request Body schema: application/json
ServiceType
required
string
Enum: "Installed" "Serviced" "Uninstalled"
Date
required
string <date>
Details
string or null

Responses

Request samples

Content type
application/json
{
  • "ServiceType": "Installed",
  • "Date": "2019-08-24",
  • "Details": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "ServiceType": "Installed",
  • "Date": "2019-08-24",
  • "Details": "string"
}

Retrieve a service history

Retrieves a specific service history record for a given appliance.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
applianceId
required
integer <int32>
serviceHistoryId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "ServiceType": "Installed",
  • "Date": "2019-08-24",
  • "Details": "string"
}

Rental Owners

Rental property owner resources providing access to owners and owner notes.

Retrieve all owners

Retrieves a list of rental owners.

Required permission(s):

Rentals > Property Rental Owners - `View`
query Parameters
propertyids
Array of integers <int32> [ items <int32 > ]
status
string
Enum: "Inactive" "Active"
agreementdaysremaining
integer <int32>
ownername
string
phone
string
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an owner

Creates a rental owner.

Required permission(s):

Rentals > Property Rental Owners - `View` `Edit`
Request Body schema: application/json
FirstName
string or null
LastName
string or null
IsCompany
required
boolean
CompanyName
string or null
DateOfBirth
string or null <date>
ManagementAgreementStartDate
string or null <date>
ManagementAgreementEndDate
string or null <date>
Email
string or null
AlternateEmail
string or null
object or null
required
object
Comment
string or null
PropertyIds
required
Array of integers <int32> [ items <int32 > ]
object or null

Responses

Request samples

Content type
application/json
{
  • "FirstName": "string",
  • "LastName": "string",
  • "IsCompany": true,
  • "CompanyName": "string",
  • "DateOfBirth": "2019-08-24",
  • "ManagementAgreementStartDate": "2019-08-24",
  • "ManagementAgreementEndDate": "2019-08-24",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": {
    },
  • "Address": {
    },
  • "Comment": "string",
  • "PropertyIds": [
    ],
  • "TaxInformation": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "IsCompany": true,
  • "IsActive": true,
  • "FirstName": "string",
  • "LastName": "string",
  • "PhoneNumbers": [
    ],
  • "Email": "string",
  • "AlternateEmail": "string",
  • "Comment": "string",
  • "Address": {
    },
  • "ManagementAgreementStartDate": "2019-08-24",
  • "ManagementAgreementEndDate": "2019-08-24",
  • "CompanyName": "string",
  • "PropertyIds": [
    ],
  • "TaxInformation": {
    }
}

Retrieve an owner

Retrieves a specific rental owner.

Required permission(s):

Rentals > Property Rental Owners - `View`
path Parameters
rentalOwnerId
required
integer <int32>

The rental owner identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "IsCompany": true,
  • "IsActive": true,
  • "FirstName": "string",
  • "LastName": "string",
  • "PhoneNumbers": [
    ],
  • "Email": "string",
  • "AlternateEmail": "string",
  • "Comment": "string",
  • "Address": {
    },
  • "ManagementAgreementStartDate": "2019-08-24",
  • "ManagementAgreementEndDate": "2019-08-24",
  • "CompanyName": "string",
  • "PropertyIds": [
    ],
  • "TaxInformation": {
    }
}

Update an owner

Updates a rental 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.

Required permission(s):

Rentals > Property Rental Owners - `View` `Edit`
path Parameters
rentalOwnerId
required
integer <int32>

The identifier of the rental owner to update.

Request Body schema: application/json
FirstName
string or null
LastName
string or null
IsCompany
required
boolean
CompanyName
string or null
DateOfBirth
string or null <date>
ManagementAgreementStartDate
string or null <date>
ManagementAgreementEndDate
string or null <date>
Email
string or null
AlternateEmail
string or null
object or null
required
object
Comment
string or null
PropertyIds
required
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "FirstName": "string",
  • "LastName": "string",
  • "IsCompany": true,
  • "CompanyName": "string",
  • "DateOfBirth": "2019-08-24",
  • "ManagementAgreementStartDate": "2019-08-24",
  • "ManagementAgreementEndDate": "2019-08-24",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": {
    },
  • "Address": {
    },
  • "Comment": "string",
  • "PropertyIds": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "IsCompany": true,
  • "IsActive": true,
  • "FirstName": "string",
  • "LastName": "string",
  • "PhoneNumbers": [
    ],
  • "Email": "string",
  • "AlternateEmail": "string",
  • "Comment": "string",
  • "Address": {
    },
  • "ManagementAgreementStartDate": "2019-08-24",
  • "ManagementAgreementEndDate": "2019-08-24",
  • "CompanyName": "string",
  • "PropertyIds": [
    ],
  • "TaxInformation": {
    }
}

Retrieves all notes

Retrieves all rental owner notes.

Required permission(s):

Rentals > Property Rental Owners - `View`
path Parameters
rentalOwnerId
required
integer <int32>
query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a note

Creates a new Rental Owner note.

Required permission(s):

Rentals > Property Rental Owners - `View` `Edit`
path Parameters
rentalOwnerId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve a note

Retrieves a rental owner note.

Required permission(s):

Rentals > Property Rental Owners - `View`
path Parameters
rentalOwnerId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Update a note

Updates a Rental 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.

Required permission(s):

Rentals > Property Rental Owners - `View` `Edit`
path Parameters
rentalOwnerId
required
integer <int32>
noteId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Rental Tenants

Rental tenant resources providing access to tenant and tenant notes.

Retrieve all tenants

Retrieves a list of tenants.

Required permission(s):

Rentals > Tenants - `View`
query Parameters
buildingstatuses
Array of strings
Items Enum: "Active" "InActive"
leasetermstatuses
Array of strings
Items Enum: "Active" "Past" "Future"
unitnumber
string
name
string
phone
string
email
string
propertyids
Array of integers <int32> [ items <int32 > ]
rentalownerids
Array of integers <int32> [ items <int32 > ]
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
unitids
Array of integers <int32> [ items <int32 > ]
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a tenant

Creates a rental tenant.

Required permission(s):

Rentals > Tenants - `View` `Edit`

Rentals > Leases - View Edit

Request Body schema: application/json
LeaseId
required
integer <int32>
FirstName
required
string non-empty
LastName
required
string non-empty
Email
string or null
AlternateEmail
string or null
object or null
DateOfBirth
string or null <date>
Comment
string or null
TaxId
string or null
object or null
required
object
object or null
MailingPreference
string or null
Enum: "PrimaryAddress" "AlternateAddress"

Responses

Request samples

Content type
application/json
{
  • "LeaseId": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": {
    },
  • "DateOfBirth": "2019-08-24",
  • "Comment": "string",
  • "TaxId": "string",
  • "EmergencyContact": {
    },
  • "Address": {
    },
  • "AlternateAddress": {
    },
  • "MailingPreference": "PrimaryAddress"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": [
    ],
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "EmergencyContact": {
    },
  • "DateOfBirth": "2019-08-24",
  • "SMSOptInStatus": "NotSet",
  • "Address": {
    },
  • "AlternateAddress": {
    },
  • "MailingPreference": "PrimaryAddress",
  • "Leases": [
    ],
  • "Comment": "string",
  • "TaxId": "string"
}

Retrieve a tenant

Retrieve a specific tenant.

Required permission(s):

Rentals > Tenants - `View`
path Parameters
tenantId
required
integer <int32>

The tenant identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": [
    ],
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "EmergencyContact": {
    },
  • "DateOfBirth": "2019-08-24",
  • "SMSOptInStatus": "NotSet",
  • "Address": {
    },
  • "AlternateAddress": {
    },
  • "MailingPreference": "PrimaryAddress",
  • "Leases": [
    ],
  • "Comment": "string",
  • "TaxId": "string"
}

Update a tenant

Updates a rental 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.

Required permission(s):

Rentals > Tenants - `View` `Edit`
path Parameters
tenantId
required
integer <int32>
Request Body schema: application/json
FirstName
required
string non-empty
LastName
required
string non-empty
Email
string or null
AlternateEmail
string or null
object or null
DateOfBirth
string or null <date>
Comment
string or null
TaxId
string or null
object or null
required
object
object or null
MailingPreference
string or null
Enum: "PrimaryAddress" "AlternateAddress"

Responses

Request samples

Content type
application/json
{
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": {
    },
  • "DateOfBirth": "2019-08-24",
  • "Comment": "string",
  • "TaxId": "string",
  • "EmergencyContact": {
    },
  • "Address": {
    },
  • "AlternateAddress": {
    },
  • "MailingPreference": "PrimaryAddress"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": [
    ],
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "EmergencyContact": {
    },
  • "DateOfBirth": "2019-08-24",
  • "SMSOptInStatus": "NotSet",
  • "Address": {
    },
  • "AlternateAddress": {
    },
  • "MailingPreference": "PrimaryAddress",
  • "Leases": [
    ],
  • "Comment": "string",
  • "TaxId": "string"
}

Retrieve all notes

Retrieves all tenant notes.

Required permission(s):

Rentals > Tenants - `View`
path Parameters
tenantId
required
integer <int32>

The tenant identifier.

query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a note

Creates a tenant note.

Required permission(s):

Rentals > Tenants - `View` `Edit`
path Parameters
tenantId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve a note

Retrieves a tenant note.

Required permission(s):

Rentals > Tenants - `View`
path Parameters
tenantId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Update a note

Updates a 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.

Required permission(s):

Rentals > Tenants - `View` `Edit`
path Parameters
tenantId
required
integer <int32>
noteId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Leases

Lease resources providing access to rental property leases.

Retrieve all leases

Retrieves a list of leases.

Rentals > Leases - View

query Parameters
propertyids
Array of integers <int32> [ items <int32 > ]
rentalownerids
Array of integers <int32> [ items <int32 > ]
unitnumber
string
tenantname
string
leasedatefrom
string <date>
leasedateto
string <date>
leasetypes
Array of strings
Items Enum: "None" "Fixed" "FixedWithRollover" "AtWill"
leasestatuses
Array of strings
Items Enum: "Active" "Past" "Future"
createddatetimefrom
string <date-time>
createddatetimeto
string <date-time>
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a lease

Creates a signed lease.

Rentals > Leases - View Edit

Rentals > Tenants - View Edit

Rentals > Lease transactions - View Edit

Optional Permissions:

Rentals > Applicants - `View` In order to add tenants to the lease using the ApplicantIds property, you must have this permission.
Request Body schema: application/json
LeaseType
required
string
Enum: "Fixed" "FixedWithRollover" "AtWill"
UnitId
required
integer <int32>
LeaseFromDate
required
string <date>
LeaseToDate
string or null <date>
SendWelcomeEmail
required
boolean
Array of objects or null (RentalTenantPutMessage)
TenantIds
Array of integers or null <int32>
ApplicantIds
Array of integers or null <int32>
Array of objects or null (LeaseCosignerPostMessage)
object or null
object or null
ProratedFirstMonthRent
number or null <double>
ProratedLastMonthRent
number or null <double>

Responses

Request samples

Content type
application/json
{
  • "LeaseType": "Fixed",
  • "UnitId": 0,
  • "LeaseFromDate": "2019-08-24",
  • "LeaseToDate": "2019-08-24",
  • "SendWelcomeEmail": true,
  • "Tenants": [
    ],
  • "TenantIds": [
    ],
  • "ApplicantIds": [
    ],
  • "Cosigners": [
    ],
  • "Rent": {
    },
  • "SecurityDeposit": {
    },
  • "ProratedFirstMonthRent": 0,
  • "ProratedLastMonthRent": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "UnitNumber": "string",
  • "LeaseFromDate": "2019-08-24",
  • "LeaseToDate": "2019-08-24",
  • "LeaseType": "None",
  • "LeaseStatus": "Active",
  • "IsEvictionPending": true,
  • "TermType": "MonthToMonth",
  • "RenewalOfferStatus": "NotSet",
  • "CurrentTenants": [
    ],
  • "CurrentNumberOfOccupants": 0,
  • "AccountDetails": {
    },
  • "Cosigners": [
    ],
  • "AutomaticallyMoveOutTenants": true,
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z",
  • "MoveOutData": [
    ],
  • "PaymentDueDay": 0,
  • "Tenants": [
    ]
}

Retrieve a lease

Retrieves a specific lease.

Rentals > Leases - View

path Parameters
leaseId
required
integer <int32>

The lease identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "UnitNumber": "string",
  • "LeaseFromDate": "2019-08-24",
  • "LeaseToDate": "2019-08-24",
  • "LeaseType": "None",
  • "LeaseStatus": "Active",
  • "IsEvictionPending": true,
  • "TermType": "MonthToMonth",
  • "RenewalOfferStatus": "NotSet",
  • "CurrentTenants": [
    ],
  • "CurrentNumberOfOccupants": 0,
  • "AccountDetails": {
    },
  • "Cosigners": [
    ],
  • "AutomaticallyMoveOutTenants": true,
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z",
  • "MoveOutData": [
    ],
  • "PaymentDueDay": 0,
  • "Tenants": [
    ]
}

Update a lease

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

path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
LeaseType
required
string
Enum: "Fixed" "FixedWithRollover" "AtWill"
UnitId
required
integer <int32>
LeaseFromDate
required
string <date>
LeaseToDate
string or null <date>
IsEvictionPending
required
boolean
AutomaticallyMoveOutTenants
boolean or null

Responses

Request samples

Content type
application/json
{
  • "LeaseType": "Fixed",
  • "UnitId": 0,
  • "LeaseFromDate": "2019-08-24",
  • "LeaseToDate": "2019-08-24",
  • "IsEvictionPending": true,
  • "AutomaticallyMoveOutTenants": true
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "UnitNumber": "string",
  • "LeaseFromDate": "2019-08-24",
  • "LeaseToDate": "2019-08-24",
  • "LeaseType": "None",
  • "LeaseStatus": "Active",
  • "IsEvictionPending": true,
  • "TermType": "MonthToMonth",
  • "RenewalOfferStatus": "NotSet",
  • "CurrentTenants": [
    ],
  • "CurrentNumberOfOccupants": 0,
  • "AccountDetails": {
    },
  • "Cosigners": [
    ],
  • "AutomaticallyMoveOutTenants": true,
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z",
  • "MoveOutData": [
    ],
  • "PaymentDueDay": 0,
  • "Tenants": [
    ]
}

Retrieve all move outs

Retrieves a list of move out dates for a given lease.

Required permission(s):

Rentals > Leases - `View`

Rentals > Tenants - View

path Parameters
leaseId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a move out

Creates move out data for a single tenant on a given lease.

Required permission(s):

Rentals > Leases - `View` `Edit`

Rentals > Tenants - View Edit

path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
TenantId
required
integer <int32>
MoveOutDate
required
string <date>
NoticeGivenDate
string or null <date>

Responses

Request samples

Content type
application/json
{
  • "TenantId": 0,
  • "MoveOutDate": "2019-08-24",
  • "NoticeGivenDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "TenantId": 0,
  • "MoveOutDate": "2019-08-24",
  • "NoticeGivenDate": "2019-08-24"
}

Retrieve a move out

Retrieves move out data for a single tenant on a given lease.

Required permission(s):

Rentals > Leases - `View`

Rentals > Tenants - View

path Parameters
leaseId
required
integer <int32>
tenantId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "TenantId": 0,
  • "MoveOutDate": "2019-08-24",
  • "NoticeGivenDate": "2019-08-24"
}

Delete a move out

Deletes move out data for a tenant on a given lease.

Required Permission(s):

Rentals > Leases - `View` `Edit`

Rentals > Tenants - View

path Parameters
leaseId
required
integer <int32>
tenantId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Retrieve all notes

Retrieves all lease notes.

Required permission(s):

Rentals > Leases - `View`
path Parameters
leaseId
required
integer <int32>
query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a note

Creates a lease note.

Required permission(s):

Rentals > Leases - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve a note

Retrieves a lease note.

Required permission(s):

Rentals > Leases - `View`
path Parameters
leaseId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Update a note

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.

Required permission(s):

Rentals > Leases - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
noteId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve all upcoming renewals

Retrieves all upcoming lease renewals across all rental properties.

Required permission(s):

Rentals > Leases - `View`
query Parameters
propertyids
Array of integers <int32> [ items <int32 > ]
rentalownerids
Array of integers <int32> [ items <int32 > ]
esignaturestatuses
required
Array of strings
Items Enum: "Unknown" "NotSent" "ProcessingRequest" "AwaitingSignatures" "FullySigned" "PendingCancellation" "Cancelled" "Failed" "SentUsingAdobe"
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all renewals

Retrieves all renewals for a specific a lease.

Required permission(s):

Rentals > Leases - `View`
path Parameters
leaseId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a lease renewal

Creates a lease renewal.

Required permission(s):

Rentals > Leases - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
LeaseType
required
string
Enum: "Fixed" "FixedWithRollover" "AtWill"
LeaseToDate
string or null <date>
AutomaticallyMoveOutTenants
boolean or null
required
object
Array of objects or null (LeaseCosignerPostMessage)
TenantIds
Array of integers or null <int32>
Array of objects or null (RentalTenantRenewalPostMessage)
SendWelcomeEmail
required
boolean
RecurringChargesToStop
Array of integers or null <int32>
Array of objects or null (ChargeRecurringTransactionPostMessage)
Array of objects or null (ChargeRecurringTransactionPutMessage)

Responses

Request samples

Content type
application/json
{
  • "LeaseType": "Fixed",
  • "LeaseToDate": "2019-08-24",
  • "AutomaticallyMoveOutTenants": true,
  • "Rent": {
    },
  • "Cosigners": [
    ],
  • "TenantIds": [
    ],
  • "Tenants": [
    ],
  • "SendWelcomeEmail": true,
  • "RecurringChargesToStop": [
    ],
  • "RecurringChargesToCreate": [
    ],
  • "RecurringChargesToUpdate": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "LeaseStatus": "Active",
  • "LeaseFromDate": "2019-08-24",
  • "LeaseToDate": "2019-08-24",
  • "LeaseType": "None",
  • "Rent": 0,
  • "RentId": 0,
  • "TenantIds": [
    ]
}

Retrieve a renewal

Retrieves a specific renewal for a given lease.

Required permission(s):

Rentals > Leases - `View`
path Parameters
leaseId
required
integer <int32>
renewalId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "LeaseStatus": "Active",
  • "LeaseFromDate": "2019-08-24",
  • "LeaseToDate": "2019-08-24",
  • "LeaseType": "None",
  • "Rent": 0,
  • "RentId": 0,
  • "TenantIds": [
    ]
}

Retrieve ePay settings

Retrieves ePay settings for a lease.

Required permission(s):

Rentals > Leases - `View`
path Parameters
leaseId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "EFTPayments": {
    },
  • "CreditCardPayments": {
    },
  • "OfflinePayments": {
    }
}

Update ePay settings

Updates ePay settings for a lease

Required permission(s):

Rentals > Leases - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
required
object
required
object
required
object

Responses

Request samples

Content type
application/json
{
  • "EFTPayments": {
    },
  • "CreditCardPayments": {
    },
  • "OfflinePayments": {
    }
}

Response samples

Content type
application/json
{
  • "EFTPayments": {
    },
  • "CreditCardPayments": {
    },
  • "OfflinePayments": {
    }
}

Retrieve all partial payment settings for a lease

Retrieves partial payment settings for a lease.

Required permission(s):

Rentals > Leases - `View`
path Parameters
leaseId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "RequirePaymentsInFull": true
}

Update partial payment settings for a lease

Updates partial payment settings for a lease.

Required Permission(s):

Rentals > Leases - `View` `Edit` Administration > Application Settings - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
Request Body schema:

Represents the structure of the data that can be provided to a JSON patch document as path values via JSON pointer syntax.

RequirePaymentsInFull
boolean or null

Responses

Request samples

Content type
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "RequirePaymentsInFull": true
}

Retrieve all rent schedules

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.

Required permission(s):

Rentals > Lease transactions - `View`
path Parameters
leaseId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a rent schedule

Creates a rent schedule.

Required permission(s):

Rentals > Lease Transactions - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
StartDate
string or null <date>
RentCycle
required
string
Enum: "Monthly" "Weekly" "Every2Weeks" "Quarterly" "Yearly" "Every2Months" "Daily" "Every6Months"
BackdateCharges
required
boolean
required
Array of objects (RentScheduleChargePostMessage)

Responses

Request samples

Content type
application/json
{
  • "StartDate": "2019-08-24",
  • "RentCycle": "Monthly",
  • "BackdateCharges": true,
  • "Charges": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "StartDate": "2019-08-24",
  • "EndDate": "2019-08-24",
  • "TotalAmount": 0,
  • "RentCycle": "None",
  • "BackdateCharges": true,
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "CreatedByUserId": 0,
  • "Charges": [
    ]
}

Retrieve a rent schedule

Retrieves a specific rent schedule for a lease. 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.

Required permission(s):

Rentals > Lease transactions - `View`
path Parameters
leaseId
required
integer <int32>
rentId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "StartDate": "2019-08-24",
  • "EndDate": "2019-08-24",
  • "TotalAmount": 0,
  • "RentCycle": "None",
  • "BackdateCharges": true,
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "CreatedByUserId": 0,
  • "Charges": [
    ]
}

Update a rent schedule

Updates a rent schedule.

Required permission(s):

Rentals > Lease Transactions - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
rentId
required
integer <int32>
Request Body schema: application/json
RentCycle
required
string
Enum: "Monthly" "Weekly" "Every2Weeks" "Quarterly" "Yearly" "Every2Months" "Daily" "Every6Months"
BackdateCharges
required
boolean
required
Array of objects (RentScheduleChargePutMessage)

Responses

Request samples

Content type
application/json
{
  • "RentCycle": "Monthly",
  • "BackdateCharges": true,
  • "Charges": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "StartDate": "2019-08-24",
  • "EndDate": "2019-08-24",
  • "TotalAmount": 0,
  • "RentCycle": "None",
  • "BackdateCharges": true,
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "CreatedByUserId": 0,
  • "Charges": [
    ]
}

Retrieve all insurance policies

Retrieves all renters insurance policies for a lease.

Required permission(s):

Rentals > Leases - `View`
path Parameters
leaseId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve an insurance policy

Retrieves a renters insurance policy.

Required permission(s):

Rentals > Leases - `View`
path Parameters
leaseId
required
integer <int32>
policyId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "InsuranceCompany": "string",
  • "CarrierType": "Other",
  • "PolicyIdentifier": "string",
  • "EffectiveDate": "2019-08-24",
  • "ExpirationDate": "2019-08-24",
  • "CancellationDate": "2019-08-24",
  • "InsuredTenants": [
    ]
}

Retrieve all lease renewal history

Retrieves all lease renewal history

Required permission(s):

Rentals > Leases - `View`
query Parameters
leaseids
Array of integers <int32> [ items <int32 > ]
createddatetimefrom
string <date-time>
createddatetimeto
string <date-time>
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all rent schedules

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.

Required permission(s):

Rentals > Lease transactions - `View`
query Parameters
leaseids
Array of integers <int32> [ items <int32 > ]
createddatetimefrom
string <date-time>
createddatetimeto
string <date-time>
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Lease Transactions

Lease transaction resources that allow for recording both one-time and recurring transactions such as charges, payments and credits on the lease ledger.

Retrieve all lease transactions

Retrieves all the transactions for a specific lease.

Required permission(s):

Rentals > Lease transactions - `View`
path Parameters
leaseId
required
integer <int32>
query Parameters
transactiondatefrom
string <date>
transactiondateto
string <date>
transactiontypes
Array of strings
Items Enum: "Bill" "Check" "Charge" "Payment" "Credit" "Refund" "ApplyDeposit" "ElectronicFundsTransfer" "Other" "Deposit" "GeneralJournalEntry" "OwnerContribution" "ReversePayment" "ReverseElectronicFundsTransfer" "VendorCredit" "RentalApplicationFeePayment" "ReverseRentalApplicationFeePayment" "ReverseOwnerContribution" "VendorRefund" "UnreversedPayment" "UnreversedElectronicFundsTransfer" "UnreversedOwnerContribution" "UnreversedRentalApplicationFeePayment" "ReversedEftRefund" "CreditCardPurchase" "CreditCardPayment"
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a lease transaction

Retrieves a specific lease transaction.

Required permission(s):

Rentals > Lease Transactions - `View`
path Parameters
leaseId
required
integer <int32>
transactionId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "LeaseId": 0,
  • "PayeeTenantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Retrieve all outstanding balances

Retrieves a list of leases that have outstanding balances. Leases with a zero or credit balance will not be returned in the results.

Required permission(s):

Rentals > Outstanding Balances - `View`
query Parameters
entitytype
string
Enum: "Rental" "RentalOwner"
entityid
integer <int32>
leasestatuses
Array of strings
Items Enum: "Active" "Past" "Future"
leaseids
Array of integers <int32> [ items <int32 > ]
pastdueemail
string
Enum: "NoEmailAddress" "Sent"
balanceduration
string
Enum: "TotalBalance" "Balance0to30Days" "Balance31to60Days" "Balance61to90Days" "BalanceOver90Days"
evictionstatus
string
Enum: "NotEvictionPending" "EvictionPending"
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all charges

Retrieves all the charges for a specific lease.

Required permissions(s):

Rentals > Lease transactions - `View`
path Parameters
leaseId
required
integer <int32>
query Parameters
transactiondatefrom
string <date>
transactiondateto
string <date>
billids
Array of integers <int32> [ items <int32 > ]
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a charge

Creates a charge transaction on a specific lease ledger.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`

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

path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
Date
string <date>
Memo
string or null
BillId
integer or null <int32>
Array of objects or null (LeaseChargeLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "Memo": "string",
  • "BillId": 0,
  • "Lines": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a charge

Retrieves a specific lease charge.

Required permissions(s):

Rentals > Lease transactions - `View`
path Parameters
leaseId
required
integer <int32>
chargeId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TotalAmount": 0,
  • "Memo": "string",
  • "BillId": 0,
  • "Lines": [
    ]
}

Update a charge

Updates a charge.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
chargeId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
Memo
string or null
required
Array of objects (LeaseChargeLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "LeaseId": 0,
  • "PayeeTenantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Create a payment

Creates a lease ledger payment.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
leaseId
required
integer <int32>

The lease unique identifier.

Request Body schema: application/json
Date
required
string <date>
PaymentMethod
required
string
Enum: "Check" "Cash" "MoneyOrder" "CashierCheck" "DirectDeposit" "CreditCard" "ElectronicPayment"
PayeeUserId
integer or null <int32>
Memo
string or null
ReferenceNumber
string or null
SendEmailReceipt
required
boolean
required
Array of objects (LeaseLedgerPaymentLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "PaymentMethod": "Check",
  • "PayeeUserId": 0,
  • "Memo": "string",
  • "ReferenceNumber": "string",
  • "SendEmailReceipt": true,
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "LeaseId": 0,
  • "PayeeTenantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Create a payment (auto allocated)

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.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
PaymentMethod
required
string
Enum: "Check" "Cash" "MoneyOrder" "CashierCheck" "DirectDeposit" "CreditCard" "ElectronicPayment"
PayeeUserId
integer or null <int32>
Memo
string or null
ReferenceNumber
string or null
SendEmailReceipt
required
boolean
TotalAmount
required
number <double>

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "PaymentMethod": "Check",
  • "PayeeUserId": 0,
  • "Memo": "string",
  • "ReferenceNumber": "string",
  • "SendEmailReceipt": true,
  • "TotalAmount": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "LeaseId": 0,
  • "PayeeTenantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Update a payment

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.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
paymentId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
PaymentMethod
required
string
Enum: "Check" "Cash" "MoneyOrder" "CashierCheck" "DirectDeposit" "CreditCard" "ElectronicPayment" "BuildiumEFT" "BuildiumCC" "RetailCash"
PayeeUserId
integer or null <int32>
Memo
string or null
ReferenceNumber
string or null
required
Array of objects (LeaseLedgerPaymentLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "PaymentMethod": "Check",
  • "PayeeUserId": 0,
  • "Memo": "string",
  • "ReferenceNumber": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "LeaseId": 0,
  • "PayeeTenantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Create a payment reversal

Reverses a lease ledger payment. Note, this action can only be taken on a payment that has been deposited.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`

Accounting > Bank Accounts - View Edit

path Parameters
leaseId
required
integer <int32>

The lease unique identifier.

Request Body schema: application/json
EntryDate
required
string <date>
PaymentTransactionId
required
integer <int32>
object or null
object or null

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "PaymentTransactionId": 0,
  • "NSFCharge": {
    },
  • "BankFee": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "LeaseId": 0,
  • "PayeeTenantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Retrieve a refund

Retrieves a refund.

Required permission(s):

Accounting > Bank Accounts - `View`
path Parameters
leaseId
required
integer <int32>
refundId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "Payees": [
    ],
  • "Memo": "string",
  • "CheckNumber": "string",
  • "BankAccountId": 0,
  • "Address": {
    },
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Create a refund

Creates a refund.

Required permission(s):

Accounting > Bank Accounts - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
PayeeUserIds
required
Array of integers <int32> [ items <int32 > ]
Memo
string or null
CheckNumber
string or null
BankAccountId
required
integer <int32>
required
object
required
Array of objects (LeaseLedgerRefundLinePostMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "PayeeUserIds": [
    ],
  • "Memo": "string",
  • "CheckNumber": "string",
  • "BankAccountId": 0,
  • "Address": {
    },
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "Payees": [
    ],
  • "Memo": "string",
  • "CheckNumber": "string",
  • "BankAccountId": 0,
  • "Address": {
    },
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Create a credit

Creates a lease ledger credit.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
leaseId
required
integer <int32>

The lease unique identifier.

Request Body schema: application/json
Date
required
string <date>
Memo
string or null
CreditType
required
string
Enum: "WaiveUnpaid" "Exchange" "PreviouslyDeposited"
OffsettingGLAccountId
integer or null <int32>
required
Array of objects (LeaseLedgerCreditLinePostMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "Memo": "string",
  • "CreditType": "WaiveUnpaid",
  • "OffsettingGLAccountId": 0,
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "LeaseId": 0,
  • "PayeeTenantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Create a deposit withholding

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

Required permission(s):

Rentals > Lease Ledger - `View` `Edit`

Accounting > General Ledger Accounts - View

path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
DepositLiabilityGLAccountId
required
integer <int32>
Memo
string or null
Array of objects or null (LeaseLedgerDepositWithholdingLinePostMessage)

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "DepositLiabilityGLAccountId": 0,
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "LeaseId": 0,
  • "PayeeTenantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Update a deposit withholding

Updates a resident deposit withholding.

Required permission(s):

Rentals > Lease Ledger - `View` `Edit`

Accounting > General Ledger Accounts - View

path Parameters
leaseId
required
integer <int32>
depositId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
DepositLiabilityGLAccountId
required
integer <int32>
Memo
string or null
Array of objects or null (LeaseLedgerDepositWithholdingLinePutMessage)

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "DepositLiabilityGLAccountId": 0,
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionType": "string",
  • "TransactionTypeEnum": "Bill",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "LeaseId": 0,
  • "PayeeTenantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Retrieve all recurring transactions

Retrieves all recurring transactions for a given lease.

Required permission(s):

Rentals > Lease transactions - `View`
path Parameters
leaseId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a recurring charge

Creates a recurring charge transaction that will post automatically on the specified lease ledger.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
GLAccountId
required
integer <int32>
Amount
required
number <double>
Memo
string or null
FirstOccurrenceDate
required
string <date>
PostDaysInAdvance
required
integer <int32>
Frequency
required
string
Enum: "Monthly" "Weekly" "Every2Weeks" "Quarterly" "Yearly" "Every2Months" "Daily" "Every6Months" "OneTime"
Duration
string or null
Enum: "UntilEndOfTerm" "SpecificNumber"
NumberOfOccurrences
integer or null <int32>

Responses

Request samples

Content type
application/json
{
  • "GLAccountId": 0,
  • "Amount": 0,
  • "Memo": "string",
  • "FirstOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Frequency": "Monthly",
  • "Duration": "UntilEndOfTerm",
  • "NumberOfOccurrences": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "LeaseId": 0,
  • "GLAccountId": 0,
  • "RentId": 0,
  • "Amount": 0,
  • "Memo": "string",
  • "OccurrencesRemaining": 0,
  • "FirstOccurrenceDate": "2019-08-24",
  • "NextOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Frequency": "Monthly",
  • "Duration": "Unspecified"
}

Retrieve a recurring charge

Retrieves a recurring charge.

Required permission(s):

Rentals > Lease transactions - `View`
path Parameters
leaseId
required
integer <int32>
transactionId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "LeaseId": 0,
  • "GLAccountId": 0,
  • "RentId": 0,
  • "Amount": 0,
  • "Memo": "string",
  • "OccurrencesRemaining": 0,
  • "FirstOccurrenceDate": "2019-08-24",
  • "NextOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Frequency": "Monthly",
  • "Duration": "Unspecified"
}

Create a recurring credit

Creates a recurring credit transaction on the specified lease ledger.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
CreditType
required
string
Enum: "WaiveUnpaid" "Exchange" "PreviouslyDeposited"
OffsettingGLAccountId
integer or null <int32>
PostingRuleGlAccountId
integer or null <int32>
Array of objects or null (RecurringTransactionLinePostMessage)
PostDaysInAdvance
required
integer <int32>
Frequency
required
string
Enum: "Monthly" "Weekly" "Every2Weeks" "Quarterly" "Yearly" "Every2Months" "Daily" "Every6Months" "OneTime"
Duration
string or null
Enum: "UntilEndOfTerm" "SpecificNumber"
NumberOfOccurrences
integer or null <int32>
FirstOccurrenceDate
required
string <date>
Memo
string or null

Responses

Request samples

Content type
application/json
{
  • "CreditType": "WaiveUnpaid",
  • "OffsettingGLAccountId": 0,
  • "PostingRuleGlAccountId": 0,
  • "Lines": [
    ],
  • "PostDaysInAdvance": 0,
  • "Frequency": "Monthly",
  • "Duration": "UntilEndOfTerm",
  • "NumberOfOccurrences": 0,
  • "FirstOccurrenceDate": "2019-08-24",
  • "Memo": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "LeaseId": 0,
  • "CreditType": "WaiveUnpaid",
  • "OffsettingGLAccountId": 0,
  • "PostingRuleGLAccountId": 0,
  • "Lines": [
    ],
  • "Amount": 0,
  • "OccurrencesRemaining": 0,
  • "FirstOccurrenceDate": "2019-08-24",
  • "NextOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Memo": "string",
  • "Frequency": "Monthly",
  • "Duration": "Unspecified"
}

Retrieve a recurring credit

Retrieves a recurring credit.

Required permission(s):

Rentals > Lease transactions - `View`
path Parameters
leaseId
required
integer <int32>
transactionId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "LeaseId": 0,
  • "CreditType": "WaiveUnpaid",
  • "OffsettingGLAccountId": 0,
  • "PostingRuleGLAccountId": 0,
  • "Lines": [
    ],
  • "Amount": 0,
  • "OccurrencesRemaining": 0,
  • "FirstOccurrenceDate": "2019-08-24",
  • "NextOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Memo": "string",
  • "Frequency": "Monthly",
  • "Duration": "Unspecified"
}

Create a recurring payment

Creates a recurring payment that will post automatically on the specified lease ledger.

Required permission(s):

Rentals > Lease Transactions - `View` `Edit`
path Parameters
leaseId
required
integer <int32>
Request Body schema: application/json
PayerUserId
integer or null <int32>
PaymentMethod
required
string
Enum: "Check" "Cash" "MoneyOrder" "CashierCheck" "DirectDeposit" "CreditCard" "ElectronicPayment"
Array of objects or null (RecurringTransactionLinePostMessage)
Memo
string or null
FirstOccurrenceDate
required
string <date>
PostDaysInAdvance
required
integer <int32>
Frequency
required
string
Enum: "Monthly" "Weekly" "Every2Weeks" "Quarterly" "Yearly" "Every2Months" "Daily" "Every6Months" "OneTime"
Duration
string or null
Enum: "UntilEndOfTerm" "SpecificNumber"
NumberOfOccurrences
integer or null <int32>

Responses

Request samples

Content type
application/json
{
  • "PayerUserId": 0,
  • "PaymentMethod": "Check",
  • "Lines": [
    ],
  • "Memo": "string",
  • "FirstOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Frequency": "Monthly",
  • "Duration": "UntilEndOfTerm",
  • "NumberOfOccurrences": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "LeaseId": 0,
  • "Payer": {
    },
  • "PaymentMethod": "None",
  • "Lines": [
    ],
  • "Amount": 0,
  • "OccurrencesRemaining": 0,
  • "FirstOccurrenceDate": "2019-08-24",
  • "NextOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Frequency": "Monthly",
  • "Duration": "Unspecified",
  • "Memo": "string"
}

Retrieve a recurring payment

Retrieves a recurring payment.

Required permission(s):

Rentals > Lease Transactions - `View`
path Parameters
leaseId
required
integer <int32>
paymentId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "LeaseId": 0,
  • "Payer": {
    },
  • "PaymentMethod": "None",
  • "Lines": [
    ],
  • "Amount": 0,
  • "OccurrencesRemaining": 0,
  • "FirstOccurrenceDate": "2019-08-24",
  • "NextOccurrenceDate": "2019-08-24",
  • "PostDaysInAdvance": 0,
  • "Frequency": "Monthly",
  • "Duration": "Unspecified",
  • "Memo": "string"
}

Retrieve all recurring transactions for all leases

Retrieves all recurring transactions for all leases.

Required permission(s):

Rentals > Lease transactions - `View`
query Parameters
leaseids
Array of integers <int32> [ items <int32 > ]
createddatetimefrom
string <date-time>
createddatetimeto
string <date-time>
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Listings

Rental listing resources providing access to rental listings and listing contacts.

Retrieve all listings

Retrieves all listings.

Rentals > Listings - View

Rentals > Rental properties and units - View

query Parameters
entitytype
string
Enum: "Property" "RentalOwner"
entityid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a listing

Retrieves a specific listing.

Required permission(s):

Rentals > Listings - `View`

Rentals > Rental properties and units - View

path Parameters
unitId
required
integer <int32>

The rental unit identifier.

Responses

Response samples

Content type
application/json
{
  • "ListingDate": "2019-08-24",
  • "Rent": 0,
  • "Deposit": 0,
  • "LeaseTerms": "string",
  • "AvailableDate": "2019-08-24",
  • "IsManagedExternally": true,
  • "RentalApplicationUrl": "string",
  • "Contact": {
    },
  • "Property": {
    },
  • "Unit": {
    }
}

Create/Update a listing

This endpoint can be used to both create and update a listing. If no listing exists for the unit one will be created, otherwise the existing listing will be updated. A unit can only ever have one active listing.

Upon creation the listing will post immediately to your Buildium public website, and will post to the selected syndicated sites within 24-48 hours. Updates to the listing will appear immediately in your Buildium public website and propagated to syndicated sites within 24-48 hours.

Note, the listing will automatically pull in the information, features, and media that exists for the property and unit details.

Rentals > Listings - View Edit

Rentals > Rental properties and units - View Edit

path Parameters
unitId
required
integer <int32>
Request Body schema: application/json
Rent
required
number <double>
Deposit
number or null <double>
LeaseTerms
string or null
AvailableDate
required
string <date>
ContactId
integer or null <int32>
IsManagedExternally
required
boolean

Responses

Request samples

Content type
application/json
{
  • "Rent": 0,
  • "Deposit": 0,
  • "LeaseTerms": "string",
  • "AvailableDate": "2019-08-24",
  • "ContactId": 0,
  • "IsManagedExternally": true
}

Response samples

Content type
application/json
{
  • "ListingDate": "2019-08-24",
  • "Rent": 0,
  • "Deposit": 0,
  • "LeaseTerms": "string",
  • "AvailableDate": "2019-08-24",
  • "IsManagedExternally": true,
  • "RentalApplicationUrl": "string",
  • "Contact": {
    },
  • "Property": {
    },
  • "Unit": {
    }
}

Delete a listing

Deleting a listing will immediately remove it from your Buildium public website. The listing will also be removed from any syndicated sites within 24-48 hours.

Listings manually created on craigslist using the Buildium guided tool will not be removed. The listing must be removed using craigslist's tools provided in your craigslist account.

Required permission(s):

Rentals > Listings - `View` `Edit` `Delete`
path Parameters
unitId
required
integer <int32>

The rental property unit identifier.

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Retrieve all listing contacts

Retrieves all listing contacts.

Required permission(s):

Rentals > Listings - `View`
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a listing contact

Create a listing contact. Note, at least one contact field (phone number, email or website) is required for the listing contact.

Required permission(s):

Rentals > Listings - `View` `Edit`
Request Body schema: application/json
Name
required
string non-empty
Email
string or null
PhoneNumber
string or null
Website
string or null

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Email": "string",
  • "PhoneNumber": "string",
  • "Website": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "Email": "string",
  • "PhoneNumber": "string",
  • "Website": "string"
}

Retrieve a listing contact

Retrieves a specific listing contact.

Required permission(s):

Rentals > Listings - `View`
path Parameters
listingContactId
required
integer <int32>

The listing contact identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "Email": "string",
  • "PhoneNumber": "string",
  • "Website": "string"
}

Update a listing contact

Update a listing contact. Note, at least one contact field (phone number, email or website) is required for the listing contact.

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.

Required permission(s):

Rentals > Listings - `View` `Edit`
path Parameters
listingContactId
required
integer <int32>

The listing contact identifier.

Request Body schema: application/json
Name
required
string non-empty
Email
string or null
PhoneNumber
string or null
Website
string or null

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Email": "string",
  • "PhoneNumber": "string",
  • "Website": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "Email": "string",
  • "PhoneNumber": "string",
  • "Website": "string"
}

Applicants

Rental applicant resources providing access to applicants, applications, applicant groups and applicant group notes.

Retrieve all applicants

Retrieves all applicants.

Required permission(s):

Rentals > Applicants - `View`
query Parameters
entityid
integer <int32>
entitytype
string
Enum: "Rental" "RentalOwner"
applicationstatuses
Array of strings
Items Enum: "Undecided" "Approved" "Rejected" "AddedToLease" "Cancelled" "Deferred" "New" "Draft" "AddedToDraftLease"
unitids
Array of integers <int32> [ items <int32 > ]
name
string
email
string
applicationsubmittedstartdate
string <date-time>
applicationsubmittedenddate
string <date-time>
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an applicant

Creates an applicant.

Required permission(s):

Rentals > Applicants - `View` `Edit`
Request Body schema: application/json
UnitId
integer or null <int32>
FirstName
required
string non-empty
LastName
required
string non-empty
Email
string or null
object or null
SendRentalApplicationEmail
required
boolean

Responses

Request samples

Content type
application/json
{
  • "UnitId": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "PhoneNumbers": {
    },
  • "SendRentalApplicationEmail": true
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "ApplicantGroupId": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "TenantId": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "PhoneNumbers": [
    ],
  • "Status": "Unknown",
  • "Applications": [
    ],
  • "UnsubmittedApplications": [
    ],
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve an applicant

Retrieves an applicant.

Required permission(s):

Rentals > Applicants - `View`
path Parameters
applicantId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "ApplicantGroupId": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "TenantId": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "PhoneNumbers": [
    ],
  • "Status": "Unknown",
  • "Applications": [
    ],
  • "UnsubmittedApplications": [
    ],
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Update an applicant

Updates an applicant.

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.

Required permission(s):

Rentals > Applicants - `View` `Edit`
path Parameters
applicantId
required
integer <int32>
Request Body schema: application/json
UnitId
integer or null <int32>
FirstName
required
string non-empty
LastName
required
string non-empty
Email
string or null
object or null

Responses

Request samples

Content type
application/json
{
  • "UnitId": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "PhoneNumbers": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "ApplicantGroupId": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "TenantId": 0,
  • "FirstName": "string",
  • "LastName": "string",
  • "Email": "string",
  • "PhoneNumbers": [
    ],
  • "Status": "Unknown",
  • "Applications": [
    ],
  • "UnsubmittedApplications": [
    ],
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve all applications

Retrieves all the applications for a given applicant.

Required permission(s):

Rentals > Applicants - `View`
path Parameters
applicantId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve an application

Retrieves an application.

Required permission(s):

Rentals > Applicants - `View`
path Parameters
applicantId
required
integer <int32>
applicationId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "ApplicationNumber": "string",
  • "ApplicationStatus": "Unknown",
  • "ApplicationSubmittedDateTime": "2019-08-24T14:15:22Z",
  • "Application": [
    ]
}

Update an application

Updates a rental application.

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.

Required permission(s):

Rentals > Applicants - `View` `Edit`
path Parameters
applicantId
required
integer <int32>
applicationId
required
integer <int32>
Request Body schema: application/json
ApplicationStatus
required
string
Enum: "Undecided" "Approved" "Rejected" "Cancelled" "Deferred"

Responses

Request samples

Content type
application/json
{
  • "ApplicationStatus": "Undecided"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "ApplicationNumber": "string",
  • "ApplicationStatus": "Unknown",
  • "ApplicationSubmittedDateTime": "2019-08-24T14:15:22Z",
  • "Application": [
    ]
}

Retrieve all applicant notes

Retrieves all applicant notes.

Required permission(s):

Rentals > Applicants - `View`
path Parameters
applicantId
required
integer <int32>
query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an applicant note

Creates an applicant note.

Required permission(s):

Rentals > Applicants - `View` `Edit`
path Parameters
applicantId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve an applicant note

Retrieves an applicant note.

Required permission(s):

Rentals > Applicants - `View`
path Parameters
applicantId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve all applicant groups

Retrieves all applicant groups.

Required permission(s):

Rentals > Applicants - `View`
query Parameters
entitytype
string
Enum: "Rental" "RentalOwner"
entityid
integer <int32>
applicationgroupstatuses
Array of strings
Items Enum: "Undecided" "Approved" "Rejected" "AddedToLease" "Cancelled" "Deferred" "New" "Draft" "AddedToDraftLease"
unitids
Array of integers <int32> [ items <int32 > ]
name
string
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an applicant group

Creates an applicant group.

Required permission(s):

Rentals > Applicants - `View` `Edit`
Request Body schema: application/json
UnitId
integer or null <int32>
ApplicantIds
required
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "UnitId": 0,
  • "ApplicantIds": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "ApplicationGroupStatus": "Unknown",
  • "Applicants": [
    ]
}

Retrieve an applicant group

Retrieves an applicant group.

Required permission(s):

Rentals > Applicants - `View`
path Parameters
applicantGroupId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "ApplicationGroupStatus": "Unknown",
  • "Applicants": [
    ]
}

Update an applicant group

Updates an applicant group.

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.

Required permission(s):

Rentals > Applicants - `View` `Edit`
path Parameters
applicantGroupId
required
integer <int32>
Request Body schema: application/json
UnitId
integer or null <int32>
ApplicantGroupStatus
required
string
Enum: "Undecided" "Approved" "Rejected" "Cancelled" "Deferred"
ApplicantIds
required
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "UnitId": 0,
  • "ApplicantGroupStatus": "Undecided",
  • "ApplicantIds": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "ApplicationGroupStatus": "Unknown",
  • "Applicants": [
    ]
}

Retrieve all applicant group notes

Retrieves all applicant group notes.

Required permission(s):

Rentals > Applicants - `View`
path Parameters
applicantGroupId
required
integer <int32>
query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an applicant group note

Creates an applicant group note.

Required permission(s):

Rentals > Applicants - `View` `Edit`
path Parameters
applicantGroupId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve an applicant group note

Retrieves an applicant group note.

Required permission(s):

Rentals > Applicants - `View`
path Parameters
applicantGroupId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Update an applicant group note

Updates an applicant group 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.

Required permission(s):

Rentals > Applicants - `View` `Edit`
path Parameters
applicantGroupId
required
integer <int32>
noteId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Application Transactions

Application transaction resources that allow for recording both one-time and recurring transactions such as charges, payments and credits on the applicant ledger.

Retrieve all application transactions

Retrieves all the transactions for a specific application.

Required permission(s):

Rentals > Lease transactions - `View`
path Parameters
applicationId
required
integer <int32>
query Parameters
ids
Array of integers <int32> [ items <int32 > ]
transactiondatefrom
string <date>
transactiondateto
string <date>
transactiontypes
Array of strings
Items Enum: "Charge" "Payment" "Refund" "ReversePayment" "UnreversedPayment"
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve an application transaction

Retrieves a specific application transaction.

Required permission(s):

Rentals > Lease Transactions - `View`
path Parameters
applicationId
required
integer <int32>
transactionId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionTypeEnum": "Unknown",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "ApplicationId": 0,
  • "PayeeApplicantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Retrieve all outstanding balances

Retrieves a list of applications that have outstanding balances. Applications with a zero or credit balance will not be returned in the results.

Required permission(s):

Rentals > Outstanding Balances - `View`
query Parameters
applicationstatuses
Array of strings
Items Enum: "Undecided" "Approved" "Rejected" "AddedToLease" "Cancelled" "Deferred" "New" "Draft" "AddedToDraftLease"
applicationids
Array of integers <int32> [ items <int32 > ]
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all charges

Retrieves all the charges for a specific application.

Required permission(s):

Rentals > Lease transactions - `View`
path Parameters
applicationId
required
integer <int32>
query Parameters
chargeids
Array of integers <int32> [ items <int32 > ]
transactiondatefrom
string <date>
transactiondateto
string <date>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a charge

Creates a charge on a specific application ledger.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
applicationId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
Memo
string or null
Array of objects or null (ApplicationChargeLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionTypeEnum": "Unknown",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "ApplicationId": 0,
  • "PayeeApplicantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Retrieve a charge

Retrieves a specific application charge.

Required permission(s):

Rentals > Lease Transactions - `View`
path Parameters
applicationId
required
integer <int32>
transactionId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TotalAmount": 0,
  • "Memo": "string",
  • "Lines": [
    ]
}

Update a charge

Updates a charge on a specific application ledger.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
applicationId
required
integer <int32>
transactionId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
Memo
string or null
Array of objects or null (ApplicationChargeLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionTypeEnum": "Unknown",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "ApplicationId": 0,
  • "PayeeApplicantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Create a payment

Creates an application ledger payment.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
applicationId
required
integer <int32>

The application unique identifier.

Request Body schema: application/json
Date
required
string <date>
PaymentMethod
required
string
Enum: "Check" "Cash" "MoneyOrder" "CashierCheck" "DirectDeposit" "CreditCard" "ElectronicPayment"
Memo
string or null
ReferenceNumber
string or null
SendEmailReceipt
required
boolean
required
Array of objects (ApplicationPaymentLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "PaymentMethod": "Check",
  • "Memo": "string",
  • "ReferenceNumber": "string",
  • "SendEmailReceipt": true,
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionTypeEnum": "Unknown",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "ApplicationId": 0,
  • "PayeeApplicantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Create a payment (auto allocated)

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.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
applicationId
required
integer <int32>

The application unique identifier.

Request Body schema: application/json
Date
required
string <date>
PaymentMethod
required
string
Enum: "Check" "Cash" "MoneyOrder" "CashierCheck" "DirectDeposit" "CreditCard" "ElectronicPayment"
Memo
string or null
ReferenceNumber
string or null
SendEmailReceipt
required
boolean
TotalAmount
required
number <double>

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "PaymentMethod": "Check",
  • "Memo": "string",
  • "ReferenceNumber": "string",
  • "SendEmailReceipt": true,
  • "TotalAmount": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionTypeEnum": "Unknown",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "ApplicationId": 0,
  • "PayeeApplicantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Update a payment

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.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
applicationId
required
integer <int32>

The application unique identifier.

transactionId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
PaymentMethod
required
string
Enum: "Check" "Cash" "MoneyOrder" "CashierCheck" "DirectDeposit" "CreditCard" "ElectronicPayment" "BuildiumEFT" "BuildiumCC" "RetailCash"
Memo
string or null
ReferenceNumber
string or null
required
Array of objects (ApplicationPaymentLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "PaymentMethod": "Check",
  • "Memo": "string",
  • "ReferenceNumber": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionTypeEnum": "Unknown",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "ApplicationId": 0,
  • "PayeeApplicantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Create a payment reversal

Reverses an application ledger payment. Note, this action can only be taken on a payment that has been deposited.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`

Accounting > Bank Accounts - View Edit

path Parameters
applicationId
required
integer <int32>

The application unique identifier.

Request Body schema: application/json
EntryDate
required
string <date>
PaymentTransactionId
required
integer <int32>
object or null
object or null
object or null

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "PaymentTransactionId": 0,
  • "NSFCharge": {
    },
  • "BankFee": {
    },
  • "DepositTrustAccountBankFee": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "TransactionTypeEnum": "Unknown",
  • "TotalAmount": 0,
  • "CheckNumber": "string",
  • "ApplicationId": 0,
  • "PayeeApplicantId": 0,
  • "PaymentMethod": "string",
  • "Journal": {
    }
}

Retrieve a refund

Retrieves a specific application refund.

Required permission(s):

Rentals > Lease transactions - `View`
path Parameters
applicationId
required
integer <int32>
transactionId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "Payees": [
    ],
  • "Memo": "string",
  • "CheckNumber": "string",
  • "BankAccountId": 0,
  • "Address": {
    },
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Create a refund

Creates a refund for a specific application.

Required permission(s):

Rentals > Lease transactions - `View` `Edit`
path Parameters
applicationId
required
integer <int32>
Request Body schema: application/json
Date
required
string <date>
Memo
string or null
CheckNumber
string or null
BankAccountId
required
integer <int32>
required
object
required
Array of objects (ApplicationRefundLineSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Date": "2019-08-24",
  • "Memo": "string",
  • "CheckNumber": "string",
  • "BankAccountId": 0,
  • "Address": {
    },
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Date": "2019-08-24",
  • "Payees": [
    ],
  • "Memo": "string",
  • "CheckNumber": "string",
  • "BankAccountId": 0,
  • "Address": {
    },
  • "TotalAmount": 0,
  • "Lines": [
    ]
}

Rental Meter Readings

Meter reading resources for units on rental properties.

Retrieve all meter readings

Retrieves all meter readings for a rental property.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
propertyId
required
integer <int32>
query Parameters
readingdatefrom
required
string <date>
readingdateto
required
string <date>
metertypes
Array of strings
Items Enum: "Electric" "Gas" "Oil" "Water" "Sewer"
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete meter reading details for a given date

Delete meter reading details for a property for a given date.

Required permission(s):

Rentals > Lease Transactions - `View` `Edit` `Delete`
path Parameters
propertyId
required
integer <int32>
query Parameters
readingdate
required
string <date>
metertype
required
string
Enum: "Electric" "Gas" "Oil" "Water" "Sewer"

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Retrieve all meter reading details

Retrieves all meter reading details for a property.

Required permission(s):

Rentals > Rental properties and units - `View`
path Parameters
propertyId
required
integer <int32>
query Parameters
readingdate
required
string <date>
metertype
required
string
Enum: "Electric" "Gas" "Oil" "Water" "Sewer"

Responses

Response samples

Content type
application/json
{
  • "ReadingDate": "2019-08-24",
  • "MeterType": "Unknown",
  • "Details": [
    ]
}

Create/Update meter reading details

This endpoint can be used to both create and update a meter reading detail for a property.

  • There can only be one meter reading detail for a given combination of MeterType and ReadingDate for a property.
  • If you are updating an existing meter reading detail, use the query parameters to specify the existing meter reading detail to update.
  • If you are creating a new meter reading detail, do not pass any query parameters.
  • When adding a new item to the Details array, leave out the Id field.
  • When updating an existing item in the Details array, the Id field of the existing item must be included.

Required permission(s):

Rentals > Rental properties and units - `View` `Edit`
path Parameters
propertyId
required
integer <int32>
query Parameters
readingdate
string <date>
metertype
string
Enum: "Electric" "Gas" "Oil" "Water" "Sewer"
Request Body schema: application/json
ReadingDate
required
string <date>
MeterType
required
string
Enum: "Electric" "Gas" "Oil" "Water" "Sewer"
required
Array of objects (MeterReadingDetailPutMessage)

Responses

Request samples

Content type
application/json
{
  • "ReadingDate": "2019-08-24",
  • "MeterType": "Electric",
  • "Details": [
    ]
}

Response samples

Content type
application/json
{
  • "ReadingDate": "2019-08-24",
  • "MeterType": "Unknown",
  • "Details": [
    ]
}

Resident Center

Every Buildium account comes with a free Resident Center, which is also known as the resident portal. The Resident Center allows your residents to view their financial transactions, submit maintenance requests, and make payments online.

Retrieve all resident center users

Retrieves all resident center users for both rentals and associations.

Required permission(s):

Communications > Resident Center Users - `View`

Rentals > Tenants - View is required to retrieve resident center users that are tenants.

Associations > Association owners and tenants - View is required to retrieve resident center users that are association owners.

query Parameters
unitagreementids
Array of integers <int32> [ items <int32 > ]
userids
Array of integers <int32> [ items <int32 > ]
usertypes
Array of strings
Items Enum: "Tenant" "AssociationOwner"
residentcenteruserstatuses
Array of strings
Items Enum: "AccountExistsButNoEmailSent" "PasswordSent" "EmailFailed" "SignedIn" "Blocked"
isautopayenabled
boolean
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all retail cash users

Retrieves all retail cash users.

Required permission(s):

Rentals > Tenants - `View` OR Associations > Association owners and tenants - `View`
query Parameters
entityid
integer <int32>
entitytype
string
Enum: "Rental" "RentalOwner" "Association"
statuses
Array of strings
Items Enum: "Active" "Past" "Future"
name
string
unitaddress
string
isaccountcreated
boolean
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a retail cash user

Retrieves a retail cash user.

Required permission(s):

Rentals > Tenants - `View` OR Associations > Association owners and tenants - `View`
path Parameters
userId
required
integer <int32>
unitAgreementId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UnitAgreement": {
    },
  • "User": {
    },
  • "Property": {
    },
  • "Unit": {
    },
  • "IsAccountCreated": true,
  • "IsEvictionPending": true,
  • "IsEnabled": true
}

Update a retail cash user

Updates a retail cash user.

Required permission(s):

Rentals > Tenants - `View` `Edit` OR Associations > Association owners and tenants - `View` `Edit`
path Parameters
userId
required
integer <int32>
unitAgreementId
required
integer <int32>
Request Body schema: application/json
IsEnabled
required
boolean

Responses

Request samples

Content type
application/json
{
  • "IsEnabled": true
}

Response samples

Content type
application/json
{
  • "UnitAgreement": {
    },
  • "User": {
    },
  • "Property": {
    },
  • "Unit": {
    },
  • "IsAccountCreated": true,
  • "IsEvictionPending": true,
  • "IsEnabled": true
}

Tasks

In Buildium, tasks are anything that a staff member needs to do.

Adding a task is like adding another item to a to-do list.

Some tasks, like maintenance work, are requested by residents or owners. Other tasks, like a walk-through inspection or an apartment showing, are going to be created by staff members.

Retrieve all tasks

Retrieves a list of all task/request types (Contact, Owner, Resident and To Do). Note, the response payload only contains fields common across all of the request types. To retrieve the full details of the task query the retrieve endpoint specific to the task type.

Required permission(s):

Tasks > Tasks - `View`
query Parameters
entitytype
string
Enum: "Rental" "RentalOwner" "Association"
entityid
integer <int32>
statuses
Array of strings
Items Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
type
string
Enum: "ContactRequest" "ResidentRequest" "Todo" "RentalOwnerRequest"
unitid
integer <int32>
unitagreementid
integer <int32>
lastupdatedfrom
string <date>
lastupdatedto
string <date>
duedatefrom
string <date>
duedateto
string <date>
taskcategoryid
integer <int32>
priorities
Array of strings
Items Enum: "Low" "Normal" "High"
assignedtoid
integer <int32>
tasktitle
string
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a task

Retrieves a specific task. This endpoint can be used for any task type - contact requests, rental owner requests, resident requests or to do's. Note, the response payload only contains fields common across all of the request types. To retrieve the full details of the task query the retrieve endpoint specific to the task type.

Required permission(s):

Tasks > Tasks - `View`
path Parameters
taskId
required
integer <int32>

The task identifier

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "TaskType": "ContactRequest",
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "UnitAgreement": {
    },
  • "RequestedByUserEntity": {
    },
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve all task history

Retrieves all task history records for a specific task.

This endpoint can be used for any task type - contact requests, rental owner requests, resident requests or to do's.

Required permission(s):

Tasks > Tasks - `View`
path Parameters
taskId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a task history

Retrieves a specific task history record for a task.

This endpoint can be used for any task type - contact requests, rental owner requests, resident requests or to do's.

Required permission(s):

Tasks > Tasks - `View`
path Parameters
taskId
required
integer <int32>
taskHistoryId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Priority": "Low",
  • "TaskStatus": "New",
  • "AssignedToUserId": 0,
  • "DueDate": "2019-08-24",
  • "Message": "string",
  • "SharedWith": [
    ],
  • "FileIds": [
    ],
  • "CreatedDateTIme": "2019-08-24T14:15:22Z",
  • "CreatedByUser": {
    },
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedByUser": {
    }
}

Update a task history

Updates a specific task history record for a task.

This endpoint can be used for any task type - contact requests, rental owner requests, resident requests or to do's.

Required permission(s):

Tasks > Tasks - `View` `Edit`
path Parameters
taskId
required
integer <int32>
taskHistoryId
required
integer <int32>
Request Body schema: application/json
Message
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Message": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Priority": "Low",
  • "TaskStatus": "New",
  • "AssignedToUserId": 0,
  • "DueDate": "2019-08-24",
  • "Message": "string",
  • "SharedWith": [
    ],
  • "FileIds": [
    ],
  • "CreatedDateTIme": "2019-08-24T14:15:22Z",
  • "CreatedByUser": {
    },
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedByUser": {
    }
}

Retrieve all task history files

Retrieves the metadata for all files associated with a task history record.

This endpoint can be used for any task type - contact requests, rental owner requests, resident requests or to do's.

Required permission(s):

Tasks > Tasks - `View`
path Parameters
taskId
required
integer <int32>
taskHistoryId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a task history file

Retrieves the metadata for a specific file associated with a task history record.

This endpoint can be used for any task type - contact requests, rental owner requests, resident requests or to do's.

Required permission(s):

Tasks > Tasks - `View`
path Parameters
taskId
required
integer <int32>
taskHistoryId
required
integer <int32>
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Title": "string",
  • "PhysicalFileName": "string",
  • "Size": 0,
  • "ContentType": "string",
  • "UploadedDateTime": "2019-08-24T14:15:22Z"
}

Delete task history file

Deletes a specific file from a task history record. The file will be permanently deleted from the Buildium platform an can not be recovered.

This endpoint can be used for any task type - contact requests, rental owner requests, resident requests or to do's.

Required permission(s):

Tasks > Tasks - `View` `Edit` `Delete`
path Parameters
taskId
required
integer <int32>
taskHistoryId
required
integer <int32>
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Download a task history file

Downloads a specific file associated to the task history record.

This endpoint can be used for any task type - contact requests, rental owner requests, resident requests or to do's.

Required permission(s):

Tasks > Tasks - `View`
path Parameters
taskId
required
integer <int32>
taskHistoryId
required
integer <int32>
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "DownloadUrl": "string"
}

Upload a task history file

Uploads a file and associates it to the specified task history record.

This endpoint can be used for any task type - contact requests, rental owner requests, resident requests or to do's.

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/tasks/{taskId}/history/{taskHistoryId}/files/uploads. The response of this call will contain an upload URL and a collection of headers 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 PUT request to the Buildium file provider. Follow these steps to create the request:

  1. Form a PUT request using the value of the UploadUrl property as the URL.

  2. Set the Content-Type header to application/octet-stream.

  3. Copy the fields from the Headers property to this request as header key/value pairs.

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

  1. Lastly create the body of the request with the file binary.

  2. Send the PUT request! A successful request will return with a 200 - OK 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.

Required permission(s):

Tasks > Tasks - `View` `Edit`
path Parameters
taskId
required
integer <int32>
taskHistoryId
required
integer <int32>
Request Body schema: application/json
FileName
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "FileName": "string"
}

Response samples

Content type
application/json
{
  • "UploadUrl": "string",
  • "PhysicalFileName": "string",
  • "Headers": {
    }
}

Retrieve all task categories

Retrieves a list of task categories.

Required permission(s):

Tasks > Tasks - `View`
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a task category

Create a task category.

Required permission(s):

Tasks > Tasks - `View` `Edit`
Request Body schema: application/json
Name
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Name": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "IsSystemCategory": true,
  • "SubCategories": [
    ]
}

Retrieve a task category

Retrieves a specific task category.

Required permission(s):

Tasks > Tasks - `View`
path Parameters
taskCategoryId
required
integer <int32>

The task category identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "IsSystemCategory": true,
  • "SubCategories": [
    ]
}

Update a task category

Updates a task category.

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.

Required permission(s):

Tasks > Tasks - `View` `Edit`
path Parameters
taskCategoryId
required
integer <int32>

The task category identifier.

Request Body schema: application/json
Name
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Name": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "IsSystemCategory": true,
  • "SubCategories": [
    ]
}

Contact Requests

Contact requests are created by a visitor to your public website, and is typically a task that requires you to follow up with someone by phone, text or email.

Retrieve all contact requests

Retrieves a list of contact requests.

Required permission(s):

Tasks > Tasks - `View`
query Parameters
entitytype
string
Enum: "Rental" "RentalOwner" "Association"
entityid
integer <int32>
statuses
Array of strings
Items Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
unitid
integer <int32>
lastupdatedfrom
string <date>
lastupdatedto
string <date>
duedatefrom
string <date>
duedateto
string <date>
taskcategoryid
integer <int32>
priorities
Array of strings
Items Enum: "Low" "Normal" "High"
assignedtoid
integer <int32>
tasktitle
string
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a contact request

Creates a contact request.

Required permission(s):

Tasks > Tasks - `View` `Edit`
Request Body schema: application/json
Title
required
string non-empty
Description
string or null
CategoryId
integer or null <int32>
SubCategoryId
integer or null <int32>
PropertyId
integer or null <int32>
UnitId
integer or null <int32>
AssignedToUserId
required
integer <int32>
TaskStatus
required
string
Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
Priority
required
string
Enum: "Low" "Normal" "High"
DueDate
string or null <date>
required
object

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "Description": "string",
  • "CategoryId": 0,
  • "SubCategoryId": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "ContactDetail": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "ContactDetail": {
    },
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve a contact request

Retrieves a contact request.

Required permission(s):

Tasks > Tasks - `View`
path Parameters
contactRequestTaskId
required
integer <int32>

The contact request identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "ContactDetail": {
    },
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Update a contact request

Updates a contact request.

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.

Required permission(s):

Tasks > Tasks - `View` `Edit`
path Parameters
contactRequestTaskId
required
integer <int32>

The contact request identifier.

Request Body schema: application/json
Title
required
string non-empty
Message
string or null
CategoryId
integer or null <int32>
SubCategoryId
integer or null <int32>
PropertyId
integer or null <int32>
UnitId
integer or null <int32>
AssignedToUserId
required
integer <int32>
TaskStatus
required
string
Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
Priority
required
string
Enum: "Low" "Normal" "High"
DueDate
string or null <date>
required
object

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "Message": "string",
  • "CategoryId": 0,
  • "SubCategoryId": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "ContactDetail": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "ContactDetail": {
    },
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Rental Owner Requests

Rental owner requests are created by a rental owner through the Buildium rental owner portal. These tasks can also be created by staff within the Buildium web application. When a rental owner request is created, a notification will automatically be sent to the owner to let them know that the task has been created.

Retrieve all rental owner requests

Retrieves all rental owner requests.

Required permission(s):

Tasks > Tasks - `View`
query Parameters
entitytype
string
Enum: "Rental" "RentalOwner" "Association"
entityid
integer <int32>
statuses
Array of strings
Items Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
unitid
integer <int32>
lastupdatedfrom
string <date>
lastupdatedto
string <date>
duedatefrom
string <date>
duedateto
string <date>
taskcategoryid
integer <int32>
priorities
Array of strings
Items Enum: "Low" "Normal" "High"
assignedtoid
integer <int32>
tasktitle
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a rental owner request

Creates a rental owner request.

Required permission(s):

Tasks > Tasks - `View` `Edit`
Request Body schema: application/json
Title
required
string non-empty
Description
string or null
CategoryId
integer or null <int32>
SubCategoryId
integer or null <int32>
PropertyId
integer or null <int32>
UnitId
integer or null <int32>
AssignedToUserId
integer or null <int32>
TaskStatus
required
string
Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
Priority
required
string
Enum: "Low" "Normal" "High"
DueDate
string or null <date>
RequestedByRentalOwnerId
required
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "Description": "string",
  • "CategoryId": 0,
  • "SubCategoryId": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "RequestedByRentalOwnerId": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "RequestedByUserEntity": {
    },
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve a rental owner request

Retrieves a specific rental owner request.

Required permission(s):

Tasks > Tasks - `View`
path Parameters
rentalOwnerRequestTaskId
required
integer <int32>

The rental owner request identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "RequestedByUserEntity": {
    },
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Update a rental owner request

Updates a rental owner request.

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.

Required permission(s):

Tasks > Tasks - `View` `Edit`
path Parameters
rentalOwnerRequestTaskId
required
integer <int32>

The rental owner request identifier.

Request Body schema: application/json
Title
required
string non-empty
Message
string or null
CategoryId
integer or null <int32>
SubCategoryId
integer or null <int32>
PropertyId
integer or null <int32>
UnitId
integer or null <int32>
AssignedToUserId
integer or null <int32>
TaskStatus
required
string
Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
Priority
required
string
Enum: "Low" "Normal" "High"
DueDate
string or null <date>

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "Message": "string",
  • "CategoryId": 0,
  • "SubCategoryId": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "RequestedByUserEntity": {
    },
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve rental owner contribution request

Retrieves the contribution details for a rental owner contribution request.

Required permission(s):

Tasks > Tasks - `View`
path Parameters
rentalOwnerRequestTaskId
required
integer <int32>

The rental owner request identifier.

Responses

Response samples

Content type
application/json
{
  • "ContributionRequests": [
    ],
  • "ReminderSettings": {
    }
}

Update a rental owner contribution request

Updates the contribution details for a rental owner contribution request.

Required permission(s):

Tasks > Tasks - `View` `Edit`
path Parameters
rentalOwnerRequestTaskId
required
integer <int32>

The rental owner request identifier.

Request Body schema: application/json
Array of objects or null (RentalOwnerContributionPutMessage)
object or null

Responses

Request samples

Content type
application/json
{
  • "ContributionRequests": [
    ],
  • "ReminderSettings": {
    }
}

Response samples

Content type
application/json
{
  • "ContributionRequests": [
    ],
  • "ReminderSettings": {
    }
}

Resident Requests

Resident requests are created by a tenant or association owner through the resident portal site. These tasks can be created by staff within the Buildium web application. When a resident request is created, a notification will automatically be sent to the resident to let them know that the task has been created.

Retrieve all resident requests

Retrieves a list of resident requests.

Required permission(s):

Tasks > Tasks - `View`
query Parameters
entitytype
string
Enum: "Rental" "RentalOwner" "Association"
entityid
integer <int32>
statuses
Array of strings
Items Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
unitid
integer <int32>
unitagreementid
integer <int32>
lastupdatedfrom
string <date>
lastupdatedto
string <date>
duedatefrom
string <date>
duedateto
string <date>
taskcategoryid
integer <int32>
priorities
Array of strings
Items Enum: "Low" "Normal" "High"
assignedtoid
integer <int32>
tasktitle
string
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a resident request

Creates a resident request.

Required permission(s):

Tasks > Tasks - `View` `Edit`
Request Body schema: application/json
Title
required
string non-empty
Description
string or null
CategoryId
integer or null <int32>
SubCategoryId
integer or null <int32>
UnitAgreementId
required
integer <int32>
RequestedByEntityId
required
integer <int32>
AssignedToUserId
integer or null <int32>
TaskStatus
required
string
Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
Priority
required
string
Enum: "Low" "Normal" "High"
DueDate
string or null <date>
IsEntryPermittedByResident
boolean or null
DoesResidentHavePets
boolean or null
ResidentEntryNotes
string or null
ShareWithRentalOwners
boolean or null
ShareWithBoardMembers
boolean or null

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "Description": "string",
  • "CategoryId": 0,
  • "SubCategoryId": 0,
  • "UnitAgreementId": 0,
  • "RequestedByEntityId": 0,
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "IsEntryPermittedByResident": true,
  • "DoesResidentHavePets": true,
  • "ResidentEntryNotes": "string",
  • "ShareWithRentalOwners": true,
  • "ShareWithBoardMembers": true
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "UnitAgreement": {
    },
  • "RequestedByUserEntity": {
    },
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z",
  • "Appliance": {
    },
  • "IsEntryPermittedByResident": true,
  • "DoesResidentHavePets": true,
  • "ResidentEntryNotes": "string"
}

Retrieve a resident request

Retrieves a specific resident request.

Required permission(s):

Tasks > Tasks - `View`
path Parameters
residentRequestTaskId
required
integer <int32>

The resident request identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "UnitAgreement": {
    },
  • "RequestedByUserEntity": {
    },
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z",
  • "Appliance": {
    },
  • "IsEntryPermittedByResident": true,
  • "DoesResidentHavePets": true,
  • "ResidentEntryNotes": "string"
}

Update a resident request

Update a resident request.

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.

Required permission(s):

Tasks > Tasks - `View` `Edit`
path Parameters
residentRequestTaskId
required
integer <int32>

The resident request identifier.

Request Body schema: application/json
Title
required
string non-empty
Message
string or null
CategoryId
integer or null <int32>
SubCategoryId
integer or null <int32>
AssignedToUserId
integer or null <int32>
TaskStatus
required
string
Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
Priority
required
string
Enum: "Low" "Normal" "High"
DueDate
string or null <date>

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "Message": "string",
  • "CategoryId": 0,
  • "SubCategoryId": 0,
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "UnitAgreement": {
    },
  • "RequestedByUserEntity": {
    },
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z",
  • "Appliance": {
    },
  • "IsEntryPermittedByResident": true,
  • "DoesResidentHavePets": true,
  • "ResidentEntryNotes": "string"
}

To Do Requests

A to do request is a catchall for anything that has to get done. This task type is created by and can only be viewed by staff users.

Retrieve all to do requests

Retrieves a list of to do tasks.

Required permission(s):

Tasks > Tasks - `View`
query Parameters
entitytype
string
Enum: "Rental" "RentalOwner" "Association"
entityid
integer <int32>
statuses
Array of strings
Items Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
unitid
integer <int32>
lastupdatedfrom
string <date>
lastupdatedto
string <date>
duedatefrom
string <date>
duedateto
string <date>
taskcategoryid
integer <int32>
priorities
Array of strings
Items Enum: "Low" "Normal" "High"
assignedtoid
integer <int32>
tasktitle
string
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a to do request

Creates a to do task.

Required permission(s):

Tasks > Tasks - `View` `Edit`
Request Body schema: application/json
Title
required
string non-empty
Description
string or null
CategoryId
integer or null <int32>
SubCategoryId
integer or null <int32>
PropertyId
integer or null <int32>
UnitId
integer or null <int32>
AssignedToUserId
required
integer <int32>
TaskStatus
required
string
Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
Priority
required
string
Enum: "Low" "Normal" "High"
DueDate
string or null <date>

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "Description": "string",
  • "CategoryId": 0,
  • "SubCategoryId": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Retrieve a to do request

Retrieves a to do task.

Required permission(s):

Tasks > Tasks - `View`
path Parameters
toDoTaskId
required
integer <int32>

The to do task identifier

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Update a to do request

Updates a to do task

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.

Required permission(s):

Tasks > Tasks - `View` `Edit`
path Parameters
toDoTaskId
required
integer <int32>

The to do task identifier.

Request Body schema: application/json
Title
required
string non-empty
Message
string or null
CategoryId
integer or null <int32>
SubCategoryId
integer or null <int32>
PropertyId
integer or null <int32>
UnitId
integer or null <int32>
AssignedToUserId
required
integer <int32>
TaskStatus
required
string
Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
Priority
required
string
Enum: "Low" "Normal" "High"
DueDate
string or null <date>

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "Message": "string",
  • "CategoryId": 0,
  • "SubCategoryId": 0,
  • "PropertyId": 0,
  • "UnitId": 0,
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Category": {
    },
  • "Title": "string",
  • "Description": "string",
  • "Property": {
    },
  • "UnitId": 0,
  • "AssignedToUserId": 0,
  • "TaskStatus": "New",
  • "Priority": "Low",
  • "DueDate": "2019-08-24",
  • "CreatedDateTime": "2019-08-24T14:15:22Z",
  • "LastUpdatedDateTime": "2019-08-24T14:15:22Z"
}

Work Orders

Retrieve all work orders

Retrieves a list of work orders.

Required permission(s):

Maintenance > Work Orders - `View`
query Parameters
entitytype
string
Enum: "Rental" "RentalOwner" "Association"
entityid
integer <int32>
statuses
Array of strings
Items Enum: "New" "InProgress" "Completed" "Deferred" "Closed"
type
string
Enum: "ContactRequest" "ResidentRequest" "Todo" "RentalOwnerRequest"
unitid
integer <int32>
unitagreementid
integer <int32>
lastupdatedfrom
string <date>
lastupdatedto
string <date>
duedatefrom
string <date>
duedateto
string <date>
taskcategoryid
integer <int32>
priorities
Array of strings
Items Enum: "Low" "Normal" "High"
assignedtoid
integer <int32>
vendorids
Array of integers <int32> [ items <int32 > ]
amountfrom
number <double>
amountto
number <double>
isbilled
boolean
title
string
taskids
Array of integers <int32> [ items <int32 > ]
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a work order

Creates a work order.

Required permission(s):

Maintenance > Work Orders - `View` `Edit`
Request Body schema: application/json
Title
string or null
WorkDetails
string or null
InvoiceNumber
string or null
ChargeableTo
string or null
EntryAllowed
required
string
Enum: "Unknown" "Yes" "No"
EntryNotes
string or null
VendorId
required
integer <int32>
VendorNotes
string or null
EntryContactId
integer or null <int32>
EntryContactIds
Array of integers or null <int32>
Array of objects or null (WorkOrderLineItemSaveMessage)
TaskId
integer or null <int32>
object or null

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "WorkDetails": "string",
  • "InvoiceNumber": "string",
  • "ChargeableTo": "string",
  • "EntryAllowed": "Unknown",
  • "EntryNotes": "string",
  • "VendorId": 0,
  • "VendorNotes": "string",
  • "EntryContactId": 0,
  • "EntryContactIds": [
    ],
  • "LineItems": [
    ],
  • "TaskId": 0,
  • "Task": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Task": {
    },
  • "Title": "string",
  • "DueDate": "2019-08-24",
  • "Priority": "Unknown",
  • "Status": "Unknown",
  • "WorkDetails": "string",
  • "InvoiceNumber": "string",
  • "ChargeableTo": "string",
  • "EntryAllowed": "Unknown",
  • "EntryNotes": "string",
  • "VendorId": 0,
  • "VendorNotes": "string",
  • "EntryContact": {
    },
  • "EntryContacts": [
    ],
  • "BillTransactionId": 0,
  • "BillTransactionIds": [
    ],
  • "Amount": 0,
  • "LineItems": [
    ]
}

Retrieve a work order

Retrieves a specific work order.

Required permission(s):

Maintenance > Work Orders - `View`
path Parameters
workOrderId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Task": {
    },
  • "Title": "string",
  • "DueDate": "2019-08-24",
  • "Priority": "Unknown",
  • "Status": "Unknown",
  • "WorkDetails": "string",
  • "InvoiceNumber": "string",
  • "ChargeableTo": "string",
  • "EntryAllowed": "Unknown",
  • "EntryNotes": "string",
  • "VendorId": 0,
  • "VendorNotes": "string",
  • "EntryContact": {
    },
  • "EntryContacts": [
    ],
  • "BillTransactionId": 0,
  • "BillTransactionIds": [
    ],
  • "Amount": 0,
  • "LineItems": [
    ]
}

Update a work order

Updates a work order.

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.

Required permission(s):

Maintenance > Work Orders - `View` `Edit`
path Parameters
workOrderId
required
integer <int32>
Request Body schema: application/json
Title
string or null
WorkDetails
string or null
InvoiceNumber
string or null
ChargeableTo
string or null
EntryAllowed
required
string
Enum: "Unknown" "Yes" "No"
EntryNotes
string or null
VendorId
required
integer <int32>
VendorNotes
string or null
EntryContactId
integer or null <int32>
EntryContactIds
Array of integers or null <int32>
Array of objects or null (WorkOrderLineItemSaveMessage)

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "WorkDetails": "string",
  • "InvoiceNumber": "string",
  • "ChargeableTo": "string",
  • "EntryAllowed": "Unknown",
  • "EntryNotes": "string",
  • "VendorId": 0,
  • "VendorNotes": "string",
  • "EntryContactId": 0,
  • "EntryContactIds": [
    ],
  • "LineItems": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Task": {
    },
  • "Title": "string",
  • "DueDate": "2019-08-24",
  • "Priority": "Unknown",
  • "Status": "Unknown",
  • "WorkDetails": "string",
  • "InvoiceNumber": "string",
  • "ChargeableTo": "string",
  • "EntryAllowed": "Unknown",
  • "EntryNotes": "string",
  • "VendorId": 0,
  • "VendorNotes": "string",
  • "EntryContact": {
    },
  • "EntryContacts": [
    ],
  • "BillTransactionId": 0,
  • "BillTransactionIds": [
    ],
  • "Amount": 0,
  • "LineItems": [
    ]
}

Vendors

A vendor represents a person, business, or entity that provides goods and/or services. Vendor categories can be used to organize vendors making them easy to retrieve later.

Retrieve all vendors

Retrieves a list of vendors.

Required permission(s):

Maintenance > Vendors - `View`
query Parameters
status
string
Enum: "Inactive" "Active"
email
string
website
string
name
string
insuranceexpiration
string
Enum: "Expired" "ThirtyDaysOrLess" "SixtyDaysOrLess" "NinetyDaysOrLess" "None" "Any"
phone
string
lastupdatedfrom
string <date-time>
lastupdatedto
string <date-time>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a vendor

Creates a vendor.

Required permission(s):

Maintenance > Vendors - `View` `Edit`
Request Body schema: application/json
FirstName
string or null
LastName
string or null
IsCompany
required
boolean
CompanyName
string or null
PrimaryEmail
string or null
AlternateEmail
string or null
object or null
object or null
CategoryId
required
integer <int32>
ExpenseGlAccountId
integer or null <int32>
AccountNumber
string or null
Website
string or null
object or null
Comments
string or null
object or null

Responses

Request samples

Content type
application/json
{
  • "FirstName": "string",
  • "LastName": "string",
  • "IsCompany": true,
  • "CompanyName": "string",
  • "PrimaryEmail": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": {
    },
  • "Address": {
    },
  • "CategoryId": 0,
  • "ExpenseGlAccountId": 0,
  • "AccountNumber": "string",
  • "Website": "string",
  • "VendorInsurance": {
    },
  • "Comments": "string",
  • "TaxInformation": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "IsCompany": true,
  • "IsActive": true,
  • "FirstName": "string",
  • "LastName": "string",
  • "PrimaryEmail": "string",
  • "AlternateEmail": "string",
  • "CompanyName": "string",
  • "PhoneNumbers": [
    ],
  • "Website": "string",
  • "Category": {
    },
  • "Address": {
    },
  • "VendorInsurance": {
    },
  • "Comments": "string",
  • "AccountNumber": "string",
  • "ExpenseGLAccountId": 0,
  • "TaxInformation": {
    }
}

Retrieve a vendor

Retrieve a specific vendor.

Required permission(s):

Maintenance > Vendors - `View`
path Parameters
vendorId
required
integer <int32>

The vendor identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "IsCompany": true,
  • "IsActive": true,
  • "FirstName": "string",
  • "LastName": "string",
  • "PrimaryEmail": "string",
  • "AlternateEmail": "string",
  • "CompanyName": "string",
  • "PhoneNumbers": [
    ],
  • "Website": "string",
  • "Category": {
    },
  • "Address": {
    },
  • "VendorInsurance": {
    },
  • "Comments": "string",
  • "AccountNumber": "string",
  • "ExpenseGLAccountId": 0,
  • "TaxInformation": {
    }
}

Update a vendor

Updates a vendor.

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.

Required permission(s):

Maintenance > Vendors - `View` `Edit`
path Parameters
vendorId
required
integer <int32>
Request Body schema: application/json
FirstName
string or null
LastName
string or null
IsCompany
required
boolean
CompanyName
string or null
PrimaryEmail
string or null
AlternateEmail
string or null
object or null
object or null
CategoryId
required
integer <int32>
ExpenseGlAccountId
integer or null <int32>
AccountNumber
string or null
Website
string or null
object or null
Comments
string or null
object or null

Responses

Request samples

Content type
application/json
{
  • "FirstName": "string",
  • "LastName": "string",
  • "IsCompany": true,
  • "CompanyName": "string",
  • "PrimaryEmail": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": {
    },
  • "Address": {
    },
  • "CategoryId": 0,
  • "ExpenseGlAccountId": 0,
  • "AccountNumber": "string",
  • "Website": "string",
  • "VendorInsurance": {
    },
  • "Comments": "string",
  • "TaxInformation": {
    }
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "IsCompany": true,
  • "IsActive": true,
  • "FirstName": "string",
  • "LastName": "string",
  • "PrimaryEmail": "string",
  • "AlternateEmail": "string",
  • "CompanyName": "string",
  • "PhoneNumbers": [
    ],
  • "Website": "string",
  • "Category": {
    },
  • "Address": {
    },
  • "VendorInsurance": {
    },
  • "Comments": "string",
  • "AccountNumber": "string",
  • "ExpenseGLAccountId": 0,
  • "TaxInformation": {
    }
}

Create a credit

Creates a credit.

Required permission(s):

Accounting > Bills - `View` `Edit`
path Parameters
vendorId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
ReferenceNumber
string or null
Memo
string or null
required
Array of objects (VendorCreditLineItemPostMessage)

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "ReferenceNumber": "string",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "ReferenceNumber": "string",
  • "Memo": "string",
  • "Lines": [
    ]
}

Retrieve a credit

Retrieves a credit.

Required permission(s):

Accounting > Bills - `View`
path Parameters
vendorId
required
integer <int32>
vendorCreditId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "ReferenceNumber": "string",
  • "Memo": "string",
  • "Lines": [
    ]
}

Retrieve all notes

Retrieves all vendor notes.

Required permission(s):

Maintenance > Vendors - `View`
path Parameters
vendorId
required
integer <int32>
query Parameters
updateddatetimefrom
string <date-time>
updateddatetimeto
string <date-time>
lastupdatedbyuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a note

Creates a vendor note.

Required permission(s):

Maintenance > Vendors - `View` `Edit`
path Parameters
vendorId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Retrieve a note

Retrieves a vendor note.

Required permission(s):

Maintenance > Vendors - `View`
path Parameters
vendorId
required
integer <int32>
noteId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Update a note

Updates a vendor 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.

Required permission(s):

Maintenance > Vendors - `View` `Edit`
path Parameters
vendorId
required
integer <int32>
noteId
required
integer <int32>
Request Body schema: application/json
Note
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Note": "string",
  • "LastUpdatedByUser": {
    }
}

Create a refund

Creates a refund.

Required permission(s):

Maintenance > Vendors - `View` `Edit` Accounting > Bank Accounts - `View`
path Parameters
vendorId
required
integer <int32>
Request Body schema: application/json
EntryDate
required
string <date>
BankAccountId
integer or null <int32>
CreditCardAccountId
integer or null <int32>
PaymentMethod
required
string
Enum: "Check" "Cash" "MoneyOrder" "CashierCheck" "DirectDeposit" "CreditCard" "ElectronicPayment"
ReferenceNumber
string or null
Memo
string or null
required
Array of objects (VendorRefundLinePostMessage)

Responses

Request samples

Content type
application/json
{
  • "EntryDate": "2019-08-24",
  • "BankAccountId": 0,
  • "CreditCardAccountId": 0,
  • "PaymentMethod": "Check",
  • "ReferenceNumber": "string",
  • "Memo": "string",
  • "Lines": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "BankAccountId": 0,
  • "CreditCardAccountId": 0,
  • "PaymentMethod": "None",
  • "ReferenceNumber": "string",
  • "Memo": "string",
  • "Lines": [
    ]
}

Retrieve a refund

Retrieves a refund.

Required permission(s):

Maintenance > Vendors - `View`
path Parameters
vendorId
required
integer <int32>
vendorRefundId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "EntryDate": "2019-08-24",
  • "BankAccountId": 0,
  • "CreditCardAccountId": 0,
  • "PaymentMethod": "None",
  • "ReferenceNumber": "string",
  • "Memo": "string",
  • "Lines": [
    ]
}

Retrieve all transactions

Retrieves all transactions for a given vendor.

Required permission(s):

Maintenance > Vendors - `View`

Accounting > General Ledger Transactions - View

path Parameters
vendorId
required
integer <int32>
query Parameters
transactiondatefrom
required
string <date>
transactiondateto
required
string <date>
transactiontypes
Array of strings
Items Enum: "Bill" "Check" "Charge" "Payment" "Credit" "Refund" "ApplyDeposit" "ElectronicFundsTransfer" "Other" "Deposit" "GeneralJournalEntry" "OwnerContribution" "ReversePayment" "ReverseElectronicFundsTransfer" "VendorCredit" "RentalApplicationFeePayment" "ReverseRentalApplicationFeePayment" "ReverseOwnerContribution" "VendorRefund" "UnreversedPayment" "UnreversedElectronicFundsTransfer" "UnreversedOwnerContribution" "UnreversedRentalApplicationFeePayment" "ReversedEftRefund" "CreditCardPurchase" "CreditCardPayment"
referencenumber
string
memo
string
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all vendor categories

Retrieves a list of vendor categories.

Required permission(s):

Maintenance > Vendors - `View`
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a vendor category

Creates a vendor category.

Required permission(s):

Maintenance > Vendors - `View` `Edit`
Request Body schema: application/json
Name
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Name": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "IsSystemCategory": true
}

Retrieve a vendor category

Retrieves a specific vendor category.

Required permission(s):

Maintenance > Vendors - `View`
path Parameters
vendorCategoryId
required
integer <int32>

The vendor category identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "IsSystemCategory": true
}

Update a vendor category

Updates a vendor category.

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.

Required permission(s):

Maintenance > Vendors - `View` `Edit`
path Parameters
vendorCategoryId
required
integer <int32>
Request Body schema: application/json
Name
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Name": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "IsSystemCategory": true
}

Communications

Communications resources providing access to announcements and phone logs.

Retrieve all announcements

Retrieves all announcements.

Required permission(s):

Communications > Announcements - `View`
query Parameters
announcementdatefrom
string <date>
announcementdateto
string <date>
entityid
integer <int32>
entitytype
string
Enum: "Rental" "RentalOwner" "Association"
senderid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an announcement

Creates and publishes an announcement.

Required permission(s):

Communications > Announcements - `View` `Edit`
Request Body schema: application/json
Subject
required
string non-empty
Body
required
string non-empty
ExpirationDate
string or null <date>
NotifyAssociationTenants
required
boolean
IncludeAlternateEmail
required
boolean
PropertyIds
required
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "Subject": "string",
  • "Body": "string",
  • "ExpirationDate": "2019-08-24",
  • "NotifyAssociationTenants": true,
  • "IncludeAlternateEmail": true,
  • "PropertyIds": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Subject": "string",
  • "Body": "string",
  • "AnnouncementDate": "2019-08-24",
  • "ExpirationDate": "2019-08-24",
  • "Channels": [
    ],
  • "Sender": {
    }
}

Retrieve an announcement

Retrieves an announcement.

Required permission(s):

Communications > Announcements - `View`
path Parameters
announcementId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Subject": "string",
  • "Body": "string",
  • "AnnouncementDate": "2019-08-24",
  • "ExpirationDate": "2019-08-24",
  • "Channels": [
    ],
  • "Sender": {
    }
}

Expire an announcement

Removes the announcement from the Resident Center immediately.

Required permission(s):

Communications > Announcements - `View` `Edit`
path Parameters
announcementId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Retrieve all announcement properties

Retrieves a list of association and/or rental properties whose residents received the announcement. An empty response collection indicates that the announcement was sent to all properties at the time of its creation.

Required permission(s):

Communications > Announcements - `View`
path Parameters
announcementId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all emails

Retrieves all emails. System generated emails are not included.

Required permission(s):

Communication > Emails - `View`
query Parameters
sentdatetimefrom
required
string <date-time>
sentdatetimeto
required
string <date-time>
subject
string
recipientnameoremail
string
senderuserid
integer <int32>
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Send an email

Sends an email to one or more recipients using the specified email template.

NOTE: Emails can only be sent to current tenants.

Required permission(s):

Communication > Emails - `View` `Edit`
Request Body schema: application/json
TemplateId
required
integer <int32>
Subject
required
string non-empty
IncludeAlternateEmails
required
boolean
ExcludeDelinquentRecipients
required
boolean
IncludeAssociationTenants
required
boolean
PropertyIds
Array of integers or null <int32>
RecipientIds
Array of integers or null <int32>

Responses

Request samples

Content type
application/json
{
  • "TemplateId": 0,
  • "Subject": "string",
  • "IncludeAlternateEmails": true,
  • "ExcludeDelinquentRecipients": true,
  • "IncludeAssociationTenants": true,
  • "PropertyIds": [
    ],
  • "RecipientIds": [
    ]
}

Response samples

Content type
application/json
{
  • "UserMessage": "string",
  • "ErrorCode": "string",
  • "Errors": [
    ]
}

Retrieve an email

Retrieves the content of an email. System generated emails are not included. To retrieve the recipients of the email see the Retrieve all email recipients endpoint.

Required permission(s):

Communications > Emails - `View`
path Parameters
emailId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "SentDateTime": "2019-08-24T14:15:22Z",
  • "Subject": "string",
  • "Sender": {
    }
}

Retrieve all email recipients

Retrieves all email recipients.

Required permission(s):

Communications > Email - `View`

Optional Permissions:

The following permissions are optional, but results with a missing permission will be filtered out.

Maintenance > Vendors - View In order to retrieve recipients that are Vendors, you must have this permission.

Administration > Users - View In order to see recipients that are Staff, you must have this permission.

path Parameters
emailId
required
integer <int32>
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve all phone logs

Retrieves all phone logs.

Required permission(s):

Communications > Timelines (Phone Logs) - `View`
query Parameters
fromdate
string <date>
todate
string <date>
loggedbystaffuserids
Array of integers <int32> [ items <int32 > ]
subject
string
participantentityid
integer <int32>
participantentitytype
string
Enum: "Vendor" "RentalOwner" "RentalTenant" "AssociationOwner"
unitagreementid
integer <int32>
unitagreementtype
string
Enum: "Lease" "OwnershipAccount"
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a phone log

Creates a phone log.

Required permission(s):

Communications > Timelines (Phone Logs) - `View` `Edit`
Request Body schema: application/json
required
object
Subject
required
string non-empty
Description
required
string non-empty
CallDateTime
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "Participant": {
    },
  • "Subject": "string",
  • "Description": "string",
  • "CallDateTime": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Participant": {
    },
  • "LoggedByStaffUser": {
    },
  • "Subject": "string",
  • "Description": "string",
  • "CallDateTime": "2019-08-24T14:15:22Z"
}

Retrieve a phone log

Retrieves a specific phone log.

Required permission(s):

Communications > Timelines (Phone Logs) - `View`
path Parameters
phoneLogId
required
integer <int32>

The phone log identifier

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Participant": {
    },
  • "LoggedByStaffUser": {
    },
  • "Subject": "string",
  • "Description": "string",
  • "CallDateTime": "2019-08-24T14:15:22Z"
}

Update a phone log

Update a phone log

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.

Required permission(s):

Communications > Timelines (Phone Logs) - `View` `Edit`
path Parameters
phoneLogId
required
integer <int32>

The phone log identifier.

Request Body schema: application/json
Subject
required
string non-empty
Description
required
string non-empty
CallDateTime
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "Subject": "string",
  • "Description": "string",
  • "CallDateTime": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Participant": {
    },
  • "LoggedByStaffUser": {
    },
  • "Subject": "string",
  • "Description": "string",
  • "CallDateTime": "2019-08-24T14:15:22Z"
}

Retrieve all communication templates

Retrieves all mailing and email templates. A template is a tool in Buildium that allows you to create "mail merge" templates for emails and postal mailings to easily send common messages to residents, rental owners and vendors.

Required permission(s):

Communications > Mailing Templates - `View`

Optional Permissions:

Rentals > Tenants - `View`

Rentals > Property Rental owners - View

Associations > Association owners and tenants - View

Maintenance > Vendors - View

Rentals > Applicants - View

query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a communication template

Retrieves a communication template. A template is a tool in Buildium that allows you to create "mail merge" templates for emails and postal mailings to easily send common messages to residents, rental owners and vendors.

Required permission(s):

Communications > Mailing Templates - `View`

Optional Permissions:

Rentals > Tenants - `View`

Rentals > Property Rental owners - View

Associations > Association owners and tenants - View

Maintenance > Vendors - View

Rentals > Applicants - View

path Parameters
templateId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "Description": "string",
  • "RecipientType": "Tenants"
}

Files

Buildium offers file and document storage that allows you to upload a variety of content types. Files can be associated to specific entities in Buildium such as properties, units, leases, tenants and more.

Files can be assigned categories when they are uploaded in Buildium making them easier to find later on when you want to retrieve them.

Retrieve all files

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.

Required permission(s):

Documents > Files - `View`
query Parameters
entityid
integer <int32>
entitytype
string
Enum: "Account" "Association" "AssociationOwner" "AssociationUnit" "Lease" "OwnershipAccount" "PublicAsset" "Rental" "RentalOwner" "RentalUnit" "Tenant" "Vendor"
categoryid
integer <int32>
titleordescription
string
uploadedfrom
string <date>
uploadedto
string <date>
physicalfilenames
Array of strings
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a file

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.

Required permission(s):

Documents > Files - `View`
path Parameters
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "FileEntity": {
    },
  • "CategoryId": 0,
  • "Title": "string",
  • "Description": "string",
  • "PhysicalFileName": "string",
  • "Size": 0,
  • "ContentType": "string",
  • "UploadedDateTime": "2019-08-24T14:15:22Z"
}

Update a file

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.

Required permission(s):

Documents > Files - `View` `Edit`
path Parameters
fileId
required
integer <int32>
Request Body schema: application/json
Title
required
string non-empty
Description
string or null
CategoryId
required
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "Description": "string",
  • "CategoryId": 0
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "FileEntity": {
    },
  • "CategoryId": 0,
  • "Title": "string",
  • "Description": "string",
  • "PhysicalFileName": "string",
  • "Size": 0,
  • "ContentType": "string",
  • "UploadedDateTime": "2019-08-24T14:15:22Z"
}

Download a file

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.

Required permission(s):

Documents > Files - `View`
path Parameters
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "DownloadUrl": "string"
}

Retrieve file share settings

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.

Required permission(s):

Documents > Files - `View`
path Parameters
fileId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Account": {
    },
  • "Rental": {
    },
  • "RentalUnit": {
    },
  • "Lease": {
    },
  • "Tenant": {
    },
  • "RentalOwner": {
    },
  • "Association": {
    },
  • "AssociationUnit": {
    },
  • "OwnershipAccount": {
    },
  • "AssociationOwner": {
    },
  • "Vendor": {
    },
  • "Committee": {
    }
}

Update file share settings

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.

Required permission(s):

Documents > Files - `View` `Edit`
path Parameters
fileId
required
integer <int32>
Request Body schema: application/json
object or null
object or null
object or null
object or null
object or null
object or null
object or null
object or null
object or null
object or null
object or null
object or null

Responses

Request samples

Content type
application/json
{
  • "Account": {
    },
  • "Rental": {
    },
  • "RentalUnit": {
    },
  • "Lease": {
    },
  • "Tenant": {
    },
  • "RentalOwner": {
    },
  • "Association": {
    },
  • "AssociationUnit": {
    },
  • "OwnershipAccount": {
    },
  • "AssociationOwner": {
    },
  • "Vendor": {
    },
  • "Committee": {
    }
}

Response samples

Content type
application/json
{
  • "Account": {
    },
  • "Rental": {
    },
  • "RentalUnit": {
    },
  • "Lease": {
    },
  • "Tenant": {
    },
  • "RentalOwner": {
    },
  • "Association": {
    },
  • "AssociationUnit": {
    },
  • "OwnershipAccount": {
    },
  • "AssociationOwner": {
    },
  • "Vendor": {
    },
  • "Committee": {
    }
}

Retrieve all categories

Retrieves a list of file categories.

Required permission(s):

Documents > Files - `View`
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a category

Creates a file category.

Required permission(s):

Documents > Files - `View` `Edit`
Request Body schema: application/json
Name
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Name": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "IsEditable": true
}

Retrieve a category

Retrieves a specific file category.

Required permission(s):

Documents > Files - `View`
path Parameters
fileCategoryId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "IsEditable": true
}

Update a category

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.

Required permission(s):

Documents > Files - `View` `Edit`
path Parameters
fileCategoryId
required
integer <int32>
Request Body schema: application/json
Name
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "Name": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "IsEditable": true
}

Upload a file

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/uploads. The response of this call will contain an upload URL and a collection of headers 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 PUT request to the Buildium file provider. Follow these steps to create the request:

  1. Form a PUT request using the value of the UploadUrl property as the URL.

  2. Set the Content-Type header to application/octet-stream.

  3. Copy the fields from the Headers property to this request as header key/value pairs.

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

  1. Lastly create the body of the request with the file binary.

  2. Send the PUT request! A successful request will return with a 200 - OK 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.

Required permission(s):

Documents > Files - `View` `Edit`
Request Body schema: application/json
EntityType
required
string
Enum: "Account" "Association" "AssociationOwner" "AssociationUnit" "Lease" "OwnershipAccount" "PublicAsset" "Rental" "RentalOwner" "RentalUnit" "Tenant" "Vendor"
EntityId
integer or null <int32>
FileName
required
string non-empty
Title
required
string non-empty
Description
string or null
CategoryId
required
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "EntityType": "Account",
  • "EntityId": 0,
  • "FileName": "string",
  • "Title": "string",
  • "Description": "string",
  • "CategoryId": 0
}

Response samples

Content type
application/json
{
  • "UploadUrl": "string",
  • "PhysicalFileName": "string",
  • "Headers": {
    }
}

Property Groups

A property group is a collection of associations and/or rental properties in Buildium. Property groups are typically used as filter criteria to define which properties to return in a query. Common uses include: grouping properties by a region or a business unit.

Retrieve all property groups

Retrieves all property groups.

Required permission(s):

Rentals > Rental properties and units or - `View`

Associations > Associations and units - View

query Parameters
propertyids
Array of integers <int32> [ items <int32 > ]
nameordescription
string
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a property group

Creates a property group.

Required permission(s):

Rentals > Rental properties and units or - `View` `Edit` Associations > Associations and units - `View` `Edit`
Request Body schema: application/json
Name
required
string non-empty
Description
string or null
PropertyIds
required
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Description": "string",
  • "PropertyIds": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "Description": "string",
  • "Properties": [
    ],
  • "CreatedByUser": {
    }
}

Retrieve a property group

Retrieves a property group.

Required permission(s):

Rentals > Rental properties and units or - `View` Associations > Associations and units - `View`
path Parameters
propertyGroupId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "Description": "string",
  • "Properties": [
    ],
  • "CreatedByUser": {
    }
}

Update a property group

Updates a property group. A property group can only be updated by the user that created it.

Required permission(s):

Rentals > Rental properties and units or - `View` `Edit` Associations > Associations and units - `View` `Edit`
path Parameters
propertyGroupId
required
integer <int32>
Request Body schema: application/json
Name
required
string non-empty
Description
string or null
PropertyIds
required
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Description": "string",
  • "PropertyIds": [
    ]
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "Description": "string",
  • "Properties": [
    ],
  • "CreatedByUser": {
    }
}

Administration

Administration resources that allow for user management and Buildium account level settings.

Retrieve all users

Retrieves a list of users.

Required permission(s):

Administration > Users - `View`
query Parameters
roleids
Array of integers <int32> [ items <int32 > ]
usertypes
Array of strings
Items Enum: "Staff" "RentalOwner" "Vendor"
status
string
Enum: "Inactive" "Active"
name
string
email
string
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a user

Retrieve a specific user.

Required permission(s):

Administration > Users - `View`
path Parameters
userId
required
integer <int32>

The user identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "UserTypes": [
    ],
  • "IsActive": true,
  • "LastLogin": "2019-08-24T14:15:22Z",
  • "FirstName": "string",
  • "LastName": "string",
  • "CompanyName": "string",
  • "Email": "string",
  • "AlternateEmail": "string",
  • "PhoneNumbers": [
    ],
  • "UserRole": {
    },
  • "IsCompany": true
}

Retrieve all user roles

Retrieves a list of user roles.

Required permission(s):

Administration > User Roles - `View`
query Parameters
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a user role

Retrieve a specific user role.

Required permission(s):

Administration > User Roles - `View`
path Parameters
userRoleId
required
integer <int32>

The user role identifier.

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "Name": "string",
  • "Description": "string",
  • "NumberOfUsers": 0
}

Retrieve account info

Retrieves information related to the Buildium account.

Required permission(s):

Administration > Account Information - `View`

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "CompanyName": "string",
  • "Url": "string",
  • "Contact": {
    },
  • "AccountingSettings": {
    }
}

Retrieve accounting lock periods

Retrieves accounting lock periods.

Required permission(s):

Administration > Application Settings - `View`

Responses

Response samples

Content type
application/json
{
  • "Global": {
    },
  • "Overrides": [
    ],
  • "FinancialAdministratorUserIds": [
    ]
}

Retrieve the partial payment settings for residents

Retrieves the partial payment settings for residents.

Required permission(s):

Administration > Application Settings - `View`

Responses

Response samples

Content type
application/json
{
  • "RequirePaymentsInFull": true
}

Update the partial payment settings for residents

Updates the partial payment settings for residents.

Required permission(s):

Administration > Application Settings - `View` `Edit`
Request Body schema:

Represents the structure of the data that can be provided to a JSON patch document as path values via JSON pointer syntax.

RequirePaymentsInFull
boolean or null

Responses

Request samples

Content type
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "RequirePaymentsInFull": true
}

Client Leads

Client lead resources providing access to leads that come from All Property Management. These endpoints will only return data if your Buildium account is linked to an account in All Property Management. This data is not available in sandbox accounts.

Retrieve all client leads

Retrieves all client leads

        Note: When using the `orderby` query string parameter, the only supported options are DateReceived.
        

Required permission(s):

Administration > All Property Management - `View`
query Parameters
leadstatuses
Array of strings
Items Enum: "Unknown" "New" "Contacting" "Qualifying" "Closing" "ClosedWon" "ClosedLost"
propertytypes
Array of strings
Items Enum: "SingleHomeUpToThreeHundredThousand" "SingleHomeThreeHundredToFiveHundredThousand" "SingleHomeFiveHundredThousandToOneMillion" "SingleHomeOverOneMillion" "MultiFamilyTwoToFourUnits" "MultiFamilyFiveToNineteenUnits" "MultiFamilyTwentyToFortyNineUnits" "MultiFamilyOverOneHundredUnits" "OfficeLessThanTenThousandSqFt" "OfficeTenThousandToOneHundredThousandSqFt" "OfficeOverOneHundredThousandSqFt" "RetailLessThanTenThousandSqFt" "RetailTenThousandToOneHundredThousandSqFt" "RetailOverOneHundredThousandSqFt" "LightManufacturingUpToOneHundredThousandSqFt" "LightManufacturingOverOneHundredThousandSqFt" "WarehouseUpToOneHundredThousandSqFt" "WarehouseOverOneHundredThousandSqFt" "VacationOneToTwoUnits" "VacationOverThreeUnits" "ParkingGarage" "OtherAssociation" "BiotechMissionCritical" "HOATwoToFortyNineUnits" "HOAFiftyToNinetyNineUnits" "HOAOverOneHundredUnits" "COATwoToFortyNineUnits" "COAFiftyToNinetyNineUnits" "COAOverOneHundredUnits" "MobileHomeCommunity"
datereceivedfrom
string <date-time>
datereceivedto
string <date-time>
includecreditedleads
boolean
orderby
string

orderby indicates the field(s) and direction to sort the results in the response. See Bulk Request Options for more information.

offset
integer

offset indicates the position of the first record to return. The offset is zero-based and the default is 0.

limit
integer

limit indicates the maximum number of results to be returned in the response. limit can range between 1 and 1000 and the default is 50.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a client lead

Retrieves a specific client lead

Required permission(s):

Administration > All Property Management - `View`
path Parameters
clientLeadId
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "Id": 0,
  • "DateReceived": "2019-08-24T14:15:22Z",
  • "Name": "string",
  • "Email": "string",
  • "PhoneNumber": "string",
  • "PricePaid": 0,
  • "Address": {
    },
  • "PropertyType": "SingleHomeUpToThreeHundredThousand",
  • "Comments": "string",
  • "LeadStatus": "Unknown",
  • "CreditRequest": {
    }
}