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: Required Documents 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: Hot Sheet Parameters Listings: Notes Listings: Search Parameters Listings: Open Houses Listings: Photos Listings: Photos Metadata Listings: Photo Uploads Listings: Document Uploads Listings: Rental Calendar Listings: Required Documents 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: Groups News Feed: Metadata News Feed: Restrictions News Feed: Schedule News Feed: Settings News Feed: Templates Notifications Open Houses Overlays Overlays: Shapes Portals Portals: Listing Categories Portals: Metadata 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

Error Codes

Spark® API Error Code HTTP Status Code Description
404 404 Not found
405 405 Method not allowed
1000 401 Invalid API key and/or request signed improperly
1005 500 Your API key has not been properly set up. Please contact API support.
1010 401 API key is disabled
1013 403 The auth mechanism used for this request is not permitted for the provided key
1015 403 ApiUser must be supplied, or the provided key does not have access to the supplied user
1017 405 You are restricted to read-only access. POST, PUT, and DELETE requests are forbidden.
1018 405 You are forbidden from accessing this resource with the method attempted
1019 403 This key is restricted to specific IP addresses and/or User-Agent values
1020 401 Session token has expired
1021 403 This key is restricted from accessing this endpoint. Please use replication.sparkapi.com
1023 503 The user's account is not yet available in Spark.
1024 503 The requested data is not yet in sync with its source system.
1026 500 An unexpected problem was encountered with the requested data.
1030 403 SSL required for this type of request
1035 400 POST data not supplied as valid JSON. Issued if the "Content-Type" header is not "application/json" and/or if the POST data is not in valid JSON format
1040 400 The _filter syntax was invalid or a specified field to search on does not exist. Response will include the SparkQLErrors attribute.
1041 400 (Message varies) The _filter syntax is valid but exceeds restrictions on filter or argument length Response will include the SparkQLErrors attribute.
1050 400 (Message varies) A required parameter for the request was not provided
1053 400 (Message varies) A parameter was provided but does not adhere to constraints
1055 409 (Message varies) Issued when a write is requested that will conflict with existing data. For instance, adding a new contact with an e-mail that already exists
1060 400 (Message varies) A Validation field did not match existing data
1061 400 (Message varies) Attempt to reuse previous data when prohibited
1100 403 This resource cannot be accessed until a Portal account is created for the specified contact
1110 409 A portal already exists for this contact
1500 403 The resource is not available at the current API key's service level. For example, this error applies if a user attempts to access the IDX Links API via a non-IDX API key.
1505 403 (Message varies) This resource, or a component of this resource, is disabled for the current user's MLS. This is usually temporary, such as during a gradual rollout of a feature.
1510 503 The API is temporarily unavailable.
1515 503 Your request took too long to process and has therefore been cancelled.
1516 503 Your request took too long to process and was cancelled due to the _filter or _orderby parameter you provided.
1550 429 Over rate limit
2000 400 Codes 2000-2999 are reserved for value-specific errors in the _filter parameter. These are not syntax errors, but instead errors specific to the valid field present in the parameter. Responses will include the SparkQLErrors attribute.
2001 400 The SavedSearch specified does not exist or is not available to the current user.
2002 400 The EmailLink specified does not exist or is not available to the current user.
2003 400 The SharedListings id specified does not exist or does not contain listings.
2005 503 The provided _filter references data that has not yet been migrated to Spark.
2500 400 The search you are attempting to subscribe to does not meet the search criteria restrictions.
2505 409 The current user is already subscribed to this saved search.
3000 400 The RESO data dictionary version you requested is not supported.