whoisfreaks 0.2.0

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 (257) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +229 -0
  5. data/Rakefile +10 -0
  6. data/docs/ASNWHOISApi.md +85 -0
  7. data/docs/AccountApi.md +213 -0
  8. data/docs/AccountUsageResponse.md +22 -0
  9. data/docs/AccountUsageResponseApiCredits.md +20 -0
  10. data/docs/AccountUsageResponseApiSubscription.md +26 -0
  11. data/docs/AsnWhoisResponse.md +28 -0
  12. data/docs/AsnWhoisResponseAutNumsInner.md +26 -0
  13. data/docs/AsnWhoisResponseOrganization.md +24 -0
  14. data/docs/BulkDomainAvailabilityRequest.md +20 -0
  15. data/docs/BulkDomainAvailabilityV2Item.md +22 -0
  16. data/docs/BulkDomainAvailabilityV2Response.md +18 -0
  17. data/docs/BulkGeolocationRequest.md +18 -0
  18. data/docs/BulkWhois200Response.md +18 -0
  19. data/docs/BulkWhoisRequest.md +18 -0
  20. data/docs/Contact.md +38 -0
  21. data/docs/DNSApi.md +335 -0
  22. data/docs/DatabaseFileStatus.md +24 -0
  23. data/docs/DatabaseFileStatusNewlyValue.md +20 -0
  24. data/docs/DatabasesASNWHOISApi.md +153 -0
  25. data/docs/DatabasesDNSApi.md +235 -0
  26. data/docs/DatabasesExpiringDroppedApi.md +395 -0
  27. data/docs/DatabasesIPGeolocationApi.md +299 -0
  28. data/docs/DatabasesIPSecurityApi.md +153 -0
  29. data/docs/DatabasesIPWHOISApi.md +153 -0
  30. data/docs/DatabasesNewlyRegisteredApi.md +551 -0
  31. data/docs/DatabasesSubdomainsApi.md +235 -0
  32. data/docs/DatabasesWHOISApi.md +235 -0
  33. data/docs/DnsBulk200Response.md +18 -0
  34. data/docs/DnsBulkRequest.md +20 -0
  35. data/docs/DnsRecord.md +34 -0
  36. data/docs/DnsResponse.md +26 -0
  37. data/docs/DomainAvailabilityApi.md +169 -0
  38. data/docs/DomainAvailabilityV2Item.md +20 -0
  39. data/docs/DomainAvailabilityV2Response.md +18 -0
  40. data/docs/DomainReputationApi.md +85 -0
  41. data/docs/DomainReputationDgaFeatures.md +30 -0
  42. data/docs/DomainReputationDgaScore.md +26 -0
  43. data/docs/DomainReputationEvidenceSummary.md +18 -0
  44. data/docs/DomainReputationIndicators.md +34 -0
  45. data/docs/DomainReputationInput.md +18 -0
  46. data/docs/DomainReputationIntelligence.md +32 -0
  47. data/docs/DomainReputationPivotMatch.md +24 -0
  48. data/docs/DomainReputationRelatedIoc.md +22 -0
  49. data/docs/DomainReputationResponse.md +36 -0
  50. data/docs/DomainReputationRiskCategory.md +30 -0
  51. data/docs/DomainReputationSignal.md +28 -0
  52. data/docs/DomainReputationSignals.md +22 -0
  53. data/docs/DomainReputationTrustSignals.md +24 -0
  54. data/docs/ErrorResponse.md +26 -0
  55. data/docs/GeolocationApi.md +155 -0
  56. data/docs/GeolocationAsn.md +26 -0
  57. data/docs/GeolocationLocation.md +38 -0
  58. data/docs/GeolocationResponse.md +24 -0
  59. data/docs/GeolocationResponseCurrency.md +22 -0
  60. data/docs/GeolocationResponseNetwork.md +18 -0
  61. data/docs/HistoricalDnsResponse.md +24 -0
  62. data/docs/IPReputationApi.md +155 -0
  63. data/docs/IPWHOISApi.md +85 -0
  64. data/docs/IpReputationResponse.md +24 -0
  65. data/docs/IpReputationSecurity.md +42 -0
  66. data/docs/IpWhoisResponse.md +30 -0
  67. data/docs/IpWhoisResponseAbuseContactsInner.md +22 -0
  68. data/docs/IpWhoisResponseInetNumsInner.md +28 -0
  69. data/docs/IpWhoisResponseOrganization.md +26 -0
  70. data/docs/Registrar.md +30 -0
  71. data/docs/ReverseDnsResponse.md +24 -0
  72. data/docs/ReverseWhoisResponse.md +24 -0
  73. data/docs/SSLApi.md +89 -0
  74. data/docs/SnapshotStatus.md +26 -0
  75. data/docs/SslCertificate.md +34 -0
  76. data/docs/SslResponse.md +22 -0
  77. data/docs/Subdomain.md +24 -0
  78. data/docs/SubdomainsApi.md +93 -0
  79. data/docs/SubdomainsResponse.md +30 -0
  80. data/docs/TyposquattingApi.md +87 -0
  81. data/docs/TyposquattingDomain.md +26 -0
  82. data/docs/TyposquattingResponse.md +30 -0
  83. data/docs/WHOISApi.md +257 -0
  84. data/docs/WhoisHistoricalOrReverse200Response.md +49 -0
  85. data/docs/WhoisHistoricalResponse.md +24 -0
  86. data/docs/WhoisResponse.md +50 -0
  87. data/git_push.sh +57 -0
  88. data/lib/whoisfreaks/api/account_api.rb +207 -0
  89. data/lib/whoisfreaks/api/asnwhois_api.rb +100 -0
  90. data/lib/whoisfreaks/api/databases_asnwhois_api.rb +157 -0
  91. data/lib/whoisfreaks/api/databases_dns_api.rb +223 -0
  92. data/lib/whoisfreaks/api/databases_expiring_dropped_api.rb +377 -0
  93. data/lib/whoisfreaks/api/databases_ip_geolocation_api.rb +292 -0
  94. data/lib/whoisfreaks/api/databases_ip_security_api.rb +157 -0
  95. data/lib/whoisfreaks/api/databases_ipwhois_api.rb +157 -0
  96. data/lib/whoisfreaks/api/databases_newly_registered_api.rb +517 -0
  97. data/lib/whoisfreaks/api/databases_subdomains_api.rb +223 -0
  98. data/lib/whoisfreaks/api/databases_whois_api.rb +223 -0
  99. data/lib/whoisfreaks/api/dns_api.rb +379 -0
  100. data/lib/whoisfreaks/api/domain_availability_api.rb +199 -0
  101. data/lib/whoisfreaks/api/domain_reputation_api.rb +100 -0
  102. data/lib/whoisfreaks/api/geolocation_api.rb +168 -0
  103. data/lib/whoisfreaks/api/ip_reputation_api.rb +168 -0
  104. data/lib/whoisfreaks/api/ipwhois_api.rb +100 -0
  105. data/lib/whoisfreaks/api/ssl_api.rb +106 -0
  106. data/lib/whoisfreaks/api/subdomains_api.rb +116 -0
  107. data/lib/whoisfreaks/api/typosquatting_api.rb +95 -0
  108. data/lib/whoisfreaks/api/whois_api.rb +293 -0
  109. data/lib/whoisfreaks/api_client.rb +437 -0
  110. data/lib/whoisfreaks/api_error.rb +58 -0
  111. data/lib/whoisfreaks/configuration.rb +588 -0
  112. data/lib/whoisfreaks/models/account_usage_response.rb +232 -0
  113. data/lib/whoisfreaks/models/account_usage_response_api_credits.rb +223 -0
  114. data/lib/whoisfreaks/models/account_usage_response_api_subscription.rb +250 -0
  115. data/lib/whoisfreaks/models/asn_whois_response.rb +261 -0
  116. data/lib/whoisfreaks/models/asn_whois_response_aut_nums_inner.rb +252 -0
  117. data/lib/whoisfreaks/models/asn_whois_response_organization.rb +243 -0
  118. data/lib/whoisfreaks/models/bulk_domain_availability_request.rb +268 -0
  119. data/lib/whoisfreaks/models/bulk_domain_availability_v2_item.rb +268 -0
  120. data/lib/whoisfreaks/models/bulk_domain_availability_v2_response.rb +217 -0
  121. data/lib/whoisfreaks/models/bulk_geolocation_request.rb +242 -0
  122. data/lib/whoisfreaks/models/bulk_whois200_response.rb +216 -0
  123. data/lib/whoisfreaks/models/bulk_whois_request.rb +242 -0
  124. data/lib/whoisfreaks/models/contact.rb +304 -0
  125. data/lib/whoisfreaks/models/database_file_status.rb +243 -0
  126. data/lib/whoisfreaks/models/database_file_status_newly_value.rb +223 -0
  127. data/lib/whoisfreaks/models/dns_bulk200_response.rb +216 -0
  128. data/lib/whoisfreaks/models/dns_bulk_request.rb +227 -0
  129. data/lib/whoisfreaks/models/dns_record.rb +286 -0
  130. data/lib/whoisfreaks/models/dns_response.rb +254 -0
  131. data/lib/whoisfreaks/models/domain_availability_v2_item.rb +260 -0
  132. data/lib/whoisfreaks/models/domain_availability_v2_response.rb +217 -0
  133. data/lib/whoisfreaks/models/domain_reputation_dga_features.rb +268 -0
  134. data/lib/whoisfreaks/models/domain_reputation_dga_score.rb +312 -0
  135. data/lib/whoisfreaks/models/domain_reputation_evidence_summary.rb +216 -0
  136. data/lib/whoisfreaks/models/domain_reputation_indicators.rb +286 -0
  137. data/lib/whoisfreaks/models/domain_reputation_input.rb +215 -0
  138. data/lib/whoisfreaks/models/domain_reputation_intelligence.rb +317 -0
  139. data/lib/whoisfreaks/models/domain_reputation_pivot_match.rb +304 -0
  140. data/lib/whoisfreaks/models/domain_reputation_related_ioc.rb +294 -0
  141. data/lib/whoisfreaks/models/domain_reputation_response.rb +297 -0
  142. data/lib/whoisfreaks/models/domain_reputation_risk_category.rb +349 -0
  143. data/lib/whoisfreaks/models/domain_reputation_signal.rb +333 -0
  144. data/lib/whoisfreaks/models/domain_reputation_signals.rb +238 -0
  145. data/lib/whoisfreaks/models/domain_reputation_trust_signals.rb +303 -0
  146. data/lib/whoisfreaks/models/error_response.rb +250 -0
  147. data/lib/whoisfreaks/models/geolocation_asn.rb +250 -0
  148. data/lib/whoisfreaks/models/geolocation_location.rb +304 -0
  149. data/lib/whoisfreaks/models/geolocation_response.rb +241 -0
  150. data/lib/whoisfreaks/models/geolocation_response_currency.rb +232 -0
  151. data/lib/whoisfreaks/models/geolocation_response_network.rb +214 -0
  152. data/lib/whoisfreaks/models/historical_dns_response.rb +243 -0
  153. data/lib/whoisfreaks/models/ip_reputation_response.rb +241 -0
  154. data/lib/whoisfreaks/models/ip_reputation_security.rb +322 -0
  155. data/lib/whoisfreaks/models/ip_whois_response.rb +272 -0
  156. data/lib/whoisfreaks/models/ip_whois_response_abuse_contacts_inner.rb +234 -0
  157. data/lib/whoisfreaks/models/ip_whois_response_inet_nums_inner.rb +261 -0
  158. data/lib/whoisfreaks/models/ip_whois_response_organization.rb +252 -0
  159. data/lib/whoisfreaks/models/registrar.rb +268 -0
  160. data/lib/whoisfreaks/models/reverse_dns_response.rb +243 -0
  161. data/lib/whoisfreaks/models/reverse_whois_response.rb +243 -0
  162. data/lib/whoisfreaks/models/snapshot_status.rb +250 -0
  163. data/lib/whoisfreaks/models/ssl_certificate.rb +320 -0
  164. data/lib/whoisfreaks/models/ssl_response.rb +234 -0
  165. data/lib/whoisfreaks/models/subdomain.rb +241 -0
  166. data/lib/whoisfreaks/models/subdomains_response.rb +270 -0
  167. data/lib/whoisfreaks/models/typosquatting_domain.rb +250 -0
  168. data/lib/whoisfreaks/models/typosquatting_response.rb +270 -0
  169. data/lib/whoisfreaks/models/whois_historical_or_reverse200_response.rb +105 -0
  170. data/lib/whoisfreaks/models/whois_historical_response.rb +277 -0
  171. data/lib/whoisfreaks/models/whois_response.rb +362 -0
  172. data/lib/whoisfreaks/version.rb +15 -0
  173. data/lib/whoisfreaks.rb +120 -0
  174. data/spec/api/account_api_spec.rb +70 -0
  175. data/spec/api/asnwhois_api_spec.rb +49 -0
  176. data/spec/api/databases_asnwhois_api_spec.rb +60 -0
  177. data/spec/api/databases_dns_api_spec.rb +74 -0
  178. data/spec/api/databases_expiring_dropped_api_spec.rb +104 -0
  179. data/spec/api/databases_ip_geolocation_api_spec.rb +85 -0
  180. data/spec/api/databases_ip_security_api_spec.rb +60 -0
  181. data/spec/api/databases_ipwhois_api_spec.rb +60 -0
  182. data/spec/api/databases_newly_registered_api_spec.rb +132 -0
  183. data/spec/api/databases_subdomains_api_spec.rb +74 -0
  184. data/spec/api/databases_whois_api_spec.rb +74 -0
  185. data/spec/api/dns_api_spec.rb +99 -0
  186. data/spec/api/domain_availability_api_spec.rb +66 -0
  187. data/spec/api/domain_reputation_api_spec.rb +49 -0
  188. data/spec/api/geolocation_api_spec.rb +61 -0
  189. data/spec/api/ip_reputation_api_spec.rb +61 -0
  190. data/spec/api/ipwhois_api_spec.rb +49 -0
  191. data/spec/api/ssl_api_spec.rb +51 -0
  192. data/spec/api/subdomains_api_spec.rb +53 -0
  193. data/spec/api/typosquatting_api_spec.rb +50 -0
  194. data/spec/api/whois_api_spec.rb +85 -0
  195. data/spec/models/account_usage_response_api_credits_spec.rb +42 -0
  196. data/spec/models/account_usage_response_api_subscription_spec.rb +60 -0
  197. data/spec/models/account_usage_response_spec.rb +48 -0
  198. data/spec/models/asn_whois_response_aut_nums_inner_spec.rb +60 -0
  199. data/spec/models/asn_whois_response_organization_spec.rb +54 -0
  200. data/spec/models/asn_whois_response_spec.rb +66 -0
  201. data/spec/models/bulk_domain_availability_request_spec.rb +42 -0
  202. data/spec/models/bulk_domain_availability_v2_item_spec.rb +52 -0
  203. data/spec/models/bulk_domain_availability_v2_response_spec.rb +36 -0
  204. data/spec/models/bulk_geolocation_request_spec.rb +36 -0
  205. data/spec/models/bulk_whois200_response_spec.rb +36 -0
  206. data/spec/models/bulk_whois_request_spec.rb +36 -0
  207. data/spec/models/contact_spec.rb +96 -0
  208. data/spec/models/database_file_status_newly_value_spec.rb +42 -0
  209. data/spec/models/database_file_status_spec.rb +54 -0
  210. data/spec/models/dns_bulk200_response_spec.rb +36 -0
  211. data/spec/models/dns_bulk_request_spec.rb +42 -0
  212. data/spec/models/dns_record_spec.rb +84 -0
  213. data/spec/models/dns_response_spec.rb +60 -0
  214. data/spec/models/domain_availability_v2_item_spec.rb +46 -0
  215. data/spec/models/domain_availability_v2_response_spec.rb +36 -0
  216. data/spec/models/domain_reputation_dga_features_spec.rb +72 -0
  217. data/spec/models/domain_reputation_dga_score_spec.rb +64 -0
  218. data/spec/models/domain_reputation_evidence_summary_spec.rb +36 -0
  219. data/spec/models/domain_reputation_indicators_spec.rb +84 -0
  220. data/spec/models/domain_reputation_input_spec.rb +36 -0
  221. data/spec/models/domain_reputation_intelligence_spec.rb +82 -0
  222. data/spec/models/domain_reputation_pivot_match_spec.rb +58 -0
  223. data/spec/models/domain_reputation_related_ioc_spec.rb +52 -0
  224. data/spec/models/domain_reputation_response_spec.rb +90 -0
  225. data/spec/models/domain_reputation_risk_category_spec.rb +80 -0
  226. data/spec/models/domain_reputation_signal_spec.rb +74 -0
  227. data/spec/models/domain_reputation_signals_spec.rb +48 -0
  228. data/spec/models/domain_reputation_trust_signals_spec.rb +58 -0
  229. data/spec/models/error_response_spec.rb +60 -0
  230. data/spec/models/geolocation_asn_spec.rb +60 -0
  231. data/spec/models/geolocation_location_spec.rb +96 -0
  232. data/spec/models/geolocation_response_currency_spec.rb +48 -0
  233. data/spec/models/geolocation_response_network_spec.rb +36 -0
  234. data/spec/models/geolocation_response_spec.rb +54 -0
  235. data/spec/models/historical_dns_response_spec.rb +54 -0
  236. data/spec/models/ip_reputation_response_spec.rb +54 -0
  237. data/spec/models/ip_reputation_security_spec.rb +108 -0
  238. data/spec/models/ip_whois_response_abuse_contacts_inner_spec.rb +48 -0
  239. data/spec/models/ip_whois_response_inet_nums_inner_spec.rb +66 -0
  240. data/spec/models/ip_whois_response_organization_spec.rb +60 -0
  241. data/spec/models/ip_whois_response_spec.rb +72 -0
  242. data/spec/models/registrar_spec.rb +72 -0
  243. data/spec/models/reverse_dns_response_spec.rb +54 -0
  244. data/spec/models/reverse_whois_response_spec.rb +54 -0
  245. data/spec/models/snapshot_status_spec.rb +60 -0
  246. data/spec/models/ssl_certificate_spec.rb +88 -0
  247. data/spec/models/ssl_response_spec.rb +48 -0
  248. data/spec/models/subdomain_spec.rb +54 -0
  249. data/spec/models/subdomains_response_spec.rb +72 -0
  250. data/spec/models/typosquatting_domain_spec.rb +60 -0
  251. data/spec/models/typosquatting_response_spec.rb +72 -0
  252. data/spec/models/whois_historical_or_reverse200_response_spec.rb +32 -0
  253. data/spec/models/whois_historical_response_spec.rb +58 -0
  254. data/spec/models/whois_response_spec.rb +132 -0
  255. data/spec/spec_helper.rb +111 -0
  256. data/whoisfreaks.gemspec +41 -0
  257. metadata +451 -0
@@ -0,0 +1,169 @@
1
+ # WhoisFreaks::DomainAvailabilityApi
2
+
3
+ All URIs are relative to *https://api.whoisfreaks.com*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**bulk_domain_availability_v2**](DomainAvailabilityApi.md#bulk_domain_availability_v2) | **POST** /v2.0/domain/availability | Bulk Domain Availability Check |
8
+ | [**domain_availability_v2**](DomainAvailabilityApi.md#domain_availability_v2) | **GET** /v2.0/domain/availability | Domain Availability Check with Suggestions |
9
+
10
+
11
+ ## bulk_domain_availability_v2
12
+
13
+ > <BulkDomainAvailabilityV2Response> bulk_domain_availability_v2(api_key, bulk_domain_availability_request, opts)
14
+
15
+ Bulk Domain Availability Check
16
+
17
+ Two bulk modes. Mode 1: POST domainNames array. Mode 2: POST tld array plus domain query param. Max 100 domains per request. 1 credit per domain checked.
18
+
19
+ ### Examples
20
+
21
+ ```ruby
22
+ require 'time'
23
+ require 'whoisfreaks'
24
+ # setup authorization
25
+ WhoisFreaks.configure do |config|
26
+ # Configure API key authorization: ApiKeyAuth
27
+ config.api_key['apiKey'] = 'YOUR API KEY'
28
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
29
+ # config.api_key_prefix['apiKey'] = 'Bearer'
30
+ end
31
+
32
+ api_instance = WhoisFreaks::DomainAvailabilityApi.new
33
+ api_key = 'api_key_example' # String | Your WHOISFreaks API key
34
+ bulk_domain_availability_request = WhoisFreaks::BulkDomainAvailabilityRequest.new # BulkDomainAvailabilityRequest |
35
+ opts = {
36
+ domain: 'google.com', # String | Required for TLD-mode bulk check (base domain).
37
+ format: 'json' # String |
38
+ }
39
+
40
+ begin
41
+ # Bulk Domain Availability Check
42
+ result = api_instance.bulk_domain_availability_v2(api_key, bulk_domain_availability_request, opts)
43
+ p result
44
+ rescue WhoisFreaks::ApiError => e
45
+ puts "Error when calling DomainAvailabilityApi->bulk_domain_availability_v2: #{e}"
46
+ end
47
+ ```
48
+
49
+ #### Using the bulk_domain_availability_v2_with_http_info variant
50
+
51
+ This returns an Array which contains the response data, status code and headers.
52
+
53
+ > <Array(<BulkDomainAvailabilityV2Response>, Integer, Hash)> bulk_domain_availability_v2_with_http_info(api_key, bulk_domain_availability_request, opts)
54
+
55
+ ```ruby
56
+ begin
57
+ # Bulk Domain Availability Check
58
+ data, status_code, headers = api_instance.bulk_domain_availability_v2_with_http_info(api_key, bulk_domain_availability_request, opts)
59
+ p status_code # => 2xx
60
+ p headers # => { ... }
61
+ p data # => <BulkDomainAvailabilityV2Response>
62
+ rescue WhoisFreaks::ApiError => e
63
+ puts "Error when calling DomainAvailabilityApi->bulk_domain_availability_v2_with_http_info: #{e}"
64
+ end
65
+ ```
66
+
67
+ ### Parameters
68
+
69
+ | Name | Type | Description | Notes |
70
+ | ---- | ---- | ----------- | ----- |
71
+ | **api_key** | **String** | Your WHOISFreaks API key | |
72
+ | **bulk_domain_availability_request** | [**BulkDomainAvailabilityRequest**](BulkDomainAvailabilityRequest.md) | | |
73
+ | **domain** | **String** | Required for TLD-mode bulk check (base domain). | [optional] |
74
+ | **format** | **String** | | [optional][default to &#39;json&#39;] |
75
+
76
+ ### Return type
77
+
78
+ [**BulkDomainAvailabilityV2Response**](BulkDomainAvailabilityV2Response.md)
79
+
80
+ ### Authorization
81
+
82
+ [ApiKeyAuth](../README.md#ApiKeyAuth)
83
+
84
+ ### HTTP request headers
85
+
86
+ - **Content-Type**: application/json
87
+ - **Accept**: application/json
88
+
89
+
90
+ ## domain_availability_v2
91
+
92
+ > <DomainAvailabilityV2Response> domain_availability_v2(api_key, domain, opts)
93
+
94
+ Domain Availability Check with Suggestions
95
+
96
+ Check availability of a single domain and optionally get suggestions across multiple TLDs. 1 credit per domain checked. sug=false checks only the queried domain; sug=true returns up to `count` (max 100) TLD suggestions.
97
+
98
+ ### Examples
99
+
100
+ ```ruby
101
+ require 'time'
102
+ require 'whoisfreaks'
103
+ # setup authorization
104
+ WhoisFreaks.configure do |config|
105
+ # Configure API key authorization: ApiKeyAuth
106
+ config.api_key['apiKey'] = 'YOUR API KEY'
107
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
108
+ # config.api_key_prefix['apiKey'] = 'Bearer'
109
+ end
110
+
111
+ api_instance = WhoisFreaks::DomainAvailabilityApi.new
112
+ api_key = 'api_key_example' # String | Your WHOISFreaks API key
113
+ domain = 'google.com' # String | The domain name to check
114
+ opts = {
115
+ sug: true, # Boolean | Whether to return TLD suggestions alongside the queried domain.
116
+ count: 56, # Integer | Number of TLD suggestions to return when sug=true. Maximum is 100.
117
+ format: 'json' # String |
118
+ }
119
+
120
+ begin
121
+ # Domain Availability Check with Suggestions
122
+ result = api_instance.domain_availability_v2(api_key, domain, opts)
123
+ p result
124
+ rescue WhoisFreaks::ApiError => e
125
+ puts "Error when calling DomainAvailabilityApi->domain_availability_v2: #{e}"
126
+ end
127
+ ```
128
+
129
+ #### Using the domain_availability_v2_with_http_info variant
130
+
131
+ This returns an Array which contains the response data, status code and headers.
132
+
133
+ > <Array(<DomainAvailabilityV2Response>, Integer, Hash)> domain_availability_v2_with_http_info(api_key, domain, opts)
134
+
135
+ ```ruby
136
+ begin
137
+ # Domain Availability Check with Suggestions
138
+ data, status_code, headers = api_instance.domain_availability_v2_with_http_info(api_key, domain, opts)
139
+ p status_code # => 2xx
140
+ p headers # => { ... }
141
+ p data # => <DomainAvailabilityV2Response>
142
+ rescue WhoisFreaks::ApiError => e
143
+ puts "Error when calling DomainAvailabilityApi->domain_availability_v2_with_http_info: #{e}"
144
+ end
145
+ ```
146
+
147
+ ### Parameters
148
+
149
+ | Name | Type | Description | Notes |
150
+ | ---- | ---- | ----------- | ----- |
151
+ | **api_key** | **String** | Your WHOISFreaks API key | |
152
+ | **domain** | **String** | The domain name to check | |
153
+ | **sug** | **Boolean** | Whether to return TLD suggestions alongside the queried domain. | [optional][default to false] |
154
+ | **count** | **Integer** | Number of TLD suggestions to return when sug&#x3D;true. Maximum is 100. | [optional][default to 5] |
155
+ | **format** | **String** | | [optional][default to &#39;json&#39;] |
156
+
157
+ ### Return type
158
+
159
+ [**DomainAvailabilityV2Response**](DomainAvailabilityV2Response.md)
160
+
161
+ ### Authorization
162
+
163
+ [ApiKeyAuth](../README.md#ApiKeyAuth)
164
+
165
+ ### HTTP request headers
166
+
167
+ - **Content-Type**: Not defined
168
+ - **Accept**: application/json
169
+
@@ -0,0 +1,20 @@
1
+ # WhoisFreaks::DomainAvailabilityV2Item
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **domain** | **String** | The full domain name that was checked | [optional] |
8
+ | **availability** | **String** | Availability status of the domain. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'whoisfreaks'
14
+
15
+ instance = WhoisFreaks::DomainAvailabilityV2Item.new(
16
+ domain: google.com,
17
+ availability: UNAVAILABLE
18
+ )
19
+ ```
20
+
@@ -0,0 +1,18 @@
1
+ # WhoisFreaks::DomainAvailabilityV2Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **domain_available_response** | [**Array&lt;DomainAvailabilityV2Item&gt;**](DomainAvailabilityV2Item.md) | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'whoisfreaks'
13
+
14
+ instance = WhoisFreaks::DomainAvailabilityV2Response.new(
15
+ domain_available_response: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,85 @@
1
+ # WhoisFreaks::DomainReputationApi
2
+
3
+ All URIs are relative to *https://api.whoisfreaks.com*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**domain_reputation**](DomainReputationApi.md#domain_reputation) | **GET** /v1/domain/security | Domain Reputation Lookup |
8
+
9
+
10
+ ## domain_reputation
11
+
12
+ > <DomainReputationResponse> domain_reputation(api_key, domain_name, opts)
13
+
14
+ Domain Reputation Lookup
15
+
16
+ Real-time domain threat assessment. Returns risk verdict, trust score, DGA analysis, threat intelligence matches, and security signals. 1 credit.
17
+
18
+ ### Examples
19
+
20
+ ```ruby
21
+ require 'time'
22
+ require 'whoisfreaks'
23
+ # setup authorization
24
+ WhoisFreaks.configure do |config|
25
+ # Configure API key authorization: ApiKeyAuth
26
+ config.api_key['apiKey'] = 'YOUR API KEY'
27
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
28
+ # config.api_key_prefix['apiKey'] = 'Bearer'
29
+ end
30
+
31
+ api_instance = WhoisFreaks::DomainReputationApi.new
32
+ api_key = 'api_key_example' # String | Your WHOISFreaks API key
33
+ domain_name = 'amazon.com' # String | The domain name to assess
34
+ opts = {
35
+ format: 'json' # String |
36
+ }
37
+
38
+ begin
39
+ # Domain Reputation Lookup
40
+ result = api_instance.domain_reputation(api_key, domain_name, opts)
41
+ p result
42
+ rescue WhoisFreaks::ApiError => e
43
+ puts "Error when calling DomainReputationApi->domain_reputation: #{e}"
44
+ end
45
+ ```
46
+
47
+ #### Using the domain_reputation_with_http_info variant
48
+
49
+ This returns an Array which contains the response data, status code and headers.
50
+
51
+ > <Array(<DomainReputationResponse>, Integer, Hash)> domain_reputation_with_http_info(api_key, domain_name, opts)
52
+
53
+ ```ruby
54
+ begin
55
+ # Domain Reputation Lookup
56
+ data, status_code, headers = api_instance.domain_reputation_with_http_info(api_key, domain_name, opts)
57
+ p status_code # => 2xx
58
+ p headers # => { ... }
59
+ p data # => <DomainReputationResponse>
60
+ rescue WhoisFreaks::ApiError => e
61
+ puts "Error when calling DomainReputationApi->domain_reputation_with_http_info: #{e}"
62
+ end
63
+ ```
64
+
65
+ ### Parameters
66
+
67
+ | Name | Type | Description | Notes |
68
+ | ---- | ---- | ----------- | ----- |
69
+ | **api_key** | **String** | Your WHOISFreaks API key | |
70
+ | **domain_name** | **String** | The domain name to assess | |
71
+ | **format** | **String** | | [optional][default to &#39;json&#39;] |
72
+
73
+ ### Return type
74
+
75
+ [**DomainReputationResponse**](DomainReputationResponse.md)
76
+
77
+ ### Authorization
78
+
79
+ [ApiKeyAuth](../README.md#ApiKeyAuth)
80
+
81
+ ### HTTP request headers
82
+
83
+ - **Content-Type**: Not defined
84
+ - **Accept**: application/json
85
+
@@ -0,0 +1,30 @@
1
+ # WhoisFreaks::DomainReputationDgaFeatures
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **domain_length** | **Integer** | | [optional] |
8
+ | **vowel_consonant_ratio** | **Float** | | [optional] |
9
+ | **ngram_perplexity** | **Float** | | [optional] |
10
+ | **shannon_entropy** | **Float** | | [optional] |
11
+ | **digit_letter_ratio** | **Float** | | [optional] |
12
+ | **consonant_streak_max** | **Integer** | | [optional] |
13
+ | **tld_in_known_dga_set** | **Boolean** | | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'whoisfreaks'
19
+
20
+ instance = WhoisFreaks::DomainReputationDgaFeatures.new(
21
+ domain_length: 6,
22
+ vowel_consonant_ratio: 1.0,
23
+ ngram_perplexity: -8.074,
24
+ shannon_entropy: 2.2516291673878226,
25
+ digit_letter_ratio: 0.0,
26
+ consonant_streak_max: 1,
27
+ tld_in_known_dga_set: false
28
+ )
29
+ ```
30
+
@@ -0,0 +1,26 @@
1
+ # WhoisFreaks::DomainReputationDgaScore
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **score** | **Float** | | [optional] |
8
+ | **is_dga** | **Boolean** | | [optional] |
9
+ | **model** | **String** | | [optional] |
10
+ | **features** | [**DomainReputationDgaFeatures**](DomainReputationDgaFeatures.md) | | [optional] |
11
+ | **interpretation** | **String** | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'whoisfreaks'
17
+
18
+ instance = WhoisFreaks::DomainReputationDgaScore.new(
19
+ score: 0.0,
20
+ is_dga: false,
21
+ model: deterministic_features_v1,
22
+ features: null,
23
+ interpretation: human_readable
24
+ )
25
+ ```
26
+
@@ -0,0 +1,18 @@
1
+ # WhoisFreaks::DomainReputationEvidenceSummary
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **why_flagged** | **Array&lt;String&gt;** | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'whoisfreaks'
13
+
14
+ instance = WhoisFreaks::DomainReputationEvidenceSummary.new(
15
+ why_flagged: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,34 @@
1
+ # WhoisFreaks::DomainReputationIndicators
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **is_newly_registered** | **Boolean** | | [optional] |
8
+ | **uses_free_extension** | **Boolean** | | [optional] |
9
+ | **uses_free_ssl** | **Boolean** | | [optional] |
10
+ | **has_privacy_whois** | **Boolean** | | [optional] |
11
+ | **ssl_age_days** | **Integer** | | [optional] |
12
+ | **has_dmarc** | **Boolean** | | [optional] |
13
+ | **has_spf** | **Boolean** | | [optional] |
14
+ | **domain_age_days** | **Integer** | | [optional] |
15
+ | **registrar** | **String** | | [optional] |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'whoisfreaks'
21
+
22
+ instance = WhoisFreaks::DomainReputationIndicators.new(
23
+ is_newly_registered: false,
24
+ uses_free_extension: false,
25
+ uses_free_ssl: false,
26
+ has_privacy_whois: false,
27
+ ssl_age_days: 64,
28
+ has_dmarc: true,
29
+ has_spf: true,
30
+ domain_age_days: 11572,
31
+ registrar: MarkMonitor, Inc
32
+ )
33
+ ```
34
+
@@ -0,0 +1,18 @@
1
+ # WhoisFreaks::DomainReputationInput
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **domain** | **String** | The domain that was assessed | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'whoisfreaks'
13
+
14
+ instance = WhoisFreaks::DomainReputationInput.new(
15
+ domain: amazon.com
16
+ )
17
+ ```
18
+
@@ -0,0 +1,32 @@
1
+ # WhoisFreaks::DomainReputationIntelligence
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ioc_type** | **String** | | [optional] |
8
+ | **ioc_value** | **String** | | [optional] |
9
+ | **related_iocs** | [**Array&lt;DomainReputationRelatedIoc&gt;**](DomainReputationRelatedIoc.md) | | [optional] |
10
+ | **feed_tags** | **Array&lt;String&gt;** | | [optional] |
11
+ | **stix_pattern** | **String** | | [optional] |
12
+ | **recommended_action** | **String** | | [optional] |
13
+ | **first_seen** | **Time** | | [optional] |
14
+ | **last_seen** | **Time** | | [optional] |
15
+
16
+ ## Example
17
+
18
+ ```ruby
19
+ require 'whoisfreaks'
20
+
21
+ instance = WhoisFreaks::DomainReputationIntelligence.new(
22
+ ioc_type: domain,
23
+ ioc_value: amazon.com,
24
+ related_iocs: null,
25
+ feed_tags: null,
26
+ stix_pattern: [domain-name:value &#x3D; &#39;amazon.com&#39;],
27
+ recommended_action: monitor,
28
+ first_seen: null,
29
+ last_seen: null
30
+ )
31
+ ```
32
+
@@ -0,0 +1,24 @@
1
+ # WhoisFreaks::DomainReputationPivotMatch
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **pivot** | **String** | | [optional] |
8
+ | **pivot_type** | **String** | | [optional] |
9
+ | **total_related_threats** | **Integer** | | [optional] |
10
+ | **confidence** | **Float** | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'whoisfreaks'
16
+
17
+ instance = WhoisFreaks::DomainReputationPivotMatch.new(
18
+ pivot: +1 2062664064,
19
+ pivot_type: phone,
20
+ total_related_threats: 11314,
21
+ confidence: 0.7
22
+ )
23
+ ```
24
+
@@ -0,0 +1,22 @@
1
+ # WhoisFreaks::DomainReputationRelatedIoc
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **type** | **String** | | [optional] |
8
+ | **value** | **String** | | [optional] |
9
+ | **confidence** | **Float** | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'whoisfreaks'
15
+
16
+ instance = WhoisFreaks::DomainReputationRelatedIoc.new(
17
+ type: ipv4,
18
+ value: 98.87.170.71,
19
+ confidence: 0.9
20
+ )
21
+ ```
22
+
@@ -0,0 +1,36 @@
1
+ # WhoisFreaks::DomainReputationResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **input** | [**DomainReputationInput**](DomainReputationInput.md) | | [optional] |
8
+ | **assessed_at** | **Time** | | [optional] |
9
+ | **version** | **String** | | [optional] |
10
+ | **processing_time_ms** | **Integer** | | [optional] |
11
+ | **risk_category** | [**DomainReputationRiskCategory**](DomainReputationRiskCategory.md) | | [optional] |
12
+ | **dga_score** | [**DomainReputationDgaScore**](DomainReputationDgaScore.md) | | [optional] |
13
+ | **trust_signals** | [**DomainReputationTrustSignals**](DomainReputationTrustSignals.md) | | [optional] |
14
+ | **intelligence** | [**DomainReputationIntelligence**](DomainReputationIntelligence.md) | | [optional] |
15
+ | **evidence_summary** | [**DomainReputationEvidenceSummary**](DomainReputationEvidenceSummary.md) | | [optional] |
16
+ | **errors** | **Array&lt;String&gt;** | | [optional] |
17
+
18
+ ## Example
19
+
20
+ ```ruby
21
+ require 'whoisfreaks'
22
+
23
+ instance = WhoisFreaks::DomainReputationResponse.new(
24
+ input: null,
25
+ assessed_at: 2026-07-08T07:45:50.084747871Z,
26
+ version: 1.0.0,
27
+ processing_time_ms: 2009,
28
+ risk_category: null,
29
+ dga_score: null,
30
+ trust_signals: null,
31
+ intelligence: null,
32
+ evidence_summary: null,
33
+ errors: null
34
+ )
35
+ ```
36
+
@@ -0,0 +1,30 @@
1
+ # WhoisFreaks::DomainReputationRiskCategory
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **verdict** | **String** | | [optional] |
8
+ | **confidence** | **Float** | | [optional] |
9
+ | **primary_threat** | **String** | | [optional] |
10
+ | **severity** | **String** | | [optional] |
11
+ | **threat_types** | **Array&lt;String&gt;** | | [optional] |
12
+ | **sources** | **Array&lt;String&gt;** | | [optional] |
13
+ | **pivot_matches** | [**Array&lt;DomainReputationPivotMatch&gt;**](DomainReputationPivotMatch.md) | | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'whoisfreaks'
19
+
20
+ instance = WhoisFreaks::DomainReputationRiskCategory.new(
21
+ verdict: suspicious,
22
+ confidence: 0.7,
23
+ primary_threat: null,
24
+ severity: medium,
25
+ threat_types: null,
26
+ sources: null,
27
+ pivot_matches: null
28
+ )
29
+ ```
30
+
@@ -0,0 +1,28 @@
1
+ # WhoisFreaks::DomainReputationSignal
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **code** | **String** | | [optional] |
8
+ | **weight** | **Integer** | | [optional] |
9
+ | **polarity** | **String** | | [optional] |
10
+ | **category** | **String** | | [optional] |
11
+ | **evidence** | **String** | | [optional] |
12
+ | **confidence** | **Float** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'whoisfreaks'
18
+
19
+ instance = WhoisFreaks::DomainReputationSignal.new(
20
+ code: spf_configured,
21
+ weight: 5,
22
+ polarity: positive,
23
+ category: email_security,
24
+ evidence: SPF record found,
25
+ confidence: 1.0
26
+ )
27
+ ```
28
+
@@ -0,0 +1,22 @@
1
+ # WhoisFreaks::DomainReputationSignals
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **positive** | [**Array&lt;DomainReputationSignal&gt;**](DomainReputationSignal.md) | | [optional] |
8
+ | **negative** | [**Array&lt;DomainReputationSignal&gt;**](DomainReputationSignal.md) | | [optional] |
9
+ | **neutral** | [**Array&lt;DomainReputationSignal&gt;**](DomainReputationSignal.md) | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'whoisfreaks'
15
+
16
+ instance = WhoisFreaks::DomainReputationSignals.new(
17
+ positive: null,
18
+ negative: null,
19
+ neutral: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,24 @@
1
+ # WhoisFreaks::DomainReputationTrustSignals
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **trust_score** | **Integer** | | [optional] |
8
+ | **trust_band** | **String** | | [optional] |
9
+ | **signals** | [**DomainReputationSignals**](DomainReputationSignals.md) | | [optional] |
10
+ | **indicators** | [**DomainReputationIndicators**](DomainReputationIndicators.md) | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'whoisfreaks'
16
+
17
+ instance = WhoisFreaks::DomainReputationTrustSignals.new(
18
+ trust_score: 71,
19
+ trust_band: high,
20
+ signals: null,
21
+ indicators: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,26 @@
1
+ # WhoisFreaks::ErrorResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **status** | **Boolean** | | [optional] |
8
+ | **message** | **String** | | [optional] |
9
+ | **timestamp** | **String** | | [optional] |
10
+ | **path** | **String** | | [optional] |
11
+ | **error** | **String** | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'whoisfreaks'
17
+
18
+ instance = WhoisFreaks::ErrorResponse.new(
19
+ status: null,
20
+ message: null,
21
+ timestamp: null,
22
+ path: null,
23
+ error: null
24
+ )
25
+ ```
26
+