Sierra Interactive - API Documentation

This document is designed for those interested in exploring Sierra Interactive APIs in detail. Please refer to samples for more details on making API requests via javascript.

General notes

  • All requests must use SSL
  • Each request must send the API key in Sierra-ApiKey header
  • Each request may send Originating System Name in the Sierra-OriginatingSystemName header. Its value should not be longer than 50 characters. Useful when working with WebHooks
  • Example:
    Content-Type:application/json
    Sierra-ApiKey:51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
    Sierra-OriginatingSystemName:ArbitraryName
  • All requests and responses have UTF-8 encoding
  • All requests and responses have "application/json" as Content-Type
  • All responses have JSON body. Successful responses have HTTP statuses 200-299 and field "success" set to true. Example
    HTTP/1.1 200 OK
    {
      "success": true,
      "data": {
        "key": "value",
      }
    }

Error responses

Failed responses will have HTTP statuses 300-999 and JSON object providing details about error in the field "errorMessage". Example
HTTP/1.1 400 Invalid email address format
Content-Type: application/json; charset=utf-8
{
  "success": false,
  "errorMessage": "Invalid email address format"
}

Add New Lead

/leads
DESCRIPTION
Registers a new lead (user) in Sierra Interactive system using this public endpoint.
URL STRUCTURE
https://api.sierrainteractivedev.com/leads
METHOD
POST
PARAMETERS
firstNamestring optional Lead's first name.
lastName string optional Lead's last name.
password string required Lead's preferred password for their account.
leadStatus string optional Lead's status. Possible values: New, Qualify, Active, Prime, Pending, Closed, Archived, Junk, DoNotContact, Watch, Blocked
email string required (valid email format) Lead's email address.
emailStatus string optional Lead's email address status. Possible values: Unknown, WrongAddress, ReportedAsSpam, TwoWayEmailing, ValidAddress, OptedOut
phone string optionalLead's phone number.
phoneStatus string optional Lead's phone number status. Possible values: Unknown, TalkingToProspect, ValidNumber, DoNotCall, WrongNumber
birthDate string optional Lead's birth date (in ISO calendar date extended format).
referralFee boolean optional (Ignore if not applicable) Specifies whether agent owes referral fee to account owner for lead.
sendRegistrationEmail boolean optional Specifies whether welcome notification email will be sent to the newly added lead.
sourceType string optional Lead's source. Possible values
  • AgentSite
  • AgentProfile
  • AgentListing
  • WorkingWithAgent
  • IDX
  • QueryString
  • Manual
  • SierraApi (Default)
note string optional Descriptive note about lead which will be added as Note to lead's history.
siteId number optional For accounts with multiple sites, the ID of the site to which the lead should be assigned. (Will be assigned to primary site when empty)
leadType number optional A numerical value denoting the lead's Type. 1 -> Buyer, 2 -> Seller, 3 -> Both. If lead type is not specified, its type will be set to Buyer.
source string optional Lead's source.
streetAddress string optional Lead's street address.
city string optional Lead's city.
state string optional Lead's state / province from US or Canada (AB, AK, AL, AR, AZ, ..., YT) in form of abbreviation. Full list:
  • AB - Alberta
  • AK - Alaska
  • AL - Alabama
  • AR - Arkansas
  • AZ - Arizona
  • BC - British Columbia
  • CA - California
  • CO - Colorado
  • CT - Connecticut
  • DC - Dist. of Columbia
  • DE - Delaware
  • FL - Florida
  • GA - Georgia
  • HI - Hawaii
  • IA - Iowa
  • ID - Idaho
  • IL - Illinois
  • IN - Indiana
  • KS - Kansas
  • KY - Kentucky
  • LA - Louisiana
  • MA - Massachusetts
  • MB - Manitoba
  • MD - Maryland
  • ME - Maine
  • MI - Michigan
  • MN - Minnesota
  • MO - Missouri
  • MS - Mississippi
  • MT - Montana
  • NB - New Brunswick
  • NC - North Carolina
  • ND - North Dakota
  • NE - Nebraska
  • NL - New Foundland
  • NH - New Hampshire
  • NJ - New Jersey
  • NM - New Mexico
  • NS - Nova Scotia
  • NT - Northwest Territories
  • NV - Nevada
  • NY - New York
  • OH - Ohio
  • OK - Oklahoma
  • ON - Ontario
  • OR - Oregon
  • PA - Pennsylvania
  • PE - Prince Edward Island
  • PQ - Quebec
  • PR - Puerto Rico
  • RI - Rhode Island
  • SC - South Carolina
  • SD - South Dakota
  • SK - Saskatchewan
  • TN - Tennessee
  • TX - Texas
  • UT - Utah
  • VA - Virginia
  • VT - Vermont
  • WA - Washington
  • WI - Wisconsin
  • WV - West Virginia
  • WY - Wyoming
  • YT - Yukon Territory
zip string optional Lead's zip / postal code.
shortSummary string optional Lead's short summary.
tags array optional One or more Tags to assign to the lead.
partnerLink string optional URL to identify the lead in the partner's system.
assignTo object optional Provides an option to assign the lead being added to a specific agent. If this parameter is omitted or no matching agents are found, the lead will go into distribution. And based on the distribution system settings, the lead will be assigned to the first matching agent.
assignTo object allows one or more fields to identify an agent to whom the lead should be assigned. The leadType parameter is used in assigning lead to the Buyer's agent and / or Listing agent. You can pass one or more parameters into this object:
agentSiteId number optional Unique Agent-Site identifier in the Sierra Interactive system. The system will first search for agent matching the specified agentSiteId value. If matching agent-site is found, the lead will be assigned to the corresponding agent associated with the agent-site.
agentUserId number optional Unique Agent identifier in the Sierra Interactive system. If the agentSiteId parameter is not specified or doesn't have matching agent-site in the system, the system will search for agent matching the specified agentUserId value. If matching agent is found, the lead will be assigned to that agent.
agentUserEmail string optional Email of the agent as stored in the Sierra Interactive system. If the agentSiteId and agentUserId parameters are not specified or no matching agents are found, the system will search for agent matching the specified agentUserEmail value. If matching agent is found, the lead will be assigned to that agent.
session object allows to pass a lead's actions and preferences the same time the lead is created. Usually these assets are managed by separate endpoint calls, but creating them together with the lead guarantees the site's distribution system and other system flows won't start work without it. The items in the session's arrays by the most have the same structures as the corresponding endpoints operate on, except they ignore lead specifying. For the items with some different fields it is pointed in the tables below with session.* headers:
session.listingRequests object in the form of an array with object items.
a JSON object containing fields, described in /listings/requestInfo and /listings/scheduleShowing endpoints.
requestType string required Possible values: MoreInfo (/listings/requestInfo), ScheduleShowing (/listings/scheduleShowing).
preferredAppointmentDay string optional Only takes effect when requestType is ScheduleShowing.
preferredAppointmentTime string optional Only takes effect when requestType is ScheduleShowing.
homeAnniversaryDate string optional Lead Home Anniversary (in ISO calendar date extended format).
session.propertyViews object in the form of an array with object items.
a JSON object containing fields, described in /listings/propertyView endpoint.
session.savedListings object in the form of an array with object items.
a JSON object containing fields, described in /savedListings endpoint.
session.hiddenListings object in the form of an array with object items.
a JSON object containing fields, described in /hiddenListings endpoint.
session.savedSearches object in the form of an array with object items.
a JSON object containing fields, described in /savedsearches endpoint.
SAMPLE REQUEST BODY
{
  "firstName": "John",
  "lastName": "Doe",
  "email": "johndoe@server.com",
  "password": "123456",
  "emailStatus": "TwoWayEmailing",
  "phone": "(123) 456-7890",
  "phoneStatus": "TalkingToProspect",
  "birthDate": "2000-01-21",
  "referralFee": true,
  "sendRegistrationEmail": true,
  "note": "Some note",
  "leadType": 1,
  "source": "Lead source",
  "shortSummary": "Just looking",
  "tags": [ "Tag_1", "Tag_2"],
  "partnerLink": "https://partern-site.com/lead-page/123",
  "assignTo": {
    "agentSiteId": 123456,
    "agentUserId": 234567,
    "agentUserEmail": "agent@site.com"
  }
}
RETURNS
"success" field. Its value will be "true" if the lead is added successfully; otherwise "false". On success, an additional object, "data" containing lead-assignment details will be returned.
fields of "data" object
leadId number Sierra Interactive system's unique identifier for the newly added lead. This value can be saved for future purpose.
agentUserId number Sierra Interactive system's unique identifier of the agent to whom the newly added lead is assigned. If lead wasn't assigned, -1 is returned. (In such cases the lead will be assigned based on the site's distribution system settings).
agentUserEmail string Email of the agent to whom the lead is assigned; otherwise empty string if lead was not assigned to an agent.
agentSiteId number Sierra Interactive system's unique id of the agent's site. -1 if the lead was not assigned, or agent doesn't have associated agent site.
agentUserPhone string Phone of the agent to whom the lead is assigned; otherwise empty string if lead was not assigned to an agent.
agentUserFirstName string First name of the agent to whom the lead is assigned; otherwise empty string if lead was not assigned to an agent.
agentUserLastName string Last name of the agent to whom the lead is assigned; otherwise empty string if lead was not assigned to an agent.
updateDate string The date the lead has been updated for current method call (in ISO combined date and time extended format with Z designator).
SAMPLE RETURN
{
  "success": true,
  "data": {
    "leadId": 345678,
    "agentUserId": 234567,
    "agentUserEmail": "agent@site.com",
    "agentSiteId": 123456,
    "agentUserPhone": "(123) 456-7890",
    "agentUserFirstName": "AgentFirstName",
    "agentUserLastName": "AgentLastName",
    "updateDate": "2020-05-21T00:00:00.123Z"
  }
}

Update Existing Lead

/leads/{leadIdOrEmail}
DESCRIPTION
Updates an existing lead in Sierra Interactive system.
URL STRUCTURE
https://api.sierrainteractivedev.com/leads/{leadIdOrEmail}
METHOD
PUT
PARAMETERS
Note: When updating a lead, if one or more optional parameters are not specified, their values will not be updated. If however empty value is passed for optional parameter, its value will be changed to blank (provided the parameter can have blank values)
{leadIdOrEmail} string required url component Lead's Sierra Interactive unique identifier or email address. Note: if email address is specified, it may need to be URL-encoded. Reference: The encodeURIComponent javascript can be used for encoding email address if the API method is called from a javascript function.
firstNamestring optional Lead's first name.
lastName string optional Lead's last name.
password string optional Lead's password.
leadStatus string optional Lead's status. Possible values: New, Qualify, Active, Prime, Pending, Closed, Archived, Junk, DoNotContact, Watch, Blocked
email string optional (valid email format) Lead's email address.
emailStatus string optional Lead's email address status. Possible values: Unknown, WrongAddress, ReportedAsSpam, TwoWayEmailing, ValidAddress, OptedOut
phone string optionalLead's phone number.
phoneStatus string optional Lead's phone-number status. Possible values: Unknown, TalkingToProspect, ValidNumber, DoNotCall, WrongNumber
birthDate string optional Lead's birth date (in ISO calendar date extended format).
referralFee boolean optional (Ignore if not applicable) Specifies whether agent owes referral fee to account owner for lead.
sourceType string optional Lead's source. Possible values
  • AgentSite
  • AgentProfile
  • AgentListing
  • WorkingWithAgent
  • IDX
  • QueryString
  • Manual
  • SierraApi
note string optional Descriptive note about lead which will be added as Note to lead's history.
leadType int optional A numerical value denoting the lead's Type. 1 -> Buyer, 2 -> Seller, 3 -> Both. If lead type is not specified, its type will be set to Buyer.
source string optional Lead's source.
streetAddress string optional Lead's street address.
city string optional Lead's city.
state string optional Lead's state / province from US or Canada (AB, AK, AL, AR, AZ, ..., YT) in form of abbreviation. Full list:
  • AB - Alberta
  • AK - Alaska
  • AL - Alabama
  • AR - Arkansas
  • AZ - Arizona
  • BC - British Columbia
  • CA - California
  • CO - Colorado
  • CT - Connecticut
  • DC - Dist. of Columbia
  • DE - Delaware
  • FL - Florida
  • GA - Georgia
  • HI - Hawaii
  • IA - Iowa
  • ID - Idaho
  • IL - Illinois
  • IN - Indiana
  • KS - Kansas
  • KY - Kentucky
  • LA - Louisiana
  • MA - Massachusetts
  • MB - Manitoba
  • MD - Maryland
  • ME - Maine
  • MI - Michigan
  • MN - Minnesota
  • MO - Missouri
  • MS - Mississippi
  • MT - Montana
  • NB - New Brunswick
  • NC - North Carolina
  • ND - North Dakota
  • NE - Nebraska
  • NL - New Foundland
  • NH - New Hampshire
  • NJ - New Jersey
  • NM - New Mexico
  • NS - Nova Scotia
  • NT - Northwest Territories
  • NV - Nevada
  • NY - New York
  • OH - Ohio
  • OK - Oklahoma
  • ON - Ontario
  • OR - Oregon
  • PA - Pennsylvania
  • PE - Prince Edward Island
  • PQ - Quebec
  • PR - Puerto Rico
  • RI - Rhode Island
  • SC - South Carolina
  • SD - South Dakota
  • SK - Saskatchewan
  • TN - Tennessee
  • TX - Texas
  • UT - Utah
  • VA - Virginia
  • VT - Vermont
  • WA - Washington
  • WI - Wisconsin
  • WV - West Virginia
  • WY - Wyoming
  • YT - Yukon Territory
zip string optional Lead's zip / postal code.
shortSummary string optional Lead's short summary.
tags array optional One or more Tags to assign to the lead.
removeTags array optional One or more Tags to remove their from the lead.
partnerLink string optional URL to identify the lead in the partner's system.
assignTo object optional Assign lead to an agent. For more details, please refer to the assignTo object in the Add Lead method reference.
homeAnniversaryDate string optional Lead Home Anniversary (in ISO calendar date extended format).
SAMPLE REQUEST
PUT https://api.sierrainteractivedev.com/leads/345678 HTTP/1.1
Content-Type: application/json
{
  "firstName": "John",
  "lastName": "Doe",
  "email": "johndoe@server.com",
  "emailStatus": "TwoWayEmailing",
  "phone": "(123) 456-7890",
  "phoneStatus": "TalkingToProspect",
  "birthDate": "2000-01-21",
  "referralFee": true,
  "password": "123",
  "note": "Some note",
  "source": "Lead source",
  "shortSummary": "Just looking",
  "tags": [ "Tag_1", "Tag_2"],
  "removeTags": [ "Tag_3", "Tag_4"],
  "partnerLink": "https://partern-site.com/lead-page/123"
}
RETURNS
a JSON object indicating the Update request status and lead assignment details. Please refer to the Returns section in Add Lead method.

Retrieve Lead Details

/leads/get/{leadIdOrEmail}?{includeSavedSearches=true}&{includeTags=true}&{includeActionPlans=true}
DESCRIPTION
Retrieves details of the specified lead
URL STRUCTURE
https://api.sierrainteractivedev.com/leads/get/{leadIdOrEmail}?{includeSavedSearches=true}&{includeTags=true}&{includeActionPlans=true}
METHOD
GET
PARAMETERS
{leadIdOrEmail} string required url component Lead's Sierra Interactive unique identifier or email address or phone number.
{includeSavedSearches} boolean optional When set to true, the response will include the existing saved searches associated with the lead.
{includeTags} boolean optional When set to true, the response will include the tags associated with the lead.
{includeActionPlans} boolean optional When set to true, the response will include not completed (currently in progress or paused) action plans associated with the lead.
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/leads/get/345678 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/leads/get/johndoe%40server.com HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/leads/get/+12345678901 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
a JSON object containing request status in "success" field. And lead details in "data" object if a record matching the id / email is found.
idnumber Lead's unique identifier.
firstNamestring Lead's first name.
lastName string Lead's last name.
passwordSalt string Password "salt" for validating lead's password. Please see md5PasswordHash field description below.
md5PasswordHash string MD5 hash of password - Calculated by concatenating lead's password and passwordSalt values. This value should be used in validating the password provided by the lead for authentication. To valid, please append the password salt value to the password provided by the lead (e.g. Password + Salt), calculate MD5 hash of the resultant string and compare it with this field's value. Please refer to Get Lead & Validate Password.
leadStatus string Lead's status. Possible values: New, Qualify, Active, Prime, Pending, Closed, Archived, Junk, DoNotContact, Watch, Blocked
email string Lead's email address.
emailStatus string Lead's email address status. Possible values: Unknown, WrongAddress, ReportedAsSpam, TwoWayEmailing, ValidAddress, OptedOut
phone string Lead's phone number.
phoneStatus string Lead's phone number status. Possible values: Unknown, TalkingToProspect, ValidNumber, DoNotCall, WrongNumber
birthDate string Lead's birth date (in ISO calendar date extended format).
referralFee boolean Specifies whether agent owes referral fee to account owner for lead.
assignedTo object Specifies the details of the agent to whom the lead is assigned. Please refer to the agent fields in Add Lead response
searchPreference object Object (defined below) providing details on the lead's property search preferences.
savedSearchesModel object Object (defined below) providing details on the lead's saved searches. It is included/populated when the includeSavedSearches parameter is set to true.
activeActionPlans array Array of not completed (currently in progress or paused) action plans, associated with lead. It is included/populated when the includeActionPlans parameter is set to true.
creationDate string The date the lead was created (in ISO combined date and time extended format / UTC timezone is assumed without a time zone designator).
updateDate string The date the lead has been updated for last time (in ISO combined date and time extended format with Z designator).
source string Lead's source. E.g. Google, Bing, Facebook, Homes.com, Zillow.com etc...
marketingEmailOptOut boolean Specifies whether the lead has opted out from receiving marketing emails.
textOptOut boolean Specifies whether the lead has opted out from receiving text messages.
ealertOptOut boolean Specifies whether the lead has opted out from receiving e-alert notifications.
streetAddress string Lead's street address.
city string Lead's city.
state string Lead's state / province from US or Canada (AB, AK, AL, AR, AZ, ..., YT) in form of abbreviation. Full list:
  • AB - Alberta
  • AK - Alaska
  • AL - Alabama
  • AR - Arkansas
  • AZ - Arizona
  • BC - British Columbia
  • CA - California
  • CO - Colorado
  • CT - Connecticut
  • DC - Dist. of Columbia
  • DE - Delaware
  • FL - Florida
  • GA - Georgia
  • HI - Hawaii
  • IA - Iowa
  • ID - Idaho
  • IL - Illinois
  • IN - Indiana
  • KS - Kansas
  • KY - Kentucky
  • LA - Louisiana
  • MA - Massachusetts
  • MB - Manitoba
  • MD - Maryland
  • ME - Maine
  • MI - Michigan
  • MN - Minnesota
  • MO - Missouri
  • MS - Mississippi
  • MT - Montana
  • NB - New Brunswick
  • NC - North Carolina
  • ND - North Dakota
  • NE - Nebraska
  • NL - New Foundland
  • NH - New Hampshire
  • NJ - New Jersey
  • NM - New Mexico
  • NS - Nova Scotia
  • NT - Northwest Territories
  • NV - Nevada
  • NY - New York
  • OH - Ohio
  • OK - Oklahoma
  • ON - Ontario
  • OR - Oregon
  • PA - Pennsylvania
  • PE - Prince Edward Island
  • PQ - Quebec
  • PR - Puerto Rico
  • RI - Rhode Island
  • SC - South Carolina
  • SD - South Dakota
  • SK - Saskatchewan
  • TN - Tennessee
  • TX - Texas
  • UT - Utah
  • VA - Virginia
  • VT - Vermont
  • WA - Washington
  • WI - Wisconsin
  • WV - West Virginia
  • WY - Wyoming
  • YT - Yukon Territory
zip string Lead's zip / postal code.
shortSummary string Lead's short summary.
tags array Array of tags assigned to the lead. It is included/populated when the includeTags parameter is set to true.
partnerLink string URL to identify the lead in the partner's system.
pondId number Pond id to which this lead belongs to.
pondStatus string Status of the lead pond. Possible values: Unclaimed, Working, Pending Approval and Timeout.
visits number Number of visits.
searchPreference object allows one or more fields with information about preferences listings.
city string Preferred city.
state string Preferred state.
subdivision string Preferred subdivision.
zip string Preferred zip.
minPrice decimal Preferred min price.
maxPrice decimal Preferred max price.
firstPropertyViewed string Contains the full address of the first property the lead viewed after registering.
savedSearchesModel object.
totalRecords number Total number of saved-searches associated with the lead.
savedSearches array Array of saved-searches objects. Each saved-search record includes the same fields as specified in the Retrieve Saved Search Details method.
activeActionPlans object with keys each representing a lead's action plan assignment unique id.
a JSON object containing state of the lead's action plan assignment identified by the key.
planId number Source action plan identifier. The plan details can be retrieved in the Retrieve Action Plan Details method.
state string Current state of the action plan assignment. Possible values: InProgress, PausedOnResponse, PausedManually
startDate string The date the action plan has been assigned on the lead (in ISO combined date and time extended format with Z designator).
pauseDate string The date the action plan has been paused on the lead (in ISO combined date and time extended format with Z designator).
SAMPLE RETURN
{
  "success": true,
  "data": {
    "id": 345678,
    "firstName": "John",
    "lastName": "Doe",
    "passwordSalt": "BDB77A",
    "md5PasswordHash": "6840BB0C3BAC8AC364F4ADB61A45DE71",
    "leadStatus": "Active",
    "email": "johndoe@server.com",
    "emailStatus": "TwoWayEmailing",
    "phone": "(123) 456-7890",
    "phoneStatus": "Unknown",
    "birthDate": "2000-01-21",
    "referralFee": true,
    "creationDate": "2020-01-21T00:00:00",
    "updateDate": "2020-05-21T00:00:00.123Z",
    "source": "Lead source",
    "marketingEmailOptOut": true,
    "textOptOut": true,
    "ealertOptOut": true,
    "streetAddress": "N Grant St",
    "city": "Brownsburg",
    "state": "IN",
    "zip": "46112",
    "shortSummary": "Just looking",
    "tags": [ "Tag_1", "Tag_2"],
    "partnerLink": "https://partern-site.com/lead-page/123",
    "pondId": 14,
    "pondStatus": "Working",
    "visits": 3,
    "assignedTo" : {
      "agentSiteId": 123456,
      "agentUserId": 234567,
      "agentUserEmail": "agent@site.com",
      "agentUserPhone": "(123) 456-7890",
      "agentUserFirstName": "AgentFirstName",
      "agentUserLastName": "AgentLastName"
    },
    "searchPreference": {
      "city": "Brownsburg IN, New Albany IN, Louisville KY",
      "subdivision": "Indian Hills, The Oaks At Windridge",
      "state": "IN, KY",
      "zip": "46112,46037",
      "minPrice": 1200000,
      "maxPrice": 1500000,
      "firstPropertyViewed": "2287 Glebe Street, Carmel, IN 46032"
    },
    "savedSearchesModel": {
        "totalRecords": 1,
        "savedSearches": [
            {
              //search details [Please check the Retrieve Saved Search Details method's response']
            }
        ]
    },
    "activeActionPlans": {
      "123456": {
        "planId": 123,
        "state": "PausedManually",
        "startDate": "2000-01-21T00:00:00.123Z",
        "pauseDate": "2000-01-22T00:00:00.123Z"
      },
      "123457": {
        "planId": 1234,
        "state": "InProgress",
        "startDate": "2000-01-21T00:00:00.123Z"
      }
    }
  }
}

Find Leads

/leads/find?{searchParameters}
DESCRIPTION
Find leads matching the specified search criteria
URL STRUCTURE
https://api.sierrainteractivedev.com/leads/find?{searchParameters}
METHOD
GET
PARAMETERS
name string optional Search leads by name. Accepts first name and / or last name. Examples: "John", "Doe", "John Doe"
email string optional Search leads by email address. Accepts full or partial email address. Examples: "johndoe@server.com" "johndoe", "server.com"
phone string optional Search leads by phone number. Examples: "+12345678901", "(123) 456-1234"
leadStatus string optional Search leads by status.

Possible values: New, Qualify, Active, Prime, Pending, Closed, Archived, Junk, DoNotContact, Watch, Blocked, AllActive, AllExceptDeleted.

AllActive currently includes: New, Qualify, Active, Prime, Pending.

AllExceptDeleted currently includes: AllActive, Closed, Archived, Junk, DoNotContact, Watch.

By default leads will be filtered with AllActive option.
agentId number optional Search leads by the agent to whom they are assigned. Specify agent's Sierra Interactive unique identifier.
agentEmail string optional Search leads by the agent to whom they are assigned. Specify agent's email address
includeSavedSearches boolean optional When set to true, the response will include the existing saved searches associated with the lead.
includeTags boolean optional When set to true, the response will include the tags associated with the lead.
includeActionPlans boolean optional When set to true, the response will include not completed (currently in progress or paused) action plans associated with the lead.
tags array optional Search leads by the specified tags. When multiple tags are specified, it will match leads that are applied all specified tags.
anyOfTags array optional Search leads by any of the specified tags. Can be combined with "tags".
leadSource string optional Search leads by source. E.g. Google, Bing, Facebook, Homes.com, Zillow.com etc...
anyOfLeadSources array optional Search leads by any of the specified sources. Ignored if combined with "leadSource".
leadCreationDateFrom date optional Search leads by their registration date (in mm/dd/yyyy format). When specified, it will search the leads which were created since the specified date.
leadUpdateDateFrom dateTime optional Search leads whose updateDate is greater or equal to specified date and time (in ISO calendar date or combined date and time (with timezone designator) extended formats).
sortColumn string optional Name of the field to sort results by. Possible values: LeadName, LeadStatus, RegisteredDate, LastLogin, NumberOfVisits, NumberOfPropertyViews, AveragePrice, AgentName. By default leads will be sorted by their RegisteredDate values.
sortOrder string optional Sorting direction. Possible values: "asc", "desc". By default leads will be sorted in the Ascending order.
pageSize number optional Number of leads to include in the response. Comes into effect if the matching leads are more than the specified pageSize value. Possible values are 1-100. If omitted then maximum 100 leads are returned.
pageNumber number optional Specify the page number. If omitted, first page is returned. Comes into effect if the number of matching leads is greater than the specified pageSize value
noteUpdateDateFrom dateTime optional Search leads who have notes whose updatedDate is greater or equal to the specified date and time (in ISO calendar date or combined date and time (with timezone designator) extended formats).

* If the noteUpdateDateFrom param is provided along with the leadUpdateDateFrom, both params will be included in the search. The lead will be returned if the updateDate is greater or equal to the leadUpdateDateFrom OR the lead's note's updateDate is greater or equal to the noteUpdateDateFrom.
noteIncludeSystemItems boolean optional Option to consider system notes to select leads by the noteUpdateDateFrom param. If true, system notes will be included in filtering by noteUpdateDateFrom param. If false, they are not considered for this. The default value is false.
noteFirst number optional The maximum number of lead's notes that will be included in response. The noteFirst default value is 10. Notes will be returned only if the noteUpdateDateFrom, noteFirst or noteIncludeSystemItems is provided in request.
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/leads/find?leadStatus=New&agentId=234567 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/leads/find?leadStatus=AllExceptDeleted&sortColumn=LeadName&sortOrder=asc&pageSize=50&pageNumber=1 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/leads/find?leadCreationDateFrom=01/01/2020&leadUpdateDateFrom=2020-04-21T14%3A21%3A25.9452042Z&includeSavedSearches=true&includeTags=true&includeActionPlans=true&tags=Tag-1&tags=Tag-2&leadSource=Google HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/leads/find?leadCreationDateFrom=01/01/2020&anyOfTags=Tag-1&anyOfTags=Tag-2&anyOfLeadSources=Google&anyOfLeadSources=Bing HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
the matching leads' details in the "data" object
totalRecordsnumber Total number of leads matching the specified search criteria.
pageSize number Number of leads included per page.
totalPages number Total number of pages
leads array Array of leads objects. Each lead record includes the same fields as specified in the Get Lead method. If any of both the noteFirst or the noteUpdateDateFrom is passed, the leads objects are expanded, the array of notes is added as well. The structure of notes is the same as the Get Lead Notes method. The number of notes can be controlled via the noteFirst param.
SAMPLE RETURN
{
  "success": true,
  "data": {
      "totalRecords": 157,
      "totalPages": 6,
      "pageSize": 30,
      "leads": [....]
  }
}

Reset Lead Password

/leads/reset_password/{leadIdOrEmail}
DESCRIPTION
Resets password of an existing lead. If password is reset successfully, an email will be sent to lead's email address. They can then change their password by following the instructions specified in the email.
URL STRUCTURE
https://api.sierrainteractivedev.com/leads/reset_password/{leadIdOrEmail}
METHOD
POST
PARAMETERS
{leadIdOrEmail} string required url component Lead's Sierra Interactive unique identifier or email address. Note: if email address is specified, it may need to be URL-encoded. Reference: The encodeURIComponent javascript can be used for encoding email address if the API method is called from a javascript function.
SAMPLE REQUEST
POST https://api.sierrainteractivedev.com/leads/reset_password/345678 HTTP/1.1
Content-Type: application/json
OR
POST https://api.sierrainteractivedev.com/leads/reset_password/john%40server.com HTTP/1.1
Content-Type: application/json
RETURNS
true if password is reset.
SAMPLE RETURN
{
  "success": true
}

Add Note

/leads/{leadIdOrEmail}/note
DESCRIPTION
Adds the specified note and associates it with the specified lead.
URL STRUCTURE
https://api.sierrainteractivedev.com/leads/{leadIdOrEmail}/note
METHOD
POST
PARAMETERS
{leadIdOrEmail} string required url component Lead's Sierra Interactive unique identifier or email address. Note: if email address is specified, it may need to be URL-encoded. Reference: The encodeURIComponent javascript can be used for encoding email address if the API method is called from a javascript function.
message string required Content of the note.
SAMPLE REQUEST
POST https://api.sierrainteractivedev.com/leads/345678/note HTTP/1.1
Content-Type: application/json
{
	"message": "Note Contents"
}
OR
POST https://api.sierrainteractivedev.com/leads/john%40server.com/note HTTP/1.1
Content-Type: application/json
{
	"message": "Note Contents"
}
RETURNS
true if the note is added.
SAMPLE RETURN
{
  "success": true
}

Get Lead Notes

/notes/{leadIdOrEmail}
DESCRIPTION
Return all Notes for the specified lead.
URL STRUCTURE
https://api.sierrainteractivedev.com/notes/{leadIdOrEmail}
METHOD
GET
PARAMETERS
{leadIdOrEmail} string required url component Lead's Sierra Interactive unique identifier or email address. Note: if email address is specified, it may need to be URL-encoded. Reference: The encodeURIComponent javascript can be used for encoding email address if the API method is called from a javascript function.
pageSize number optional Number of notes to include in the response. Default value is 100. Comes into effect if the matching notes are more than the specified pageSize value. Possible values are 1-100.
pageNumber number optional Specify the page number. Default value is 1. Comes into effect if the number of matching notes is greater than the specified pageSize value
sortOrder string optional Sorting direction. Possible values: "asc", "desc". By default records are sorted in the Ascending order.
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/notes/1255357/note?pageNumber=1&pageSize=15&sortOrder=asc HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
a JSON object containing request status in "success" field. And notes details in "data" object if one or more notes are present for the lead.
id number Lead's Sierra Interactive unique identifier for the note.
leadId number Lead's Sierra Interactive unique identifier for the lead.
dateCreated dateTime Note's created date (date / time value conforms ISO 8601 format).
contents string Note's content.
byUser object A specific user created the note.
isSystemItem boolean Option to show the note was created by system or user.
isFavorite boolean Option to show the notes was marked as "Favorite" or not.
SAMPLE RETURN
{
  "success": true,
  "data": [
    {
      "leadId": 1255357,
      "id": 2301821,
      "dateCreated": "2022-03-25T01:48:18.933",
      "contents": "The traditional action plan \"!test time\" was applied to this lead by the 'Serge's automation' automation",
      "byUser": {
          "id": 1115,
          "firstName": "Sierra",
          "lastName": "System",
          "name": "Sierra System",
          "email": "system@sierrainteractive.com"
      },
      "isSystemItem": true,
      "isFavorite": false
    },
    {
      "leadId": 1255357,
      "id": 2301822,
      "dateCreated": "2022-03-25T01:49:47.49",
      "contents": "Serge Test Lead was removed from the action plan !test time by Serge Dyomin with the note / comment: erhth",
      "byUser": {
          "id": 1115,
          "firstName": "Sierra",
          "lastName": "System",
          "name": "Sierra System",
          "email": "system@sierrainteractive.com"
      },
      "isSystemItem": true,
      "isFavorite": false
    }
  ]
}

Add Saved Listing

/savedListings
DESCRIPTION
Saves the specified property as lead's favorite.
URL STRUCTURE
https://api.sierrainteractivedev.com/savedListings
METHOD
POST
PARAMETERS
leadIdOrEmailstring required Lead's Sierra Interactive unique identifier or email address.
mlsNumber string required MLS number of the property to be saved.
mlsRegion string optional Abbreviation of the area in which the specified property is located. Possible values:
GLAR (for Greater Louisville)
Denver (Denver Metro)
MIBOR (Indianapolis)
IRMLS (Indiana Regional MLS)
IRES (Boulder Valley / Northern CO)
PPAR (Colorado Springs)
GNIAR (Northwest Indiana)
SAMPLE REQUEST BODY
{
  "leadIdOrEmail": "353559",
  "mlsNumber": "21280733",
  "mlsRegion": "MIBOR"
}
OR
{
  "leadIdOrEmail": "johndoe@server.com",
  "mlsNumber": "21280733",
  "mlsRegion": "MIBOR"
}
RETURNS
true if the property is saved as favorite
SAMPLE RETURN
{
  "success": true
}

Remove Saved Listing

/savedListings/{leadIdOrEmail}/{mlsRegionAbbreviation}/{mlsPropertyNumber}
DESCRIPTION
Removes the specified property from the list of saved properties for the specified lead.
URL STRUCTURE
https://api.sierrainteractivedev.com/savedListings/{leadId}/{mlsRegionAbbreviation}/{mlsPropertyNumber}
METHOD
DELETE
PARAMETERS
Parameters are parts of uri after /savedListings/ uri component
leadIdOrEmailfirst uri componentrequiredLead's Sierra Interactive unique identifier or email address.
mlsRegionAbbreviation second uri componentrequired Abbreviation of the area in which the specified property is located. Possible values:
GLAR (for Greater Louisville)
Denver (Denver Metro)
MIBOR (Indianapolis)
IRMLS (Indiana Regional MLS)
IRES (Boulder Valley / Northern CO)
PPAR (Colorado Springs)
GNIAR (Northwest Indiana)

* Specifying "None" as mlsRegionAbbreviation will force the system to match the area in which the specified property is located.
mlsPropertyNumber third uri componentrequired MLS number of the property to be removed from list of saved properties. Example: 21280733
SAMPLE REQUEST
DELETE https://api.sierrainteractivedev.com/savedListings/345678/MIBOR/21280733 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
true if the request is successful
SAMPLE RETURN
{
  "success": true
}

Retrieve Saved Listings

/savedListings/get/{leadIdOrEmail}
DESCRIPTION
Retrieves saved listings for the specified lead
URL STRUCTURE
https://api.sierrainteractivedev.com/savedlistings/get/{leadIdOrEmail}
METHOD
GET
PARAMETERS
{leadIdOrEmail} string required url component Lead's Sierra Interactive unique identifier or email address.
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/savedlistings/get/345678 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/savedlistings/get/johndoe%40server.com HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
a JSON object containing request status in "success" field. And saved listing details in "data" object if one or more saved listings are present for the lead.
mlsNumberstring MLS number of the saved property.
mlsRegion string Abbreviation of the area in which the saved property is located. Possible values:
GLAR (for Greater Louisville)
Denver (Denver Metro)
MIBOR (Indianapolis)
IRMLS (Indiana Regional MLS)
IRES (Boulder Valley / Northern CO)
PPAR (Colorado Springs)
GNIAR (Northwest Indiana).
SAMPLE RETURN
{
  "success": true,
  "data": [
    {
      "mlsNumber": "21280733",
      "mlsRegion": "MIBOR"
    },
    {
      "mlsNumber": "21280833",
      "mlsRegion": "IRMLS"
    }
  ]
}

Add Hidden Listing

/hiddenListings
DESCRIPTION
Adds the specified property to the list of hidden properties for the specified lead.
URL STRUCTURE
https://api.sierrainteractivedev.com/hiddenListings
METHOD
POST
PARAMETERS
leadIdOrEmailstring required Lead's Sierra Interactive unique identifier or email address.
mlsNumber string required MLS number of the property to be hidden.
mlsRegion string optional Abbreviation of the area in which the specified property is located. Possible values:
GLAR (for Greater Louisville)
Denver (Denver Metro)
MIBOR (Indianapolis)
IRMLS (Indiana Regional MLS)
IRES (Boulder Valley / Northern CO)
PPAR (Colorado Springs)
GNIAR (Northwest Indiana)
SAMPLE REQUEST BODY
{
  "leadIdOrEmail": "353559",
  "mlsNumber": "21280733",
  "mlsRegion": "MIBOR"
}
OR
{
  "leadIdOrEmail": "johndoe@server.com",
  "mlsNumber": "21280733",
  "mlsRegion": "MIBOR"
}
RETURNS
true if the property is hidden
SAMPLE RETURN
{
  "success": true
}

Remove Hidden Listing

/hiddenListings/{leadIdOrEmail}/{mlsRegionAbbreviation}/{mlsPropertyNumber}
DESCRIPTION
Removes the specified property from the list of hidden properties for the specified lead.
URL STRUCTURE
https://api.sierrainteractivedev.com/hiddenListings/{leadId}/{mlsRegionAbbreviation}/{mlsPropertyNumber}
METHOD
DELETE
PARAMETERS
Parameters are parts of uri after /hiddenListings/ uri component
leadIdOrEmailfirst uri componentrequiredLead's Sierra Interactive unique identifier or email address.
mlsRegionAbbreviation second uri componentrequired Abbreviation of the area in which the specified property is located. Possible values:
GLAR (for Greater Louisville)
Denver (Denver Metro)
MIBOR (Indianapolis)
IRMLS (Indiana Regional MLS)
IRES (Boulder Valley / Northern CO)
PPAR (Colorado Springs)
GNIAR (Northwest Indiana)

* Specifying "None" as mlsRegionAbbreviation will force the system to match the area in which the specified property is located.
mlsPropertyNumber third uri componentrequired MLS number of the property to be removed from list of hidden properties. Example: 21280733
SAMPLE REQUEST
DELETE https://api.sierrainteractivedev.com/hiddenListings/345678/MIBOR/21280733 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
true if the request is successful
SAMPLE RETURN
{
  "success": true
}

Retrieve Hidden Listings

/hiddenListings/get/{leadIdOrEmail}
DESCRIPTION
Retrieves hidden listings for the specified lead
URL STRUCTURE
https://api.sierrainteractivedev.com/hiddenlistings/get/{leadIdOrEmail}
METHOD
GET
PARAMETERS
{leadIdOrEmail} string required url component Lead's Sierra Interactive unique identifier or email address.
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/hiddenlistings/get/345678 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/hiddenlistings/get/johndoe%40server.com HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
a JSON object containing request status in "success" field. And hidden listing details in "data" object if one or more hidden listings are present for the lead.
mlsNumberstring MLS number of the hidden property.
mlsRegion string Abbreviation of the area in which the hidden property is located. Possible values:
GLAR (for Greater Louisville)
Denver (Denver Metro)
MIBOR (Indianapolis)
IRMLS (Indiana Regional MLS)
IRES (Boulder Valley / Northern CO)
PPAR (Colorado Springs)
GNIAR (Northwest Indiana).
SAMPLE RETURN
{
  "success": true,
  "data": [
    {
      "mlsNumber": "21280733",
      "mlsRegion": "MIBOR"
    },
    {
      "mlsNumber": "21280833",
      "mlsRegion": "IRMLS"
    }
  ]
}

Retrieve Listing Price Change History

/listings/pricechanges/{mlsRegionAbbreviation}/{mlsPropertyNumber}
DESCRIPTION
Retrieves price change history for the specified listing
URL STRUCTURE
https://api.sierrainteractivedev.com/listings/pricechanges/{mlsRegionAbbreviation}/{mlsPropertyNumber}
METHOD
GET
PARAMETERS
Parameters are part of uri after /listings/pricechanges/ uri component
mlsRegionAbbreviation first uri componentrequired Abbreviation of the area in which the specified property is located. Possible values:
GLAR (for Greater Louisville)
Denver (Denver Metro)
MIBOR (Indianapolis)
IRMLS (Indiana Regional MLS)
IRES (Boulder Valley / Northern CO)
PPAR (Colorado Springs)
GNIAR (Northwest Indiana)

* Specifying "None" as mlsRegionAbbreviation will force the system to match the area in which the specified property is located.
mlsPropertyNumber second uri componentrequired MLS number of the property for which price change history is to be retrieved. Example: 21280733
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/listings/pricechanges/MIBOR/21244005 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
a JSON object containing request status in "success" field. And listing price change details in "data" object.
dateChangeddate Date when price was changed (in mm/dd/yyyy format).
oldPrice number Price before change.
newPrice number Price after change.
amountChange numberPrice change (newPrice - oldPrice).
percentChange numberPrice change in percent.
SAMPLE RETURN
{
  "success": true,
  "data": [
    {
      "dateChanged": "03/06/2014",
      "oldPrice": 344700,
      "newPrice": 334900,
      "amountChange": -9800,
      "percentChange": "-2.8%"
    },
    {
      "dateChanged": "05/20/2014",
      "oldPrice": 329900,
      "newPrice": 333900,
      "amountChange": 4000,
      "percentChange": "1.2%"
    }
  ]
}

Find Agents

/agents/find?{searchParameters}
DESCRIPTION
Find agents matching the specified search criteria
URL STRUCTURE
https://api.sierrainteractivedev.com/agents/find?{searchParameters}
METHOD
GET
PARAMETERS
name string optional Search agents by name. Accepts first name and / or last name (full or partial). Examples: "John", "Doe", "John Doe"
email string optional Search agents by email address. Accepts full or partial email address. Examples: "johndoe@server.com" "johndoe", "server.com"
userName string optional Search agents by their user name / dpn. Accepts full user name
status string optional Search agents by status. Possible values: All, Active, OnHold, Delete
officeName string optional (Ignore if not applicable) Search agents by the name of the office to which they belong. Accepts full or partial office name.
officeMlsId string optional (Ignore if not applicable) Search agents by the MLS / Board ID of the office to which they belong. Accepts only full values.
officeType string optional (Ignore if not applicable) Search agents by the type of office. Possible values: Metro, Franchise, Ignore. Default value: Metro. To return a complete list of all agents, please specify Ignore in the OfficeType parameter.
languageSpoken string optional Search agents by language. Possible values: Afrikaans, Albanian, American Sign Language, Amharic, Arabic, Armenian, Assyrian, Bulgarian, Cantonese, Chinese, Creole, Croatian, Czech, Danish, Dutch, Farsi, Filipino, Finnish, French, Gaelic, German, Gujarati, Hebrew, Hindi, Hungarian, Icelandic, Indian, Italian, Japanese, Korean, Lativian, Lithuanian, Malay, Mandarin, Mindi, Norwegian, Pilipino, Portuguese, Punjabi, Romanian, Russian, Serbian, Serbo-Croatian, Shanghaniese, Sicilian, Sign Language, Spanish, Swahili, Swedish, Tagalog, Taiwanese, Tehku, Thai, Tigrinya, Turkish, Ukrainian, Urdu, Vietnamese, Yiddish, Yugoslavian.

Note: if language contains whitespace character (e.g American Sign Language), it will need to be URL-encoded. Reference: The encodeURIComponent javascript can be used for encoding language if the API method is called from a javascript function.
sortColumn string optional Name of the field to sort results by. Possible values: AgentName, AgentStatus, OfficeName, TeamName. By default agents will be sorted by their last name, first name values (AgentName).
sortOrder string optional Sorting direction. Possible values: "asc", "desc". By default agents will be sorted in the Ascending order.
pageSize number optional Number of agents to include in the response. Comes into effect if the matching agents are more than the specified pageSize value. Possible values are 1-100. If omitted then maximum 50 agents are returned.
pageNumber number optional Specify the page number. If omitted, first page is returned. Comes into effect if the number of matching agents is greater than the specified pageSize value
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/agents/find?status=Active&officeName=myoffice HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/agents/find?name=john&sortColumn=AgentName&officeType=franchise&sortOrder=asc&pageSize=50&pageNumber=1 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
the matching agents' details in the "data" object
totalRecordsnumber Total number of agents matching the specified search criteria.
pageSize number Number of agents included per page.
totalPages number Total number of pages
agents array Array of agents objects. The agent object details are described below:
agent object can have the following fields (some may not be available if the functionality is not enabled for your site):
idstring Sierra Interactive system's unique identifier for the agent. This value can be saved for future purpose.
userIdnumber When exists, the unique identifier for the admin user associated with the agent. This value is referred as agentUserId across the docs
firstNamestring Agent's first name.
lastName string Agent's last name.
email string Agent's email address.
userName string Agent's user name. It can be used to identify agent's record in your system e.g. DPN.
billingId string Agent's Billing ID. It will be inlcuded only if the functionality is enabled for your site.
status string Agent's status. Possible values: Active, Delete, OnHold
officePhone string Agent's office phone number.
directPhone string Agent's direct phone number (mobile number).
voiceMail string Agent's voice mail number.
fax string Agent's fax number.
website string URL pointing to agent's website / profile page.
externalWebsite string URL pointing to external website.
role string Agent's Role. Possible values: Agent, TeamMember, Manager, Admin, Unknown
photo string URL linking to agent's photo.
mlsId string Agent's MLS / Board ID.
nrdsId string Agent's NRDS ID. It will be inlcuded only if the functionality is enabled for your site.
designation string Agent's designation.
companyName string Agent's Company Name.
dateAddeddateTime Date / Time when the Agent was added (date / time value conforms ISO 8601 format).
dateUpdateddateTime Date / Time when the Agent was updated (date / time value conforms ISO 8601 format).
languageSpoken string Additional language(s) spoken by Agent.
lastActivityDatedateTime Date / Time when the Agent was last active in the Admin area (date / time value conforms ISO 8601 format).
office object Specifies the details of the office to which the agent belongs to. This object will be included only if the functionality is enabled for your site. Please refer to the office object described below
team object Specifies the details of the team site of which the agent is member of. This object will be included only if the functionality is enabled for your site. Please refer to the team object described below
a JSON object containing office details.
mlsId string Office's MLS / Board ID.
namestring Name of the office.
type string Office Type. Possible values: Metro, Franchise. Blank if the agent is not associated with an office.
phone string Office phone number.
fax string Office fax number.
address string Office Street Address.
city string Office City.
state string Office State.
zip string Office Zip Code.
a JSON object containing team details.
namestring Name of the office.
leaderUserName string User name of the Team's Leader. It can be used to identify leader's record in your system e.g. DPN.
role string Role of the agent in the team. Possible values: TeamLeader, TeamMember, Unknown
photo string URL linking to team's photo.
SAMPLE RETURN
{
  "success": true,
  "data": {
      "totalRecords": 17,
      "totalPages": 2,
      "pageSize": 10,
      "agents": [
          {
            "id": "1234",
            "userId": 4321,
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@server.com",
            "userName": "john_doe",
            "billingId": "john_doe",
            "officePhone": "(123) 456-7890"
            "directPhone": "(234) 567-8901",
            "voiceMail": "(345) 678-9012",
            "fax": "(456) 789-0123",
            "website": "www.mywebsite.com/john.doe",
            "externalWebsite": "www.external-website.com",
            "role": "TeamMember",
            "photo": "www.mywebsite.com/photos/john_doe.jpg",
            "mlsId": "123456",
            "nrdsId": "123456789",
            "companyName": "My Company",
            "dateAdded": "2015-10-20T03:50:07.333",
            "dateUpdated": "2015-10-25T14:17:34.147",
            "languageSpoken": "Spanish, German"
            "lastActivityDate": "2015-11-27T17:24:34.147",
            "status": "Active",
            "office": {
                "mlsId": "OfficeMLSID",
                "name": "MyOffice",
                "type": "Metro",
                "phone": "(123) 456-7890",
                "fax": "(456) 789-0123",
                "address": "123 Main St",
                "city": "Anytown",
                "state": "XY",
                "zip": "12356"
            },
            "team": {
                "name": "My Team",
                "leaderUserName": "team_leader",
                "role": "TeamMember",
                "photo": "www.mywebsite.com/photos/my_team.jpg"
            }
        }
      ]
  }
}

Add Property View

/listings/propertyView/
DESCRIPTION
Creates a new property view record in Sierra Interactive system indicating the property viewed by the specified lead.
URL STRUCTURE
https://api.sierrainteractivedev.com/listings/propertyView/
METHOD
POST
PARAMETERS
leadId number optional Lead's Sierra Interactive unique identifier. If leadId value is specified and matches a record in the Sierra Interactive system, the property view would be associated with the matching lead. This value is required if the email value is not specified.
email string optional (valid email format) Lead's email address. This value is required if the leadId value is not specified.
mlsNumber stringrequired MLS number of the viewed property. Example: 21280733
mlsRegion stringoptional Abbreviation of the area in which the specified property is located. Possible values:
GLAR (for Greater Louisville)
Denver (Denver Metro)
MIBOR (Indianapolis)
IRMLS (Indiana Regional MLS)
IRES (Boulder Valley / Northern CO)
PPAR (Colorado Springs)
GNIAR (Northwest Indiana)
partnerLink stringoptional Override the link to the viewed property detail page.
SAMPLE REQUEST BODY
{
  "leadId": 12345,
  "email": "johndoe@server.com",
  "mlsNumber": "21280733",
  "mlsRegion": "MIBOR"
  }
}
RETURNS
"success" field. Its value will be "true" if the property view is added successfully; otherwise "false".
SAMPLE RETURN
{
  "success": true
}

Submit More Info Request

/listings/requestInfo/
DESCRIPTION
Adds a new more info request in Sierra Interactive system using this public endpoint.
URL STRUCTURE
https://api.sierrainteractivedev.com/listings/requestInfo/
METHOD
POST
PARAMETERS
leadId number optional Lead's Sierra Interactive unique identifier. If leadId value is specified and matches a record in the Sierra Interactive system, the more info request would be associated with the matching lead. This value is required if the name, email, and phone values are not specified.
namestring optionalLead's full name. This value is required if the leadId value is not specified.
emailstringoptional (valid email format)Lead's email address. This value is required if the leadId value is not specified.
phone string optionalLead's phone number. This value is required if the leadId value is not specified.
mlsNumber stringrequired MLS number of the property for which the more info request is to be submitted. Example: 21280733
mlsRegion stringoptional Abbreviation of the area in which the specified property is located. Possible values:
GLAR (for Greater Louisville)
Denver (Denver Metro)
MIBOR (Indianapolis)
IRMLS (Indiana Regional MLS)
IRES (Boulder Valley / Northern CO)
PPAR (Colorado Springs)
GNIAR (Northwest Indiana)
contactPreference string optional Lead's contact preference. Possible values: Any, Email, Phone
preferredTimeToContact string optional Lead's preferred time to contact. Possible values: Any, Day, Evening
comments string optional Lead's additional comments / questions
sendAutoResponder boolean optional Specifies whether an auto-responder email will be sent to the lead who submitted the request if an auto-responder for more info request is enabled in the Sierra Interactive system. If not specified, auto-responder email will not be sent.
assignTo object optional If the lead doesn't already exist in the system, provides an option to assign the lead being added to a specific agent. If this parameter is omitted or no matching agents are found, the newly created lead will go into distribution. And based on the distribution system settings, the lead will be assigned to the first matching agent.
assignTo object allows one or more fields to identify an agent to whom the lead should be assigned. You can pass one or more parameters into this object:
agentSiteId number optional Unique Agent-Site identifier in the Sierra Interactive system. The system will first search for agent matching the specified agentSiteId value. If matching agent-site is found, the lead will be assigned to the corresponding agent associated with the agent-site.
agentUserId number optional Unique Agent identifier in the Sierra Interactive system. If the agentSiteId parameter is not specified or doesn't have matching agent-site in the system, the system will search for agent matching the specified agentUserId value. If matching agent is found, the lead will be assigned to that agent.
agentUserEmail string optional Email of the agent as stored in the Sierra Interactive system. If the agentSiteId and agentUserId parameters are not specified or no matching agents are found, the system will search for agent matching the specified agentUserEmail value. If matching agent is found, the lead will be assigned to that agent.
SAMPLE REQUEST BODY
{
  "name": "John Doe",
  "email": "johndoe@server.com",
  "phone": "(123) 456-7890",
  "mlsNumber": "21280733",
  "mlsRegion": "MIBOR",
  "contactPreference": "Phone",
  "preferredTimeToContact": "Day",
  "comments": "Additional comments about the more info request",
  "sendAutoResponder": false,
  "assignTo": {
    "agentSiteId": 123456,
    "agentUserId": 234567,
    "agentUserEmail": "agent@site.com"
  }
}
RETURNS
"success" field. Its value will be "true" if the request is submitted successfully; otherwise "false". On success, an additional object, "data" containing lead id will be returned.
fields of "data" object
leadId number Sierra Interactive system's unique identifier for the newly added lead. This value can be saved for future purpose.
SAMPLE RETURN
{
  "success": true,
  "data": {
    "leadId": 345678
  }
}

Submit Schedule a Showing Request

/listings/scheduleShowing/
DESCRIPTION
Adds a new schedule a showing request in Sierra Interactive system using this public endpoint.
URL STRUCTURE
https://api.sierrainteractivedev.com/listings/scheduleShowing/
METHOD
POST
PARAMETERS
leadId number optional Lead's Sierra Interactive unique identifier. If leadId value is specified and matches a record in the Sierra Interactive system, the schedule showing request would be associated with the matching lead. This value is required if the name, email, and phone values are not specified.
namestring optional Lead's full name. This value is required if the leadId value is not specified.
emailstringoptional (valid email format)Lead's email address. This value is required if the leadId value is not specified.
phone string optionalLead's phone number. This value is required if the leadId value is not specified.
mlsNumber stringrequired MLS number of the property for which the schedule a showing request is to be submitted. Example: 21280733
mlsRegion stringoptional Abbreviation of the area in which the specified property is located. Possible values:
GLAR (for Greater Louisville)
Denver (Denver Metro)
MIBOR (Indianapolis)
IRMLS (Indiana Regional MLS)
IRES (Boulder Valley / Northern CO)
PPAR (Colorado Springs)
GNIAR (Northwest Indiana)
contactPreference string optional Lead's contact preference. Possible values: Any, Email, Phone
preferredTimeToContact string optional Lead's preferred time to contact. Possible values: Any, Day, Evening
preferredAppointmentDay string optional Lead's preferred appointment day. Possible values: Any, Weekday, Weekend
preferredAppointmentTime string optional Lead's preferred appointment time. Possible values: Any, Morning, Afternoon, Evening
comments string optional Lead's additional comments / questions
sendAutoResponder boolean optional Specifies whether an auto-responder email will be sent to the lead who submitted the request if an auto-responder for schedule showing request is enabled in the Sierra Interactive system. If not specified, auto-responder email will not be sent.
assignTo object optional If the lead doesn't already exist in the system, provides an option to assign the lead being added to a specific agent. If this parameter is omitted or no matching agents are found, the newly created lead will go into distribution. And based on the distribution system settings, the lead will be assigned to the first matching agent.
assignTo object allows one or more fields to identify an agent to whom the lead should be assigned. You can pass one or more parameters into this object:
agentSiteId number optional Unique Agent-Site identifier in the Sierra Interactive system. The system will first search for agent matching the specified agentSiteId value. If matching agent-site is found, the lead will be assigned to the corresponding agent associated with the agent-site.
agentUserId number optional Unique Agent identifier in the Sierra Interactive system. If the agentSiteId parameter is not specified or doesn't have matching agent-site in the system, the system will search for agent matching the specified agentUserId value. If matching agent is found, the lead will be assigned to that agent.
agentUserEmail string optional Email of the agent as stored in the Sierra Interactive system. If the agentSiteId and agentUserId parameters are not specified or no matching agents are found, the system will search for agent matching the specified agentUserEmail value. If matching agent is found, the lead will be assigned to that agent.
SAMPLE REQUEST BODY
{
  "name": "John Doe",
  "email": "johndoe@server.com",
  "phone": "(123) 456-7890",
  "mlsNumber": "21280733",
  "mlsRegion": "MIBOR",
  "contactPreference": "Phone",
  "preferredTimeToContact": "Day",
  "preferredAppointmentDay": "Weekday",
  "preferredAppointmentTime": "Evening",
  "comments": "Additional comments about the schedule showing request",
  "sendAutoResponder": true,
  "assignTo": {
    "agentSiteId": 123456,
    "agentUserId": 234567,
    "agentUserEmail": "agent@site.com"
  }
}
RETURNS
"success" field. Its value will be "true" if the request is submitted successfully; otherwise "false". On success, an additional object, "data" containing lead id will be returned.
fields of "data" object
leadId number Sierra Interactive system's unique identifier for the newly added lead. This value can be saved for future purpose.
SAMPLE RETURN
{
  "success": true,
  "data": {
    "leadId": 345678
  }
}

Retrieve Saved Search Details

/savedsearches/get/{savedSearchId}
DESCRIPTION
Retrieves details of the specified saved-search
URL STRUCTURE
https://api.sierrainteractivedev.com/savedsearches/get/{savedSearchId}
METHOD
GET
PARAMETERS
{savedSearchId} string required url component Sierra Interactive system's unique identifier for the saved-search.
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/savedsearches/get/345678 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
a JSON object containing request status in "success" field. And saved-search details in "data" object if a record matching the id is found.

NOTE: "number" fields like price, sqFt etc... having value 0 should be ignored
searchIdnumber Saved-search's Sierra Interactive unique identifier.
leadIdnumber Lead's Sierra Interactive unique identifier.
mlsRegions string Comma-separated Abbreviation of one or more areas in which the properties will be searched. Possible values:
GLAR (for Greater Louisville)
Denver (Denver Metro)
MIBOR (Indianapolis)
IRMLS (Indiana Regional MLS)
IRES (Boulder Valley / Northern CO)
PPAR (Colorado Springs)
GNIAR (Northwest Indiana).
searchName string Saved search name.
sendEmailAlert boolean Indicates whether a listing alert email will be sent to the lead when listings matching the saved-search criteria are added
propertyTypes object Specifies types set for the saved-search.
propertyTypes object defines the property types set for the saved-search.
singleFamilystringIndicates whether or not single family properties are included. Possible values "On" or "Off".
condostringIndicates whether or not condominium properties are included. Possible values "On" or "Off".
multiFamilystringIndicates whether or not multi family properties are included. Possible values "On" or "Off".
vacantLandstringIndicates whether or not vacant land properties are included. Possible values "On" or "Off".
commercialstringIndicates whether or not commercial properties are included. Possible values "On" or "Off".
commercialLeasestringIndicates whether or not commercial lease properties are included. Possible values "On" or "Off".
rentalstringIndicates whether or not rental properties are included. Possible values "On" or "Off".
farmstringIndicates whether or not farm properties are included. Possible values "On" or "Off".
auctionstringIndicates whether or not auction properties are included. Possible values "On" or "Off".
propertySubTypesstringoptionalSpecifies comma-separated property sub-types.
newConstructionstringIndicates whether or not newly constructed properties are included. Possible values "On" or "Off".
foreclosuresstringIndicates whether or not foreclosure properties are included. Possible values "On" or "Off".
shortSalesstringIndicates whether or not short sale properties are included. Possible values "On" or "Off".
hudstringIndicates whether or not HUD properties are included. Possible values "On" or "Off".
openHouseOnlystringIndicates whether or not only open house properties are included. Possible values "On" or "Off".
propertyStatus object Specifies property statuses set for the saved-search.
propertyStatus object defines the property statuses set for the saved-search.
activestringIndicates whether or not active properties are included. Possible values "On" or "Off".
pendingstringIndicates whether or not pending properties are included. Possible values "On" or "Off".
soldstringIndicates whether or not sold properties are included. Possible values "On" or "Off".
soldDaysnumberSpecifies the number of sold days to filter Sold properties.
price.MinnumberSpecifies minimum price to filter properties.
price.MaxnumberSpecifies maximum price to filter properties.
bedsnumberSpecifies minimum number of beds to filter properties.
bedsMaxnumberSpecifies maximum number of beds to filter properties.
bathsnumberSpecifies minimum number of baths to filter properties.
bathsMaxnumberSpecifies maximum number of baths to filter properties.
sqFt.MinnumberSpecifies minimum square feet value to filter properties.
sqFt.MaxnumberSpecifies maximum square feet value to filter properties.
daysOnSitenumberSpecifies a non-zero value to filter properties by days they are on the site. Positive number performs "less than" search and negative number performs "more than" search. For example, daysOnSite = 3 filters properties that are less than 3 days old (on the site). daysOnSite = -5 filters properties that are more than 5 days old.
yearBuilt.MinnumberSpecifies minimum year built value to filter properties.
yearBuilt.MaxnumberSpecifies maximum year built value to filter properties.
lotSize.MinnumberSpecifies minimum lot size value in acres to filter properties.
lotSize.MaxnumberSpecifies maximum lot size value in acres to filter properties.
lotSizeSqFt.MinnumberSpecifies minimum lot size value in square feet to filter properties.
lotSizeSqFt.MaxnumberSpecifies maximum lot size value in square feet to filter properties.
garageSpacenumberSpecifies minimum number of garage space to filter properties.
hoaFees.MinnumberSpecifies minimum HOA fees to filter properties.
hoaFees.MaxnumberSpecifies maximum HOA fees to filter properties.
sortBystringSpecifies the option to sort search results. Possible values: PriceLowToHigh, PriceHighToLow, SquareFeetLowToHigh, SquareFeetHighToLow, DaysOnSiteLowToHigh, DaysOnSiteHighToLow, BedsLowToHigh, BedsHighToLow, LotSizeLowToHigh, LotSizeHighToLow. By default leads will be sorted by Price: low-to-high.
basementstringSpecifies comma-separated basement values to filter properties. Possible values: Any Type, Finished, Full, Walk-Out.
poolstringIndicates whether or not properties with access to pool are included. Possible values "On" or "Off".
waterfrontstringIndicates whether or not waterfront properties are included. Possible values "On" or "Off".
cornerLotstringIndicates whether or not properties on corner lot are included. Possible values "On" or "Off".
gatedCommunitystringIndicates whether or not properties in gated community are included. Possible values "On" or "Off".
cul-de-sacstringIndicates whether or not cul-de-sac properties are included. Possible values "On" or "Off".
woodedstringIndicates whether or not properties with access to wooded lot are included. Possible values "On" or "Off".
golfCoursestringIndicates whether or not properties with access to golf course are included. Possible values "On" or "Off".
masterOnMainLevelstringIndicates whether or not only properties with master bedroom on main level are included. Possible values "On" or "Off".
keywordsstringSpecifies comma-separated keyword values.
searchBoxContentsstringSpecifies contents of the user's search input field.
location object Specifies locations set for the saved-search.
location object defines the property locations set for the saved-search.
citystringSpecifies comma-separated cities to filter properties.
countystringSpecifies comma-separated counties to filter properties.
zipCodestringSpecifies comma-separated zip codes to filter properties.
subdivisionstringSpecifies comma-separated subdivisions to filter properties.
townshipstringSpecifies comma-separated townships to filter properties.
schoolSystemstringSpecifies comma-separated school systems to filter properties.
elementarySchoolstringSpecifies comma-separated elementary schools to filter properties.
middleSchoolstringSpecifies comma-separated middle schools to filter properties.
highSchoolstringSpecifies comma-separated high schools to filter properties.
mapOptions object Specifies map settings set for the saved-search.
mapOptions object defines the map settings set for the saved-search.
coordinatesstringSpecifies space separated latitude longitude values representing map center.
boundariesstringSpecifies comma-separated latitude longitude values representating map region.
mapMinMaxstringSpecifies comma-separated latitude longitude values representating the coordinates of the top-right and bottom-left corners of the map.
locationDeltas object Specifies values used to return the zoom level of the map in map-based searches.
locationDeltas object defines the location deltas set for the saved-search.
latitudeDeltastringSpecifies latitude portion of the locationDeltas.
longitudeDeltastringSpecifies longitude portion of the locationDeltas.
defaults object Specifies default map settings.
defaults object defines the default settings to plot listings on map.
coordinatesstringSpecifies space separated latitude longitude values representing default map center.
zoomLevelstringSpecifies a numerical value representing default map zoom level.
SAMPLE RETURN
{
    "success": true,
    "data": {
        "searchId": 218973,
        "leadId": 79209,
        "mlsRegions": "GLAR",
        "searchName": "Sample Search",
        "sendEmailAlert": "Off",
        "propertyTypes": {
            "singleFamily": "On",
            "condo": "On",
            "multiFamily": "Off",
            "vacantLand": "Off",
            "commercial": "Off",
            "commercialLease": "Off",
            "rental": "Off",
            "farm": "Off",
            "auction": "Off"
        },
        "propertySubTypes": "Single Family,Mobile Home",
        "newConstruction": "Off",
        "foreclosures": "Off",
        "shortSales": "Off",
        "hud": "Off",
        "openHouseOnly": "Off",
        "propertyStatus": {
            "active": "On",
            "pending": "Off",
            "sold": "Off",
            "soldDays": 0
        },
        "price": {
            "min": 500000,
            "max": 700000
        },
        "beds": 3,
        "bedsMax": 5,
        "baths": 3,
        "bathsMax": 4,
        "sqFt": {
            "min": 4000,
            "max": 6000
        },
        "daysOnSite": 0,
        "yearBuilt": {
            "min": 2005,
            "max": 0
        },
        "lotSize": {
            "min": 0,
            "max": 5
        },
        "lotSizeSqFt": {
            "min": 0,
            "max": 217800
        },
        "garageSpace": 2,
        "sortBy": "PriceLowToHigh",
        "hoaFees": {
            "min": 0,
            "max": 0
        },
        "basement": "Walk-Out",
        "pool": "On",
        "waterfront": "On",
        "cornerLot": "Off",
        "gatedCommunity": "Off",
        "cul-de-sac": "Off",
        "wooded": "Off",
        "golfCourse": "Off",
        "masterOnMainLevel": "Off",
        "keywords": "value1, value2",
        "searchBoxContents": "Castleton",
        "location": {
            "city": "Louisville",
            "county": "",
            "zipCode": "",
            "subdivision": "",
            "township": "",
            "schoolSystem": "",
            "elementarySchool": "",
            "middleSchool": "",
            "highSchool": ""
        },
        "mapOptions": {
            "coordinates": "39.84 -86.065",
            "boundaries": "39.840404 -86.083499, 39.82564 -86.083499, 39.825904 -86.046763, 39.840668 -86.046077, 39.840404 -86.083499",
            "mapMinMax": "39.840404 -86.083499, 39.840668 -86.046077",
            "locationDeltas": {
              "latitudeDelta": "0.126941",
              "longitudeDelta": "0.116749"
            },
            "defaults": {
              "coordinates": "39.7705 -86.1570",
              "zoomLevel": 11
            }
        }
    }
}

Find Saved Searches By Lead

/savedsearches/find?{searchParameters}
DESCRIPTION
Find saved-search matching the specified search parameters
URL STRUCTURE
https://api.sierrainteractivedev.com/savedsearches/find?{searchParameters}
METHOD
GET
PARAMETERS
leadId number optional Search saved-searches by the lead. Specify lead's Sierra Interactive unique identifier.
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/savedsearches/find?leadId=234567 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
matching saved-searches' details in the "data" object
totalRecordsnumber Total number of saved-searches matching the specified search criteria.
savedSearches array Array of saved-searches objects. Each saved-search record includes the same fields as specified in the Retrieve Saved Search Details method
SAMPLE RETURN
{
  "success": true,
  "data": {
      "totalRecords": 5,
      "savedSearches": [....]
  }
}

Remove Saved Search

/savedSearches/{savedSearchId}
DESCRIPTION
Removes the specified saved-search.
URL STRUCTURE
https://api.sierrainteractivedev.com/savedSearches/{savedSearchId}
METHOD
DELETE
PARAMETERS
Parameter is part of uri after /savedSearches/ uri component
savedSearchIdfirst uri componentrequiredSaved-search's Sierra Interactive unique identifier.
SAMPLE REQUEST
DELETE https://api.sierrainteractivedev.com/savedSearches/12345679 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
true if the request is successful
SAMPLE RETURN
{
  "success": true
}

Find Offices

/offices/find?{searchParameters}
DESCRIPTION
Find offices matching the specified search criteria
URL STRUCTURE
https://api.sierrainteractivedev.com/offices/find?{searchParameters}
METHOD
GET
PARAMETERS
officeType string optional Search offices by type. Possible values: Metro, Franchise, Ignore. Default value: Metro
officeName string optional Search offices by name. Accepts full or partial name. Examples: "9201 Group", "9201", "Group"
officeMlsId string optional Search offices by their MLS / Board ID. Accepts only full values.
officeEmail string optional Search offices by email address. Accepts full or partial email address. Examples: "johndoe@server.com" "johndoe", "server.com"
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/offices/find?officeType=franchise HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/offices/find?officeName=myoffice&OfficeMlsId=MLS123 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
the matching offices' details in the "data" object
totalRecordsnumber Total number of offices matching the specified search criteria.
offices array Array of offices objects. The office object details are described below:
office object will have the following fields:
mlsIdstring Office's MLS / Board ID.
namestring Name of the office.
type string Office Type. Possible values: Metro, Franchise.
phone string Office phone number.
fax string Office fax number.
address string Office Street Address.
city string Office City.
state string Office State.
zip string Office Zip Code.
photo string URL linking to office's photo.
latitude double Office location Latitude.
longitude double Office location Longitude.
email string Office email.
SAMPLE RETURN
{
    "success": true,
    "data": {
        "totalRecords": 2,
        "offices": [
            {
                "mlsId": "OfficeMLSID",
                "name": "MyOffice",
                "type": "Metro",
                "phone": "(123) 456-7890",
                "fax": "(456) 789-0123",
                "address": "123 Main St",
                "city": "Anytown",
                "state": "XY",
                "zip": "12356",
                "photo": "www.mywebsite.com/photos/my_office.jpg",
                "latitude": 39.921764825,
                "longitude": -86.15740031,
                "email": "example@email.com"
            }
        ]    
    }
}

Retrieve Action Plan Details

/action-plan/{actionPlanIds}
DESCRIPTION
Retrieves details of action plans specified by one or more identifiers.
URL STRUCTURE
https://api.sierrainteractivedev.com/action-plan/{actionPlanIds}
METHOD
GET
PARAMETERS
{actionPlanIds} string required url component One or more action plan identifiers separated with ','. The identifiers appear within lead's active action plans object in planId field.
RETURNS
the matching action plans details array in the "data" object
fields of "data" object
id number Action plan identifier.
name string Action plan name.
description string Action plan description.
type string Action plan type. Possible values: Traditional, FullyAutomated.
SAMPLE RETURN
{
  "success": true,
  "data": [{
    "id": 123,
    "name": "New Lead Action Plan",
    "description": "All new leads will be assigned to this plan",
    "type": "FullyAutomated"
  }]
}

Add Lead Task

/leads/{leadIdOrEmail}/task
DESCRIPTION
Adds a new lead task in Sierra Interactive system using this public endpoint.
URL STRUCTURE
https://api.sierrainteractivedev.com/leads/{leadIdOrEmail}/task
METHOD
POST
PARAMETERS
{leadIdOrEmail} string required url component Lead's Sierra Interactive unique identifier or email address. Note: if email address is specified, it may need to be URL-encoded. Reference: The encodeURIComponent javascript can be used for encoding email address if the API method is called from a javascript function.
byUserId number optional The unique identifier for the admin user created the task. When not passed the task is created as system and becomes editable only by the api and by manager users.
toUserId number required The unique identifier for the admin user assigned on the task.
dueOn string required Task due time (in ISO combined date and time extended format with Z designator).
taskType string optional Possible values: Other, Email, PhoneCall, TextMessage, OnSiteMessage. Default: Other
contents string required for taskType Other, for the rest is optional Task description
isFavorite boolean optional Mark task as favorite for the user
SAMPLE REQUEST BODY
{
  "byUserId": 4321,
  "toUserId": 4321,
  "dueOn": "2000-01-21T00:00:00.123Z",
  "taskType": "Other",
  "contents": "See if responded",
  "isFavorite": false
}
RETURNS
"success" field. Its value will be "true" if the task is added successfully; otherwise "false". On success, an additional object, "data" containing task details referred in will be returned including following auto-assigned fields:
auto-assigned fields of "data" object
id number Task's unique identifier.
leadId number Lead's unique identifier.
dateCreated string Task created date (in ISO combined date and time extended format with Z designator).
dateUpdated string Task updated date (in ISO combined date and time extended format with Z designator).
SAMPLE RETURN
{
  "success": true,
  "data": {
    "id": 123456,
    "leadId": 1234,
    "byUserId": 4321,
    "toUserId": 4321,
    "dueOn": "2000-01-22T00:00:00.123Z"
    "taskType": "Other",
    "contents": "See if responded",
    "isFavorite": false,
    "dateCreated": "2000-01-21T00:00:00.123Z",
    "dateUpdated": "2000-01-21T00:00:00.123Z"
  }
}

Update Lead Task

/lead-task/{taskId}
DESCRIPTION
Updates an existing lead task in Sierra Interactive system using this public endpoint.
URL STRUCTURE
https://api.sierrainteractivedev.com/lead-task/{taskId}
METHOD
PUT
PARAMETERS
{taskId} string required url component Task's unique identifier.
byUserId number optional The unique identifier for the admin user created the task. When not passed the task is created as system and becomes editable only by the api and by manager users.
toUserId number optional The unique identifier for the admin user assigned on the task.
dueOn string optional Task due time (in ISO combined date and time extended format with Z designator).
taskType string optional Possible values: Other, Email, PhoneCall, TextMessage, OnSiteMessage. Default: Other
contents string required when taskType is set to Other, for the rest is optional Task description
isFavorite boolean optional Mark task as favorite for the user
SAMPLE REQUEST BODY
{
  "dueOn": "2000-01-27T00:00:00.123Z"
  "taskType": "PhoneCall",
  "isFavorite": true
}
RETURNS
"success" field. Its value will be "true" if the task is updated successfully; otherwise "false". On success, an additional object, "data" containing updated task will be returned.
fields of "data" object
id number Task's unique identifier.
leadId number Lead's unique identifier.
byUserId number The unique identifier for the admin user created the task.
toUserId number The unique identifier for the admin user assigned on the task.
dueOn string Task due time (in ISO combined date and time extended format with Z designator).
taskType string Possible values: Other, Email, PhoneCall, TextMessage, OnSiteMessage. Default: Other
contents string Task description
isFavorite boolean Is the task is favorite for the user
dateCreated string Task created date (in ISO combined date and time extended format with Z designator).
dateUpdated string Task updated date (in ISO combined date and time extended format with Z designator).
SAMPLE RETURN
{
  "success": true,
  "data": {
    "id": 123456,
    "leadId": 1234,
    "byUserId": 4321,
    "toUserId": 4321,
    "dueOn": "2000-01-27T00:00:00.123Z"
    "taskType": "PhoneCall",
    "contents": "See if responded",
    "isFavorite": true,
    "dateCreated": "2000-01-21T00:00:00.123Z",
    "dateUpdated": "2000-01-25T00:00:00.123Z"
  }
}

Remove Lead Task

/lead-task/{taskId}
DESCRIPTION
Removes an existing lead task in Sierra Interactive system using this public endpoint.
URL STRUCTURE
https://api.sierrainteractivedev.com/leads/task/{taskId}
METHOD
DELETE
PARAMETERS
{taskId} string required url component Task's unique identifier.
RETURNS
"success" field. Its value will be "true" if the task is removed successfully; otherwise "false". On success, an additional object, "data" containing removed task will be returned. see PUT method for response data format
SAMPLE RETURN
{
  "success": true,
  "data": {
    "id": 123456,
    "leadId": 1234,
    "byUserId": 4321,
    "toUserId": 4321,
    "dueOn": "2000-01-27T00:00:00.123Z"
    "taskType": "PhoneCall",
    "contents": "See if responded",
    "isFavorite": true,
    "dateCreated": "2000-01-21T00:00:00.123Z",
    "dateUpdated": "2000-01-25T00:00:00.123Z"
  }
}

Find Lead Tasks

/leads/{leadIdOrEmail}/task?{searchParameters}
/lead-task?{searchParameters}
/lead-task/{taskId}
DESCRIPTION
Find lead tasks matching the specified search criteria
URL STRUCTURE
https://api.sierrainteractivedev.com/leads/{leadIdOrEmail}/task?{searchParameters}
METHOD
GET
PARAMETERS
{leadIdOrEmail} string optional url component Lead's Sierra Interactive unique identifier or email address. Note: if email address is specified, it may need to be URL-encoded. Reference: The encodeURIComponent javascript can be used for encoding email address if the API method is called from a javascript function.
{taskId} string optional url component Task's unique identifier.
leadId number optional Search leads tasks by lead's Sierra Interactive unique identifier. Can be used instead of leadIdOrEmail url component if omitted.
taskId number optional Search leads tasks by unique identifier.
taskIds object optional Search leads tasks by array of unique identifiers.
byUserId number optional Search leads tasks by creator agent admin user unique identifier.
toUserId number optional Search leads tasks by assigned agent admin user unique identifier.
minDueOn string optional Search leads tasks that have due time be more than or equal to specified (in ISO combined date and time extended format with Z designator).
maxDueOn string optional Search leads tasks that have due time be less than specified (in ISO combined date and time extended format with Z designator).
taskType string optional Search leads tasks that have specified task type. Possible values: Other, Email, PhoneCall, TextMessage, OnSiteMessage.
taskTypes object optional Search leads tasks that have one of types specified in the form of an array.
sortColumn string optional Name of the field to sort results by. Possible values: DueOn. By default leads will be sorted in chronological order.
sortOrder string optional Sorting direction. Possible values: "asc", "desc". By default records are sorted in the Ascending order.
pageSize number optional Number of lead tasks to include in the response. Comes into effect if the matching tasks are more than the specified pageSize value. Possible values are 1-100. If omitted then maximum 100 tasks are returned.
pageNumber number optional Specify the page number. If omitted, first page is returned. Comes into effect if the number of matching tasks is greater than the specified pageSize value
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/leads/asdf%40email.com/task?sortColumn=DueOn&sortOrder=desc&pageNumber=1 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/leads/task?taskType=Email&taskType=PhoneCall&minDueOn=2020-04-21T14%3A21%3A25.945Z HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
the matching lead task's details in the "data" object
totalRecordsnumber Total number of lead tasks matching the specified search criteria.
pageSize number Number of lead tasks included per page.
totalPages number Total number of pages
records array Array of leads task objects. See PUT method for lead task record response data format
SAMPLE RETURN
/leads/{leadIdOrEmail}/task?{searchParameters}
/lead-task?{searchParameters}
{
  "success": true,
  "data": {
      "totalRecords": 157,
      "totalPages": 6,
      "pageSize": 30,
      "records": [{
        "id": 123456,
        "leadId": 1234,
        "byUserId": 4321,
        "toUserId": 4321,
        "dueOn": "2000-01-27T00:00:00.123Z"
        "taskType": "PhoneCall",
        "contents": "See if responded",
        "isFavorite": true,
        "dateCreated": "2000-01-21T00:00:00.123Z",
        "dateUpdated": "2000-01-25T00:00:00.123Z"
      }, ...]
  }
}

/lead-task/{taskId}
{
  "success": true,
  "data": {
    "id": 123456,
    "leadId": 1234,
    "byUserId": 4321,
    "toUserId": 4321,
    "dueOn": "2000-01-27T00:00:00.123Z"
    "taskType": "PhoneCall",
    "contents": "See if responded",
    "isFavorite": true,
    "dateCreated": "2000-01-21T00:00:00.123Z",
    "dateUpdated": "2000-01-25T00:00:00.123Z"
  }
}

Add WebHook Subscription

/webhook
DESCRIPTION
Adds a new WebHook subscription in Sierra Interactive system using this public endpoint.
URL STRUCTURE
https://api.sierrainteractivedev.com/webhook
METHOD
POST
PARAMETERS
eventTypes array required System's event types. (see EVENTS)
url string required Subscriber's public URL (http, https schemes).
exceptSystemName string optional Setting to prevent the subscription to be called when Originating System Name was used in corresponding api call with the same value. Possible values: "Automations" - allows to exclude messages that were initiated by Automations service from subscriptions.
autoDeleteByHttpStatuses array optional The list of the HTTP status codes that make subscribtion to be deleted.
SAMPLE REQUEST BODY
{
  "eventTypes": [
    "LeadCreated",
    "LeadClaimed",
    "LeadDetailsChanged",
    "LeadTagAdded",
    "LeadTagRemoved",
    "LeadDeleted",
    "LeadCommunicationLogged",
    "LeadPondChanged"
  ],
  "url": "https://better-secure-than-not.com?someSubscriberPreferredParameter=MyCall",
  "exceptSystemName": "IfMySystemCallingDoNotGenerate"
}
RETURNS
"success" field. Its value will be "true" if the subscription is added successfully; otherwise "false". On success, an additional object, "data" containing subscription id and details will be returned.
fields of "data" object
id string Sierra Interactive system's unique identifier for the newly added subscription. This value can be saved for future purpose
eventTypes array System's event types. (see EVENTS)
url string Subscriber's public URL (http, https schemes).
exceptSystemName string Setting to prevent the subscription to be called when Originating System Name was used in corresponding api call with the same value. Possible values: "Automations" - allows to exclude messages that were initiated by Automations service from subscriptions.
failsCount number Number of times webhook processing for the subscription has failed consecutively. Maximum number of trials is limited and may lead subscription to become "banned": true.
firstFailDate string If failsCount > 0, will contain the date of first fail (in ISO combined date and time extended format / UTC timezone always with Z designator).
lastFailDate string If failsCount > 0, will contain the date of last fail (in ISO combined date and time extended format / UTC timezone always with Z designator).
lastFailReason string If failsCount > 0, will contain the last fail reason. Possible values
  • "UnsuccessfulResponse" - http response status was not relying in the expected range: 200-299
  • "Timeout" - a connection attempt failed after a period of time, or established connection failed because connected host has failed to respond in time
lastFailDetails string If failsCount > 0 then may contain the last fail details. If lastFailReason = "UnsuccessfulResponse" then will contain http response status and body limited to 2048 characters.
banned boolean Banned subscription will not be processed. If subscription will become "banned": true - an email will be sent for the site and it will be required to recreate subscription.
SAMPLE RETURN
{
  "success": true,
  "data": {
    "id": "ea51f40b-eadd-4b0e-9d03-7d7f67892e87",
    "eventTypes": [
      "LeadCreated",
      "LeadClaimed",
      "LeadDetailsChanged",
      "LeadTagAdded",
      "LeadTagRemoved",
      "LeadDeleted",
      "LeadCommunicationLogged"
    ],
    "url": "https://better-secure-than-not.com?someSubscriberPreferredParameter=MyCall",
    "exceptSystemName": "IfMySystemCallingDoNotGenerate",
    "failsCount": 0
  }
}
EVENTS
  • All webhook requests shoud be made via POST method
  • All requests have UTF-8 encoding, "application/json" as Content-Type and unified body structure
Example of event body:
{
  "eventCreated": "2020-04-28T13:16:06.5814753Z",
  "eventType": "SomeEventType",
  "resourceList": [...]
  "data": {...} | [{...}, ...]
}
  • Appearance of resourceList and data depends on exact event type.
  • resourceList contains values of the same type inside an events "category".
Lead events. Example of resourceList - [1,2,3] is a lead IDs
eventType data description
LeadCreated
LeadDeleted
{"claimed": true}
Is sent when the lead was created/deleted. Claimed indicates whether the lead was already claimed before (see LeadClaimed below). LeadCreated is the first event for any given lead. LeadDeleted is the last event.
LeadClaimed
{"claimed": true}
Is sent when a lead's status is changed from Unclaimed to any other status. The corresponding LeadDetailsChanged and all subsequent events will have "claimed": true. LeadClaimed event is reliable and convenient way to keep track of leads which finished initial agents rotation/assignment and have been claimed by the agents.
LeadDetailsChanged
{
  "claimed": true,
  "changes": [{
    "key": <key>,
    "prevValue": <value>,
    "value": <value>
  }]
}
Is sent when any of supported lead JSON properties change its values
  • <key> - one of the supported JSON properties declared in lead GET results
  • <value> - a value of the type specified by the <key>. Both prevValue or value may be absent if there was no value before
List of supported keys:
  • firstName
  • lastName
  • email
  • emailStatus
  • phone
  • phoneStatus
  • birthDate
  • assignedTo - agent user id
  • leadStatus
  • listingAgent - agent user id
  • listingAgentStatus
  • marketingEmailOptOut
  • textOptOut
  • ealertOptOut
  • streetAddress
  • city
  • state
  • zip
  • pondId
  • pondStatus
Notes:
  • assignedTo and listingAgent are exposed in form of agent admin user ID only as the agent's data is rarely changed. This allows us to limit the amount of data going in and out of our system.
LeadTagAdded
LeadTagRemoved
{
  "claimed": true,
  "tag": "SomeTag"
}
Is sent when tag was added/removed for specified leads
LeadCommunicationLogged
{
  "claimed": true,
  "communicationItemType": "PhoneCall",
  "communicationItemId": 123,
  "adminUserId": 234567,
  "inbound": true,
  "changes": [{
    "key": <key>,
    "prevValue": <value>,
    "value": <value>
  }]
}
Is sent when communication with a lead is logged
  • communicationItemType possible values: Email, PhoneCall, TextMessage.
  • communicationItemId - the unique record id of respective communication type changed.
  • adminUserId - an agent admin user ID. Not set in case of system initiated communication.
  • inbound - boolean indicating communication direction. Not set in case of direction is unknown.
  • changes - is sent when any of supported lead communication(PhoneCall) JSON properties change its values.
    • <key> - one of the supported JSON properties for PhoneCall
    • <value> - a value of the type specified by the <key>. Both prevValue or value may be absent if there was no value before
List of supported keys:
  • callStatus
Notes:
  • adminUserId is exposed in form of agent admin user ID only as the agent's data is rarely changed. This allows us to limit the amount of data going in and out of our system.
LeadPondChanged
{
  "pondId": 12,
  "changes": [{
    "key": <key>,
    "prevValue": <value>,
    "value": <value>
  }]
}
Is sent when any of supported lead pond JSON properties change its values
  • pondId - the unique identifier of the pond changed
  • <key> - one of the supported JSON properties mentioned below.
  • <value> - a value of the type specified by the <key>.
List of supported keys:
  • defaultUserId
  • userIds

Remove WebHook Subscription

/webhook/{subscriptionId}
DESCRIPTION
Removes an existing WebHook subscription in Sierra Interactive system using this public endpoint.
URL STRUCTURE
https://api.sierrainteractivedev.com/webhook/{subscriptionId}
METHOD
DELETE
PARAMETERS
subscriptionId string Sierra Interactive system's unique identifier for any newly added subscription. This value can be used for performing GET or POST methods
RETURNS
"success" field. Its value will be "true" if the subscription is removed successfully; otherwise "false". On success, an additional object, "data" containing removed subscription will be returned. see POST method for response data format
SAMPLE RETURN
{
  "success": true,
  "data": {
    "id": "ea51f40b-eadd-4b0e-9d03-7d7f67892e87",
    "eventTypes": [
      "LeadCreated",
      "LeadClaimed",
      "LeadDetailsChanged",
      "LeadTagAdded",
      "LeadTagRemoved",
      "LeadDeleted",
      "LeadCommunicationLogged",
      "LeadPondChanged"
    ],
    "url": "https://better-secure-than-not.com?someSubscriberPreferredParameter=MyCall",
    "exceptSystemName": "IfMySystemCallingDoNotGenerate",
    "failsCount": 4,
    "firstFailDate": "2000-01-21T00:00:00.123Z",
    "lastFailDate": "2020-01-21T00:00:00.123Z",
    "lastFailReason": "Timeout",
    "lastFailDetails": "WebHook target request processing timeout occured",
    "banned": true
  }
}

Retrieve WebHook Subscriptions

/webhook
DESCRIPTION
Find WebHook subscriptions matching the specified search criteria
URL STRUCTURE
https://api.sierrainteractivedev.com/webhook
METHOD
GET
PARAMETERS
banned boolean optional Select subscriptions only with specified ban state.
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/webhook?banned=true HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
"success" field. Its value will be "true" if the request was successful; otherwise "false". On success, an additional object, "data" containing an array of previously created subscriptions will be returned. see POST method for the array item format
SAMPLE RETURN
{
  "success": true,
  "data": [{
    "id": "ea51f40b-eadd-4b0e-9d03-7d7f67892e87",
    "eventTypes": [
      "LeadCreated",
      "LeadClaimed",
      "LeadDetailsChanged",
      "LeadTagAdded",
      "LeadTagRemoved",
      "LeadDeleted",
      "LeadCommunicationLogged",
      "LeadPondChanged"
    ],
    "url": "https://better-secure-than-not.com?someSubscriberPreferredParameter=MyCall",
    "exceptSystemName": "IfMySystemCallingDoNotGenerate",
    "failsCount": 2,
    "firstFailDate": "2000-01-21T00:00:00.123Z",
    "lastFailDate": "2020-01-21T00:00:00.123Z",
    "lastFailReason": "UnsuccessfulResponse",
    "lastFailDetails": "Webhook subscriber responded with non successive status: 303. Body: ",
    "banned": false
  }]
}

Retrieve Lead Sources

/lead-sources
DESCRIPTION
Find Lead Sources matching the specified search criteria
URL STRUCTURE
https://api.sierrainteractivedev.com/lead-sources
METHOD
GET
PARAMETERS
custom boolean optional Select lead sources only with specified custom value.
active boolean optional Select lead sources only with specified active value.
namesAfter string optional Select lead sources with a name greater than specified. Can be used together with "&sortBy=Name" for infinite-scroll pagination.
matchAny array optional Select lead sources matching to at least one of specified (see anyOfLeadSources parameter of Find Leads method).
sortBy string optional Name of the sorting. Possible values: Name.
sortOrder string optional Sorting direction. Possible values: "asc", "desc". By default records will be sorted in the Ascending order.
pageSize number optional Number of lead sources to include in the response. Comes into effect if the matching lead sources are more than the specified pageSize value. Possible values are 1-100. If omitted then maximum 100 tasks are returned.
pageNumber number optional Specify the page number. If omitted, first page is returned. Comes into effect if the number of matching lead sources is greater than the specified pageSize value
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/webhook?custom=false&active=true&namesAfter=Source1&pageSize=30 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/webhook?matchAny=Source2&matchAny=Source3&pageSize=30 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
"success" field. Its value will be "true" if the request was successful; otherwise "false". On success, an additional object, "data" containing an array of lead sources will be returned.
SAMPLE RETURN
{
  "success": true,
  "data": {
    "totalRecords": 157,
    "totalPages": 6,
    "pageNumber": 1,
    "pageSize": 30,
    "records": [{
      "name": "Source2",
      "custom": false,
      "active": true
    }, ...]
  }
}

Find Lead Tags

/leadTags?{searchParameters}
DESCRIPTION
Find leads tags matching the specified search criteria
URL STRUCTURE
https://api.sierrainteractivedev.com/leadTags?{searchParameters}
METHOD
GET
PARAMETERS
name string optional Search leads tags which contains specified name text. Examples: "Test", ">$100,000", "Indianapolis"
names array optional Search lead tags by specified array of lead tag names.
tagIds array optional Search lead tags by specified array of tag ids
sortColumn string optional Name of the field to sort results by. Possible values: Name, CategoryName. By default tags will be sorted by their name.
sortOrder string optional Sorting direction. Possible values: "asc", "desc". By default tags will be sorted in the Ascending order.
pageSize number optional Number of lead tags to include in the response. Comes into effect if the matching lead tags are more than the specified pageSize value. Possible values are 1-100. If omitted then maximum 100 lead tags are returned.
pageNumber number optional Specify the page number. If omitted, first page is returned. Comes into effect if the number of matching lead tags is greater than the specified pageSize value
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/leadTags HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/leadTags?name=test&sortColumn=name&sortOrder=desc&pageSize=50&pageNumber=1 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/leadTags?tagIds=6843,6869 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/leadTags?names=Test-1,Test-2 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
the matching lead tags' in the "data" object
totalRecordsnumber Total number of lead tags matching the specified search criteria.
pageSize number Number of lead tags included per page.
totalPages number Total number of pages
data array Array of lead tag objects.
SAMPLE RETURN
{
  "success": true,
  "data": {
    "totalRecords": 2,
    "totalPages": 1,
    "pageNumber": 1,
    "pageSize": 100,
    "records": [
        {
          "id": 6843,
          "name": "Blog Post testing tag",
          "description": "test",
          "category": {
            "id": 1,
            "name": "qweq",
            "description": "qwe"
          }
        },
        {
          "id": 6869,
          "name": "Lead Detail - Review Testing tag 3",
          "description": "",
          "category": {
            "id": 1,
            "name": "qweq",
            "description": "qwe"
          }
        }
    ]
  }
}

Get Phone Call Details

/phoneCall/{id}
DESCRIPTION
Retrieves details of phone call specified by unique identifier.
URL STRUCTURE
https://api.sierrainteractivedev.com/phoneCall/{id}
METHOD
GET
PARAMETERS
id int required url component unique record identifier.
RETURNS
the matching phone call details in the "data" object
fields of "data" object
id number Phone call identifier.
leadId number Lead id of phone call.
callStatus string Call outcome status. Possible values for

inbound call:
  • Unknown call status
  • Talked to Lead
  • Call Missed, Lead Left Message
  • Call Missed, Lead Didn't Leave Message
  • Call Rejected by Agent, Lead Left Message
  • Call Rejected by Agent, Lead Didn't Leave Message
  • Lead Requested Opt Out / Do Not Call Again
  • Talked to Lead and Scheduled Buyer Appt.
  • Talked to Lead and Scheduled Listing Appt.
outbound call:
  • Unknown call status
  • Talked to Lead
  • Left Message
  • Reached Voicemail, Didn't Leave Message
  • Call Attempt, No Answer
  • Opted Out / Do Not Call Again
  • Wrong Number
  • Talked to Lead and Scheduled Buyer Appt.
  • Talked to Lead and Scheduled Listing Appt.
note string note added to phone call outcome.
callType string Phone Call type. Possible values: Inbound, Outbound.
dateAdded string Phone call created date (in ISO combined date and time extended format with Z designator).
callDuration number Duration of phone call (in seconds).
SAMPLE RETURN
{
 "success": true,
 "data": {
   "id": 10,
   "leadId": 123,
   "note": "Note text",
   "callStatus": "Unknown call status",
   "callType": "Inbound",
   "dateAdded": "2000-01-21T00:00:00Z",
   "callDuration": 11
  }
}

Find Users

/users?{searchParameters}
/users/{userId}
DESCRIPTION
Find users matching the specified search criteria
URL STRUCTURE
https://api.sierrainteractivedev.com/users?{searchParameters}
METHOD
GET
PARAMETERS
name string optional Search users by name. Accepts first name and / or last name. Examples: "John", "Doe", "John Doe".
email string optional Search users by the specified email address. Accepts full email address (e.g. johndoe@server.com)
pondId number optional Search users by the pond they belong to. Specify pond's Sierra Interactive unique identifier.
userIds string optional Search users by comma separated list of unique identifiers.
sortColumn string optional Name of the field to sort results by. Possible values: Name, Id, Email, Created. By default users are sorted by Name.
sortOrder string optional Sorting direction. Possible values: "asc", "desc". By default records are sorted in the Ascending order.
pageSize number optional Number of users to include in the response. Comes into effect if the matching users are more than the specified pageSize value. Possible values are 1-100. If omitted then maximum 100 users are returned.
pageNumber number optional Specify the page number. If omitted, first page is returned. Comes into effect if the number of matching users is greater than the specified pageSize value
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/users?sortColumn=Name&sortOrder=desc&pageNumber=1 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/users?name=john&email=johndoe@server.com HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
the matching users's details in the "data" object
totalRecordsnumber Total number of users matching the specified search criteria.
pageSize number Number of users included per page.
totalPages number Total number of pages
records array Array of user objects.
user object.
id number User's unique identifier.
firstName string User's first name.
lastName string User's last name.
name string User's full name.
email string User's email address.
phone string User's phone number.
created string The date the user was created(in ISO combined date and time extended format with Z designator).
status string User's status. Possible values: Active, Inactive, OnHold
SAMPLE RETURN
/users?{searchParameters}
{
    "success": true,
    "data": {
        "totalRecords": 45,
        "totalPages": 1,
        "pageNumber": 1,
        "pageSize": 100,
        "records": [
            {
                "id": 2897,
                "firstName": "John",
                "lastName": "Agent",
                "name": "John Agent",
                "email": "john.agent@site.com",
                "phone": "(760) 887-8888",
                "created": "2015-03-31T09:50:14Z",
                "status": "Active"
            },
            {
                "id": 2964,
                "firstName": "John",
                "lastName": "Manager",
                "name": "John Manager",
                "email": "john.manager@site.com",
                "phone": "(111) 111-1111",
                "created": "2018-03-21T05:41:48Z",
                "status": "Active"
            },...]
  }
}

/users/{userId}
{
    "success": true,
    "data": {
        "id": 2897,
        "firstName": "John",
        "lastName": "Agent",
        "name": "John Agent",
        "email": "john.agent@site.com",
        "phone": "(856) 887-8888",
        "created": "2015-03-31T09:50:14Z",
        "status": "Active"
    }
}

Find Lead Ponds

/leadPonds?{searchParameters}
/leadPonds/{pondId}
DESCRIPTION
Find lead ponds matching the specified search criteria
URL STRUCTURE
https://api.sierrainteractivedev.com/leadPonds?{searchParameters}
METHOD
GET
PARAMETERS
name string optional Search lead ponds by name. Accepts full or partial name. Examples: "Lead", "Pond", "Lead Pond"
pondIds string optional Search ponds by comma separated list of unique identifiers.
sortColumn string optional Name of the field to sort results by. Possible values: Name, Id. By default ponds are sorted by Name.
sortOrder string optional Sorting direction. Possible values: "asc", "desc". By default records are sorted in the Ascending order.
pageSize number optional Number of lead ponds to include in the response. Comes into effect if the matching lead ponds are more than the specified pageSize value. Possible values are 1-100. If omitted then maximum 100 lead ponds are returned.
pageNumber number optional Specify the page number. If omitted, first page is returned. Comes into effect if the number of matching lead ponds is greater than the specified pageSize value
SAMPLE REQUEST
GET https://api.sierrainteractivedev.com/leadPonds?sortColumn=Name&sortOrder=desc&pageNumber=1 HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
OR
GET https://api.sierrainteractivedev.com/leadPonds?name=test HTTP/1.1
Content-Type: application/json
Sierra-ApiKey: 51DCDDF9-FD65-4E2A-8078-BA15FE1BEFD2
RETURNS
the matching lead pond's details in the "data" object
totalRecordsnumber Total number of lead ponds matching the specified search criteria.
pageSize number Number of lead ponds included per page.
totalPages number Total number of pages
records array Array of lead pond objects.
SAMPLE RETURN
/leadPonds?{searchParameters}
{
    "success": true,
    "data": {
        "totalRecords": 2,
        "totalPages": 1,
        "pageNumber": 1,
        "pageSize": 100,
        "records": [
            {
                "id": 1,
                "name": "Pond 1",
                "description": "First lead pond",
                "defaultUserId": 1234,
                "userIds": [
                    2345,
                    3456,
                    4567,
                    5678,
                    ...
                    ]
            },
            {
                "id": 2,
                "name": "Pond 2",
                "description": "Second lead pond",
                "defaultUserId": 9870,
                "userIds": [
                    8765,
                    7654
                ]
            }
        ]
    }
}

/leadPonds/{pondId}
{
    "success": true,
    "data": {
        "id": 1,
        "name": "Pond 1",
        "description": "First lead pond",
        "defaultUserId": 1234,
        "userIds": [
            2345
        ]
    }
}

Add Site Visit

/leads/{leadIdOrEmail}/siteVisit
DESCRIPTION
Adds a new site visit for the specified lead in Sierra Interactive system using this public endpoint.
URL STRUCTURE
https://api.sierrainteractivedev.com/leads/{leadIdOrEmail}/siteVisit
METHOD
POST
PARAMETERS
{leadIdOrEmail} string required url component Lead's Sierra Interactive unique identifier or email address. Note: if email address is specified, it may need to be URL-encoded. Reference: The encodeURIComponent javascript can be used for encoding email address if the API method is called from a javascript function.
url string required URL of the site visited.
visitDateTime string required The date / time of the site visited (in ISO combined date and time extended format with Z designator).
referrer string optional Visit Referrer URL.
SAMPLE REQUEST BODY
{
  "url": "www.sierrainteractive.com",
  "visitDateTime": "2000-01-21T00:00:00.123Z",
  "referrer": "https://www.google.com/?q=sierra%20interactive",
}
RETURNS
"success" field. Its value will be "true" if the site visit is added successfully; otherwise "false".
SAMPLE RETURN
{
  "success": true,
}