Index | Authentication | Offices | Associates | Properties | Property Descriptions | Property Rooms | Property Images
Lookups | Geo data | Files

Properties

Supported methods

* All listings are provided as example.They might not contain the entire list of fields. For the complete list of fields, please consult the corresponding data dictionary.


Get properties list

This method returns the paginated list of properties.

Using the default options, the method returns only public available properties. See optional parameters below.

You cannot get the entire list of properties in one call. You have to make multiple calls, in pages, until you get the entire list.

Call

GET integrator/{integrator id}/properties?page={page number}&take={page size}

All parameters can be used in the same time. Their effect is cummulative.

Required parameters:

page
Represents the page number you want to retrieve from the available list of records. The minimum value is 1. The maximum value can be found out from the Response from TotalPageCount element.
take
Represents the page size. How many records a page should contain. The minimum value is 1, the maximum value is 100.

Optional parameters:

all
If this optional parameter is ommitted or all=false, then only public available properties are retrieved. If all=true, then all resource records are retrieved.
startDate
If this optional parameter is used, then only records that were modified from this date (inclusive) will be returned. Use English date format. Recommended format: yyyy-MM-ddThh:mm:ss
endDate
If this optional parameter is used, then only records that were modified until this date (inclusive) will be returned. Recommended format: yyyy-MM-ddThh:mm:ss
officeID
Get only properties that belong to this Office ID (this is the GryphTech office ID)
associateID
Get only properties that belong to this Associate ID (this is Gryphtech Associate ID)

Request

GET http://rexapi.gryphtech.com/api/v1/integrator/1005001/properties?page=1&take=100 HTTP/1.1 

Authorization: OAUTH oauth_token="pfl4PLrrHKChIRoDS2O9Wfoyr1yjKgbEjCxk+", api_key="10D35802-C92A-42B3-88FC-A4489A3CD619" 
Accept: application/xml; charset=utf-8

Response XML

HTTP/1.1 200 OK 
Content-Type: application/xml; charset=utf-8

<RexApiList> 
   <HasNextPage>true</HasNextPage> 
   <HasPreviousPage>false</HasPreviousPage> 
   <PageIndex>1</PageIndex> 
   <PageSize>100</PageSize> 
   <TotalCount>6775</TotalCount> 
   <TotalPageCount>68</TotalPageCount> 
   <Items>
      <Property> 
         <AlternateExternalID>0</AlternateExternalID>
         <AlternateURL>www.properties.com/mls/0-PV14150223</AlternateURL>         
         <AssociateExternalID>217202</AssociateExternalID>
         <YouTube>https://www.youtube.com/watch?v=aBph-lQEmMw&feature=youtu.be</YouTube>
         .....
</Property>
.....
</Items>
</RexApiList>

Response JSON

HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8

{ 
 "PageIndex": 1, 
 "PageSize": 100, 
 "TotalCount": 6775, 
 "TotalPageCount": 68, 
 "HasNextPage": true, 
 "HasPreviousPage": false, 
 "Items": [ 
  {
   "IntegratorID": 1005001, 
   "ID": "100534", 
   "ExternalID": "PV14150223_CKW",
   .....
},
.....
]
}

Http Status Codes Responses & Messages

Status Message Description
200 - OK You get the list of objects Call was successful
404 - Bad request <Error>
   <Message>The request is invalid.</Message>
   <ModelState>
      .....
   </ModelState>
</Error>
You used the wrong parameter values. <ModelState> element will provide you the necessary details. Please correct the issues and try again.


Get property

This method returns the details of requested property.

GET integrator/{integrator id}/properties/{resource id}

Required parameters:

resource id
Gryphtech Property ID or your own ExternalID can be used. To use ExternalID , prefix your id with "ext-", like this: ext-ExternalID
{ExternalID} can contain only numbers, non accented letters and characters "_", "-"

Example of call using Gryphtech ID: integrator/1005001/properties/1005344006-14
Example of call using your own ExternalID: integrator/1005001/properties/ext-abc_456

Request

GET http://rexapi.gryphtech.com/api/v1/integrator/1005001/properties/1005344006-14 HTTP/1.1 

Authorization: OAUTH oauth_token="pfl4PLrrHKChIRoDS2O9Wfoyr1yjKgbEjCxk+", api_key="10D35802-C92A-42B3-88FC-A4489A3CD619" 
Accept: application/xml; charset=utf-8

Response XML

HTTP/1.1 200 OK 
Content-Type: application/xml; charset=utf-8

<Property xmlns="">
  <AlternateExternalID>0</AlternateExternalID>
  <AlternateURL>www.properties.com/mls/0-PV14150223</AlternateURL>  
  <AssociateExternalID>217202</AssociateExternalID>
  <AssociateID>1005344006</AssociateID>
  <CommercialResidential>2</CommercialResidential>
  <ContractType>29</ContractType>
  <CreatedDate>2014-10-04T09:44:00</CreatedDate>
  <CurrentListingCurrency>USD</CurrentListingCurrency>
  <CurrentListingPrice>245000.0000</CurrentListingPrice>
  <Disabled>false</Disabled>
  <ExternaID>PV14150223_CKW</ExternaID>
  <Features>63</Features>
  <GeoCoordinates>
      <Latitude>33.819666000000</Latitude>
      <Longitude>-118.315253000000</Longitude>
  </GeoCoordinates>
  <GeoData>
      <CityID>4198103</CityID>
  </GeoData>
  <HidePricePublic>false</HidePricePublic>
  <ID>1005344006-14</ID>
  <IntegratorID>1005001</IntegratorID>
  <ListingID>14</ListingID>
  <ListingStatus>160</ListingStatus>
  <LivingArea>1</LivingArea>
  <LotSize>0.7590 acres</LotSize>
  <ModifiedDate>2014-11-27T08:22:00</ModifiedDate>
  <NumberOfBathrooms>1</NumberOfBathrooms>
  <NumberOfBedrooms>1</NumberOfBedrooms>
  <OfficeExternalID>6242</OfficeExternalID>
  <OfficeID>1005344</OfficeID>
  <OrigListingDate>2014-10-04T09:43:45</OrigListingDate>
  <PostalCode>90501</PostalCode>
  <PropertyStatus>188</PropertyStatus>
  <PropertyType>194</PropertyType>
  <RegionID>1005</RegionID>
  <ShowAddressOnWeb>true</ShowAddressOnWeb>
  <SoldDate>0001-01-01</SoldDate>
  <StreetName>2742 Cabrillo Avenue Unit 214</StreetName>
  <TransactionType>261</TransactionType>
  <YouTube>https://www.youtube.com/watch?v=aBph-lQEmMw&feature=youtu.be</YouTube>
</Property>

Response JSON

HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8

  {
   "IntegratorID": 1005001,
   "ID": "1005344006-14",
   "ExternaID": "PV14150223_CKW",
   "CreatedDate": "2014-10-04T09:44:00",
   "ModifiedDate": "2014-11-27T08:22:00",
   "AlternateExternalID": "0",
   "OfficeID": 1005344,
   "OfficeExternalID": "6242",
   "AssociateID": 1005344006,
   "AssociateExternalID": "217202",
   "ListingID": 14,
   "RegionID": 1005,
   "Disabled": false,
   "CommercialResidential": 2,
   "StreetName": "2742 Cabrillo Avenue Unit 214",
   "PostalCode": "90501",
   "GeoData": 
     {
       "CityID": 4198103
     },
   "GeoCoordinates": 
     {
       "Latitude": 33.819666,
       "Longitude": -118.315253
     },
   "CurrentListingPrice": 245000,
   "CurrentListingCurrency": "USD",
   "HidePricePublic": false,
   "ShowAddressOnWeb": true,
   "SoldDate": "0001-01-01",
   "TransactionType": 261,
   "ContractType": 29,
   "PropertyStatus": 188,
   "PropertyType": 194,
   "ListingStatus": 160,
   "LivingArea": 1,
   "LotSize": "0.7590 acres",
   "NumberOfBathrooms": 1,
   "NumberOfBedrooms": 1,
   "OrigListingDate": "2014-10-04T09:43:45",
   "AlternateURL": "www.properties.com/mls/0-PV14150223",
   "YouTube": "https://www.youtube.com/watch?v=aBph-lQEmMw&feature=youtu.be",
   "Features": "63"
  }

Http Status Codes Responses & Messages

Status Message Description
200 - OK You get the resource object Call was successful
404 - Not Found   Resource was not found for the specified ID


Create property

This method allows you to create a new property.

Following values from your object model are ignored:

Call

POST integrator/{integrator id}/properties

Request XML

In XML, elements order is important. The order is alphabetical.

POST http://rexapi.gryphtech.com/api/v1/integrator/1005001/properties HTTP/1.1 
Accept: application/xml; charset=utf-8 
Content-Type: application/xml; charset=utf-8 
Authorization: OAUTH oauth_token="pfl4PLrrHKChIRoDS2O9Wfoyr1yjKgbEjCxk", api_key="10D35802-C92A-42B3-88FC-A4489A3CD619" 

<Property xmlns="">
  <AlternateExternalID>0</AlternateExternalID>
  <AlternateURL>www.properties.com/mls/0-PV14150223</AlternateURL> 
  <AssociateExternalID>217202</AssociateExternalID>
  <AssociateID>1005344006</AssociateID>
  <CommercialResidential>2</CommercialResidential>
  <ContractType>29</ContractType>
  <CreatedDate>2014-10-04T09:44:00</CreatedDate>
  <CurrentListingCurrency>USD</CurrentListingCurrency>
  <CurrentListingPrice>245000.0000</CurrentListingPrice>
  <Disabled>false</Disabled>
  <ExternaID>PV14150223_CKW</ExternaID>
  <Features>63</Features>
  <GeoCoordinates>
      <Latitude>33.819666000000</Latitude>
      <Longitude>-118.315253000000</Longitude>
  </GeoCoordinates>
  <GeoData>
      <CityID>4198103</CityID>
  </GeoData>
  <HidePricePublic>false</HidePricePublic>
  <ID>1005344006-14</ID>
  <IntegratorID>1005001</IntegratorID>
  <ListingID>14</ListingID>
  <ListingStatus>160</ListingStatus>
  <LivingArea>1</LivingArea>
  <LotSize>0.7590 acres</LotSize>
  <ModifiedDate>2014-11-27T08:22:00</ModifiedDate>
  <NumberOfBathrooms>1</NumberOfBathrooms>
  <NumberOfBedrooms>1</NumberOfBedrooms>
  <OfficeExternalID>6242</OfficeExternalID>
  <OfficeID>1005344</OfficeID>
  <OrigListingDate>2014-10-04T09:43:45</OrigListingDate>
  <PostalCode>90501</PostalCode>
  <PropertyStatus>188</PropertyStatus>
  <PropertyType>194</PropertyType>
  <RegionID>1005</RegionID>
  <ShowAddressOnWeb>true</ShowAddressOnWeb>
  <SoldDate>0001-01-01</SoldDate>
  <StreetName>2742 Cabrillo Avenue Unit 214</StreetName>
  <TransactionType>261</TransactionType>
  <YouTube>https://www.youtube.com/watch?v=aBph-lQEmMw&feature=youtu.be</YouTube>
</Property> 

Response XML

HTTP/1.1 201 Created 
Content-Type: application/xml; charset=utf-8 
Location: http://rexapi.gryphtech.com/api/v1/integrator/1005001/properties/1005344006-14

... created Property object with new ID ...

Request JSON

In JSON, element order does not matter. In our example they are ordered alphabetically just for comparation with the XML response.

POST http://rexapi.gryphtech.com/api/v1/integrator/1005001/properties HTTP/1.1 
Accept: application/json; charset=utf-8 
Content-Type: application/json; charset=utf-8 
Authorization: OAUTH oauth_token="pfl4PLrrHKChIRoDS2O9Wfoyr1yjKgbEjCxk", api_key="10D35802-C92A-42B3-88FC-A4489A3CD619" 

{
   "IntegratorID": 1005001,
   "ID": "1005344006-14",
   "ExternaID": "PV14150223_CKW",
   "CreatedDate": "2014-10-04T09:44:00",
   "ModifiedDate": "2014-11-27T08:22:00",
   "AlternateExternalID": "0",
   "OfficeID": 1005344,
   "OfficeExternalID": "6242",
   "AssociateID": 1005344006,
   "AssociateExternalID": "217202",
   "ListingID": 14,
   "RegionID": 1005,
   "Disabled": false,
   "CommercialResidential": 2,
   "StreetName": "2742 Cabrillo Avenue Unit 214",
   "PostalCode": "90501",
   "GeoData": 
     {
       "CityID": 4198103
     },
   "GeoCoordinates": 
     {
       "Latitude": 33.819666,
       "Longitude": -118.315253
     },
   "CurrentListingPrice": 245000,
   "CurrentListingCurrency": "USD",
   "HidePricePublic": false,
   "ShowAddressOnWeb": true,
   "SoldDate": "0001-01-01",
   "TransactionType": 261,
   "ContractType": 29,
   "PropertyStatus": 188,
   "PropertyType": 194,
   "ListingStatus": 160,
   "LivingArea": 1,
   "LotSize": "0.7590 acres",
   "NumberOfBathrooms": 1,
   "NumberOfBedrooms": 1,
   "OrigListingDate": "2014-10-04T09:43:45",
   "AlternateURL": "www.properties.com/mls/0-PV14150223",
   "YouTube": "https://www.youtube.com/watch?v=aBph-lQEmMw&feature=youtu.be",
   "Features": "63"
  }

Response JSON

HTTP/1.1 201 Created 
Content-Type: application/json; charset=utf-8 
Location: http://rexapi.gryphtech.com/api/v1/integrator/1005001/properties/1005344006-14

... created Property object with new ID ...

Http Status Codes Responses & Messages

Status Message Description
201 - Created You get the created resource object Call was successful
400 - Bad request <Error>
   <Message>
      New resource validation failure. Resource was not created.
   </Message>
   <MessageDetail>
      .....
   </MessageDetail>
</Error>
<MessageDetail> element will contain the reasons why validation failed. Correct the issues and try again.
400 - Bad request <Error>
   <Message>The request is invalid.</Message>
   <ModelState>
      <requestModel>.....</requestModel>
   </ModelState>
</Error>
The object you tried to upload does not match the expected object definition. <ModelState> element will explain where your object do not match the expected model. Please correct the raised issues and try again.
409 - Conflict <Error>
   <Message>
     A resource with ExternalID {0} already exists! Resource was not created.
   </Message>
</Error>
Every property has to have an unique ExternalID. You cannot have 2 properties with the same ExternalID.
409 - Conflict <Error>
   <Message>
     Resource was not created. Please contact Gryphtech support
   </Message>
</Error>
Please contact Gryphtech support


Update propert

This method allows you to update an existing resource.

This can be a full or a partial update. Partial update means that you do not have to provide the entire object, just the object properties that changed. Both PUT and PATCH methods are equivalent, no matter you choose full or partial update.

Following values from your object model are ignored:

Call

Full update

PUT integrator/{integrator id}/properties/{resource id}

Partial update

PATCH integrator/{integrator id}/properties/{resource id}

Required parameters:

resource id
See Get Property method for parameter description

Request XML

This is an example for a partial update. For a full update, the entire object must be present.

PUT http://rexapi.gryphtech.com/api/v1/integrator/1005001/properties/1005344006-14  HTTP/1.1 
Accept: application/xml; charset=utf-8 
Content-Type: application/xml; charset=utf-8 
Authorization: OAUTH oauth_token="pfl4PLrrHKChIRoDS2O9Wfoyr1yjKgbEjCxk", api_key="10D35802-C92A-42B3-88FC-A4489A3CD619" 

<Office xmlns=""> 
  <CurrentListingPrice>3400.00</CurrentListingPrice> 
</Office>

Request JSON

This is an example for a partial update. For a full update, the entire object must be present.

PUT http://rexapi.gryphtech.com/api/v1/integrator/1005001/properties/1005344006-14 HTTP/1.1 
Accept: application/json; charset=utf-8 
Content-Type: application/json; charset=utf-8 
Authorization: OAUTH oauth_token="pfl4PLrrHKChIRoDS2O9Wfoyr1yjKgbEjCxk", api_key="10D35802-C92A-42B3-88FC-A4489A3CD619" 

{ 
  "CurrentListingPrice": 3400.00
}

Response

If the update was successful you will get the resource object back with the updated values. See Get Property method for XML and JSON responses.

Http Status Codes Responses & Messages

Status Message Description
200 - OK You get the updated resource object Call was successful
404 - Not Found <Error>
   <Message>
      Requested resource cannot be found. Requested operation was not performed
   </Message>
   <MessageDetail>
      Please make sure that a resource with the requested ID actually exist before making the call
 </MessageDetail>
</Error>
Resource was not found for the specified resource ID
400 - Bad Request <Error>
   <Message>
      New resource validation failure. Resource was not created.
   </Message>
   <MessageDetail>
      .....
   </MessageDetail>
</Error>
<MessageDetail> element will contain the reasons why validation failed. Correct the raised issues and try again.
400 - Bad Request <Error>
   <Message>The request is invalid.</Message>
   <ModelState>
      <requestModel>.....</requestModel>
   </ModelState>
</Error>
The object you tried to upload does not match the expected object definition. <ModelState> element will explain where your object do not match the expected model. Please correct the raised issues and try again.


Cancel property

This method cancel the property by setting the Listing Status of the property to Cancelled. The same result can be achieved using property update method.

Please note that as a result of cancelling, the property will no longer be visible on the public website.

Call

PUT integrator/{integrator id}/properties/{resource id}/cancel

Required parameters:

resource id
See Get Property method for parameter description

Request

PUT http://rexapi.gryphtech.com/api/v1/integrator/1005001/offices/12345/cancel HTTP/1.1 
Authorization: OAUTH oauth_token="pfl4PLrrHKChIRoDS2O9Wfoyr1yjKgbEjCxk", api_key="10D35802-C92A-42B3-88FC-A4489A3CD619" 

Response

If the operation was successful you will get the object back with the updated values. See Get Property method for XML and JSON responses.

Http Status Codes Responses & Messages

Status Message Description
200 - OK   Call was successful
404 - Not Found <Error>
   <Message>
     Requested resource cannot be found. Requested operation was not performed
   </Message>
</Error>
Resource was not found for the specified ID. As a result, the requested operation could not be performed.


Transfer property to another associate

This method will transfer the property from the current associate to another one. This method is to be used if the Property maintained in your system its ExternalID while it was transferred to another associate. As a result of this call, all the Property associated information to the new associate. The Property will get a new ID from our system but its ExternalID will remain the same.

The receiving associate mult already exist in our database when you make this call.

Call

PUT integrator/{integrator id}/properties/{resource id}/TransferToAssociate/{associatePATCH integrator/{integrator id}/properties/{resource id}/TransferToAssociate/{associate id}

Required parameters:

resource id
This is the ID or ExternalID of the property to be transferred. See Get Property method for parameter description
associate id
This is the ID or ExternalID of the associate receiving the property.

 

Note: Please use same type of ID for both Property and Associate. For instance, if you used ExternalID for Associate, use ExternalID for Property too.

Request

PUT http://rexapi.gryphtech.com/api/v1/integrator/1005001/properties/12345/TransferToAssociate/55566 HTTP/1.1  HTTP/1.1 
Authorization: OAUTH oauth_token="pfl4PLrrHKChIRoDS2O9Wfoyr1yjKgbEjCxk", api_key="10D35802-C92A-42B3-88FC-A4489A3CD619" 

Response

If the tranfer was successful you will get the transfered object back with the updated values. See Get Property method for XML and JSON responses.

Http Status Codes Responses & Messages

Status Message Description
200 - OK   Call was successful
404 - Not Found <Error>
   <Message>
      Requested property cannot be found. Requested operation was not performed
   </Message>
   <MessageDetail>
      Please make sure that a resource with the requested ID actually exist before making the call
   </MessageDetail>
</Error>
Resource was not found for the specified ID. As a result, the requested operation could not be performed.
  <Error>
   <Message>
      No Associate with with the specified ID can be found to receive the transfer
   </Message>
</Error>
 
400 - Bad Request <Error>
   <Message>
      Please use resource ID or ExternalID for both property and associate. Do not mix Property ID with Associate ExternalID and the other way around.
   </Message>
</Error>
 
  <Error>
   <Message>
      Requested property is marked as terminated. Requested operation was not performed
   </Message>
   <MessageDetail>
      Please contact Gryphtech Support
   </MessageDetail>
</Error>
Please contact Gryphtech Support
  <Error>
   <Message>
      Associate receiving the transfer is terminated. Please activate first the associate, then request the transfer
   </Message>
</Error>
 
  <Error>
   <Message>
      Associate receiving the transfer must be different than the current listing associate
   </Message>
</Error>
The property tranfer must be done to an associate that is not the current associate owning the property.