Roles
Roles govern the operations that can be performed on the API and what data is returned. There are two basic roles that may be assigned to an API key: public and IDX. API keys with an IDX role will operate under a portal role when a consumer logs in via OAuth.
IDX
Primary end user: Anonymous consumers
OAuth authorization granted by: Agent, Broker, etc.
Geared primarily toward website development, this role is for those needing IDX listings and would follow the MLSs IDX policies and license terms for public facing websites and applications. The IDX role also allows sessions to be created under the VOW role to accommodate consumers who wish to interact with the agent, create carts, and so forth.
VOW
Primary end user: Anonymous consumers
OAuth authorization granted by: Agent, Broker, etc.
This role is primarily focused on website development that requires user logins. It is designed for individuals who need VOW listings and will involve a combination of IDX and private data in compliance with the MLS's VOW policies and licensing terms. Websites utilizing a VOW feed typically display the same information to the public as those using an IDX feed. However, the VOW feed provides additional data that can be accessed by visitors who register on the website and submit their email addresses.
Private
Primary end user: Agents, Brokers, etc.
OAuth authorization granted by: Agent, Broker, etc.
This role is for those authorized to access all fields within the MLS, including private and confidential fields, as accessible to an MLS member, primarily for the purpose of supporting back-office products.
A Broker or Agent's Own Data
Primary end user: Agents, Brokers, etc.
OAuth authorization granted by: Agent, Broker, etc.
This role limits API access to listings or data exclusively from a specific agent, broker or office registered to the data feed. This includes their own listings, contacts, searches, and related information. It is important to note that access does not extend to listings from other brokers or agents and is generally intended for back-office products.
Public
Primary end user: Known or limited audience, but anonymous end users.
OAuth authorization granted by: Agent, Broker, etc.
The Public role is geared towards displaying data to a known audience before they officially identify themselves (e.g. "log in") to the application. The most common use case is to populate the contents of an e-mail, such as when e-mailing a listing report to a consumer.
This is distinct from the IDX role in that a specific end user should be guided to an interface displaying data in a Public role, or data should be pushed to a known user or users. This is also distinct from the VOW role in that the user or users viewing data retrieved in a Public role would not have logged in and typically have a more limited view of data and little to no ability to modify data.
Importantly, the public role cannot be used for building web sites. For this use case, we will provide you with an IDX key.
Portal and VOW Roles
Primary end user: Consumers with a VOW account
OAuth authorization granted by: Consumer
VOW Data Attributes
Because there is so much overlap between the VOW and Portal roles, VOW attributes
(such as VowEnabled
in the contacts
resource) also apply to the Portal role. In the rare event this is not the case,
another attribute will exist clearly providing a distinct "portal" setting. Additionally,
since the same consumer account is used for both VOW and Portal roles, these terms may be
used interchangably in that context.
Created with an IDX key, this role is special in that it is session specific. These roles allows consumers to run searches shared with them by the agent, view their saved searches, and save listings to carts.
These roles require an OAuth 2 key.
While the primary end users are the same, the portal role differs from the VOW role in that portal roles are granted to applications that are part of the core flexmls ecosystem. VOW roles, on the other hand, are built by third party developers.
Privileged Resources
Access to some resources, or performing select actions on some resources, require special privileges be granted to your key. Contact api-support@sparkplatform.com for more details about these services.