Custom Fields

Listing Expansions
When using this meta data in conjunction with listing data, be sure to use the CustomFieldsRaw or CustomFieldsExpandedRaw expansions instead of the CustomFields or CustomFieldsExpanded expansions.
The Custom Fields API allows retrieval of grouped lists of supported custom fields.
  1. Supported Roles
  2. Available Services
    1. All Custom Fields
    2. Individual Custom Fields
    3. Last Updated Timestamp
  3. Response Description
  4. Expansions
  5. API Explorer

Supported Roles

Role Reads Writes Notes
IDX Yes No
VOW Yes No
Private Yes No
More information about roles may be found here.

Available Services

All Custom Fields

URI: /<API Version>/customfields

HTTP Method Description Conditional Notes
GET Returns custom field metadata Yes
POST,PUT,DELETE Returns HTTP 405 (Method Not Allowed) No Not implemented

GET Request

Parameters:

Parameter Description Required
_mls A comma-separated list of MLS IDs the custom fields should be common across No

GET Response

Example:
{
    "D": {
        "Success": true,
        "LastUpdated": "2012-11-01T20:52:13Z",
        "Results": [
          {
            "General Property Description": {
              "Fields": {
                "Directions": {
                  "ResourceUri": "/v1/customfields/Directions",
                  "HasList": false,
                  "Label": "Directions",
                  "MaxListSize": 0,
                  "Searchable": true,
                  "Type": "Character",
                  "MlsVisible": ["A", "G", "M"]
                },
                "Flood Plain": {
                  "ResourceUri": "/v1/customfields/Flood Plain",
                  "HasList": true,
                  "MultiSelect": false,
                  "Label": "Flood Plain",
                  "MaxListSize": false,
                  "Searchable": true,
                  "Type": "Character",
                  "MlsVisible": ["A", "G", "I", "J", "M"]
                },
                "Taxes": {
                  "ResourceUri": "/v1/customfields/Taxes",
                  "HasList": false,
                  "Label": "Taxes",
                  "MaxListSize": 0,
                  "Searchable": true,
                  "Type": "Decimal",
                  "MlsVisible": ["B", "C", "E"]
                }
              },
              "Label": "General Property Description"
            }
          }
        ]
    }
}

Individual Custom Field

URI: /<API Version>/customfields/<CustomField>

HTTP Method Description Conditional Notes
GET Returns metadata for an individual custom field Yes
POST,PUT,DELETE Returns HTTP 405 (Method Not Allowed) No Not implemented

GET Request

Parameters:

Parameter Description Required
_mls A comma-separated list of MLS IDs the custom fields should be common across No

GET Response

Example:
{
    "D": {
        "Success": true,
        "Results": [
          {
            "Taxes": {
              "ResourceUri": "/v1/customfields/Taxes",
              "HasList": false,
              "Label": "Taxes",
              "MaxListSize": 0,
              "Searchable": true,
              "Type": "Decimal",
              "MlsVisible": ["B", "C", "E"]
            }
          }
        ]
    }
}

Last Updated Timestamp

URI: /<API Version>/customfields/lastupdated

URI: /<API Version>/mls/<MlsId>/customfields/lastupdated

HTTP Method Description Conditional Notes
GET Returns the LastUpdated attribute, which notes the last time the data provided by this service was updated. Yes
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,
    "LastUpdated":"2012-11-01T20:55:02Z"
  }
}

Response Format

The top level LastUpdated attribute is only available for the All service and reflects the last time any fields in the result list was updated.

Attribute Description
ResourceUri The URI to retrieve the field data from.
Type The data type of the field.
Label The human-friendly label for the standard field.
Searchable true if the listings can be filtered by the field.
MlsVisible.PropertyTypes An array of PropertyType.MlsCode detailing which property types corresponding listing data will be visible under.
HasList true if the field has a FieldList attribute.
MultiSelect true if the field has a FieldList attribute and listing data for this field can have multiple values from this list.

The Defaults attribute is only available for Date types:

Attribute Description
Defaults.FromQuantity The quantity to apply to FromUnit.
Defaults.FromUnit One of the following: day, month, year.
Defaults.ToQuantity The quantity to apply to ToUnit.
Defaults.ToUnit One of the following: day, month, year.


The FieldList attribute is only present when retrieving an individual field for data where HasList=true:

Attribute Description
FieldList.Name The human friendly name for the field.
FieldList.Value The searchable code for the field.
FieldList.AppliesTo An array of PropertyType.MlsCode the field list item is valid under.


When the MultiSelect attribute for a field is true, the listing may have multiple values from FieldList. In the Listing payload, the field is represented as an associative array. Below is an example of the PoolFeature field for a listing.

{
    "D": {
        "Results": [
            {
                "StandardFields": {
                    "PoolFeatures": {
                        "Private": true
                    }
                }
            }
        ],
        "Success": true
    }
}
See the Listing Search Parameters page for details on using this field with the _filter parameter.

Expansions

  • None

API Explorer

Interact with this service using the API Explorer.