Direct Web API - CRM Data Reference
Synchronize contact data with Matrix directly
The Direct Web API from CoreLogic is the best, most efficient way to provide a seamless experience for agents working across multiple applications or MLS frontends. The Direct Web API enables a direct API connection to the Matrix database using ODATA standards, facilitating real-time, bidirectional data synchronization.
Using the Direct Web API, you can read and write contact and contact-related data to and from Matrix directly. For example, an agent could use a third-party app to create a new contact, and that contact record would be created automatically in Matrix as well. This direct integration is key to reducing redundant data entry and increasing the choices available to agents.
Available Data Types
The Direct Web API currently supports:
- Contact Information-name, address, phone, email, etc.
- Email history-messages sent to the contact
- Favorite/Possible Listings-properties liked by the contact
- Listing Carts-property lists associated with the contact
- Portal data-including contact information and listing comments
- Saved Searches-listing search criteria used for auto-email notifications and more
Data Access
The Direct Web API uses the OData protocol with OpenID Connect (OIDC) authentication to provide secure data access for a specific MLS member. Applications calling the Direct Web API use the member's credentials in the OIDC authentication process to ensure access is appropriately limited according to the user's privileges in Matrix.
Applications may use Clareity Single Sign-On authorization or basic authentication using an individual login and password.
Getting Started
The Direct Web API uses Trestle by CoreLogic to manage user accounts, credentials, billing, and licensing. Anyone who wants to access the Direct Web API must create a Trestle account at trestle.corelogic.com.
Technology providers that already use Trestle can use their existing account to sign up for the Direct Web API as well. Using Trestle provides numerous benefits, including centralized data feed management, online licensing and document management, and one-stop shopping for a broad range of additional data products.
Cost
CoreLogic charges technology providers a fee to access the Direct Web API to cover the cost of ongoing API development, bandwidth, documentation, and support, etc. Read/write access costs more than read-only access due to the additional integration requirements and complexity. Data license fees charged by the MLS may also apply. Visit trestle.corelogic.com for more information.
/CONTACTS
GET
Summary: Get entities from Contacts
HTTP Request
***GET*** /Contacts
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
$orderby | query | Order items by property values | No | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved entities |
POST
Summary: Add new entity to Contacts
HTTP Request
***POST*** /Contacts
Responses
Code | Description |
---|---|
201 | Created entity |
/CONTACTS({CONTACTKEYNUMERIC})
GET
Summary: Get entity from Contacts by key
HTTP Request
***GET*** /Contacts({ContactKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of Contact | Yes | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved entity |
PATCH
Summary: Update entity in Contacts
HTTP Request
***PATCH*** /Contacts({ContactKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of Contact | Yes |
Responses
Code | Description |
---|---|
204 | Success |
DELETE
Summary: Delete entity from Contacts
HTTP Request
***DELETE*** /Contacts({ContactKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of Contact | Yes | |
If-Match | header | ETag | No |
Responses
Code | Description |
---|---|
204 | Success |
/CONTACTS({CONTACTKEYNUMERIC})/PORTALCONTENTS
GET
Summary: Get PortalContents from Contacts
HTTP Request
***GET*** /Contacts({ContactKeyNumeric})/PortalContents
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of Contact | Yes | |
$orderby | query | Order items by property values | No | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved navigation property |
/CONTACTS({CONTACTKEYNUMERIC})/PORTALCONTENTS(CONTACTKEYNUMERIC={CONTACTKEYNUMERIC1},LISTINGKEYNUMERIC={LISTINGKEYNUMERIC})
GET
Summary: Get PortalContents from Contacts
HTTP Request
***GET*** /Contacts({ContactKeyNumeric})/PortalContents(ContactKeyNumeric={ContactKeyNumeric1},ListingKeyNumeric={ListingKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of Contact | Yes | |
ContactKeyNumeric1 | path | key: ContactKeyNumeric of ContactListing | Yes | |
ListingKeyNumeric | path | key: ListingKeyNumeric of ContactListing | Yes | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved navigation property |
/CONTACTS({CONTACTKEYNUMERIC})/PORTALCONTENTS/$REF
GET
Summary: Get ref of PortalContents from Contacts
HTTP Request
***GET*** /Contacts({ContactKeyNumeric})/PortalContents/$ref
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of Contact | Yes | |
$orderby | query | Order items by property values | No |
Responses
Code | Description |
---|---|
200 | Retrieved navigation property links |
POST
Summary: Create new navigation property ref to PortalContents for Contacts
HTTP Request
***POST*** /Contacts({ContactKeyNumeric})/PortalContents/$ref
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of Contact | Yes |
Responses
Code | Description |
---|---|
201 | Created navigation property link. |
DELETE
Summary: Delete ref of navigation property PortalContents for Contacts
HTTP Request
***DELETE*** /Contacts({ContactKeyNumeric})/PortalContents/$ref
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of Contact | Yes | |
If-Match | header | ETag | No | |
@id | query | Delete Uri | No |
Responses
Code | Description |
---|---|
204 | Success |
/EMAILHISTORY
GET
Summary: Get entities from EmailHistory
HTTP Request
***GET*** /EmailHistory
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
$orderby | query | Order items by property values | No | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved entities |
POST
Summary: Add new entity to EmailHistory
HTTP Request
***POST*** /EmailHistory
Responses
Code | Description |
---|---|
201 | Created entity |
/EMAILHISTORY({EMAILHISTORYKEYNUMERIC})
GET
Summary: Get entity from EmailHistory by key
HTTP Request
***GET*** /EmailHistory({EmailHistoryKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
EmailHistoryKeyNumeric | path | key: EmailHistoryKeyNumeric of EmailHistory | Yes | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved entity |
PATCH
Summary: Update entity in EmailHistory
HTTP Request
***PATCH*** /EmailHistory({EmailHistoryKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
EmailHistoryKeyNumeric | path | key: EmailHistoryKeyNumeric of EmailHistory | Yes |
Responses
Code | Description |
---|---|
204 | Success |
DELETE
Summary: Delete entity from EmailHistory
HTTP Request
***DELETE*** /EmailHistory({EmailHistoryKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
EmailHistoryKeyNumeric | path | key: EmailHistoryKeyNumeric of EmailHistory | Yes | |
If-Match | header | ETag | No |
Responses
Code | Description |
---|---|
204 | Success |
/LISTS
GET
Summary: Get entities from Lists
HTTP Request
***GET*** /Lists
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
$orderby | query | Order items by property values | No | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved entities |
POST
Summary: Add new entity to Lists
HTTP Request
***POST*** /Lists
Responses
Code | Description |
---|---|
201 | Created entity |
/LISTS(LISTKEY={LISTKEY},CLASSNAME={CLASSNAME})
GET
Summary: Get entity from Lists by key
HTTP Request
***GET*** /Lists(ListKey={ListKey},ClassName={ClassName})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ListKey | path | key: ListKey of List | Yes | |
ClassName | path | key: ClassName of List | Yes | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved entity |
PATCH
Summary: Update entity in Lists
HTTP Request
***PATCH*** /Lists(ListKey={ListKey},ClassName={ClassName})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ListKey | path | key: ListKey of List | Yes | |
ClassName | path | key: ClassName of List | Yes |
Responses
Code | Description |
---|---|
204 | Success |
DELETE
Summary: Delete entity from Lists
HTTP Request
***DELETE*** /Lists(ListKey={ListKey},ClassName={ClassName})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ListKey | path | key: ListKey of List | Yes | |
ClassName | path | key: ClassName of List | Yes | |
If-Match | header | ETag | No |
Responses
Code | Description |
---|---|
204 | Success |
/PORTALCONTENTS
GET
Summary: Get entities from PortalContents
HTTP Request
***GET*** /PortalContents
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
$orderby | query | Order items by property values | No | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved entities |
POST
Summary: Add new entity to PortalContents
HTTP Request
***POST*** /PortalContents
Responses
Code | Description |
---|---|
201 | Created entity |
/PORTALCONTENTS(CONTACTKEYNUMERIC={CONTACTKEYNUMERIC},LISTINGKEYNUMERIC={LISTINGKEYNUMERIC})
GET
Summary: Get entity from PortalContents by key
HTTP Request
***GET*** /PortalContents(ContactKeyNumeric={ContactKeyNumeric},ListingKeyNumeric={ListingKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of ContactListing | Yes | |
ListingKeyNumeric | path | key: ListingKeyNumeric of ContactListing | Yes | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved entity |
PATCH
Summary: Update entity in PortalContents
HTTP Request
***PATCH*** /PortalContents(ContactKeyNumeric={ContactKeyNumeric},ListingKeyNumeric={ListingKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of ContactListing | Yes | |
ListingKeyNumeric | path | key: ListingKeyNumeric of ContactListing | Yes |
Responses
Code | Description |
---|---|
204 | Success |
DELETE
Summary: Delete entity from PortalContents
HTTP Request
***DELETE*** /PortalContents(ContactKeyNumeric={ContactKeyNumeric},ListingKeyNumeric={ListingKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of ContactListing | Yes | |
ListingKeyNumeric | path | key: ListingKeyNumeric of ContactListing | Yes | |
If-Match | header | ETag | No |
Responses
Code | Description |
---|---|
204 | Success |
/PORTALCONTENTS(CONTACTKEYNUMERIC={CONTACTKEYNUMERIC},LISTINGKEYNUMERIC={LISTINGKEYNUMERIC})/DEFAULT.ADDLISTINGNOTE
POST
Summary: Invoke action AddListingNote
HTTP Request
***POST*** /PortalContents(ContactKeyNumeric={ContactKeyNumeric},ListingKeyNumeric={ListingKeyNumeric})/Default.AddListingNote
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of ContactListing | Yes | |
ListingKeyNumeric | path | key: ListingKeyNumeric of ContactListing | Yes |
Responses
Code | Description |
---|---|
204 | Success |
/PORTALCONTENTS(CONTACTKEYNUMERIC={CONTACTKEYNUMERIC},LISTINGKEYNUMERIC={LISTINGKEYNUMERIC})/DEFAULT.MARKASVIEWED
POST
Summary: Invoke action MarkAsViewed
HTTP Request
***POST*** /PortalContents(ContactKeyNumeric={ContactKeyNumeric},ListingKeyNumeric={ListingKeyNumeric})/Default.MarkAsViewed
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of ContactListing | Yes | |
ListingKeyNumeric | path | key: ListingKeyNumeric of ContactListing | Yes |
Responses
Code | Description |
---|---|
204 | Success |
/PORTALCONTENTS(CONTACTKEYNUMERIC={CONTACTKEYNUMERIC},LISTINGKEYNUMERIC={LISTINGKEYNUMERIC})/DEFAULT.SETLISTINGPREFERENCE
POST
Summary: Invoke action SetListingPreference
HTTP Request
***POST*** /PortalContents(ContactKeyNumeric={ContactKeyNumeric},ListingKeyNumeric={ListingKeyNumeric})/Default.SetListingPreference
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
ContactKeyNumeric | path | key: ContactKeyNumeric of ContactListing | Yes | |
ListingKeyNumeric | path | key: ListingKeyNumeric of ContactListing | Yes |
Responses
Code | Description |
---|---|
204 | Success |
/SAVEDSEARCHES
GET
Summary: Get entities from SavedSearches
HTTP Request
***GET*** /SavedSearches
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
$orderby | query | Order items by property values | No | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved entities |
POST
Summary: Add new entity to SavedSearches
HTTP Request
***POST*** /SavedSearches
Responses
Code | Description |
---|---|
201 | Created entity |
/SAVEDSEARCHES({SAVEDSEARCHKEYNUMERIC})
GET
Summary: Get entity from SavedSearches by key
HTTP Request
***GET*** /SavedSearches({SavedSearchKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
SavedSearchKeyNumeric | path | key: SavedSearchKeyNumeric of SavedSearch | Yes | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved entity |
PATCH
Summary: Update entity in SavedSearches
HTTP Request
***PATCH*** /SavedSearches({SavedSearchKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
SavedSearchKeyNumeric | path | key: SavedSearchKeyNumeric of SavedSearch | Yes |
Responses
Code | Description |
---|---|
204 | Success |
DELETE
Summary: Delete entity from SavedSearches
HTTP Request
***DELETE*** /SavedSearches({SavedSearchKeyNumeric})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
SavedSearchKeyNumeric | path | key: SavedSearchKeyNumeric of SavedSearch | Yes | |
If-Match | header | ETag | No |
Responses
Code | Description |
---|---|
204 | Success |
/SAVEDSEARCHES({SAVEDSEARCHKEYNUMERIC})/DEFAULT.GETSAVEDSEARCHLISTINGIDS()
GET
Summary: Invoke function GetSavedSearchListingIDs
HTTP Request
***GET*** /SavedSearches({SavedSearchKeyNumeric})/Default.GetSavedSearchListingIDs()
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
SavedSearchKeyNumeric | path | key: SavedSearchKeyNumeric of SavedSearch | Yes |
Responses
Code | Description |
---|---|
200 | Success |
/SAVEDSEARCHES({SAVEDSEARCHKEYNUMERIC})/PROSPECTING
GET
Summary: Get Prospecting from SavedSearches
HTTP Request
***GET*** /SavedSearches({SavedSearchKeyNumeric})/Prospecting
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
SavedSearchKeyNumeric | path | key: SavedSearchKeyNumeric of SavedSearch | Yes | |
$select | query | Select properties to be returned | No | |
$expand | query | Expand related entities | No |
Responses
Code | Description |
---|---|
200 | Retrieved navigation property |
/SAVEDSEARCHES({SAVEDSEARCHKEYNUMERIC})/PROSPECTING/$REF
GET
Summary: Get ref of Prospecting from SavedSearches
HTTP Request
***GET*** /SavedSearches({SavedSearchKeyNumeric})/Prospecting/$ref
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
SavedSearchKeyNumeric | path | key: SavedSearchKeyNumeric of SavedSearch | Yes |
Responses
Code | Description |
---|---|
200 | Retrieved navigation property link |
PATCH
Summary: Update the ref of navigation property Prospecting in SavedSearches
HTTP Request
***PATCH*** /SavedSearches({SavedSearchKeyNumeric})/Prospecting/$ref
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
SavedSearchKeyNumeric | path | key: SavedSearchKeyNumeric of SavedSearch | Yes |
Responses
Code | Description |
---|---|
204 | Success |
DELETE
Summary: Delete ref of navigation property Prospecting for SavedSearches
HTTP Request
***DELETE*** /SavedSearches({SavedSearchKeyNumeric})/Prospecting/$ref
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
SavedSearchKeyNumeric | path | key: SavedSearchKeyNumeric of SavedSearch | Yes | |
If-Match | header | ETag | No |
Responses
Code | Description |
---|---|
204 | Success |
/UserRegistry/GetAllowedKeys()
GET
Summary: Get a list of user registry keys that can be modified.
HTTP Request
***GET*** /UserRegistry/GetAllowedKeys()
Responses
Code | Description |
---|---|
200 | OK |
404 | The authenticated user does not have the required permissions to view this endpoint and the endpoint isn't exposed |
Response Example
{
"value":
[
"defMapView",
"BccMe"
]
}
/UserRegistry
GET
Summary: Get user registry key / value pairs. UserName must always be provided.
HTTP Request
***GET*** /UserRegistry?$filter=UserName eq 'JohnSmith'
Responses
Code | Description |
---|---|
200 | OK |
404 | The authenticated user does not have the required permissions to view this endpoint and the endpoint isn't exposed |
Response Example
{
"value": [
{
"UserName": "JohnSmith",
"KeyName": "BccMe",
"Value": "false"
},
{
"UserName": "JohnSmith",
"KeyName": "defMapView",
"Value": "r"
}
]
}
HTTP Request
***GET*** /UserRegistry(Username={UserName},KeyName={KeyName})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
UserName | path | The UserName field of the UserRegistry entity. Entered like 'JohnSmith' with the single quotes. | Yes | String |
KeyName | path | The KeyName field of the UserRegistry entity. Entered like 'defMapView' with the single quotes | Yes | String |
Responses
Code | Description |
---|---|
200 | OK |
404 | The authenticated user does not have the required permissions to view this endpoint and the endpoint isn't exposed |
404 | There is no result found for the UserName and/or KeyName specified |
Response Example
{
"UserName": "JohnSmith",
"KeyName": "defMapView",
"Value": "r"
}
PATCH
Summary: Update the Value of a UserRegistry entity that currently exists.
HTTP Request
***PATCH*** /UserRegistry(Username={UserName},KeyName={KeyName})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
UserName | path | The UserName field of the UserRegistry entity. Entered like 'JohnSmith' with the single quotes. | Yes | String |
KeyName | path | The KeyName field of the UserRegistry entity. Entered like 'defMapView' with the single quotes | Yes | String |
Body
{
"Value":"a"
}
Responses
Code | Description |
---|---|
400 | Entity cannot be created. Likely supplied a KeyName for an entity that currently hasn't been created yet. |
204 | Success |
400 | Cannot change key fields. The UserName, as well as the KeyName field cannot be changed. There may be problem with the request being case-sensitive; check the UserName and KeyName against the existing entity. |
404 | The authenticated user does not have the required permissions to view this endpoint and the endpoint isn't exposed |
HTTP Request
***PATCH*** /UserRegistry({UserName},{KeyName})
Parameters
Name | Located in | Description | Required | Type |
---|---|---|---|---|
UserName | path | The UserName field of the UserRegistry entity. Entered like 'JohnSmith' with the single quotes. | Yes | String |
KeyName | path | The KeyName field of the UserRegistry entity. Entered like 'defMapView' with the single quotes | Yes | String |
Body
{
"Value":"a"
}
Responses
Code | Description |
---|---|
400 | Entity cannot be created. Likely supplied a KeyName for an entity that currently hasn't been created yet or a keyname was supplied that isn't in the allowed list of KeyNames. |
204 | Success |
400 | Cannot change key fields. The UserName, as well as the KeyName field cannot be changed. There may be problem with the request being case-sensitive; check the UserName and KeyName against the existing entity. |
404 | The authenticated user does not have the required permissions to view this endpoint and the endpoint isn't exposed |
POST
Summary: Create a UserRegistry entity that currently does not exist.
HTTP Request
***POST*** /UserRegistry
Body
{
"UserName": "JohnSmith",
"KeyName": "defMapView",
"Value": "r"
}
Responses
Code | Description |
---|---|
400 | Entity already exists. Use the Patch endpoint to update the existing entity. |
400 | You do not have permission to get registry values for that user. The authenticate duser only hase permissions to update their own entities. |
400 | Entity cannot be created. Likely supplied a keyname that isn't in the allowed list of KeyNames. There may be problem with the request being case-sensitive; check the UserName and KeyName against existing entities and the AllowedKeys(). |
201 | Success |
404 | The authenticated user does not have the required permissions to view this endpoint and the endpoint isn't exposed |
Response Example
{
"UserName": "JohnSmith",
"KeyName": "defMapView",
"Value": "r"
}
/DashboardAPI/GetAggregatedData
GET
Summary: Get the specified dashboard information. There are five available data sets that can be specifiec in the body of the request.
HTTP Request
***GET*** /DashboardAPI/GetAggregatedData
Body
[
"MyListings",
"HotSheet",
"MarketWatch",
"Concierge",
"Timeline"
]
Responses
Code | Description |
---|---|
200 | OK |
Response Example
{
"MyListings": [
{
"Name": "My Incomplete Listings",
"Count": 0,
"Link": "https://matrixhost.com/Matrix/MyListings/2"
},
{
"Name": "My Expiring Listings (14 days)",
"Count": 0,
"Link": "https://matrixhost.com/Matrix/MyListings/3"
},
{
"Name": "My Listings with No Photos",
"Count": 0,
"Link": "https://matrixhost.com/Matrix/MyListings/4"
},
{
"Name": "My OnMarket Listings",
"Count": 0,
"Link": "https://matrixhost.com/Matrix/MyListings/5"
},
{
"Name": "My Pending Listings",
"Count": 0,
"Link": "https://matrixhost.com/Matrix/MyListings/6"
},
{
"Name": "My Hit Counters",
"Count": 0,
"Link": "https://matrixhost.com/Matrix/MyListings/9"
},
{
"Name": "My Office Expiring Listings (14 days)",
"Count": 0,
"Link": "https://matrixhost.com/Matrix/MyListings/11"
},
{
"Name": "My Firm Open Houses",
"Count": 0,
"Link": "https://matrixhost.com/Matrix/MyListings/22"
}
],
"HotSheet": {
"HotSheetSpanOptions": [
{
"Id": 0,
"Name": "New Only"
},
{
"Id": 1,
"Name": "This Session"
},
{
"Id": 2,
"Name": "24 Hour"
},
{
"Id": 3,
"Name": "Today"
},
{
"Id": 4,
"Name": "3 Day"
}
],
"HotSheets": [
{
"Name": "Residential",
"DefaultUrl": "https://matrixhost.com/Matrix/HotSheets/73135/4",
"UrlBySpanId": {
"0": "https://matrixhost.com/Matrix/HotSheets/73135/0",
"1": "https://matrixhost.com/Matrix/HotSheets/73135/1",
"2": "https://matrixhost.com/Matrix/HotSheets/73135/2",
"3": "https://matrixhost.com/Matrix/HotSheets/73135/3",
"4": "https://matrixhost.com/Matrix/HotSheets/73135/4"
}
},
{
"Name": "Multi-Family",
"DefaultUrl": "https://matrixhost.com/Matrix/HotSheets/73136/4",
"UrlBySpanId": {
"0": "https://matrixhost.com/Matrix/HotSheets/73136/0",
"1": "https://matrixhost.com/Matrix/HotSheets/73136/1",
"2": "https://matrixhost.com/Matrix/HotSheets/73136/2",
"3": "https://matrixhost.com/Matrix/HotSheets/73136/3",
"4": "https://matrixhost.com/Matrix/HotSheets/73136/4"
}
},
{
"Name": "Farm",
"DefaultUrl": "https://matrixhost.com/Matrix/HotSheets/73137/4",
"UrlBySpanId": {
"0": "https://matrixhost.com/Matrix/HotSheets/73137/0",
"1": "https://matrixhost.com/Matrix/HotSheets/73137/1",
"2": "https://matrixhost.com/Matrix/HotSheets/73137/2",
"3": "https://matrixhost.com/Matrix/HotSheets/73137/3",
"4": "https://matrixhost.com/Matrix/HotSheets/73137/4"
}
},
{
"Name": "Land and Lots",
"DefaultUrl": "https://matrixhost.com/Matrix/HotSheets/73138/4",
"UrlBySpanId": {
"0": "https://matrixhost.com/Matrix/HotSheets/73138/0",
"1": "https://matrixhost.com/Matrix/HotSheets/73138/1",
"2": "https://matrixhost.com/Matrix/HotSheets/73138/2",
"3": "https://matrixhost.com/Matrix/HotSheets/73138/3",
"4": "https://matrixhost.com/Matrix/HotSheets/73138/4"
}
},
{
"Name": "Commercial Sale",
"DefaultUrl": "https://matrixhost.com/Matrix/HotSheets/73139/4",
"UrlBySpanId": {
"0": "https://matrixhost.com/Matrix/HotSheets/73139/0",
"1": "https://matrixhost.com/Matrix/HotSheets/73139/1",
"2": "https://matrixhost.com/Matrix/HotSheets/73139/2",
"3": "https://matrixhost.com/Matrix/HotSheets/73139/3",
"4": "https://matrixhost.com/Matrix/HotSheets/73139/4"
}
},
{
"Name": "Cross Property",
"DefaultUrl": "https://matrixhost.com/Matrix/HotSheets/73142/4",
"UrlBySpanId": {
"0": "https://matrixhost.com/Matrix/HotSheets/73142/0",
"1": "https://matrixhost.com/Matrix/HotSheets/73142/1",
"2": "https://matrixhost.com/Matrix/HotSheets/73142/2",
"3": "https://matrixhost.com/Matrix/HotSheets/73142/3",
"4": "https://matrixhost.com/Matrix/HotSheets/73142/4"
}
}
],
"DefaultSpanId": 4
},
"MarketWatch": {
"SelectedSpanId": 0,
"SelectedHotSheetId": 12,
"ResetCustomCriteriaUrl": "https://matrixhost.com/Matrix/MarketWatch/Reset/12",
"CustomizeCriteriaUrl": "https://matrixhost.com/Matrix/MarketWatch/Customize/12",
"CategoryCounts": [
{
"Category": "New Listing",
"Count": 15,
"Color": "#228B22",
"DetailUrl": "https://matrixhost.com/Matrix/MarketWatch/12/252/0"
},
{
"Category": "Price Decrease",
"Count": 4,
"Color": "#FF6B6B",
"DetailUrl": "https://matrixhost.com/Matrix/MarketWatch/12/255/0"
},
{
"Category": "Price Increase",
"Count": 2,
"Color": "#89FF6B",
"DetailUrl": "https://matrixhost.com/Matrix/MarketWatch/12/254/0"
},
{
"Category": "Under Contract Taking Back Up Offers",
"Count": 0,
"Color": "#80B918",
"DetailUrl": "https://matrixhost.com/Matrix/MarketWatch/12/13914/0"
}
],
"HotSheetOptions": [
{
"Id": 12,
"Name": "Residential"
},
{
"Id": 13,
"Name": "Multi-Family"
},
{
"Id": 14,
"Name": "Farm"
},
{
"Id": 15,
"Name": "Land and Lots"
},
{
"Id": 16,
"Name": "Commercial Sale"
},
{
"Id": 19,
"Name": "Cross Property"
}
],
"MarketWatchSpanOptions": [
{
"Id": 0,
"Name": "24 Hour"
},
{
"Id": 1,
"Name": "Today"
},
{
"Id": 2,
"Name": "3 Day"
},
{
"Id": 3,
"Name": "7 Day"
}
]
},
"Concierge": {
"Contacts": [
{
"ContactName": "Smith, John",
"UnpublishedCount": 10,
"ApprovalUrl": "https://matrixhost.com/Matrix/ConciergeRedirect/399037",
"LastResultTime": "2024-03-13T16:44:39.1"
}
],
"TotalUnpublishedCount": 10
},
"Timeline": {
"NotificationTypes": [
{
"Id": 1,
"Name": "Visit"
},
{
"Id": 2,
"Name": "AddFavorite"
}
],
"TimelineDataCount": 7,
"TimelineData": [
{
"ID": 1681947,
"AgentID": 22077,
"ContactID": 2988201,
"EventDate": "2024-04-16T07:44:46",
"NotificationType": 1,
"EventTitle": "",
"TimelineDetails": "",
"TimelineKey": "",
"HasListingData": false,
"HasContact": true
},
{
"ID": 1723204,
"AgentID": 22077,
"ContactID": 2986287,
"EventDate": "2024-04-16T06:00:19",
"NotificationType": 2,
"EventTitle": "",
"TimelineDetails": "",
"TimelineKey": "18156176",
"HasListingData": true,
"HasContact": true
}
]
}
}