ipgeolocation_sdk 1.0.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 (218) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +2124 -0
  5. data/Rakefile +10 -0
  6. data/docs/ASNConnection.md +22 -0
  7. data/docs/ASNDetails.md +48 -0
  8. data/docs/ASNLookupApi.md +89 -0
  9. data/docs/ASNResponse.md +20 -0
  10. data/docs/ASNResponseXML.md +20 -0
  11. data/docs/ASNResponseXMLAsn.md +48 -0
  12. data/docs/Abuse.md +40 -0
  13. data/docs/AbuseContactApi.md +85 -0
  14. data/docs/AbuseResponse.md +20 -0
  15. data/docs/AbuseResponseXML.md +20 -0
  16. data/docs/Astronomy.md +68 -0
  17. data/docs/AstronomyApi.md +97 -0
  18. data/docs/AstronomyEvening.md +36 -0
  19. data/docs/AstronomyLocation.md +50 -0
  20. data/docs/AstronomyMorning.md +36 -0
  21. data/docs/AstronomyResponse.md +22 -0
  22. data/docs/AstronomyXMLResponse.md +22 -0
  23. data/docs/BulkIPGeolocation.md +42 -0
  24. data/docs/BulkIPSecurity.md +42 -0
  25. data/docs/CountryMetadata.md +22 -0
  26. data/docs/Currency.md +22 -0
  27. data/docs/ErrorResponse.md +18 -0
  28. data/docs/ErrorXMLResponse.md +18 -0
  29. data/docs/ErrorXMLResponseArray.md +18 -0
  30. data/docs/GeolocationResponse.md +38 -0
  31. data/docs/GeolocationXMLResponse.md +38 -0
  32. data/docs/GeolocationXMLResponseArray.md +38 -0
  33. data/docs/GetBulkIpGeolocation200ResponseInner1.md +49 -0
  34. data/docs/GetBulkIpGeolocationRequest.md +18 -0
  35. data/docs/GetBulkIpSecurityInfo200ResponseInner1.md +49 -0
  36. data/docs/IPLocationApi.md +175 -0
  37. data/docs/Location.md +58 -0
  38. data/docs/LocationMinimal.md +52 -0
  39. data/docs/Network.md +22 -0
  40. data/docs/NetworkAsn.md +38 -0
  41. data/docs/NetworkCompany.md +22 -0
  42. data/docs/NetworkMinimal.md +20 -0
  43. data/docs/NetworkMinimalAsn.md +22 -0
  44. data/docs/NetworkMinimalCompany.md +18 -0
  45. data/docs/ParseBulkUserAgentStringsRequest.md +18 -0
  46. data/docs/ParseUserAgentStringRequest.md +18 -0
  47. data/docs/Security.md +38 -0
  48. data/docs/SecurityAPIResponse.md +34 -0
  49. data/docs/SecurityAPIXMLResponse.md +34 -0
  50. data/docs/SecurityAPIXMLResponseArray.md +34 -0
  51. data/docs/SecurityApi.md +175 -0
  52. data/docs/TimeConversionApi.md +109 -0
  53. data/docs/TimeConversionResponse.md +24 -0
  54. data/docs/TimeConversionXMLResponse.md +24 -0
  55. data/docs/TimeZone.md +36 -0
  56. data/docs/TimeZoneDetailedResponse.md +26 -0
  57. data/docs/TimeZoneDetailedXMLResponse.md +26 -0
  58. data/docs/TimeZoneDstEnd.md +28 -0
  59. data/docs/TimeZoneDstStart.md +28 -0
  60. data/docs/TimezoneAirport.md +40 -0
  61. data/docs/TimezoneApi.md +99 -0
  62. data/docs/TimezoneDetail.md +56 -0
  63. data/docs/TimezoneDetailDstEnd.md +28 -0
  64. data/docs/TimezoneDetailDstStart.md +28 -0
  65. data/docs/TimezoneLocation.md +48 -0
  66. data/docs/TimezoneLocode.md +32 -0
  67. data/docs/UserAgentApi.md +235 -0
  68. data/docs/UserAgentData.md +32 -0
  69. data/docs/UserAgentDataDevice.md +24 -0
  70. data/docs/UserAgentDataEngine.md +24 -0
  71. data/docs/UserAgentDataOperatingSystem.md +26 -0
  72. data/docs/UserAgentXMLData.md +32 -0
  73. data/docs/UserAgentXMLDataArray.md +32 -0
  74. data/git_push.sh +57 -0
  75. data/ipgeolocation_sdk.gemspec +29 -0
  76. data/lib/ipgeolocation_sdk/api/abuse_contact_api.rb +86 -0
  77. data/lib/ipgeolocation_sdk/api/asn_lookup_api.rb +92 -0
  78. data/lib/ipgeolocation_sdk/api/astronomy_api.rb +116 -0
  79. data/lib/ipgeolocation_sdk/api/ip_geolocation_api.rb +186 -0
  80. data/lib/ipgeolocation_sdk/api/ip_security_api.rb +184 -0
  81. data/lib/ipgeolocation_sdk/api/time_conversion_api.rb +122 -0
  82. data/lib/ipgeolocation_sdk/api/timezone_api.rb +113 -0
  83. data/lib/ipgeolocation_sdk/api/user_agent_api.rb +158 -0
  84. data/lib/ipgeolocation_sdk/api_client.rb +393 -0
  85. data/lib/ipgeolocation_sdk/api_error.rb +58 -0
  86. data/lib/ipgeolocation_sdk/configuration.rb +308 -0
  87. data/lib/ipgeolocation_sdk/models/abuse.rb +305 -0
  88. data/lib/ipgeolocation_sdk/models/abuse_response.rb +229 -0
  89. data/lib/ipgeolocation_sdk/models/abuse_response_xml.rb +229 -0
  90. data/lib/ipgeolocation_sdk/models/asn_connection.rb +238 -0
  91. data/lib/ipgeolocation_sdk/models/asn_response.rb +230 -0
  92. data/lib/ipgeolocation_sdk/models/asn_response_asn.rb +368 -0
  93. data/lib/ipgeolocation_sdk/models/asn_response_xml.rb +229 -0
  94. data/lib/ipgeolocation_sdk/models/asn_response_xml_asn.rb +364 -0
  95. data/lib/ipgeolocation_sdk/models/astronomy.rb +445 -0
  96. data/lib/ipgeolocation_sdk/models/astronomy_evening.rb +301 -0
  97. data/lib/ipgeolocation_sdk/models/astronomy_location.rb +364 -0
  98. data/lib/ipgeolocation_sdk/models/astronomy_morning.rb +301 -0
  99. data/lib/ipgeolocation_sdk/models/astronomy_response.rb +238 -0
  100. data/lib/ipgeolocation_sdk/models/astronomy_xml_response.rb +238 -0
  101. data/lib/ipgeolocation_sdk/models/bulk_ip_geolocation.rb +113 -0
  102. data/lib/ipgeolocation_sdk/models/bulk_ip_security.rb +113 -0
  103. data/lib/ipgeolocation_sdk/models/country_metadata.rb +240 -0
  104. data/lib/ipgeolocation_sdk/models/currency.rb +238 -0
  105. data/lib/ipgeolocation_sdk/models/error_response.rb +220 -0
  106. data/lib/ipgeolocation_sdk/models/error_xml_response.rb +220 -0
  107. data/lib/ipgeolocation_sdk/models/error_xml_response_array.rb +220 -0
  108. data/lib/ipgeolocation_sdk/models/geolocation_response.rb +310 -0
  109. data/lib/ipgeolocation_sdk/models/geolocation_xml_response.rb +310 -0
  110. data/lib/ipgeolocation_sdk/models/geolocation_xml_response_array.rb +310 -0
  111. data/lib/ipgeolocation_sdk/models/get_bulk_ip_geolocation200_response_inner1.rb +105 -0
  112. data/lib/ipgeolocation_sdk/models/get_bulk_ip_geolocation_request.rb +241 -0
  113. data/lib/ipgeolocation_sdk/models/get_bulk_ip_security_info200_response_inner1.rb +105 -0
  114. data/lib/ipgeolocation_sdk/models/location.rb +400 -0
  115. data/lib/ipgeolocation_sdk/models/location_minimal.rb +373 -0
  116. data/lib/ipgeolocation_sdk/models/network.rb +238 -0
  117. data/lib/ipgeolocation_sdk/models/network_asn.rb +310 -0
  118. data/lib/ipgeolocation_sdk/models/network_company.rb +238 -0
  119. data/lib/ipgeolocation_sdk/models/network_minimal.rb +229 -0
  120. data/lib/ipgeolocation_sdk/models/network_minimal_asn.rb +238 -0
  121. data/lib/ipgeolocation_sdk/models/network_minimal_company.rb +220 -0
  122. data/lib/ipgeolocation_sdk/models/parse_bulk_user_agent_strings_request.rb +222 -0
  123. data/lib/ipgeolocation_sdk/models/parse_user_agent_string_request.rb +220 -0
  124. data/lib/ipgeolocation_sdk/models/security.rb +310 -0
  125. data/lib/ipgeolocation_sdk/models/security_api_response.rb +292 -0
  126. data/lib/ipgeolocation_sdk/models/security_apixml_response.rb +292 -0
  127. data/lib/ipgeolocation_sdk/models/security_apixml_response_array.rb +292 -0
  128. data/lib/ipgeolocation_sdk/models/time_conversion_response.rb +247 -0
  129. data/lib/ipgeolocation_sdk/models/time_conversion_xml_response.rb +247 -0
  130. data/lib/ipgeolocation_sdk/models/time_zone.rb +301 -0
  131. data/lib/ipgeolocation_sdk/models/time_zone_detailed_response.rb +256 -0
  132. data/lib/ipgeolocation_sdk/models/time_zone_detailed_xml_response.rb +256 -0
  133. data/lib/ipgeolocation_sdk/models/time_zone_dst_end.rb +265 -0
  134. data/lib/ipgeolocation_sdk/models/time_zone_dst_start.rb +265 -0
  135. data/lib/ipgeolocation_sdk/models/timezone_airport.rb +319 -0
  136. data/lib/ipgeolocation_sdk/models/timezone_detail.rb +391 -0
  137. data/lib/ipgeolocation_sdk/models/timezone_detail_dst_end.rb +265 -0
  138. data/lib/ipgeolocation_sdk/models/timezone_detail_dst_start.rb +265 -0
  139. data/lib/ipgeolocation_sdk/models/timezone_location.rb +355 -0
  140. data/lib/ipgeolocation_sdk/models/timezone_locode.rb +283 -0
  141. data/lib/ipgeolocation_sdk/models/user_agent_data.rb +283 -0
  142. data/lib/ipgeolocation_sdk/models/user_agent_data_device.rb +247 -0
  143. data/lib/ipgeolocation_sdk/models/user_agent_data_engine.rb +247 -0
  144. data/lib/ipgeolocation_sdk/models/user_agent_data_operating_system.rb +256 -0
  145. data/lib/ipgeolocation_sdk/models/user_agent_xml_data.rb +283 -0
  146. data/lib/ipgeolocation_sdk/models/user_agent_xml_data_array.rb +283 -0
  147. data/lib/ipgeolocation_sdk/version.rb +15 -0
  148. data/lib/ipgeolocation_sdk.rb +107 -0
  149. data/spec/api/abuse_contact_api_spec.rb +48 -0
  150. data/spec/api/asn_lookup_api_spec.rb +50 -0
  151. data/spec/api/astronomy_api_spec.rb +54 -0
  152. data/spec/api/ip_location_api_spec.rb +67 -0
  153. data/spec/api/security_api_spec.rb +67 -0
  154. data/spec/api/time_conversion_api_spec.rb +60 -0
  155. data/spec/api/timezone_api_spec.rb +56 -0
  156. data/spec/api/user_agent_api_spec.rb +74 -0
  157. data/spec/models/abuse_response_spec.rb +42 -0
  158. data/spec/models/abuse_response_xml_spec.rb +42 -0
  159. data/spec/models/abuse_spec.rb +90 -0
  160. data/spec/models/asn_connection_spec.rb +48 -0
  161. data/spec/models/asn_response_asn_spec.rb +126 -0
  162. data/spec/models/asn_response_spec.rb +42 -0
  163. data/spec/models/asn_response_xml_asn_spec.rb +126 -0
  164. data/spec/models/asn_response_xml_spec.rb +42 -0
  165. data/spec/models/astronomy_evening_spec.rb +90 -0
  166. data/spec/models/astronomy_location_spec.rb +132 -0
  167. data/spec/models/astronomy_morning_spec.rb +90 -0
  168. data/spec/models/astronomy_response_spec.rb +48 -0
  169. data/spec/models/astronomy_spec.rb +186 -0
  170. data/spec/models/astronomy_xml_response_spec.rb +48 -0
  171. data/spec/models/country_metadata_spec.rb +48 -0
  172. data/spec/models/currency_spec.rb +48 -0
  173. data/spec/models/error_response_spec.rb +36 -0
  174. data/spec/models/error_xml_response_array_spec.rb +36 -0
  175. data/spec/models/error_xml_response_spec.rb +36 -0
  176. data/spec/models/geolocation_response_spec.rb +96 -0
  177. data/spec/models/geolocation_xml_response_array_spec.rb +96 -0
  178. data/spec/models/geolocation_xml_response_spec.rb +96 -0
  179. data/spec/models/get_bulk_ip_geolocation200_response_inner1_spec.rb +32 -0
  180. data/spec/models/get_bulk_ip_geolocation200_response_inner_spec.rb +32 -0
  181. data/spec/models/get_bulk_ip_geolocation_request_spec.rb +36 -0
  182. data/spec/models/get_bulk_ip_security_info200_response_inner1_spec.rb +32 -0
  183. data/spec/models/get_bulk_ip_security_info200_response_inner_spec.rb +32 -0
  184. data/spec/models/location_minimal_spec.rb +138 -0
  185. data/spec/models/location_spec.rb +156 -0
  186. data/spec/models/network_asn_spec.rb +96 -0
  187. data/spec/models/network_company_spec.rb +48 -0
  188. data/spec/models/network_minimal_asn_spec.rb +48 -0
  189. data/spec/models/network_minimal_company_spec.rb +36 -0
  190. data/spec/models/network_minimal_spec.rb +42 -0
  191. data/spec/models/network_spec.rb +48 -0
  192. data/spec/models/parse_bulk_user_agent_strings_request_spec.rb +36 -0
  193. data/spec/models/parse_user_agent_string_request_spec.rb +36 -0
  194. data/spec/models/security_api_response_spec.rb +84 -0
  195. data/spec/models/security_apixml_response_array_spec.rb +84 -0
  196. data/spec/models/security_apixml_response_spec.rb +84 -0
  197. data/spec/models/security_spec.rb +96 -0
  198. data/spec/models/time_conversion_response_spec.rb +54 -0
  199. data/spec/models/time_conversion_xml_response_spec.rb +54 -0
  200. data/spec/models/time_zone_detailed_response_spec.rb +60 -0
  201. data/spec/models/time_zone_detailed_xml_response_spec.rb +60 -0
  202. data/spec/models/time_zone_dst_end_spec.rb +66 -0
  203. data/spec/models/time_zone_dst_start_spec.rb +66 -0
  204. data/spec/models/time_zone_spec.rb +90 -0
  205. data/spec/models/timezone_airport_spec.rb +102 -0
  206. data/spec/models/timezone_detail_dst_end_spec.rb +66 -0
  207. data/spec/models/timezone_detail_dst_start_spec.rb +66 -0
  208. data/spec/models/timezone_detail_spec.rb +150 -0
  209. data/spec/models/timezone_location_spec.rb +126 -0
  210. data/spec/models/timezone_locode_spec.rb +78 -0
  211. data/spec/models/user_agent_data_device_spec.rb +54 -0
  212. data/spec/models/user_agent_data_engine_spec.rb +54 -0
  213. data/spec/models/user_agent_data_operating_system_spec.rb +60 -0
  214. data/spec/models/user_agent_data_spec.rb +78 -0
  215. data/spec/models/user_agent_xml_data_array_spec.rb +78 -0
  216. data/spec/models/user_agent_xml_data_spec.rb +78 -0
  217. data/spec/spec_helper.rb +111 -0
  218. metadata +373 -0
@@ -0,0 +1,175 @@
1
+ # IpgeolocationSdk::SecurityApi
2
+
3
+ All URIs are relative to *https://api.ipgeolocation.io/v2*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**get_bulk_ip_security_info**](SecurityApi.md#get_bulk_ip_security_info) | **POST** /security-bulk | |
8
+ | [**get_ip_security_info**](SecurityApi.md#get_ip_security_info) | **GET** /security | |
9
+
10
+
11
+ ## get_bulk_ip_security_info
12
+
13
+ > <Array<GetBulkIpSecurityInfo200ResponseInner>> get_bulk_ip_security_info(get_bulk_ip_geolocation_request, opts)
14
+
15
+
16
+
17
+ The Bulk IP Security Lookup API can provide security details for up to `50,000` bulk IPs. This API also has parameters to customize the response, just like the single IP Security Lookup API.
18
+
19
+ ### Examples
20
+
21
+ ```ruby
22
+ require 'time'
23
+ require 'ipgeolocation_sdk'
24
+ # setup authorization
25
+ IpgeolocationSdk.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 = IpgeolocationSdk::SecurityApi.new
33
+ get_bulk_ip_geolocation_request = IpgeolocationSdk::GetBulkIpGeolocationRequest.new # GetBulkIpGeolocationRequest |
34
+ opts = {
35
+ include: 'location,network,currency,time_zone,user_agent,country_metadata,hostname', # String | Include optional objects like `location`, `network`. Use comma-separated values. Example: include=location,network
36
+ fields: 'security.is_tor, location,', # String | Get specific fields, objects from the response.
37
+ excludes: 'security.is_cloud_provider', # String | Exclude specific fields, objects from the response.
38
+ output: 'json', # String | Desired output format.
39
+ lang: 'en' # String | By default, the API responds in English. You can change the response language by passing the language code as a query parameter `lang`. Multi language feature is available only for `paid users`.
40
+ }
41
+
42
+ begin
43
+
44
+ result = api_instance.get_bulk_ip_security_info(get_bulk_ip_geolocation_request, opts)
45
+ p result
46
+ rescue IpgeolocationSdk::ApiError => e
47
+ puts "Error when calling SecurityApi->get_bulk_ip_security_info: #{e}"
48
+ end
49
+ ```
50
+
51
+ #### Using the get_bulk_ip_security_info_with_http_info variant
52
+
53
+ This returns an Array which contains the response data, status code and headers.
54
+
55
+ > <Array(<Array<GetBulkIpSecurityInfo200ResponseInner>>, Integer, Hash)> get_bulk_ip_security_info_with_http_info(get_bulk_ip_geolocation_request, opts)
56
+
57
+ ```ruby
58
+ begin
59
+
60
+ data, status_code, headers = api_instance.get_bulk_ip_security_info_with_http_info(get_bulk_ip_geolocation_request, opts)
61
+ p status_code # => 2xx
62
+ p headers # => { ... }
63
+ p data # => <Array<GetBulkIpSecurityInfo200ResponseInner>>
64
+ rescue IpgeolocationSdk::ApiError => e
65
+ puts "Error when calling SecurityApi->get_bulk_ip_security_info_with_http_info: #{e}"
66
+ end
67
+ ```
68
+
69
+ ### Parameters
70
+
71
+ | Name | Type | Description | Notes |
72
+ | ---- | ---- | ----------- | ----- |
73
+ | **get_bulk_ip_geolocation_request** | [**GetBulkIpGeolocationRequest**](GetBulkIpGeolocationRequest.md) | | |
74
+ | **include** | **String** | Include optional objects like &#x60;location&#x60;, &#x60;network&#x60;. Use comma-separated values. Example: include&#x3D;location,network | [optional] |
75
+ | **fields** | **String** | Get specific fields, objects from the response. | [optional] |
76
+ | **excludes** | **String** | Exclude specific fields, objects from the response. | [optional] |
77
+ | **output** | **String** | Desired output format. | [optional] |
78
+ | **lang** | **String** | By default, the API responds in English. You can change the response language by passing the language code as a query parameter &#x60;lang&#x60;. Multi language feature is available only for &#x60;paid users&#x60;. | [optional] |
79
+
80
+ ### Return type
81
+
82
+ [**Array&lt;GetBulkIpSecurityInfo200ResponseInner&gt;**](GetBulkIpSecurityInfo200ResponseInner.md)
83
+
84
+ ### Authorization
85
+
86
+ [ApiKeyAuth](../README.md#ApiKeyAuth)
87
+
88
+ ### HTTP request headers
89
+
90
+ - **Content-Type**: application/json
91
+ - **Accept**: application/json, application/xml
92
+
93
+
94
+ ## get_ip_security_info
95
+
96
+ > <SecurityAPIResponse> get_ip_security_info(opts)
97
+
98
+
99
+
100
+ IP Security API provides security details of a given IP. It detects whether the IP is proxy, tor or bot. It also shows the proxy types of the IP (like VPN, PROXY, RELAY etc.) with it's VPN/proxy service provider making our API powerful VPN checker. It finds the IPs that are involved in spam activities. It also checks whether the IP links to a cloud provider and includes the provider's name.
101
+
102
+ ### Examples
103
+
104
+ ```ruby
105
+ require 'time'
106
+ require 'ipgeolocation_sdk'
107
+ # setup authorization
108
+ IpgeolocationSdk.configure do |config|
109
+ # Configure API key authorization: ApiKeyAuth
110
+ config.api_key['apiKey'] = 'YOUR API KEY'
111
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
112
+ # config.api_key_prefix['apiKey'] = 'Bearer'
113
+ end
114
+
115
+ api_instance = IpgeolocationSdk::SecurityApi.new
116
+ opts = {
117
+ ip: '8.8.8.8', # String | query parameter 'ip'. If not provided, will be your network IP
118
+ include: 'location,network,currency,time_zone,user_agent,country_metadata,hostname', # String | Include optional details like location and/or network.
119
+ fields: 'security.is_tor, location,', # String | Get specific fields, objects from the response.
120
+ excludes: 'security.is_cloud_provider', # String | Exclude specific fields, objects from the response.
121
+ output: 'json', # String | Desired output format (json or xml).
122
+ lang: 'en' # String | By default, the API responds in English. You can change the response language by passing the language code as a query parameter `lang`. Multi language feature is available only for `paid users`.
123
+ }
124
+
125
+ begin
126
+
127
+ result = api_instance.get_ip_security_info(opts)
128
+ p result
129
+ rescue IpgeolocationSdk::ApiError => e
130
+ puts "Error when calling SecurityApi->get_ip_security_info: #{e}"
131
+ end
132
+ ```
133
+
134
+ #### Using the get_ip_security_info_with_http_info variant
135
+
136
+ This returns an Array which contains the response data, status code and headers.
137
+
138
+ > <Array(<SecurityAPIResponse>, Integer, Hash)> get_ip_security_info_with_http_info(opts)
139
+
140
+ ```ruby
141
+ begin
142
+
143
+ data, status_code, headers = api_instance.get_ip_security_info_with_http_info(opts)
144
+ p status_code # => 2xx
145
+ p headers # => { ... }
146
+ p data # => <SecurityAPIResponse>
147
+ rescue IpgeolocationSdk::ApiError => e
148
+ puts "Error when calling SecurityApi->get_ip_security_info_with_http_info: #{e}"
149
+ end
150
+ ```
151
+
152
+ ### Parameters
153
+
154
+ | Name | Type | Description | Notes |
155
+ | ---- | ---- | ----------- | ----- |
156
+ | **ip** | **String** | query parameter &#39;ip&#39;. If not provided, will be your network IP | [optional] |
157
+ | **include** | **String** | Include optional details like location and/or network. | [optional] |
158
+ | **fields** | **String** | Get specific fields, objects from the response. | [optional] |
159
+ | **excludes** | **String** | Exclude specific fields, objects from the response. | [optional] |
160
+ | **output** | **String** | Desired output format (json or xml). | [optional] |
161
+ | **lang** | **String** | By default, the API responds in English. You can change the response language by passing the language code as a query parameter &#x60;lang&#x60;. Multi language feature is available only for &#x60;paid users&#x60;. | [optional] |
162
+
163
+ ### Return type
164
+
165
+ [**SecurityAPIResponse**](SecurityAPIResponse.md)
166
+
167
+ ### Authorization
168
+
169
+ [ApiKeyAuth](../README.md#ApiKeyAuth)
170
+
171
+ ### HTTP request headers
172
+
173
+ - **Content-Type**: Not defined
174
+ - **Accept**: application/json, application/xml
175
+
@@ -0,0 +1,109 @@
1
+ # IpgeolocationSdk::TimeConversionApi
2
+
3
+ All URIs are relative to *https://api.ipgeolocation.io/v2*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**convert_time_between_timezones**](TimeConversionApi.md#convert_time_between_timezones) | **GET** /timezone/convert | |
8
+
9
+
10
+ ## convert_time_between_timezones
11
+
12
+ > <TimeConversionResponse> convert_time_between_timezones(opts)
13
+
14
+
15
+
16
+ You can convert a timestamp provided as a query paramter time from one time zone to another time zone.
17
+
18
+ ### Examples
19
+
20
+ ```ruby
21
+ require 'time'
22
+ require 'ipgeolocation_sdk'
23
+ # setup authorization
24
+ IpgeolocationSdk.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 = IpgeolocationSdk::TimeConversionApi.new
32
+ opts = {
33
+ time: '2025-02-28 9:00:00', # String | time parameter takes the input in the following two formats: i) 'yyyy-MM-dd HH:mm', and ii) 'yyyy-MM-dd HH:mm:ss'. This parameter is optional and you can omit it to convert the current time between two coordinates, time zones or locations.
34
+ tz_from: 'America/Argentina/Catamarca', # String | timezone to convert from
35
+ tz_to: 'Asia/Kabul', # String | timezone to convert to
36
+ lat_from: 34.0207305, # Float | latitude to convert from
37
+ long_from: -118.691916, # Float | longitude to convert from
38
+ lat_to: 53.473682, # Float | latitude to convert to
39
+ long_to: -77.397706, # Float | longitude to convert to
40
+ location_from: 'New York, USA', # String | location to convert from
41
+ location_to: 'Lahore, Pakistan', # String | location to convert to
42
+ icao_from: 'YSSY', # String | location to convert from
43
+ icao_to: 'ZBAA', # String | location to convert to
44
+ iata_from: 'DXB', # String | location to convert from
45
+ iata_to: 'LHR', # String | location to convert to
46
+ locode_from: 'PKISB', # String | location to convert from
47
+ locode_to: 'USNYC' # String | location to convert to
48
+ }
49
+
50
+ begin
51
+
52
+ result = api_instance.convert_time_between_timezones(opts)
53
+ p result
54
+ rescue IpgeolocationSdk::ApiError => e
55
+ puts "Error when calling TimeConversionApi->convert_time_between_timezones: #{e}"
56
+ end
57
+ ```
58
+
59
+ #### Using the convert_time_between_timezones_with_http_info variant
60
+
61
+ This returns an Array which contains the response data, status code and headers.
62
+
63
+ > <Array(<TimeConversionResponse>, Integer, Hash)> convert_time_between_timezones_with_http_info(opts)
64
+
65
+ ```ruby
66
+ begin
67
+
68
+ data, status_code, headers = api_instance.convert_time_between_timezones_with_http_info(opts)
69
+ p status_code # => 2xx
70
+ p headers # => { ... }
71
+ p data # => <TimeConversionResponse>
72
+ rescue IpgeolocationSdk::ApiError => e
73
+ puts "Error when calling TimeConversionApi->convert_time_between_timezones_with_http_info: #{e}"
74
+ end
75
+ ```
76
+
77
+ ### Parameters
78
+
79
+ | Name | Type | Description | Notes |
80
+ | ---- | ---- | ----------- | ----- |
81
+ | **time** | **String** | time parameter takes the input in the following two formats: i) &#39;yyyy-MM-dd HH:mm&#39;, and ii) &#39;yyyy-MM-dd HH:mm:ss&#39;. This parameter is optional and you can omit it to convert the current time between two coordinates, time zones or locations. | [optional] |
82
+ | **tz_from** | **String** | timezone to convert from | [optional] |
83
+ | **tz_to** | **String** | timezone to convert to | [optional] |
84
+ | **lat_from** | **Float** | latitude to convert from | [optional] |
85
+ | **long_from** | **Float** | longitude to convert from | [optional] |
86
+ | **lat_to** | **Float** | latitude to convert to | [optional] |
87
+ | **long_to** | **Float** | longitude to convert to | [optional] |
88
+ | **location_from** | **String** | location to convert from | [optional] |
89
+ | **location_to** | **String** | location to convert to | [optional] |
90
+ | **icao_from** | **String** | location to convert from | [optional] |
91
+ | **icao_to** | **String** | location to convert to | [optional] |
92
+ | **iata_from** | **String** | location to convert from | [optional] |
93
+ | **iata_to** | **String** | location to convert to | [optional] |
94
+ | **locode_from** | **String** | location to convert from | [optional] |
95
+ | **locode_to** | **String** | location to convert to | [optional] |
96
+
97
+ ### Return type
98
+
99
+ [**TimeConversionResponse**](TimeConversionResponse.md)
100
+
101
+ ### Authorization
102
+
103
+ [ApiKeyAuth](../README.md#ApiKeyAuth)
104
+
105
+ ### HTTP request headers
106
+
107
+ - **Content-Type**: Not defined
108
+ - **Accept**: application/json, application/xml
109
+
@@ -0,0 +1,24 @@
1
+ # IpgeolocationSdk::TimeConversionResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **original_time** | **Time** | | [optional] |
8
+ | **converted_time** | **Time** | | [optional] |
9
+ | **diff_hour** | **Float** | | [optional] |
10
+ | **diff_min** | **Integer** | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'ipgeolocation_sdk'
16
+
17
+ instance = IpgeolocationSdk::TimeConversionResponse.new(
18
+ original_time: null,
19
+ converted_time: null,
20
+ diff_hour: 7.5,
21
+ diff_min: 450
22
+ )
23
+ ```
24
+
@@ -0,0 +1,24 @@
1
+ # IpgeolocationSdk::TimeConversionXMLResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **original_time** | **String** | | [optional] |
8
+ | **converted_time** | **String** | | [optional] |
9
+ | **diff_hour** | **Float** | | [optional] |
10
+ | **diff_min** | **Integer** | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'ipgeolocation_sdk'
16
+
17
+ instance = IpgeolocationSdk::TimeConversionXMLResponse.new(
18
+ original_time: 2024-12-08 11:00,
19
+ converted_time: 2024-12-08 18:30:00,
20
+ diff_hour: 7.5,
21
+ diff_min: 450
22
+ )
23
+ ```
24
+
data/docs/TimeZone.md ADDED
@@ -0,0 +1,36 @@
1
+ # IpgeolocationSdk::TimeZone
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | | [optional] |
8
+ | **offset** | **Integer** | | [optional] |
9
+ | **offset_with_dst** | **Integer** | | [optional] |
10
+ | **current_time** | **String** | | [optional] |
11
+ | **current_time_unix** | **Float** | | [optional] |
12
+ | **is_dst** | **Boolean** | | [optional] |
13
+ | **dst_savings** | **Integer** | | [optional] |
14
+ | **dst_exists** | **Boolean** | | [optional] |
15
+ | **dst_start** | [**TimeZoneDstStart**](TimeZoneDstStart.md) | | [optional] |
16
+ | **dst_end** | [**TimeZoneDstEnd**](TimeZoneDstEnd.md) | | [optional] |
17
+
18
+ ## Example
19
+
20
+ ```ruby
21
+ require 'ipgeolocation_sdk'
22
+
23
+ instance = IpgeolocationSdk::TimeZone.new(
24
+ name: America/Los_Angeles,
25
+ offset: -8,
26
+ offset_with_dst: -7,
27
+ current_time: 2025-04-22 06:19:40.951-0700,
28
+ current_time_unix: 1745327980.951,
29
+ is_dst: true,
30
+ dst_savings: 1,
31
+ dst_exists: true,
32
+ dst_start: null,
33
+ dst_end: null
34
+ )
35
+ ```
36
+
@@ -0,0 +1,26 @@
1
+ # IpgeolocationSdk::TimeZoneDetailedResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ip** | **String** | | [optional] |
8
+ | **airport_details** | [**TimezoneAirport**](TimezoneAirport.md) | | [optional] |
9
+ | **lo_code_details** | [**TimezoneLocode**](TimezoneLocode.md) | | [optional] |
10
+ | **location** | [**TimezoneLocation**](TimezoneLocation.md) | | [optional] |
11
+ | **time_zone** | [**TimezoneDetail**](TimezoneDetail.md) | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'ipgeolocation_sdk'
17
+
18
+ instance = IpgeolocationSdk::TimeZoneDetailedResponse.new(
19
+ ip: 8.8.8.8,
20
+ airport_details: null,
21
+ lo_code_details: null,
22
+ location: null,
23
+ time_zone: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,26 @@
1
+ # IpgeolocationSdk::TimeZoneDetailedXMLResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ip** | **String** | | [optional] |
8
+ | **airport_details** | [**TimezoneAirport**](TimezoneAirport.md) | | [optional] |
9
+ | **lo_code_details** | [**TimezoneLocode**](TimezoneLocode.md) | | [optional] |
10
+ | **location** | [**TimezoneLocation**](TimezoneLocation.md) | | [optional] |
11
+ | **time_zone** | [**TimezoneDetail**](TimezoneDetail.md) | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'ipgeolocation_sdk'
17
+
18
+ instance = IpgeolocationSdk::TimeZoneDetailedXMLResponse.new(
19
+ ip: 8.8.8.8,
20
+ airport_details: null,
21
+ lo_code_details: null,
22
+ location: null,
23
+ time_zone: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,28 @@
1
+ # IpgeolocationSdk::TimeZoneDstEnd
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **utc_time** | **String** | | [optional] |
8
+ | **duration** | **String** | | [optional] |
9
+ | **gap** | **Boolean** | | [optional] |
10
+ | **date_time_after** | **String** | | [optional] |
11
+ | **date_time_before** | **String** | | [optional] |
12
+ | **overlap** | **Boolean** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'ipgeolocation_sdk'
18
+
19
+ instance = IpgeolocationSdk::TimeZoneDstEnd.new(
20
+ utc_time: 2025-11-02 TIME 09,
21
+ duration: -1H,
22
+ gap: false,
23
+ date_time_after: 2025-11-02 TIME 01,
24
+ date_time_before: 2025-11-02 TIME 02,
25
+ overlap: true
26
+ )
27
+ ```
28
+
@@ -0,0 +1,28 @@
1
+ # IpgeolocationSdk::TimeZoneDstStart
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **utc_time** | **String** | | [optional] |
8
+ | **duration** | **String** | | [optional] |
9
+ | **gap** | **Boolean** | | [optional] |
10
+ | **date_time_after** | **String** | | [optional] |
11
+ | **date_time_before** | **String** | | [optional] |
12
+ | **overlap** | **Boolean** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'ipgeolocation_sdk'
18
+
19
+ instance = IpgeolocationSdk::TimeZoneDstStart.new(
20
+ utc_time: 2025-03-09 TIME 10,
21
+ duration: +1H,
22
+ gap: true,
23
+ date_time_after: 2025-03-09 TIME 03,
24
+ date_time_before: 2025-03-09 TIME 02,
25
+ overlap: false
26
+ )
27
+ ```
28
+
@@ -0,0 +1,40 @@
1
+ # IpgeolocationSdk::TimezoneAirport
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **type** | **String** | | [optional] |
8
+ | **name** | **String** | | [optional] |
9
+ | **latitude** | **String** | | [optional] |
10
+ | **longitude** | **String** | | [optional] |
11
+ | **elevation_ft** | **Integer** | | [optional] |
12
+ | **continent_code** | **String** | | [optional] |
13
+ | **country_code** | **String** | | [optional] |
14
+ | **state_code** | **String** | | [optional] |
15
+ | **city** | **String** | | [optional] |
16
+ | **iata_code** | **String** | | [optional] |
17
+ | **icao_code** | **String** | | [optional] |
18
+ | **faa_code** | **String** | | [optional] |
19
+
20
+ ## Example
21
+
22
+ ```ruby
23
+ require 'ipgeolocation_sdk'
24
+
25
+ instance = IpgeolocationSdk::TimezoneAirport.new(
26
+ type: large_airport,
27
+ name: Hartsfield Jackson Atlanta International Airport,
28
+ latitude: 33.63670,
29
+ longitude: -84.42810,
30
+ elevation_ft: 1026,
31
+ continent_code: NA,
32
+ country_code: US,
33
+ state_code: US-GA,
34
+ city: Atlanta,
35
+ iata_code: ATL,
36
+ icao_code: KATL,
37
+ faa_code:
38
+ )
39
+ ```
40
+
@@ -0,0 +1,99 @@
1
+ # IpgeolocationSdk::TimezoneApi
2
+
3
+ All URIs are relative to *https://api.ipgeolocation.io/v2*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**get_timezone_info**](TimezoneApi.md#get_timezone_info) | **GET** /timezone | Timezone information details |
8
+
9
+
10
+ ## get_timezone_info
11
+
12
+ > <TimeZoneDetailedResponse> get_timezone_info(opts)
13
+
14
+ Timezone information details
15
+
16
+ The Time Zone API provides current time, date, and time zone-related information. It supports various input types including time zone name, geographic coordinates, addresses, IPs, and location codes. The API determines the time zone based on the following priority order if multiple parameters are provided: 1. Time Zone Name 2. Geographic Coordinates (latitude & longitude) 3. Location Address 4. IP Address 5. IATA Code 6. ICAO Code 7. UN/LOCODE Enriched response data is returned based on the type of input: - IP: includes geolocation info - Address: includes location metadata - IATA/ICAO: includes airport info - UN/LOCODE: includes city details You can call the time zone API without passing any time zone, coordinates, IATA, ICAO, LO code or IP address as well. It will use the calling machine's IP address to return the regional time zone information.
17
+
18
+ ### Examples
19
+
20
+ ```ruby
21
+ require 'time'
22
+ require 'ipgeolocation_sdk'
23
+ # setup authorization
24
+ IpgeolocationSdk.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 = IpgeolocationSdk::TimezoneApi.new
32
+ opts = {
33
+ tz: 'America/Los_Angeles', # String | pass a valid time zone name as a query parameter tz to get the time zone information.
34
+ location: 'London, UK', # String | pass any address of a location as the query parameter location to get the time zone information.
35
+ lat: -27.4748, # Float | pass the latitude of a location as query parameters to get the time zone information.
36
+ long: 153.017, # Float | pass the longitude of a location as query parameters to get the time zone information.
37
+ ip: '1.1.1.1', # String | You can pass any IPv4 or IPv6 address as a query parameter ip to get the regional timezone information.
38
+ iata_code: 'DXB', # String | pass any 3 letter IATA code as a query paramter iata_code to get the comprehensive airport details along with the time zone information, in which that airport exists.
39
+ icao_code: 'KATL', # String | pass any 4 letter ICAO code as a query paramter icao_code to get the comprehensive airport details along with the time zone information, in which that airport exists.
40
+ lo_code: 'DEBER', # String | pass any 5 letter UNLOCODE as a query paramter lo_code to get the comprehensive lo code/city details along with the time zone information of the concerned city.
41
+ output: 'json', # String | Desired output format (json or xml).
42
+ lang: 'en' # String | By default, the API responds in English. You can change the response language by passing the language code as a query parameter `lang`. Multi language feature is available only for `paid users`.
43
+ }
44
+
45
+ begin
46
+ # Timezone information details
47
+ result = api_instance.get_timezone_info(opts)
48
+ p result
49
+ rescue IpgeolocationSdk::ApiError => e
50
+ puts "Error when calling TimezoneApi->get_timezone_info: #{e}"
51
+ end
52
+ ```
53
+
54
+ #### Using the get_timezone_info_with_http_info variant
55
+
56
+ This returns an Array which contains the response data, status code and headers.
57
+
58
+ > <Array(<TimeZoneDetailedResponse>, Integer, Hash)> get_timezone_info_with_http_info(opts)
59
+
60
+ ```ruby
61
+ begin
62
+ # Timezone information details
63
+ data, status_code, headers = api_instance.get_timezone_info_with_http_info(opts)
64
+ p status_code # => 2xx
65
+ p headers # => { ... }
66
+ p data # => <TimeZoneDetailedResponse>
67
+ rescue IpgeolocationSdk::ApiError => e
68
+ puts "Error when calling TimezoneApi->get_timezone_info_with_http_info: #{e}"
69
+ end
70
+ ```
71
+
72
+ ### Parameters
73
+
74
+ | Name | Type | Description | Notes |
75
+ | ---- | ---- | ----------- | ----- |
76
+ | **tz** | **String** | pass a valid time zone name as a query parameter tz to get the time zone information. | [optional] |
77
+ | **location** | **String** | pass any address of a location as the query parameter location to get the time zone information. | [optional] |
78
+ | **lat** | **Float** | pass the latitude of a location as query parameters to get the time zone information. | [optional] |
79
+ | **long** | **Float** | pass the longitude of a location as query parameters to get the time zone information. | [optional] |
80
+ | **ip** | **String** | You can pass any IPv4 or IPv6 address as a query parameter ip to get the regional timezone information. | [optional] |
81
+ | **iata_code** | **String** | pass any 3 letter IATA code as a query paramter iata_code to get the comprehensive airport details along with the time zone information, in which that airport exists. | [optional] |
82
+ | **icao_code** | **String** | pass any 4 letter ICAO code as a query paramter icao_code to get the comprehensive airport details along with the time zone information, in which that airport exists. | [optional] |
83
+ | **lo_code** | **String** | pass any 5 letter UNLOCODE as a query paramter lo_code to get the comprehensive lo code/city details along with the time zone information of the concerned city. | [optional] |
84
+ | **output** | **String** | Desired output format (json or xml). | [optional] |
85
+ | **lang** | **String** | By default, the API responds in English. You can change the response language by passing the language code as a query parameter &#x60;lang&#x60;. Multi language feature is available only for &#x60;paid users&#x60;. | [optional] |
86
+
87
+ ### Return type
88
+
89
+ [**TimeZoneDetailedResponse**](TimeZoneDetailedResponse.md)
90
+
91
+ ### Authorization
92
+
93
+ [ApiKeyAuth](../README.md#ApiKeyAuth)
94
+
95
+ ### HTTP request headers
96
+
97
+ - **Content-Type**: Not defined
98
+ - **Accept**: application/json, application/xml
99
+
@@ -0,0 +1,56 @@
1
+ # IpgeolocationSdk::TimezoneDetail
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | | [optional] |
8
+ | **offset** | **Integer** | | [optional] |
9
+ | **offset_with_dst** | **Integer** | | [optional] |
10
+ | **date** | **Date** | | [optional] |
11
+ | **date_time** | **String** | | [optional] |
12
+ | **date_time_txt** | **String** | | [optional] |
13
+ | **date_time_wti** | **String** | | [optional] |
14
+ | **date_time_ymd** | **Time** | | [optional] |
15
+ | **date_time_unix** | **Float** | | [optional] |
16
+ | **time_24** | **String** | | [optional] |
17
+ | **time_12** | **String** | | [optional] |
18
+ | **week** | **Integer** | | [optional] |
19
+ | **month** | **Integer** | | [optional] |
20
+ | **year** | **Integer** | | [optional] |
21
+ | **year_abbr** | **String** | | [optional] |
22
+ | **is_dst** | **Boolean** | | [optional] |
23
+ | **dst_savings** | **Integer** | | [optional] |
24
+ | **dst_exists** | **Boolean** | | [optional] |
25
+ | **dst_start** | [**TimezoneDetailDstStart**](TimezoneDetailDstStart.md) | | [optional] |
26
+ | **dst_end** | [**TimezoneDetailDstEnd**](TimezoneDetailDstEnd.md) | | [optional] |
27
+
28
+ ## Example
29
+
30
+ ```ruby
31
+ require 'ipgeolocation_sdk'
32
+
33
+ instance = IpgeolocationSdk::TimezoneDetail.new(
34
+ name: America/Los_Angeles,
35
+ offset: -8,
36
+ offset_with_dst: -7,
37
+ date: Thu Apr 24 05:00:00 PKT 2025,
38
+ date_time: 2025-04-24 11:30:12,
39
+ date_time_txt: Thursday, April 24, 2025 11:30:12,
40
+ date_time_wti: Thu, 24 Apr 2025 11:30:12 -0700,
41
+ date_time_ymd: null,
42
+ date_time_unix: 1745519412.353,
43
+ time_24: 41412,
44
+ time_12: 11:30:12 AM,
45
+ week: 17,
46
+ month: 4,
47
+ year: 2025,
48
+ year_abbr: 25,
49
+ is_dst: null,
50
+ dst_savings: null,
51
+ dst_exists: null,
52
+ dst_start: null,
53
+ dst_end: null
54
+ )
55
+ ```
56
+