About the API

Enabling Properties

Selectively Enabling Properties

Some PMSs give access to more properties than you may want data for. It's common to have one of your customers want to run your product on only a select list of their properties. In this case, it can be cumbersome to sift through data from all their properties when you only need a small amount of relevant data.

To resolve this common situation, we support explicitly enabling and disabling ingestion of property data. We offer the ability to configure this either by our API or the Propexo Dashboard.

By default, an integration has all properties set to be enabled. This can be configured via the Propexo API and/or Dashboard.

How it works

When creating an integration (via the API or Dashboard), you'll have the option to enable or disable ingestion of all properties (see image below). Enable Properties: Create Integration Dashboard

The default setting is to always ingest all properties. If this option is disabled, Propexo will not automatically populate child data for any properties as part of the first sync. Instead, once an initial sync has finished, a list of the available properties will be populated for you to inspect via the API or the Dashboard. You can selectively enable and disable properties as appropriate for your use case. After this, subsequent syncs will ingest data for the properties that remain enabled, and those listed as disabled will be ignored.

API

To view the list of properties and their ingestion status via the API, you can use /v1/admin/integrations/:integration_id/properties. If you want to change the status of one of these properties, you can use /v1/admin/integrations/:integration_id/properties/:property_configuration_id. Note that the last path parameter isn't the property ID, it's the id of the property configuration, which is identified by the id field on the GET endpoint.

For example, if we received the following list of properties from our GET endpoint:

[
{
"id": "ce88631d4ccaaf39966fc5907b00b4782",
"created_at": "2023-12-17T16:04:02.000Z",
"integration_id": "c4d912598f9c01516794f5a25c285fa41",
"property_id": "c4d912598f9c01516794f5a25c285fa41123",
"enabled": true
},
{
"id": "c9ad28d1f8a9e78522bd89567ce8a13a6",
"created_at": "2023-12-17T16:04:02.000Z",
"integration_id": "c4d912598f9c01516794f5a25c285fa41",
"property_id": "c4d912598f9c01516794f5a25c285fa41456",
"enabled": true
}
]

And we wanted to stop ingesting data for property id c4d912598f9c01516794f5a25c285fa41456, we would get it's property configuration id (c9ad28d1f8a9e78522bd89567ce8a13a6) and make the following request:

PUT `/v1/admin/integrations/c4d912598f9c01516794f5a25c285fa41/properties/c9ad28d1f8a9e78522bd89567ce8a13a6
{
"enabled": false
}

This would stop future processing of records related to the property with id c4d912598f9c01516794f5a25c285fa41456. That means we won't read any data about units, residents, leases, etc when they're related to that property.

Dashboard

The list of properties for an integration can be viewed on that integration's page, near the bottom.

Enabled Properties Table

Each property that belongs to the integration is listed, along with whether it is disabled or not. If you go to the ellipsis on the right side, you can choose to enable or disable the property.

Disable Property Button

Disable Property Modal

Once this is changed, the next sync for this integration will take these new settings into account.