@apifreaks/openapi-specs 0.1.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.
- package/LICENSE +21 -0
- package/README.md +156 -0
- package/dist/index.cjs +44663 -0
- package/dist/index.d.cts +30 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +44631 -0
- package/package.json +81 -0
- package/specs/commodity/commodity-fluctuation.json +301 -0
- package/specs/commodity/commodity-prices.json +317 -0
- package/specs/commodity/commodity-symbols.json +215 -0
- package/specs/commodity/commodity-time-series.json +329 -0
- package/specs/commodity/historical-commodity-prices.json +273 -0
- package/specs/currency/currency-converter.json +261 -0
- package/specs/currency/currency-fluctuation.json +282 -0
- package/specs/currency/currency-historical-data-limit.json +158 -0
- package/specs/currency/currency-rate.json +229 -0
- package/specs/currency/currency-supported.json +234 -0
- package/specs/currency/currency-symbols.json +161 -0
- package/specs/currency/currency-time-series.json +325 -0
- package/specs/currency/geolocalized-currency-conversion.json +287 -0
- package/specs/currency/historical-currency-converter.json +269 -0
- package/specs/currency/historical-currency-rate.json +246 -0
- package/specs/dns/bulk-dns-lookup.json +624 -0
- package/specs/dns/dns-history-lookup.json +579 -0
- package/specs/dns/dns-lookup.json +466 -0
- package/specs/dns/reverse-dns-lookup.json +414 -0
- package/specs/domain/bulk-domain-checker.json +284 -0
- package/specs/domain/domain-search-with-suggestions.json +280 -0
- package/specs/domain/domain-search.json +206 -0
- package/specs/domain/subdomain-lookup.json +343 -0
- package/specs/email-validation/bulk-email-validation.json +534 -0
- package/specs/email-validation/email-checker.json +586 -0
- package/specs/financial/bulk-vat-rates-country.json +341 -0
- package/specs/financial/financial-apis-supported-countries.json +204 -0
- package/specs/financial/iban-validation.json +328 -0
- package/specs/financial/swift-code-finder.json +192 -0
- package/specs/financial/swift-code-lookup.json +220 -0
- package/specs/financial/vat-number-validation.json +283 -0
- package/specs/financial/vat-rates-by-ip.json +275 -0
- package/specs/financial/vat-rates-country.json +288 -0
- package/specs/general/usage-credits.json +218 -0
- package/specs/geocoding/forward-geocoding.json +402 -0
- package/specs/geocoding/reverse-geocoding.json +326 -0
- package/specs/geodb/administrative-units-details.json +250 -0
- package/specs/geodb/administrative-units-levels.json +198 -0
- package/specs/geodb/administrative-units.json +237 -0
- package/specs/geodb/cities.json +288 -0
- package/specs/geodb/countries-details.json +274 -0
- package/specs/geodb/countries.json +276 -0
- package/specs/geodb/flags-supported.json +166 -0
- package/specs/geodb/flags.json +227 -0
- package/specs/geodb/regions.json +109 -0
- package/specs/geodb/subregions.json +217 -0
- package/specs/ip-intelligence/bulk-ip-lookup.json +1162 -0
- package/specs/ip-intelligence/bulk-ip-threat-intelligence.json +417 -0
- package/specs/ip-intelligence/ip-locator.json +941 -0
- package/specs/ip-intelligence/ip-threat-intelligence.json +316 -0
- package/specs/other/astronomy-data.json +803 -0
- package/specs/pdf/delete-pdf-page.json +286 -0
- package/specs/pdf/linearize-pdf.json +277 -0
- package/specs/pdf/merge-pdf.json +285 -0
- package/specs/pdf/pdf-compress.json +304 -0
- package/specs/pdf/pdf-decrypt.json +297 -0
- package/specs/pdf/pdf-encrypt.json +314 -0
- package/specs/pdf/pdf-extract-pages.json +295 -0
- package/specs/pdf/pdf-file-status.json +208 -0
- package/specs/pdf/pdf-file.json +190 -0
- package/specs/pdf/pdf-files.json +126 -0
- package/specs/pdf/pdf-resource-download.json +168 -0
- package/specs/pdf/pdf-resource-upload-binary.json +218 -0
- package/specs/pdf/pdf-resource-upload.json +248 -0
- package/specs/pdf/pdf-restrict.json +343 -0
- package/specs/pdf/pdf-split-pages.json +281 -0
- package/specs/pdf/pdf-task-status.json +252 -0
- package/specs/pdf/pdf-to-image.json +1219 -0
- package/specs/pdf/pdf-unrestrict.json +324 -0
- package/specs/pdf/rotate-pdf-pages.json +305 -0
- package/specs/phone-validation/bulk-phone-number-validation.json +518 -0
- package/specs/phone-validation/phone-number-validation.json +456 -0
- package/specs/scraper/web-scraper.json +674 -0
- package/specs/screenshot/bulk-screenshot.json +949 -0
- package/specs/screenshot/website-screenshot.json +1147 -0
- package/specs/ssl/ssl-certificate-chain-lookup.json +756 -0
- package/specs/ssl/ssl-certificate-lookup.json +634 -0
- package/specs/timezone/timezone-converter.json +362 -0
- package/specs/timezone/timezone-lookup.json +910 -0
- package/specs/user-agent/bulk-user-agent-parser.json +441 -0
- package/specs/user-agent/user-agent-parser.json +346 -0
- package/specs/weather/air-quality.json +779 -0
- package/specs/weather/bulk-live-weather.json +834 -0
- package/specs/weather/flood-forecast.json +693 -0
- package/specs/weather/historical-weather.json +1019 -0
- package/specs/weather/live-weather.json +789 -0
- package/specs/weather/marine-weather.json +940 -0
- package/specs/weather/time-series-weather.json +1056 -0
- package/specs/weather/weather-forecast.json +1202 -0
- package/specs/whois/asn-lookup.json +729 -0
- package/specs/whois/bulk-whois-lookup.json +698 -0
- package/specs/whois/domain-whois-history-lookup.json +500 -0
- package/specs/whois/reverse-whois.json +625 -0
- package/specs/whois/whois-domain-lookup.json +533 -0
- package/specs/whois/whois-ip-lookup.json +1110 -0
- package/specs/zip-code/bulk-zip-code-lookup.json +318 -0
- package/specs/zip-code/zip-code-api.json +299 -0
- package/specs/zip-code/zip-code-distance-match.json +311 -0
- package/specs/zip-code/zip-code-distance.json +307 -0
- package/specs/zip-code/zip-codes-by-city.json +279 -0
- package/specs/zip-code/zip-codes-by-region.json +278 -0
- package/specs/zip-code/zip-codes-radius-search.json +349 -0
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.1.1",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "Credits Usage API",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Retrieve the remaining and consumed API credit balances for the authenticated organization. Returns subscription-plan credits, subscription surcharge (overage) credits, and one-off credit purchases as separate balances, each with allowed and used counts. Only an organization admin API key can call this endpoint; all other keys receive a 403. There are no optional data modules for this endpoint — the response always includes the full credit breakdown.",
|
|
7
|
+
"contact": {
|
|
8
|
+
"name": "APIFreaks Support",
|
|
9
|
+
"url": "https://apifreaks.com/contact",
|
|
10
|
+
"email": "support@apifreaks.com"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"servers": [
|
|
14
|
+
{
|
|
15
|
+
"url": "https://api.apifreaks.com/v1.0",
|
|
16
|
+
"description": "Credits Usage API Server"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"paths": {
|
|
20
|
+
"/credits/usage/info": {
|
|
21
|
+
"get": {
|
|
22
|
+
"tags": ["General APIs"],
|
|
23
|
+
"summary": "Get remaining and consumed API credit balances for the organization",
|
|
24
|
+
"description": "Returns subscription, subscription-surcharge, and one-off credit balances for the authenticated organization's account.",
|
|
25
|
+
"operationId": "getCreditsUsage",
|
|
26
|
+
"parameters": [
|
|
27
|
+
{
|
|
28
|
+
"name": "format",
|
|
29
|
+
"in": "query",
|
|
30
|
+
"required": false,
|
|
31
|
+
"description": "Format of the response. Possible values: json, xml.",
|
|
32
|
+
"schema": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"enum": ["json", "xml"],
|
|
35
|
+
"default": "json"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"responses": {
|
|
40
|
+
"200": {
|
|
41
|
+
"description": "Successful response with credit balances",
|
|
42
|
+
"content": {
|
|
43
|
+
"application/json": {
|
|
44
|
+
"schema": {
|
|
45
|
+
"$ref": "#/components/schemas/CreditsUsageResponse"
|
|
46
|
+
},
|
|
47
|
+
"examples": {
|
|
48
|
+
"success": {
|
|
49
|
+
"summary": "Typical response",
|
|
50
|
+
"value": {
|
|
51
|
+
"apiKey": "demo",
|
|
52
|
+
"userStatus": "active",
|
|
53
|
+
"subActive": true,
|
|
54
|
+
"subStatus": "active",
|
|
55
|
+
"subAllowedCredits": 10000,
|
|
56
|
+
"subUsedCredits": 2500,
|
|
57
|
+
"subSurchargeStatus": "none",
|
|
58
|
+
"subSurchargeAllowedCredits": 0,
|
|
59
|
+
"subSurchargeUsedCredits": 0,
|
|
60
|
+
"subSurchargeAllowed": false,
|
|
61
|
+
"oneOffCreditsActive": true,
|
|
62
|
+
"oneOffAllowedCredits": 5000,
|
|
63
|
+
"oneOffUsedCredits": 1000
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"403": {
|
|
71
|
+
"description": "Forbidden — Caller is not an organization admin",
|
|
72
|
+
"content": {
|
|
73
|
+
"application/json": {
|
|
74
|
+
"schema": {
|
|
75
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
76
|
+
},
|
|
77
|
+
"examples": {
|
|
78
|
+
"notOrgAdmin": {
|
|
79
|
+
"summary": "Not an organization admin",
|
|
80
|
+
"value": {
|
|
81
|
+
"timestamp": "2026-07-27T10:23:16.548Z",
|
|
82
|
+
"path": "/v1.0/credits/usage/info",
|
|
83
|
+
"status": 403,
|
|
84
|
+
"error": "API Access Exception",
|
|
85
|
+
"message": "You need to be organization admin to access this endpoint."
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"components": {
|
|
97
|
+
"securitySchemes": {
|
|
98
|
+
"ApiKeyAuthHeader": {
|
|
99
|
+
"type": "apiKey",
|
|
100
|
+
"in": "header",
|
|
101
|
+
"name": "X-apiKey",
|
|
102
|
+
"description": "Pass your API key via the X-apiKey request header."
|
|
103
|
+
},
|
|
104
|
+
"ApiKeyAuthQuery": {
|
|
105
|
+
"type": "apiKey",
|
|
106
|
+
"in": "query",
|
|
107
|
+
"name": "apiKey",
|
|
108
|
+
"description": "Pass your API key via the apiKey query parameter."
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"schemas": {
|
|
112
|
+
"CreditsUsageResponse": {
|
|
113
|
+
"type": "object",
|
|
114
|
+
"description": "Credit balances for the organization's subscription, subscription surcharge, and one-off purchases.",
|
|
115
|
+
"required": [
|
|
116
|
+
"apiKey",
|
|
117
|
+
"userStatus",
|
|
118
|
+
"oneOffCreditsActive",
|
|
119
|
+
"oneOffAllowedCredits",
|
|
120
|
+
"oneOffUsedCredits"
|
|
121
|
+
],
|
|
122
|
+
"properties": {
|
|
123
|
+
"apiKey": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"description": "The API key the credit balances belong to."
|
|
126
|
+
},
|
|
127
|
+
"userStatus": {
|
|
128
|
+
"type": "string",
|
|
129
|
+
"enum": ["active", "inactive", "deleted"],
|
|
130
|
+
"description": "Status of the user account."
|
|
131
|
+
},
|
|
132
|
+
"subActive": {
|
|
133
|
+
"type": ["boolean", "null"],
|
|
134
|
+
"description": "Whether a subscription plan is currently active. Null if the account has no subscription."
|
|
135
|
+
},
|
|
136
|
+
"subStatus": {
|
|
137
|
+
"type": ["string", "null"],
|
|
138
|
+
"enum": ["active", "overdue", "cancelled", "deactivated", null],
|
|
139
|
+
"description": "Status of the subscription credits. Null if the account has no subscription."
|
|
140
|
+
},
|
|
141
|
+
"subAllowedCredits": {
|
|
142
|
+
"type": ["integer", "null"],
|
|
143
|
+
"description": "Total credits allowed under the subscription plan. Null if the account has no subscription."
|
|
144
|
+
},
|
|
145
|
+
"subUsedCredits": {
|
|
146
|
+
"type": ["integer", "null"],
|
|
147
|
+
"description": "Credits consumed under the subscription plan. Null if the account has no subscription."
|
|
148
|
+
},
|
|
149
|
+
"subSurchargeStatus": {
|
|
150
|
+
"type": ["string", "null"],
|
|
151
|
+
"enum": ["none", "payment_added", "payment_cleared", null],
|
|
152
|
+
"description": "Status of the subscription surcharge (overage) credits. Null if the account has no subscription."
|
|
153
|
+
},
|
|
154
|
+
"subSurchargeAllowedCredits": {
|
|
155
|
+
"type": ["integer", "null"],
|
|
156
|
+
"description": "Total surcharge credits allowed. Null if the account has no subscription."
|
|
157
|
+
},
|
|
158
|
+
"subSurchargeUsedCredits": {
|
|
159
|
+
"type": ["integer", "null"],
|
|
160
|
+
"description": "Surcharge credits consumed. Null if the account has no subscription."
|
|
161
|
+
},
|
|
162
|
+
"subSurchargeAllowed": {
|
|
163
|
+
"type": ["boolean", "null"],
|
|
164
|
+
"description": "Whether surcharge (overage) usage is allowed on the subscription. Null if the account has no subscription."
|
|
165
|
+
},
|
|
166
|
+
"oneOffCreditsActive": {
|
|
167
|
+
"type": "boolean",
|
|
168
|
+
"description": "Whether the account has active one-off (pay-as-you-go) credits."
|
|
169
|
+
},
|
|
170
|
+
"oneOffAllowedCredits": {
|
|
171
|
+
"type": "integer",
|
|
172
|
+
"description": "Total one-off credits purchased."
|
|
173
|
+
},
|
|
174
|
+
"oneOffUsedCredits": {
|
|
175
|
+
"type": "integer",
|
|
176
|
+
"description": "One-off credits consumed."
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"ErrorResponse": {
|
|
181
|
+
"type": "object",
|
|
182
|
+
"description": "Standard error envelope returned by the API on failed requests.",
|
|
183
|
+
"required": ["message"],
|
|
184
|
+
"properties": {
|
|
185
|
+
"error": {
|
|
186
|
+
"type": "string",
|
|
187
|
+
"description": "Short error category or exception type."
|
|
188
|
+
},
|
|
189
|
+
"message": {
|
|
190
|
+
"type": "string",
|
|
191
|
+
"description": "Human-readable error message describing the failure."
|
|
192
|
+
},
|
|
193
|
+
"path": {
|
|
194
|
+
"type": "string",
|
|
195
|
+
"description": "API endpoint path that produced the error."
|
|
196
|
+
},
|
|
197
|
+
"status": {
|
|
198
|
+
"type": "integer",
|
|
199
|
+
"description": "HTTP status code returned with the error."
|
|
200
|
+
},
|
|
201
|
+
"timestamp": {
|
|
202
|
+
"type": "string",
|
|
203
|
+
"format": "date-time",
|
|
204
|
+
"description": "Timestamp when the error occurred (ISO 8601)."
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
"security": [
|
|
211
|
+
{
|
|
212
|
+
"ApiKeyAuthHeader": []
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"ApiKeyAuthQuery": []
|
|
216
|
+
}
|
|
217
|
+
]
|
|
218
|
+
}
|
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.1.1",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "Forward Geocoding API - Convert Address to Lat/Long Coordinates",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Convert a free-form address, place name, or point of interest into geographic coordinates. Returns up to 40 ranked matches per request, each with latitude/longitude, a structured address breakdown (street, city, state, country), a WGS84 bounding box, and any points of interest at that location. Use the `limit` parameter to control result count, the four `min_lat`/`max_lat`/`min_lon`/`max_lon` parameters together to bias results toward a geographic viewbox, and the `Accept-Language` header to localize result names. A query that matches nothing returns a `404` error rather than an empty array.",
|
|
7
|
+
"contact": {
|
|
8
|
+
"name": "APIFreaks Support",
|
|
9
|
+
"url": "https://apifreaks.com/contact",
|
|
10
|
+
"email": "support@apifreaks.com"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"servers": [
|
|
14
|
+
{
|
|
15
|
+
"url": "https://api.apifreaks.com/v1.0",
|
|
16
|
+
"description": "Forward Geocoding API Server"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"paths": {
|
|
20
|
+
"/geocoder/search": {
|
|
21
|
+
"get": {
|
|
22
|
+
"tags": ["Geocoder APIs"],
|
|
23
|
+
"summary": "Convert an address or place name into geographic coordinates",
|
|
24
|
+
"description": "Search for a free-form address, place name, or point of interest and return matching locations with coordinates, structured address components, and a bounding box.",
|
|
25
|
+
"operationId": "forwardGeocode",
|
|
26
|
+
"parameters": [
|
|
27
|
+
{
|
|
28
|
+
"name": "query",
|
|
29
|
+
"in": "query",
|
|
30
|
+
"required": true,
|
|
31
|
+
"description": "Free-form search query, e.g. `Wembley Stadium, London`.",
|
|
32
|
+
"schema": {
|
|
33
|
+
"type": "string"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "limit",
|
|
38
|
+
"in": "query",
|
|
39
|
+
"required": false,
|
|
40
|
+
"description": "Maximum number of results to return. May return fewer if matches are weak.",
|
|
41
|
+
"schema": {
|
|
42
|
+
"type": "integer",
|
|
43
|
+
"minimum": 1,
|
|
44
|
+
"maximum": 40,
|
|
45
|
+
"default": 1
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "min_lat",
|
|
50
|
+
"in": "query",
|
|
51
|
+
"required": false,
|
|
52
|
+
"description": "Minimum latitude of the viewbox used to bias results. Must be provided together with `max_lat`, `min_lon`, and `max_lon`, and must be less than or equal to `max_lat`.",
|
|
53
|
+
"schema": {
|
|
54
|
+
"type": "number",
|
|
55
|
+
"format": "float",
|
|
56
|
+
"minimum": -90,
|
|
57
|
+
"maximum": 90
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"name": "max_lat",
|
|
62
|
+
"in": "query",
|
|
63
|
+
"required": false,
|
|
64
|
+
"description": "Maximum latitude of the viewbox used to bias results. Must be provided together with `min_lat`, `min_lon`, and `max_lon`, and must be greater than or equal to `min_lat`.",
|
|
65
|
+
"schema": {
|
|
66
|
+
"type": "number",
|
|
67
|
+
"format": "float",
|
|
68
|
+
"minimum": -90,
|
|
69
|
+
"maximum": 90
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "min_lon",
|
|
74
|
+
"in": "query",
|
|
75
|
+
"required": false,
|
|
76
|
+
"description": "Minimum longitude of the viewbox used to bias results. Must be provided together with `min_lat`, `max_lat`, and `max_lon`, and must be less than or equal to `max_lon`.",
|
|
77
|
+
"schema": {
|
|
78
|
+
"type": "number",
|
|
79
|
+
"format": "float",
|
|
80
|
+
"minimum": -180,
|
|
81
|
+
"maximum": 180
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "max_lon",
|
|
86
|
+
"in": "query",
|
|
87
|
+
"required": false,
|
|
88
|
+
"description": "Maximum longitude of the viewbox used to bias results. Must be provided together with `min_lat`, `max_lat`, and `min_lon`, and must be greater than or equal to `min_lon`.",
|
|
89
|
+
"schema": {
|
|
90
|
+
"type": "number",
|
|
91
|
+
"format": "float",
|
|
92
|
+
"minimum": -180,
|
|
93
|
+
"maximum": 180
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "Accept-Language",
|
|
98
|
+
"in": "header",
|
|
99
|
+
"required": false,
|
|
100
|
+
"description": "Preferred language order for result names, as a comma-separated list of language codes or a single code. Results are returned in the first matched language, falling back to `en` if none match.",
|
|
101
|
+
"schema": {
|
|
102
|
+
"type": "string"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"responses": {
|
|
107
|
+
"200": {
|
|
108
|
+
"description": "Successful geocoding response",
|
|
109
|
+
"content": {
|
|
110
|
+
"application/json": {
|
|
111
|
+
"schema": {
|
|
112
|
+
"$ref": "#/components/schemas/ForwardGeocodeResponse"
|
|
113
|
+
},
|
|
114
|
+
"examples": {
|
|
115
|
+
"typicalSuccess": {
|
|
116
|
+
"summary": "Typical successful response",
|
|
117
|
+
"value": [
|
|
118
|
+
{
|
|
119
|
+
"lat": 51.55606945,
|
|
120
|
+
"lon": -0.27960339379401444,
|
|
121
|
+
"name": "Wembley Stadium",
|
|
122
|
+
"category": "tourism",
|
|
123
|
+
"type": "attraction",
|
|
124
|
+
"poi": [
|
|
125
|
+
{
|
|
126
|
+
"name": "Wembley Stadium",
|
|
127
|
+
"category": "leisure",
|
|
128
|
+
"type": "stadium"
|
|
129
|
+
}
|
|
130
|
+
],
|
|
131
|
+
"street": "Pacific Crescent",
|
|
132
|
+
"area": "London Borough of Brent",
|
|
133
|
+
"postcode": "HA9 0SL",
|
|
134
|
+
"city": "Greater London",
|
|
135
|
+
"state_code": "GB-ENG",
|
|
136
|
+
"state": "England",
|
|
137
|
+
"country_code": "GB",
|
|
138
|
+
"country": "United Kingdom",
|
|
139
|
+
"full_address": "Wembley Stadium, Pacific Crescent, London Borough of Brent, Greater London, England, HA9 0SL, United Kingdom",
|
|
140
|
+
"bounding_box": [
|
|
141
|
+
"51.5547925",
|
|
142
|
+
"51.5573402",
|
|
143
|
+
"-0.2817245",
|
|
144
|
+
"-0.2774831"
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
]
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
"400": {
|
|
154
|
+
"description": "Bad Request — Invalid or missing parameters",
|
|
155
|
+
"content": {
|
|
156
|
+
"application/json": {
|
|
157
|
+
"schema": {
|
|
158
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
159
|
+
},
|
|
160
|
+
"examples": {
|
|
161
|
+
"missingQuery": {
|
|
162
|
+
"summary": "Missing required `query` parameter",
|
|
163
|
+
"value": {
|
|
164
|
+
"error": "Invalid Param Exception",
|
|
165
|
+
"message": "please pass correct parameters",
|
|
166
|
+
"path": "/v1.0/geocoder/search",
|
|
167
|
+
"status": 400,
|
|
168
|
+
"timestamp": "2026-07-22T14:29:30.362Z"
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"invalidLimit": {
|
|
172
|
+
"summary": "`limit` outside the 1-40 range",
|
|
173
|
+
"value": {
|
|
174
|
+
"error": "Invalid Query Limit Provided",
|
|
175
|
+
"message": "Please provide a valid limit. Valid range is from 1 to 40.",
|
|
176
|
+
"path": "/v1.0/geocoder/search",
|
|
177
|
+
"status": 400,
|
|
178
|
+
"timestamp": "2026-07-22T14:29:30.894Z"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"invalidViewboxLatitudeOrder": {
|
|
182
|
+
"summary": "`min_lat` greater than `max_lat`",
|
|
183
|
+
"value": {
|
|
184
|
+
"error": "Invalid Viewbox Latitude",
|
|
185
|
+
"message": "Minimum latitude cannot be greater than maximum latitude in the viewbox.",
|
|
186
|
+
"path": "/v1.0/geocoder/search",
|
|
187
|
+
"status": 400,
|
|
188
|
+
"timestamp": "2026-07-22T14:30:11.104Z"
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"invalidViewboxLongitudeOrder": {
|
|
192
|
+
"summary": "`min_lon` greater than `max_lon`",
|
|
193
|
+
"value": {
|
|
194
|
+
"error": "Invalid Viewbox Longitude",
|
|
195
|
+
"message": "Minimum longitude cannot be greater than maximum longitude in the viewbox.",
|
|
196
|
+
"path": "/v1.0/geocoder/search",
|
|
197
|
+
"status": 400,
|
|
198
|
+
"timestamp": "2026-07-22T14:30:11.104Z"
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
"404": {
|
|
206
|
+
"description": "Not Found — No results matched the query",
|
|
207
|
+
"content": {
|
|
208
|
+
"application/json": {
|
|
209
|
+
"schema": {
|
|
210
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
211
|
+
},
|
|
212
|
+
"examples": {
|
|
213
|
+
"noResults": {
|
|
214
|
+
"summary": "Query matched no locations",
|
|
215
|
+
"value": {
|
|
216
|
+
"error": "No Result Found",
|
|
217
|
+
"message": "No results found for the given query.",
|
|
218
|
+
"path": "/v1.0/geocoder/search",
|
|
219
|
+
"status": 404,
|
|
220
|
+
"timestamp": "2026-07-22T14:29:58.349Z"
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
"components": {
|
|
232
|
+
"securitySchemes": {
|
|
233
|
+
"ApiKeyAuthHeader": {
|
|
234
|
+
"type": "apiKey",
|
|
235
|
+
"in": "header",
|
|
236
|
+
"name": "X-apiKey",
|
|
237
|
+
"description": "Pass your API key via the X-apiKey request header."
|
|
238
|
+
},
|
|
239
|
+
"ApiKeyAuthQuery": {
|
|
240
|
+
"type": "apiKey",
|
|
241
|
+
"in": "query",
|
|
242
|
+
"name": "apiKey",
|
|
243
|
+
"description": "Pass your API key via the apiKey query parameter."
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
"schemas": {
|
|
247
|
+
"ErrorResponse": {
|
|
248
|
+
"type": "object",
|
|
249
|
+
"required": ["message"],
|
|
250
|
+
"properties": {
|
|
251
|
+
"error": {
|
|
252
|
+
"type": "string",
|
|
253
|
+
"description": "Short error category or exception type."
|
|
254
|
+
},
|
|
255
|
+
"message": {
|
|
256
|
+
"type": "string",
|
|
257
|
+
"description": "Human-readable error message describing the failure."
|
|
258
|
+
},
|
|
259
|
+
"path": {
|
|
260
|
+
"type": "string",
|
|
261
|
+
"description": "API endpoint path that produced the error."
|
|
262
|
+
},
|
|
263
|
+
"status": {
|
|
264
|
+
"type": "integer",
|
|
265
|
+
"description": "HTTP status code returned with the error."
|
|
266
|
+
},
|
|
267
|
+
"timestamp": {
|
|
268
|
+
"type": "string",
|
|
269
|
+
"format": "date-time",
|
|
270
|
+
"description": "Timestamp when the error occurred (ISO 8601)."
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
"ForwardGeocodeResponse": {
|
|
275
|
+
"type": "array",
|
|
276
|
+
"title": "Forward Geocoding Results",
|
|
277
|
+
"description": "List of locations matching the search query, one entry per match, up to the number requested via `limit`.",
|
|
278
|
+
"items": {
|
|
279
|
+
"$ref": "#/components/schemas/GeocodeResponse"
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
"GeocodeResponse": {
|
|
283
|
+
"type": "object",
|
|
284
|
+
"description": "A single geocoded location with coordinates and structured address components.",
|
|
285
|
+
"required": [
|
|
286
|
+
"lat",
|
|
287
|
+
"lon",
|
|
288
|
+
"country_code",
|
|
289
|
+
"country",
|
|
290
|
+
"full_address",
|
|
291
|
+
"bounding_box"
|
|
292
|
+
],
|
|
293
|
+
"properties": {
|
|
294
|
+
"lat": {
|
|
295
|
+
"type": "number",
|
|
296
|
+
"format": "float",
|
|
297
|
+
"description": "WGS84 latitude value for the location."
|
|
298
|
+
},
|
|
299
|
+
"lon": {
|
|
300
|
+
"type": "number",
|
|
301
|
+
"format": "float",
|
|
302
|
+
"description": "WGS84 longitude value for the location."
|
|
303
|
+
},
|
|
304
|
+
"name": {
|
|
305
|
+
"type": "string",
|
|
306
|
+
"description": "Name for the primary place searched."
|
|
307
|
+
},
|
|
308
|
+
"category": {
|
|
309
|
+
"type": "string",
|
|
310
|
+
"description": "High-level category of the place, e.g. amenity, place, natural, building, highway."
|
|
311
|
+
},
|
|
312
|
+
"type": {
|
|
313
|
+
"type": "string",
|
|
314
|
+
"description": "Specific kind within the category, e.g. fast_food, city, park, residential, house_number."
|
|
315
|
+
},
|
|
316
|
+
"poi": {
|
|
317
|
+
"type": "array",
|
|
318
|
+
"description": "Points of interest at this location.",
|
|
319
|
+
"items": {
|
|
320
|
+
"$ref": "#/components/schemas/PointOfInterest"
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
"street": {
|
|
324
|
+
"type": "string",
|
|
325
|
+
"description": "Street or road name."
|
|
326
|
+
},
|
|
327
|
+
"area": {
|
|
328
|
+
"type": "string",
|
|
329
|
+
"description": "Intra-city area below city level, e.g. suburb, borough, ward, district, tehsil, neighbourhood."
|
|
330
|
+
},
|
|
331
|
+
"postcode": {
|
|
332
|
+
"type": "string",
|
|
333
|
+
"description": "Postal code of the area."
|
|
334
|
+
},
|
|
335
|
+
"city": {
|
|
336
|
+
"type": "string",
|
|
337
|
+
"description": "Settlement label appropriate to the country, e.g. city, town, municipality."
|
|
338
|
+
},
|
|
339
|
+
"county": {
|
|
340
|
+
"type": "string",
|
|
341
|
+
"description": "Second-tier administrative area, e.g. county, district, prefecture."
|
|
342
|
+
},
|
|
343
|
+
"state_code": {
|
|
344
|
+
"type": "string",
|
|
345
|
+
"description": "Subdivision code, typically ISO-3166-2 (e.g. US-TX, PK-PB)."
|
|
346
|
+
},
|
|
347
|
+
"state": {
|
|
348
|
+
"type": "string",
|
|
349
|
+
"description": "First-tier administrative area, e.g. state, region, province, division."
|
|
350
|
+
},
|
|
351
|
+
"country_code": {
|
|
352
|
+
"type": "string",
|
|
353
|
+
"description": "Two-letter country code in upper case, ISO-3166-1 alpha-2."
|
|
354
|
+
},
|
|
355
|
+
"country": {
|
|
356
|
+
"type": "string",
|
|
357
|
+
"description": "Country name of the searched place."
|
|
358
|
+
},
|
|
359
|
+
"full_address": {
|
|
360
|
+
"type": "string",
|
|
361
|
+
"description": "Single-line, human-readable address of the location."
|
|
362
|
+
},
|
|
363
|
+
"bounding_box": {
|
|
364
|
+
"type": "array",
|
|
365
|
+
"description": "Extent of the feature as `[lat_min, lat_max, lon_min, lon_max]` in WGS84 decimal degrees.",
|
|
366
|
+
"items": {
|
|
367
|
+
"type": "string"
|
|
368
|
+
},
|
|
369
|
+
"minItems": 4,
|
|
370
|
+
"maxItems": 4
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
"PointOfInterest": {
|
|
375
|
+
"type": "object",
|
|
376
|
+
"description": "A point of interest located at or near a geocoded result.",
|
|
377
|
+
"properties": {
|
|
378
|
+
"name": {
|
|
379
|
+
"type": "string",
|
|
380
|
+
"description": "Name of the point of interest."
|
|
381
|
+
},
|
|
382
|
+
"category": {
|
|
383
|
+
"type": "string",
|
|
384
|
+
"description": "High-level category of the point of interest, e.g. amenity, place, natural, building, highway."
|
|
385
|
+
},
|
|
386
|
+
"type": {
|
|
387
|
+
"type": "string",
|
|
388
|
+
"description": "Specific kind within the category, e.g. fast_food, city, park, residential, house_number."
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
"security": [
|
|
395
|
+
{
|
|
396
|
+
"ApiKeyAuthHeader": []
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"ApiKeyAuthQuery": []
|
|
400
|
+
}
|
|
401
|
+
]
|
|
402
|
+
}
|