simplyrets 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +6 -3
  3. data/Makefile +1 -2
  4. data/README.org +2 -0
  5. data/lib/simplyrets.rb +12 -1
  6. data/lib/simplyrets/api/default_api.rb +132 -128
  7. data/lib/simplyrets/api_client.rb +48 -9
  8. data/lib/simplyrets/api_client.rb.orig +373 -0
  9. data/lib/simplyrets/api_error.rb +12 -1
  10. data/lib/simplyrets/configuration.rb +23 -0
  11. data/lib/simplyrets/models/agent.rb +61 -27
  12. data/lib/simplyrets/models/broker.rb +57 -20
  13. data/lib/simplyrets/models/contact_information.rb +62 -27
  14. data/lib/simplyrets/models/error.rb +59 -23
  15. data/lib/simplyrets/models/geographic_data.rb +61 -28
  16. data/lib/simplyrets/models/listing.rb +94 -70
  17. data/lib/simplyrets/models/mls_information.rb +95 -37
  18. data/lib/simplyrets/models/office.rb +62 -28
  19. data/lib/simplyrets/models/open_house.rb +66 -36
  20. data/lib/simplyrets/models/parking.rb +59 -24
  21. data/lib/simplyrets/models/property.rb +128 -136
  22. data/lib/simplyrets/models/sales.rb +61 -28
  23. data/lib/simplyrets/models/school.rb +60 -34
  24. data/lib/simplyrets/models/street_address.rb +66 -55
  25. data/lib/simplyrets/models/tax.rb +70 -35
  26. data/lib/simplyrets/version.rb +13 -2
  27. data/ruby-client.meta +1 -0
  28. data/ruby-client.zip +0 -0
  29. data/ruby-client/.gitignore +50 -0
  30. data/ruby-client/.rspec +2 -0
  31. data/ruby-client/.swagger-codegen-ignore +23 -0
  32. data/ruby-client/LICENSE +201 -0
  33. data/ruby-client/README.md +128 -0
  34. data/ruby-client/docs/Agent.md +11 -0
  35. data/ruby-client/docs/Broker.md +8 -0
  36. data/ruby-client/docs/ContactInformation.md +10 -0
  37. data/ruby-client/docs/DefaultApi.md +306 -0
  38. data/ruby-client/docs/Error.md +9 -0
  39. data/ruby-client/docs/GeographicData.md +12 -0
  40. data/ruby-client/docs/Listing.md +30 -0
  41. data/ruby-client/docs/MlsInformation.md +11 -0
  42. data/ruby-client/docs/Office.md +11 -0
  43. data/ruby-client/docs/OpenHouse.md +15 -0
  44. data/ruby-client/docs/Parking.md +10 -0
  45. data/ruby-client/docs/Property.md +43 -0
  46. data/ruby-client/docs/Sales.md +12 -0
  47. data/ruby-client/docs/School.md +11 -0
  48. data/ruby-client/docs/StreetAddress.md +16 -0
  49. data/ruby-client/docs/Tax.md +10 -0
  50. data/ruby-client/git_push.sh +67 -0
  51. data/ruby-client/lib/swagger_client.rb +66 -0
  52. data/ruby-client/lib/swagger_client/api/default_api.rb +383 -0
  53. data/ruby-client/lib/swagger_client/api_client.rb +373 -0
  54. data/ruby-client/lib/swagger_client/api_error.rb +47 -0
  55. data/ruby-client/lib/swagger_client/configuration.rb +193 -0
  56. data/ruby-client/lib/swagger_client/models/agent.rb +230 -0
  57. data/ruby-client/lib/swagger_client/models/broker.rb +200 -0
  58. data/ruby-client/lib/swagger_client/models/contact_information.rb +220 -0
  59. data/ruby-client/lib/swagger_client/models/error.rb +210 -0
  60. data/ruby-client/lib/swagger_client/models/geographic_data.rb +240 -0
  61. data/ruby-client/lib/swagger_client/models/listing.rb +422 -0
  62. data/ruby-client/lib/swagger_client/models/mls_information.rb +263 -0
  63. data/ruby-client/lib/swagger_client/models/office.rb +230 -0
  64. data/ruby-client/lib/swagger_client/models/open_house.rb +270 -0
  65. data/ruby-client/lib/swagger_client/models/parking.rb +219 -0
  66. data/ruby-client/lib/swagger_client/models/property.rb +574 -0
  67. data/ruby-client/lib/swagger_client/models/sales.rb +240 -0
  68. data/ruby-client/lib/swagger_client/models/school.rb +230 -0
  69. data/ruby-client/lib/swagger_client/models/street_address.rb +280 -0
  70. data/ruby-client/lib/swagger_client/models/tax.rb +220 -0
  71. data/ruby-client/lib/swagger_client/version.rb +26 -0
  72. data/ruby-client/spec/api/default_api_spec.rb +132 -0
  73. data/ruby-client/spec/api_client_spec.rb +296 -0
  74. data/ruby-client/spec/configuration_spec.rb +48 -0
  75. data/ruby-client/spec/models/agent_spec.rb +71 -0
  76. data/ruby-client/spec/models/broker_spec.rb +53 -0
  77. data/ruby-client/spec/models/contact_information_spec.rb +65 -0
  78. data/ruby-client/spec/models/error_spec.rb +59 -0
  79. data/ruby-client/spec/models/geographic_data_spec.rb +77 -0
  80. data/ruby-client/spec/models/listing_spec.rb +185 -0
  81. data/ruby-client/spec/models/mls_information_spec.rb +74 -0
  82. data/ruby-client/spec/models/office_spec.rb +71 -0
  83. data/ruby-client/spec/models/open_house_spec.rb +95 -0
  84. data/ruby-client/spec/models/parking_spec.rb +65 -0
  85. data/ruby-client/spec/models/property_spec.rb +266 -0
  86. data/ruby-client/spec/models/sales_spec.rb +77 -0
  87. data/ruby-client/spec/models/school_spec.rb +71 -0
  88. data/ruby-client/spec/models/street_address_spec.rb +101 -0
  89. data/ruby-client/spec/models/tax_spec.rb +65 -0
  90. data/ruby-client/spec/spec_helper.rb +122 -0
  91. data/ruby-client/swagger_client.gemspec +55 -0
  92. data/simplyrets.gemspec +1 -1
  93. metadata +71 -5
@@ -0,0 +1,128 @@
1
+ # swagger_client
2
+
3
+ SwaggerClient - the Ruby gem for the SimplyRETS API
4
+
5
+ The SimplyRETS API is an exciting step towards making it easier for developers and real estate agents to build something awesome with real estate data! The documentation below makes live requests to our API using the trial data. To get set up with the API using live MLS data, you must have RETS credentials from your MLS, which you can then use to create an app with SimplyRETS. For more information on that process, please see our [FAQ](https://simplyrets.com/faq), [Getting Started](https://simplyrets.com/blog/getting-set-up.html) page, or [contact us](https://simplyrets.com/\\#home-contact). Below you'll find the API endpoints, query parameters, response bodies, and other information about using the SimplyRETS API. You can run queries by clicking the 'Try it Out' button at the bottom of each section. ### Authentication The SimplyRETS API uses Basic Authentication. When you create an app, you'll get a set of API credentials to access your listings. If you're trying out the test data, you can use `simplyrets:simplyrets` for connecting to the API. ### Media Types The SimplyRETS API uses the `Accept` header to allow clients to control media types (content versions). We maintain backwards compatibility with API clients by allowing them to specify a content version. We highly recommend setting and explicity media type when your application reaches production. Both the structure and content of our API response bodies is subject to change so we can add new features while respecting the stability of applications which have already been developed. To always use the latest SimplyRETS content version, simply use `application/json` in your application `Accept` header. If you want to pin your clients media type to a specific version, you can use the vendor-specific SimplyRETS media type, e.g. `application/vnd.simplyrets-v0.1+json\"` To view all valid content-types for making an `OPTIONS`, make a request to the SimplyRETS api root `curl -XOPTIONS -u simplyrets:simplyrets https://api.simplyrets.com/` The default media types used in our API responses may change in the future. If you're building an application and care about the stability of the API, be sure to request a specific media type in the Accept header as shown in the examples below. The wordpress plugin automatically sets the `Accept` header for the compatible SimplyRETS media types. ### Pagination There a few pieces of useful information about each request stored in the HTTP Headers: - `X-Total-Count` shows you the total amount of listings that match your current query. - `Link` contains pre-built pagination links for accessing the next 'page' of listings that match your query. Read more about that [here](https://simplyrets.com/blog/api-pagination.html).
6
+
7
+ This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
8
+
9
+ - API version: 1.0.0
10
+ - Package version: 1.0.0
11
+ - Build date: 2016-06-23T15:05:38.324Z
12
+ - Build package: class io.swagger.codegen.languages.RubyClientCodegen
13
+
14
+ ## Installation
15
+
16
+ ### Build a gem
17
+
18
+ To build the Ruby code into a gem:
19
+
20
+ ```shell
21
+ gem build swagger_client.gemspec
22
+ ```
23
+
24
+ Then either install the gem locally:
25
+
26
+ ```shell
27
+ gem install ./swagger_client-1.0.0.gem
28
+ ```
29
+ (for development, run `gem install --dev ./swagger_client-1.0.0.gem` to install the development dependencies)
30
+
31
+ or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
32
+
33
+ Finally add this to the Gemfile:
34
+
35
+ gem 'swagger_client', '~> 1.0.0'
36
+
37
+ ### Install from Git
38
+
39
+ If the Ruby gem is hosted at a git repository: https://github.com/YOUR_GIT_USERNAME/YOUR_GIT_REPO, then add the following in the Gemfile:
40
+
41
+ gem 'swagger_client', :git => 'https://github.com/YOUR_GIT_USERNAME/YOUR_GIT_REPO.git'
42
+
43
+ ### Include the Ruby code directly
44
+
45
+ Include the Ruby code directly using `-I` as follows:
46
+
47
+ ```shell
48
+ ruby -Ilib script.rb
49
+ ```
50
+
51
+ ## Getting Started
52
+
53
+ Please follow the [installation](#installation) procedure and then run the following code:
54
+ ```ruby
55
+ # Load the gem
56
+ require 'swagger_client'
57
+
58
+ # Setup authorization
59
+ SwaggerClient.configure do |config|
60
+ # Configure HTTP basic authorization: basicAuth
61
+ config.username = 'YOUR USERNAME'
62
+ config.password = 'YOUR PASSWORD'
63
+ end
64
+
65
+ api_instance = SwaggerClient::DefaultApi.new
66
+
67
+ opts = {
68
+ type: "type_example", # String | Request listings by a specific property type. This defaults to Residential, and you can only specify one type in a single query.
69
+ listing_id: "listing_id_example", # String | Request openhouses for a specific `listingId`.
70
+ cities: ["cities_example"], # Array<String> | Filter the openhouses returned by a list of valid cities. A list of valid cities can be found by making an OPTIONS request to the `/openhouses` endpoint.
71
+ brokers: ["brokers_example"], # Array<String> | Filter the listings returned by brokerage with a Broker ID. You can specific multiple broker parameters. Note, the Broker ID is provided by your MLS.
72
+ agent: "agent_example", # String | Filter the listings returned by an agent ID. Note, the Agent ID is provided by your MLS.
73
+ minprice: 56, # Integer | Filter listings by a minimum price.
74
+ startdate: DateTime.parse("2013-10-20T19:20:30+01:00"), # DateTime | Scheduled date and time of the open house showing
75
+ offset: 56, # Integer | Used as a cursor for pagination. Increase the offset parameter by the limit to go to the next \"page\" of listings. Also take a look at the Link HTTP Header for pre-built pagination.
76
+ limit: 56, # Integer | Set the number of listings to return in the response. This defaults to 20 listings, and can be a maximum of 50. To paginate through to the next page of listings, take a look at the `offset` parameter, or the Link in the HTTP Header.
77
+ sort: "sort_example", # String | Sort the response by a specific field. Values starting with a minus (-) denote descending order, while the others are ascending.
78
+ include: ["include_example"] # Array<String> | Include a extra fields which are not in the default response body - 'association' includes additional HOA data - 'agreement' information on the listing agreement - 'garageSpaces' additional garage data - 'maintenanceExpense' data on maintenance expenses - 'parking' additional parking data - 'pool' includes an additional pool description - 'taxAnnualAmount' include the annual tax amount - 'taxYear' include the tax year data - 'rooms' include parameter will include any additional rooms as a list. Note that your MLS must provide these fields in their RETS data for them to be available in the API response. In the future, fields which require an 'include' may become available by default.
79
+ }
80
+
81
+ begin
82
+ #The SimplyRETS OpenHouses API
83
+ result = api_instance.openhouses_get(opts)
84
+ p result
85
+ rescue SwaggerClient::ApiError => e
86
+ puts "Exception when calling DefaultApi->openhouses_get: #{e}"
87
+ end
88
+
89
+ ```
90
+
91
+ ## Documentation for API Endpoints
92
+
93
+ All URIs are relative to *https://api.simplyrets.com/*
94
+
95
+ Class | Method | HTTP request | Description
96
+ ------------ | ------------- | ------------- | -------------
97
+ *SwaggerClient::DefaultApi* | [**openhouses_get**](docs/DefaultApi.md#openhouses_get) | **GET** /openhouses | The SimplyRETS OpenHouses API
98
+ *SwaggerClient::DefaultApi* | [**openhouses_open_house_key_get**](docs/DefaultApi.md#openhouses_open_house_key_get) | **GET** /openhouses/{openHouseKey} | Single OpenHouse Endpoint
99
+ *SwaggerClient::DefaultApi* | [**properties_get**](docs/DefaultApi.md#properties_get) | **GET** /properties | The SimplyRETS Listings API
100
+ *SwaggerClient::DefaultApi* | [**properties_mls_id_get**](docs/DefaultApi.md#properties_mls_id_get) | **GET** /properties/{mlsId} | Single Listing Endpoint
101
+
102
+
103
+ ## Documentation for Models
104
+
105
+ - [SwaggerClient::Agent](docs/Agent.md)
106
+ - [SwaggerClient::Broker](docs/Broker.md)
107
+ - [SwaggerClient::ContactInformation](docs/ContactInformation.md)
108
+ - [SwaggerClient::Error](docs/Error.md)
109
+ - [SwaggerClient::GeographicData](docs/GeographicData.md)
110
+ - [SwaggerClient::Listing](docs/Listing.md)
111
+ - [SwaggerClient::MlsInformation](docs/MlsInformation.md)
112
+ - [SwaggerClient::Office](docs/Office.md)
113
+ - [SwaggerClient::OpenHouse](docs/OpenHouse.md)
114
+ - [SwaggerClient::Parking](docs/Parking.md)
115
+ - [SwaggerClient::Property](docs/Property.md)
116
+ - [SwaggerClient::Sales](docs/Sales.md)
117
+ - [SwaggerClient::School](docs/School.md)
118
+ - [SwaggerClient::StreetAddress](docs/StreetAddress.md)
119
+ - [SwaggerClient::Tax](docs/Tax.md)
120
+
121
+
122
+ ## Documentation for Authorization
123
+
124
+
125
+ ### basicAuth
126
+
127
+ - **Type**: HTTP basic authentication
128
+
@@ -0,0 +1,11 @@
1
+ # SwaggerClient::Agent
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **last_name** | **String** | Agent last name | [optional]
7
+ **contact** | [**ContactInformation**](ContactInformation.md) | Agent contact info. This information is only present when your RETS feed specifies the agent wishes to show their contact information publicly. *Contact information is not available for all RETS Vendors.* | [optional]
8
+ **first_name** | **String** | Agent first name | [optional]
9
+ **id** | **String** | Well known Agent MLS number or id. | [optional]
10
+
11
+
@@ -0,0 +1,8 @@
1
+ # SwaggerClient::Broker
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **startdate** | **DateTime** | Start Date | [optional]
7
+
8
+
@@ -0,0 +1,10 @@
1
+ # SwaggerClient::ContactInformation
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **email** | **String** | The email address of the &#x60;ContactInformation&#x60; **Not available for all RETS vendors** | [optional]
7
+ **office** | **String** | Contact Information Office Phone Number **Not available for all RETS vendors** | [optional]
8
+ **cell** | **String** | Contact Information Cell Phone **Not available for all RETS vendors** | [optional]
9
+
10
+
@@ -0,0 +1,306 @@
1
+ # SwaggerClient::DefaultApi
2
+
3
+ All URIs are relative to *https://api.simplyrets.com/*
4
+
5
+ Method | HTTP request | Description
6
+ ------------- | ------------- | -------------
7
+ [**openhouses_get**](DefaultApi.md#openhouses_get) | **GET** /openhouses | The SimplyRETS OpenHouses API
8
+ [**openhouses_open_house_key_get**](DefaultApi.md#openhouses_open_house_key_get) | **GET** /openhouses/{openHouseKey} | Single OpenHouse Endpoint
9
+ [**properties_get**](DefaultApi.md#properties_get) | **GET** /properties | The SimplyRETS Listings API
10
+ [**properties_mls_id_get**](DefaultApi.md#properties_mls_id_get) | **GET** /properties/{mlsId} | Single Listing Endpoint
11
+
12
+
13
+ # **openhouses_get**
14
+ > Array&lt;OpenHouse&gt; openhouses_get(opts)
15
+
16
+ The SimplyRETS OpenHouses API
17
+
18
+ This is the main endpoint for accessing openhouses.
19
+
20
+ ### Example
21
+ ```ruby
22
+ # load the gem
23
+ require 'swagger_client'
24
+ # setup authorization
25
+ SwaggerClient.configure do |config|
26
+ # Configure HTTP basic authorization: basicAuth
27
+ config.username = 'YOUR USERNAME'
28
+ config.password = 'YOUR PASSWORD'
29
+ end
30
+
31
+ api_instance = SwaggerClient::DefaultApi.new
32
+
33
+ opts = {
34
+ type: "type_example", # String | Request listings by a specific property type. This defaults to Residential, and you can only specify one type in a single query.
35
+ listing_id: "listing_id_example", # String | Request openhouses for a specific `listingId`.
36
+ cities: ["cities_example"], # Array<String> | Filter the openhouses returned by a list of valid cities. A list of valid cities can be found by making an OPTIONS request to the `/openhouses` endpoint.
37
+ brokers: ["brokers_example"], # Array<String> | Filter the listings returned by brokerage with a Broker ID. You can specific multiple broker parameters. Note, the Broker ID is provided by your MLS.
38
+ agent: "agent_example", # String | Filter the listings returned by an agent ID. Note, the Agent ID is provided by your MLS.
39
+ minprice: 56, # Integer | Filter listings by a minimum price.
40
+ startdate: DateTime.parse("2013-10-20T19:20:30+01:00"), # DateTime | Scheduled date and time of the open house showing
41
+ offset: 56, # Integer | Used as a cursor for pagination. Increase the offset parameter by the limit to go to the next \"page\" of listings. Also take a look at the Link HTTP Header for pre-built pagination.
42
+ limit: 56, # Integer | Set the number of listings to return in the response. This defaults to 20 listings, and can be a maximum of 50. To paginate through to the next page of listings, take a look at the `offset` parameter, or the Link in the HTTP Header.
43
+ sort: "sort_example", # String | Sort the response by a specific field. Values starting with a minus (-) denote descending order, while the others are ascending.
44
+ include: ["include_example"] # Array<String> | Include a extra fields which are not in the default response body - 'association' includes additional HOA data - 'agreement' information on the listing agreement - 'garageSpaces' additional garage data - 'maintenanceExpense' data on maintenance expenses - 'parking' additional parking data - 'pool' includes an additional pool description - 'taxAnnualAmount' include the annual tax amount - 'taxYear' include the tax year data - 'rooms' include parameter will include any additional rooms as a list. Note that your MLS must provide these fields in their RETS data for them to be available in the API response. In the future, fields which require an 'include' may become available by default.
45
+ }
46
+
47
+ begin
48
+ #The SimplyRETS OpenHouses API
49
+ result = api_instance.openhouses_get(opts)
50
+ p result
51
+ rescue SwaggerClient::ApiError => e
52
+ puts "Exception when calling DefaultApi->openhouses_get: #{e}"
53
+ end
54
+ ```
55
+
56
+ ### Parameters
57
+
58
+ Name | Type | Description | Notes
59
+ ------------- | ------------- | ------------- | -------------
60
+ **type** | **String**| Request listings by a specific property type. This defaults to Residential, and you can only specify one type in a single query. | [optional]
61
+ **listing_id** | **String**| Request openhouses for a specific &#x60;listingId&#x60;. | [optional]
62
+ **cities** | [**Array&lt;String&gt;**](String.md)| Filter the openhouses returned by a list of valid cities. A list of valid cities can be found by making an OPTIONS request to the &#x60;/openhouses&#x60; endpoint. | [optional]
63
+ **brokers** | [**Array&lt;String&gt;**](String.md)| Filter the listings returned by brokerage with a Broker ID. You can specific multiple broker parameters. Note, the Broker ID is provided by your MLS. | [optional]
64
+ **agent** | **String**| Filter the listings returned by an agent ID. Note, the Agent ID is provided by your MLS. | [optional]
65
+ **minprice** | **Integer**| Filter listings by a minimum price. | [optional]
66
+ **startdate** | **DateTime**| Scheduled date and time of the open house showing | [optional]
67
+ **offset** | **Integer**| Used as a cursor for pagination. Increase the offset parameter by the limit to go to the next \&quot;page\&quot; of listings. Also take a look at the Link HTTP Header for pre-built pagination. | [optional]
68
+ **limit** | **Integer**| Set the number of listings to return in the response. This defaults to 20 listings, and can be a maximum of 50. To paginate through to the next page of listings, take a look at the &#x60;offset&#x60; parameter, or the Link in the HTTP Header. | [optional]
69
+ **sort** | **String**| Sort the response by a specific field. Values starting with a minus (-) denote descending order, while the others are ascending. | [optional]
70
+ **include** | [**Array&lt;String&gt;**](String.md)| Include a extra fields which are not in the default response body - &#39;association&#39; includes additional HOA data - &#39;agreement&#39; information on the listing agreement - &#39;garageSpaces&#39; additional garage data - &#39;maintenanceExpense&#39; data on maintenance expenses - &#39;parking&#39; additional parking data - &#39;pool&#39; includes an additional pool description - &#39;taxAnnualAmount&#39; include the annual tax amount - &#39;taxYear&#39; include the tax year data - &#39;rooms&#39; include parameter will include any additional rooms as a list. Note that your MLS must provide these fields in their RETS data for them to be available in the API response. In the future, fields which require an &#39;include&#39; may become available by default. | [optional]
71
+
72
+ ### Return type
73
+
74
+ [**Array&lt;OpenHouse&gt;**](OpenHouse.md)
75
+
76
+ ### Authorization
77
+
78
+ [basicAuth](../README.md#basicAuth)
79
+
80
+ ### HTTP request headers
81
+
82
+ - **Content-Type**: application/json
83
+ - **Accept**: application/json, application/vnd.simplyrets-v0.1+json
84
+
85
+
86
+
87
+ # **openhouses_open_house_key_get**
88
+ > OpenHouse openhouses_open_house_key_get(open_house_key, opts)
89
+
90
+ Single OpenHouse Endpoint
91
+
92
+ Use this endpoint for accessing a single OpenHouse.
93
+
94
+ ### Example
95
+ ```ruby
96
+ # load the gem
97
+ require 'swagger_client'
98
+ # setup authorization
99
+ SwaggerClient.configure do |config|
100
+ # Configure HTTP basic authorization: basicAuth
101
+ config.username = 'YOUR USERNAME'
102
+ config.password = 'YOUR PASSWORD'
103
+ end
104
+
105
+ api_instance = SwaggerClient::DefaultApi.new
106
+
107
+ open_house_key = 789 # Integer | A unique OpenHouse identification key
108
+
109
+ opts = {
110
+ include: ["include_example"] # Array<String> | Include a extra fields which are not in the default response body - 'association' includes additional HOA data - 'agreement' information on the listing agreement - 'garageSpaces' additional garage data - 'maintenanceExpense' data on maintenance expenses - 'parking' additional parking data - 'pool' includes an additional pool description - 'taxAnnualAmount' include the annual tax amount - 'taxYear' include the tax year data - 'rooms' include parameter will include any additional rooms as a list. Note that your MLS must provide these fields in their RETS data for them to be available in the API response. In the future, fields which require an 'include' may become available by default.
111
+ }
112
+
113
+ begin
114
+ #Single OpenHouse Endpoint
115
+ result = api_instance.openhouses_open_house_key_get(open_house_key, opts)
116
+ p result
117
+ rescue SwaggerClient::ApiError => e
118
+ puts "Exception when calling DefaultApi->openhouses_open_house_key_get: #{e}"
119
+ end
120
+ ```
121
+
122
+ ### Parameters
123
+
124
+ Name | Type | Description | Notes
125
+ ------------- | ------------- | ------------- | -------------
126
+ **open_house_key** | **Integer**| A unique OpenHouse identification key |
127
+ **include** | [**Array&lt;String&gt;**](String.md)| Include a extra fields which are not in the default response body - &#39;association&#39; includes additional HOA data - &#39;agreement&#39; information on the listing agreement - &#39;garageSpaces&#39; additional garage data - &#39;maintenanceExpense&#39; data on maintenance expenses - &#39;parking&#39; additional parking data - &#39;pool&#39; includes an additional pool description - &#39;taxAnnualAmount&#39; include the annual tax amount - &#39;taxYear&#39; include the tax year data - &#39;rooms&#39; include parameter will include any additional rooms as a list. Note that your MLS must provide these fields in their RETS data for them to be available in the API response. In the future, fields which require an &#39;include&#39; may become available by default. | [optional]
128
+
129
+ ### Return type
130
+
131
+ [**OpenHouse**](OpenHouse.md)
132
+
133
+ ### Authorization
134
+
135
+ [basicAuth](../README.md#basicAuth)
136
+
137
+ ### HTTP request headers
138
+
139
+ - **Content-Type**: application/json
140
+ - **Accept**: application/json, application/vnd.simplyrets-v0.1+json
141
+
142
+
143
+
144
+ # **properties_get**
145
+ > Array&lt;Listing&gt; properties_get(opts)
146
+
147
+ The SimplyRETS Listings API
148
+
149
+ This is the main endpoint for accessing your properties. View all of the available query parameters and make requests below! The API uses Basic Authentication, which most HTTP libraries will handle for you. To use the test data (which is what this pages uses), you can use the api key `simplyrets` and secret `simplyrets`. Note that these test listings are not live MLS listings but the data, query parameters, and response bodies will all work the same.
150
+
151
+ ### Example
152
+ ```ruby
153
+ # load the gem
154
+ require 'swagger_client'
155
+ # setup authorization
156
+ SwaggerClient.configure do |config|
157
+ # Configure HTTP basic authorization: basicAuth
158
+ config.username = 'YOUR USERNAME'
159
+ config.password = 'YOUR PASSWORD'
160
+ end
161
+
162
+ api_instance = SwaggerClient::DefaultApi.new
163
+
164
+ opts = {
165
+ q: "q_example", # String | A textual keyword search. This parameter will search the following fields, when available: - listingId (This does _not_ search the `mlsId` field in the SimplyRETS response body) - street number - street name - mls area (major) - city - subdivision name - postal code
166
+ status: ["status_example"], # Array<String> | Request listings by a specific status. This parameter defaults to active and you can specify multiple statuses in a single query. Listing statuses depend on your MLS's availability. Below is a brief description of each status with possible synonyms which may map to your MLS-specific statuses - *Active*: Active Listing which is still on the market - *ActiveUnderContract*: An offer has been accepted but the listing is still on market. Synonyms: Accepting Backup Offers, Backup Offer, Active With Accepted. Synonyms: Offer, Backup, Contingent - *Pending*: An offer has been accepted and the listing is no longer on market. Synonyms: Offer Accepted, Under Contract - *Hold*: The listing has been withdrawn from the market, but a contract still exists between the seller and the listing member. Synonyms: Hold, Hold Do Not Show, Temp Off Market - *Withdrawn*: The listing has been withdrawn from the market, but a contract still exists between the seller and the listing member. Synonyms: Hold, Hold Do Not Show, Temp Off Market - *Closed*: The purchase agreement has been fulfilled or the lease agreement has been executed. Synonyms: Sold, Leased, Rented, Closed Sale - *Expired*: The listing contract has expired - *Delete*: The listing contract was never valid or other reason for the contract to be nullified. Synonyms: Kill, Zap - *Incomplete*: The listing has not yet be completely entered and is not yet published in the MLS. Synonyms: Draft, Partially Complted - *ComingSoon*
167
+ type: ["type_example"], # Array<String> | Request listings by a specific property type. This defaults to Residential and Rental. You can specify multiple property types in a single query.
168
+ agent: "agent_example", # String | Filter the listings returned by an agent ID. Note, the Agent ID is provided by your MLS. The co-listing agent is not included in this query parameter.
169
+ brokers: ["brokers_example"], # Array<String> | Filter the listings returned by brokerage with a Broker ID. For some MLS areas, this is the ListOfficeId (Listing Office ID). You can specific multiple broker parameters. Note, this query parameter is only available if a Broker ID is provided by your MLS.
170
+ minprice: 56, # Integer | Filter listings by a minimum price.
171
+ maxprice: 56, # Integer | Filter listings by a maximum price
172
+ minarea: 56, # Integer | Filter listings by a minimum area size in Sq Ft.
173
+ maxarea: 56, # Integer | Filter listings by a maximum area size in Sq Ft.
174
+ minbaths: 56, # Integer | Filter listings by a minimum number of bathrooms.
175
+ maxbaths: 56, # Integer | Filter listings by a maximum number of bathrooms.
176
+ minbeds: 56, # Integer | Filter listings by a minimum number of bedrooms.
177
+ maxbeds: 56, # Integer | Filter listings by a maximum number of bedrooms.
178
+ maxdom: 56, # Integer | Filter listings by a maximum number of days on market. _Note that your MLS must provide Days on Market data._
179
+ minyear: 56, # Integer | Filter listings by a setting a minimum year built.
180
+ limit: 56, # Integer | Set the number of listings to return in the response. This defaults to 20 listings, and can be a maximum of 50. To paginate through to the next page of listings, take a look at the `offset` parameter, or the Link in the HTTP Header.
181
+ offset: 56, # Integer | Used as a cursor for pagination. Increase the offset parameter by the limit to go to the next \"page\" of listings. Also take a look at the Link HTTP Header for pre-built pagination. *NOTE:* If you're offset is too high, you will receive an `HTTP 400 offset too high` error message.
182
+ vendor: "vendor_example", # String | Used to specify the vendor (MLS) to search from. This parameter is required on multi-MLS apps, and you can only query one vendor at a time. To get your vendor id's make an OPTIONS request to https://api.simplyrets.com.
183
+ postal_codes: ["postal_codes_example"], # Array<String> | Filter the listings returned by postal codes / zip code. You can specify multiple.
184
+ features: ["features_example"], # Array<String> | Filter the listings by specific interior features. You can filter by multiple. For example, to filter trial listings by multiple features you can use, Return listings that are within a set of latitude longitude coordinates. For example, ``` Wet Bar High Ceiling ``` e.g. `https://simplyrets.com/services?features=Wet%20Bar&features=High%20Ceiling` The features provided by your MLS can be seen in your OPTIONS request. To view all valid features, make a request to the SimplyRETS api root `curl -XOPTIONS -u simplyrets:simplyrets https://api.simplyrets.com/`
185
+ water: "water_example", # String | Query water/waterfront listings only. Specify `true` to filter waterfront listings.
186
+ neighborhoods: ["neighborhoods_example"], # Array<String> | Filter the listings returned by specific neighborhoods and subdivisions. You can specify multiple.
187
+ cities: ["cities_example"], # Array<String> | Filter the listings returned by specific cities. You can specify multiple.
188
+ counties: ["counties_example"], # Array<String> | Filter the listings returned by specific counties. You can specify multiple.
189
+ points: ["points_example"], # Array<String> | Return listings that are within a set of latitude longitude coordinates. For example; ``` 29.723837,-95.69778 29.938275,-95.69778 29.938275,-95.32974 29.723837,-95.32974 ``` Note that some MLS's do not provide latitude and longitude for their listings, which is required for this parameter to work. In these cases, SimplyRETS offers a [Geocoding Addon](https://simplyrets.com/services#geocoding). Check out our [blog post](https://simplyrets.com/blog/interactive-map-search.html) on using the `points` parameter to build a map-based app in javascript.
190
+ include: ["include_example"], # Array<String> | Include a extra fields which are not in the default response body - 'association' includes additional HOA data - 'agreement' information on the listing agreement - 'garageSpaces' additional garage data - 'maintenanceExpense' data on maintenance expenses - 'parking' additional parking data - 'pool' includes an additional pool description - 'taxAnnualAmount' include the annual tax amount - 'taxYear' include the tax year data - 'rooms' include parameter will include any additional rooms as a list. Note that your MLS must provide these fields in their RETS data for them to be available in the API response.
191
+ sort: "sort_example" # String | Sort the response by a specific field. Values starting with a minus (-) denote descending order, while the others are ascending.
192
+ }
193
+
194
+ begin
195
+ #The SimplyRETS Listings API
196
+ result = api_instance.properties_get(opts)
197
+ p result
198
+ rescue SwaggerClient::ApiError => e
199
+ puts "Exception when calling DefaultApi->properties_get: #{e}"
200
+ end
201
+ ```
202
+
203
+ ### Parameters
204
+
205
+ Name | Type | Description | Notes
206
+ ------------- | ------------- | ------------- | -------------
207
+ **q** | **String**| A textual keyword search. This parameter will search the following fields, when available: - listingId (This does _not_ search the &#x60;mlsId&#x60; field in the SimplyRETS response body) - street number - street name - mls area (major) - city - subdivision name - postal code | [optional]
208
+ **status** | [**Array&lt;String&gt;**](String.md)| Request listings by a specific status. This parameter defaults to active and you can specify multiple statuses in a single query. Listing statuses depend on your MLS&#39;s availability. Below is a brief description of each status with possible synonyms which may map to your MLS-specific statuses - *Active*: Active Listing which is still on the market - *ActiveUnderContract*: An offer has been accepted but the listing is still on market. Synonyms: Accepting Backup Offers, Backup Offer, Active With Accepted. Synonyms: Offer, Backup, Contingent - *Pending*: An offer has been accepted and the listing is no longer on market. Synonyms: Offer Accepted, Under Contract - *Hold*: The listing has been withdrawn from the market, but a contract still exists between the seller and the listing member. Synonyms: Hold, Hold Do Not Show, Temp Off Market - *Withdrawn*: The listing has been withdrawn from the market, but a contract still exists between the seller and the listing member. Synonyms: Hold, Hold Do Not Show, Temp Off Market - *Closed*: The purchase agreement has been fulfilled or the lease agreement has been executed. Synonyms: Sold, Leased, Rented, Closed Sale - *Expired*: The listing contract has expired - *Delete*: The listing contract was never valid or other reason for the contract to be nullified. Synonyms: Kill, Zap - *Incomplete*: The listing has not yet be completely entered and is not yet published in the MLS. Synonyms: Draft, Partially Complted - *ComingSoon* | [optional]
209
+ **type** | [**Array&lt;String&gt;**](String.md)| Request listings by a specific property type. This defaults to Residential and Rental. You can specify multiple property types in a single query. | [optional]
210
+ **agent** | **String**| Filter the listings returned by an agent ID. Note, the Agent ID is provided by your MLS. The co-listing agent is not included in this query parameter. | [optional]
211
+ **brokers** | [**Array&lt;String&gt;**](String.md)| Filter the listings returned by brokerage with a Broker ID. For some MLS areas, this is the ListOfficeId (Listing Office ID). You can specific multiple broker parameters. Note, this query parameter is only available if a Broker ID is provided by your MLS. | [optional]
212
+ **minprice** | **Integer**| Filter listings by a minimum price. | [optional]
213
+ **maxprice** | **Integer**| Filter listings by a maximum price | [optional]
214
+ **minarea** | **Integer**| Filter listings by a minimum area size in Sq Ft. | [optional]
215
+ **maxarea** | **Integer**| Filter listings by a maximum area size in Sq Ft. | [optional]
216
+ **minbaths** | **Integer**| Filter listings by a minimum number of bathrooms. | [optional]
217
+ **maxbaths** | **Integer**| Filter listings by a maximum number of bathrooms. | [optional]
218
+ **minbeds** | **Integer**| Filter listings by a minimum number of bedrooms. | [optional]
219
+ **maxbeds** | **Integer**| Filter listings by a maximum number of bedrooms. | [optional]
220
+ **maxdom** | **Integer**| Filter listings by a maximum number of days on market. _Note that your MLS must provide Days on Market data._ | [optional]
221
+ **minyear** | **Integer**| Filter listings by a setting a minimum year built. | [optional]
222
+ **limit** | **Integer**| Set the number of listings to return in the response. This defaults to 20 listings, and can be a maximum of 50. To paginate through to the next page of listings, take a look at the &#x60;offset&#x60; parameter, or the Link in the HTTP Header. | [optional]
223
+ **offset** | **Integer**| Used as a cursor for pagination. Increase the offset parameter by the limit to go to the next \&quot;page\&quot; of listings. Also take a look at the Link HTTP Header for pre-built pagination. *NOTE:* If you&#39;re offset is too high, you will receive an &#x60;HTTP 400 offset too high&#x60; error message. | [optional]
224
+ **vendor** | **String**| Used to specify the vendor (MLS) to search from. This parameter is required on multi-MLS apps, and you can only query one vendor at a time. To get your vendor id&#39;s make an OPTIONS request to https://api.simplyrets.com. | [optional]
225
+ **postal_codes** | [**Array&lt;String&gt;**](String.md)| Filter the listings returned by postal codes / zip code. You can specify multiple. | [optional]
226
+ **features** | [**Array&lt;String&gt;**](String.md)| Filter the listings by specific interior features. You can filter by multiple. For example, to filter trial listings by multiple features you can use, Return listings that are within a set of latitude longitude coordinates. For example, &#x60;&#x60;&#x60; Wet Bar High Ceiling &#x60;&#x60;&#x60; e.g. &#x60;https://simplyrets.com/services?features&#x3D;Wet%20Bar&amp;features&#x3D;High%20Ceiling&#x60; The features provided by your MLS can be seen in your OPTIONS request. To view all valid features, make a request to the SimplyRETS api root &#x60;curl -XOPTIONS -u simplyrets:simplyrets https://api.simplyrets.com/&#x60; | [optional]
227
+ **water** | **String**| Query water/waterfront listings only. Specify &#x60;true&#x60; to filter waterfront listings. | [optional]
228
+ **neighborhoods** | [**Array&lt;String&gt;**](String.md)| Filter the listings returned by specific neighborhoods and subdivisions. You can specify multiple. | [optional]
229
+ **cities** | [**Array&lt;String&gt;**](String.md)| Filter the listings returned by specific cities. You can specify multiple. | [optional]
230
+ **counties** | [**Array&lt;String&gt;**](String.md)| Filter the listings returned by specific counties. You can specify multiple. | [optional]
231
+ **points** | [**Array&lt;String&gt;**](String.md)| Return listings that are within a set of latitude longitude coordinates. For example; &#x60;&#x60;&#x60; 29.723837,-95.69778 29.938275,-95.69778 29.938275,-95.32974 29.723837,-95.32974 &#x60;&#x60;&#x60; Note that some MLS&#39;s do not provide latitude and longitude for their listings, which is required for this parameter to work. In these cases, SimplyRETS offers a [Geocoding Addon](https://simplyrets.com/services#geocoding). Check out our [blog post](https://simplyrets.com/blog/interactive-map-search.html) on using the &#x60;points&#x60; parameter to build a map-based app in javascript. | [optional]
232
+ **include** | [**Array&lt;String&gt;**](String.md)| Include a extra fields which are not in the default response body - &#39;association&#39; includes additional HOA data - &#39;agreement&#39; information on the listing agreement - &#39;garageSpaces&#39; additional garage data - &#39;maintenanceExpense&#39; data on maintenance expenses - &#39;parking&#39; additional parking data - &#39;pool&#39; includes an additional pool description - &#39;taxAnnualAmount&#39; include the annual tax amount - &#39;taxYear&#39; include the tax year data - &#39;rooms&#39; include parameter will include any additional rooms as a list. Note that your MLS must provide these fields in their RETS data for them to be available in the API response. | [optional]
233
+ **sort** | **String**| Sort the response by a specific field. Values starting with a minus (-) denote descending order, while the others are ascending. | [optional]
234
+
235
+ ### Return type
236
+
237
+ [**Array&lt;Listing&gt;**](Listing.md)
238
+
239
+ ### Authorization
240
+
241
+ [basicAuth](../README.md#basicAuth)
242
+
243
+ ### HTTP request headers
244
+
245
+ - **Content-Type**: application/json
246
+ - **Accept**: application/json, application/vnd.simplyrets-v0.1+json
247
+
248
+
249
+
250
+ # **properties_mls_id_get**
251
+ > Listing properties_mls_id_get(mls_id, opts)
252
+
253
+ Single Listing Endpoint
254
+
255
+ Use this endpoint for accessing a single listing. When you make a search to the `/properties` endpoint, each listing in the response will contain a unique `mlsId` field which should be used to request that listing on this route. The `mlsId` field is a unique identifier for a listing which is specific to the SimplyRETS API only. It is different from the `listingId` field is the public number given to a listing by the MLS and is not used here.
256
+
257
+ ### Example
258
+ ```ruby
259
+ # load the gem
260
+ require 'swagger_client'
261
+ # setup authorization
262
+ SwaggerClient.configure do |config|
263
+ # Configure HTTP basic authorization: basicAuth
264
+ config.username = 'YOUR USERNAME'
265
+ config.password = 'YOUR PASSWORD'
266
+ end
267
+
268
+ api_instance = SwaggerClient::DefaultApi.new
269
+
270
+ mls_id = 789 # Integer | The `mlsId` field is a unique identifier which is specific to the SimplyRETS API only. This field is different from the `listingId` field (which is the public number given to a listing by the MLS and is not used here).
271
+
272
+ opts = {
273
+ include: ["include_example"] # Array<String> | Include a extra fields which are not in the default response body - 'association' includes additional HOA data - 'agreement' information on the listing agreement - 'garageSpaces' additional garage data - 'maintenanceExpense' data on maintenance expenses - 'parking' additional parking data - 'pool' includes an additional pool description - 'rooms' include parameter will include any additional rooms as a list. Note that your MLS must provide these fields in their RETS data for them to be available with valid data in the API response. If your MLS does not offer these fields, they will contain 'null'.
274
+ }
275
+
276
+ begin
277
+ #Single Listing Endpoint
278
+ result = api_instance.properties_mls_id_get(mls_id, opts)
279
+ p result
280
+ rescue SwaggerClient::ApiError => e
281
+ puts "Exception when calling DefaultApi->properties_mls_id_get: #{e}"
282
+ end
283
+ ```
284
+
285
+ ### Parameters
286
+
287
+ Name | Type | Description | Notes
288
+ ------------- | ------------- | ------------- | -------------
289
+ **mls_id** | **Integer**| The &#x60;mlsId&#x60; field is a unique identifier which is specific to the SimplyRETS API only. This field is different from the &#x60;listingId&#x60; field (which is the public number given to a listing by the MLS and is not used here). |
290
+ **include** | [**Array&lt;String&gt;**](String.md)| Include a extra fields which are not in the default response body - &#39;association&#39; includes additional HOA data - &#39;agreement&#39; information on the listing agreement - &#39;garageSpaces&#39; additional garage data - &#39;maintenanceExpense&#39; data on maintenance expenses - &#39;parking&#39; additional parking data - &#39;pool&#39; includes an additional pool description - &#39;rooms&#39; include parameter will include any additional rooms as a list. Note that your MLS must provide these fields in their RETS data for them to be available with valid data in the API response. If your MLS does not offer these fields, they will contain &#39;null&#39;. | [optional]
291
+
292
+ ### Return type
293
+
294
+ [**Listing**](Listing.md)
295
+
296
+ ### Authorization
297
+
298
+ [basicAuth](../README.md#basicAuth)
299
+
300
+ ### HTTP request headers
301
+
302
+ - **Content-Type**: application/json
303
+ - **Accept**: application/json, application/vnd.simplyrets-v0.1+json
304
+
305
+
306
+