Collapse Drawer
Expand Drawer

Matrix Web API - Static Data Reference

Synchronize contact data with Matrix directly

The Matrix 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 Matrix Web API enables a direct API connection to the Matrix database using ODATA standards, facilitating real-time, bidirectional data synchronization.

Using the Matrix 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 Matrix 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 Matrix Web API uses the OData protocol with OpenID Connect (OIDC) authentication to provide secure data access for a specific MLS member. Applications calling the Matrix 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 Matrix Web API uses Trestle by CoreLogic to manage user accounts, credentials, billing, and licensing. Anyone who wants to access the Matrix 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 Matrix 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 Matrix 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

/GENERATEEDITLINK(RECORDKEY={RECORDKEY},CLASSNAME={CLASSNAME})

GET

Summary: Invoke functionImport GenerateEditLink

HTTP Request

***GET*** /GenerateEditLink(RecordKey={RecordKey},ClassName={ClassName})

Parameters

Name Located in Description Required Type
RecordKey path Yes
ClassName path Yes

Responses

Code Description
200 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

/MATRIXDATACHANGES

GET

Summary: Get entities from MatrixDataChanges

HTTP Request

***GET*** /MatrixDataChanges

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 MatrixDataChanges

HTTP Request

***POST*** /MatrixDataChanges

Responses

Code Description
201 Created entity

/MATRIXDATACHANGES(RESOURCEKEY={RESOURCEKEY},RESOURCETYPE={RESOURCETYPE})

GET

Summary: Get entity from MatrixDataChanges by key

HTTP Request

***GET*** /MatrixDataChanges(ResourceKey={ResourceKey},ResourceType={ResourceType})

Parameters

Name Located in Description Required Type
ResourceKey path key: ResourceKey of MatrixDataChange Yes
ResourceType path key: ResourceType of MatrixDataChange 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 MatrixDataChanges

HTTP Request

***PATCH*** /MatrixDataChanges(ResourceKey={ResourceKey},ResourceType={ResourceType})

Parameters

Name Located in Description Required Type
ResourceKey path key: ResourceKey of MatrixDataChange Yes
ResourceType path key: ResourceType of MatrixDataChange Yes

Responses

Code Description
204 Success

DELETE

Summary: Delete entity from MatrixDataChanges

HTTP Request

***DELETE*** /MatrixDataChanges(ResourceKey={ResourceKey},ResourceType={ResourceType})

Parameters

Name Located in Description Required Type
ResourceKey path key: ResourceKey of MatrixDataChange Yes
ResourceType path key: ResourceType of MatrixDataChange 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