Alpha Only: This service is subject to change
This service is a work in progress. It is currently subject to change or removal without notice.

Listings: Rules

Rulesets can be defined for each property type in an MLS that govern how listing data is entered into the system. Examples of listing rules are 'required fields' and 'conditionally required fields'.

  1. Supported Roles
  2. Available Services
    1. Listing Rules Metadata
    2. Listing Rules
    3. Individual Listing Rule
    4. Listing Rules for a Property Type
    5. Listing Rules for an Action
    6. Listing Rules for a Field
  3. Listings: Rules Description
  4. Expansions
  5. API Explorer

Supported Roles

Role Reads Writes Notes
IDX No No
Public No No
VOW No No
Portal No No
Private Yes Yes Special permission is required to modify rules for an MLS.
More information about roles may be found here.

Available Services

Listing Rules Metadata

/<API Version>/listings/rules/meta

HTTP Method Description Conditional Notes
GET Gets rules metadata. No
POST Returns HTTP 405 (Method Not Allowed) No Not implemented
PUT Returns HTTP 405 (Method Not Allowed) No Not implemented
DELETE Returns HTTP 405 (Method Not Allowed) No Not implemented

GET Request

Parameters:
  • None

GET Response

{
        "D": {
                "Success": true,
                "Results": [
                        {
                                "Action": ["ACCEPT", "REJECT", "SET", "SET_DEFAULT", "SET_DISPLAY", "SET_PICKLIST", "RESTRICT_PICKLIST", "SET_READ_ONLY", "SET_REQUIRED"],
                                "ApprovalStatus": ["In Review", "Published", "Deactivated"],
                                "Domain": ["StandardFields", "CustomFields"]
                        }
                ]
        }
}

Listing Rules

/<API Version>/listings/rules

HTTP Method Description Conditional Notes
GET Returns HTTP 405 (Method Not Allowed) No Not implemented
POST Creates a new listing rule or set of rules for the same PropertyType. No
PUT Returns HTTP 405 (Method Not Allowed) No Not implemented
DELETE Returns HTTP 405 (Method Not Allowed) No Not implemented

POST Request

Request body:
{
   "D":{
     "PropertyType": "A",
     "Group": null,
     "Domain": null,
     "Field": "BathsTotal",
     "Action": "SET_REQUIRED",
     "Expression": "StandardStatus = 'Active'"
   }
}

POST Response

The standard success/fail response with additional error information is returned.

Individual Listing Rule

/<API Version>/listings/rules/<Rule.Id>

HTTP Method Description Conditional Notes
GET Returns HTTP 405 (Method Not Allowed) No Not implemented
POST Returns HTTP 405 (Method Not Allowed) No Not implemented
PUT Updates an existing rule. No
DELETE Deletes a rule No

PUT Request

Request body:
{
   "D":{
      "Action": "SET_REQUIRED",
      "Order": 1
   }
}

PUT Response

The standard success/fail response with additional error information is returned.

DELETE Request

Parameters:
  • None

DELETE Response

The standard success/fail response is returned.

Listing Rules for a Property Type

/<API Version>/listings/rules/propertytypes/<PropertyType.MlsCode>

HTTP Method Description Conditional Notes
GET Returns all rules for a property type No
POST Adds a new rule to a property type No
PUT Replaces all rules for a property type No
DELETE Returns HTTP 405 (Method Not Allowed) No Not implemented

GET Request

Parameters:
Parameter Required Notes
Pagination No _limit can be set to all to return all records.

GET Response

{
        "D": {
                "Success": true,
                "Results": [{
                                "Id": 1,
                                "ResourceUri": "/vX/listings/rules/1",
                                "Group": null,
                                "Domain": null,
                                "Field": "BathsTotal",
                                "Action": "SET_REQUIRED",
                                "Expression": "StandardStatus = 'Active'",
                                "ApprovalStatus": "Published",
                                "Editable": false,
                                "ModificationTimestamp": "2012-03-06T16:28:42Z",
                                "CreatedTimestamp": "2012-03-06T16:28:42Z"
                        },
                        {
                                "Id": 2,
                                "ResourceUri": "/vX/listings/rules/2",
                                "Group": null,
                                "Domain": null,
                                "Field": "ListPrice",
                                "Action": "SET_REQUIRED",
                                "Expression": null,
                                "ApprovalStatus": "In Review",
                                "Editable": true,
                                "ModificationTimestamp": "2012-03-06T16:29:21Z",
                                "CreatedTimestamp": "2012-03-06T16:29:21Z"
                        }
                ]
        }
}

POST Request

Request body:
{
   "D": {
     "Group": null,
     "Domain": null,
     "Field": "BathsTotal",
     "Action": "SET_REQUIRED",
     "Expression": "StandardStatus = 'Active'"
   }
}

POST Response

The standard success/fail response with additional error information is returned.

PUT Request

Request body:
{
   "D": [
      {
         "Group": null,
         "Domain": null,
         "Field": "BathsTotal",
         "Action": "SET_REQUIRED",
         "ApprovalStatus": "Published",
         "Expression": "StandardStatus = 'Active'"
      },
      {
         "Group": null,
         "Domain": null,
         "Field": "ListPrice",
         "Action": "SET_REQUIRED",
         "Expression": null
      }
   ]
   
}

PUT Response

The standard success/fail response with additional error information is returned.

Listing Rules for an Action

/<API Version>/listings/rules/propertytypes/<PropertyType.MlsCode>/actions/<Rule.Action>

HTTP Method Description Conditional Notes
GET Returns all rules for a specific action and property type No
POST Returns HTTP 405 (Method Not Allowed) No Not implemented
PUT Returns HTTP 405 (Method Not Allowed) No Not implemented
DELETE Returns HTTP 405 (Method Not Allowed) No Not implemented

GET Request

Parameters:
Parameter Required Notes
Pagination No _limit can be set to all to return all records.

GET Response

See the GET request section for for the Listing Rules for a Property Type service.

Listing Rules for a Field

/<API Version>/listings/rules/propertytypes/<PropertyType.MlsCode>/fields/<Rule.FieldName>

HTTP Method Description Conditional Notes
GET Returns all rules for a specific field and property type No
POST Returns HTTP 405 (Method Not Allowed) No Not implemented
PUT Returns HTTP 405 (Method Not Allowed) No Not implemented
DELETE Returns HTTP 405 (Method Not Allowed) No Not implemented

GET Request

Parameters:
Parameter Required Notes
Pagination No _limit can be set to all to return all records.

GET Response

See the GET request section for for the Listing Rules for a Property Type service.

Listing: Rules Description

Attribute Data Type Writeable Required Description
Id Character No No The unique id for the rule.
ResourceUri Character No No The URI to the individual rule.
Order Integer Yes No The position of the rule in the full result set for a property type. The value must be greater than 0, and any number higher than the total number of rules will position the rule at the default location: the last position in the list.
Domain Character Creation only Yes May be one of the following: StandardFields or CustomFields.
Group Character Creation only If Domain is CustomFields The custom fields group for the field.
FieldName Character Creation only Yes The standard or custom field name the Action applies to.
Action Character Yes Yes May be one of the following: ACCEPT, REJECT, SET, SET_DEFAULT, or SET_REQUIRED.
Expression Character Yes No A validation Expression for setting field values or conditionally applying a rule Action.
ApprovalStatus Character Yes No May be one of the following: In Review, Published, or Deactivated. New rules are In Review by default and only Published rules are active during validation processing.
Editable Boolean No No Indicates whether the current user may edit this rule.
ModificationTimestamp Timestamp No No The date and time when the history event occurred.
CreatedTimestamp Timestamp No No The date and time when the history event occurred.
Status Character No No Fatal, Warn or Dropped. This attribute is only present in the Errors attribute when validating requests.

Actions

Name Expression example Description
ACCEPT StandardStatus = 'Active' When true, the field is accepted a valid and all subsequent validation rules for this field will be skipped. However, any SET actions will still be enforced.
REJECT ListPrice < 0 When true, the field is rejected and all subsequent validation rules for this field including SET actions will be skipped.
SET Acres / 43560 Set a value to be saved. This overrides any value specified by a previous rule.
SET_DEFAULT 'Active' Prefill the value on a new listing.
SET_DISPLAY .TRUE. Indicator that this field should display to the user on the client. The API does not validate this expression.
SET_PICKLIST ('Fargo','Moorhead') On a field that has a PICKLIST, this action will fail validation if the field value is not a part of the subset provided. The values in the expression must be members of the field's PICKLIST.
SET_READ_ONLY .TRUE. Indicator that this field is not allowed to change by the user. The field will fail validation if the user has updated the value.
SET_REQUIRED .TRUE. The FieldName must have a value.
RESTRICT_PICKLIST ('Fargo','Moorhead') This is the counterpart to SET_PICKLIST, but validates to support all values in the PICKLIST except for what's in the expression list.

Expansions

None.

API Explorer

The API Explorer does not currently support this service.