Developer Documentation
Platform Overview
Authentication
API Services
Overview Accounts Accounts: Associations Accounts: Metadata Accounts: Profile Appstore: Users Broker Distributions Broker Tours Consumers Consumers: Linked Agents Contacts Contacts: Activity Contacts: Export Contacts: Tags Contacts: Portal Accounts Developers: Identities Developers: Keys Developers: Authorizations Developers: Billing Summary Developers: Change History Developers: Domains Developers: News Feed Webhooks Developers: Roles Developers: Syndications Developers: Templates Developers: Usage Detail Developers: Usage Summary Devices Flexmls: Email Links Flexmls: Listing Meta Origins Flexmls: Listing Meta Translations Flexmls: Listing Meta Field List Translations Flexmls: Listing Reports Flexmls: Mapping Layers Flexmls: Mapping Shapegen IDX IDX Links Listing Carts Listing Carts: Portal/VOW Carts Incomplete Listings Incomplete Listings: Documents Incomplete Listings: Documents Metadata Incomplete Listings: Document Uploads Incomplete Listings: Floor Plans Incomplete Listings: FloPlans Incomplete Listings: Photos Incomplete Listings: Photos Metadata Incomplete Listings: Photo Uploads Incomplete Listings: Rooms Incomplete Listings: Tickets Incomplete Listings: Units Incomplete Listings: Videos Incomplete Listings: Videos Metadata Incomplete Listings: Virtual Tours Incomplete Listings: Virtual Tours Metadata Listings Listings: Clusters Listings: Documents Listings: Documents Metadata Listings: Floor Plans Listings: FloPlans Listings: Historical Listings: History Listings: Notes Listings: Search Parameters Listings: Open Houses Listings: Photos Listings: Photos Metadata Listings: Photo Uploads Listings: Document Uploads Listings: Rental Calendar Listings: Rooms Listings: Rules Listings: Tour of Homes Listings: Tickets Listings: Units Listings: Validation Listings: Videos Listings: Videos Metadata Listings: Virtual Tours Listings: Virtual Tours Metadata Listing Meta: Custom Fields Listing Meta: Custom Field Groups Listing Meta: Field Order Listing Meta: Field Relations Listing Meta: Property Types Listing Meta: Rooms Listing Meta: Standard Fields Listing Meta: Units Registered Listings Market Statistics News Feed News Feed: Curation News Feed: Events News Feed: Metadata News Feed: Restrictions News Feed: Schedule News Feed: Settings News Feed: Templates Open Houses Overlays Overlays: Shapes Portals Preferences Saved Searches Saved Searches: Provided Saved Searches: Restrictions Saved Searches: Tags Search Templates: Quick Searches Search Templates: Views Search Templates: Sorts Shared Links System Info System Info: Languages System Info: Search Templates
Supporting Documentation
Examples
RESO Web API
RETS
FloPlan
Terms of Use

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.

  1. IDX
  2. Public
  3. Portal and VOW Roles
  4. Private
  5. Privileged Resources
 

IDX

Primary end user: Anonymous consumers
OAuth authorization granted by: Agent, Broker, etc.

Geared primarily toward website development, this role provides tools for lead generation as well as a restricted view of listings as by MLS-specific IDX rules. 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.

 

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.

 

Private

Primary end user: Agents, Brokers, etc.
OAuth authorization granted by: Agent, Broker, etc.

This role is intended for applications that allow agents to access and manage their own data.

 

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.