@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,328 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.1.1",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "IBAN Validation API - Validate Format, Check SEPA & Return Bank Details",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Validate an IBAN number against country-specific format, length, and checksum rules. Supports IBANs from all SEPA and IBAN-compliant countries. Returns detailed validation results for each check — alphanumeric, supported country, length, structure, and check digit. Includes bank data such as BIC/SWIFT code, bank name, branch details, and SEPA eligibility when available.",
|
|
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": "IBAN Validation API Server"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"paths": {
|
|
20
|
+
"/iban/validation": {
|
|
21
|
+
"get": {
|
|
22
|
+
"tags": ["Financial APIs"],
|
|
23
|
+
"summary": "Validate IBAN",
|
|
24
|
+
"description": "Checks an IBAN for structural validity, checksum accuracy, and bank metadata.",
|
|
25
|
+
"parameters": [
|
|
26
|
+
{
|
|
27
|
+
"name": "format",
|
|
28
|
+
"in": "query",
|
|
29
|
+
"required": false,
|
|
30
|
+
"schema": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"enum": ["json", "xml"],
|
|
33
|
+
"default": "json"
|
|
34
|
+
},
|
|
35
|
+
"description": "Specify the desired response format. Options: 'json' (default) or 'xml'."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "iban",
|
|
39
|
+
"in": "query",
|
|
40
|
+
"required": true,
|
|
41
|
+
"schema": {
|
|
42
|
+
"type": "string"
|
|
43
|
+
},
|
|
44
|
+
"description": "IBAN to validate."
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"responses": {
|
|
48
|
+
"200": {
|
|
49
|
+
"description": "Successful response",
|
|
50
|
+
"content": {
|
|
51
|
+
"application/json": {
|
|
52
|
+
"schema": {
|
|
53
|
+
"$ref": "#/components/schemas/IbanValidationResponse"
|
|
54
|
+
},
|
|
55
|
+
"examples": {
|
|
56
|
+
"validIban": {
|
|
57
|
+
"summary": "Valid IBAN with full bank data",
|
|
58
|
+
"value": {
|
|
59
|
+
"valid": true,
|
|
60
|
+
"iban": "GB29NWBK60161331926819",
|
|
61
|
+
"validation": {
|
|
62
|
+
"is_alpha_numeric": true,
|
|
63
|
+
"is_iban_supported_country": true,
|
|
64
|
+
"is_valid_length": true,
|
|
65
|
+
"is_valid_structure": true,
|
|
66
|
+
"is_iban_check_digit_valid": true,
|
|
67
|
+
"bban": "valid"
|
|
68
|
+
},
|
|
69
|
+
"bank_data": {
|
|
70
|
+
"bic": "NWBKGB2LBHM",
|
|
71
|
+
"bank": "NATIONAL WESTMINSTER BANK PLC",
|
|
72
|
+
"bank_code": "NWBK",
|
|
73
|
+
"branch_code": "601613",
|
|
74
|
+
"country": "United Kingdom",
|
|
75
|
+
"country_iso2": "GB",
|
|
76
|
+
"city": "BIRMINGHAM",
|
|
77
|
+
"address": "6 BRINDLEY PLACE - BIRMINGHAM, B1",
|
|
78
|
+
"account": "31926819",
|
|
79
|
+
"sepa": true
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"invalidIban": {
|
|
84
|
+
"summary": "Structurally invalid IBAN — still a 200, not an error, with the failing checks flagged",
|
|
85
|
+
"value": {
|
|
86
|
+
"valid": false,
|
|
87
|
+
"iban": "NOTANIBAN123",
|
|
88
|
+
"validation": {
|
|
89
|
+
"is_alpha_numeric": true,
|
|
90
|
+
"is_iban_supported_country": true,
|
|
91
|
+
"is_valid_length": false,
|
|
92
|
+
"is_valid_structure": false,
|
|
93
|
+
"is_iban_check_digit_valid": false,
|
|
94
|
+
"bban": "unknown"
|
|
95
|
+
},
|
|
96
|
+
"bank_data": {
|
|
97
|
+
"bic": null,
|
|
98
|
+
"bank": null,
|
|
99
|
+
"bank_code": null,
|
|
100
|
+
"branch_code": "",
|
|
101
|
+
"country": "Norway",
|
|
102
|
+
"country_iso2": "NO",
|
|
103
|
+
"city": null,
|
|
104
|
+
"address": null,
|
|
105
|
+
"account": "N123",
|
|
106
|
+
"sepa": true
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"unsupportedCountry": {
|
|
111
|
+
"summary": "Country prefix not covered by IBAN — bank_data fields are null",
|
|
112
|
+
"value": {
|
|
113
|
+
"valid": false,
|
|
114
|
+
"iban": "US29NWBK60161331926819",
|
|
115
|
+
"validation": {
|
|
116
|
+
"is_alpha_numeric": true,
|
|
117
|
+
"is_iban_supported_country": false,
|
|
118
|
+
"is_valid_length": false,
|
|
119
|
+
"is_valid_structure": false,
|
|
120
|
+
"is_iban_check_digit_valid": false,
|
|
121
|
+
"bban": "unknown"
|
|
122
|
+
},
|
|
123
|
+
"bank_data": {
|
|
124
|
+
"bic": null,
|
|
125
|
+
"bank": null,
|
|
126
|
+
"bank_code": null,
|
|
127
|
+
"branch_code": "",
|
|
128
|
+
"country": null,
|
|
129
|
+
"country_iso2": "US",
|
|
130
|
+
"city": null,
|
|
131
|
+
"address": null,
|
|
132
|
+
"account": null,
|
|
133
|
+
"sepa": null
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"400": {
|
|
142
|
+
"description": "Bad Request",
|
|
143
|
+
"content": {
|
|
144
|
+
"application/json": {
|
|
145
|
+
"schema": {
|
|
146
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
147
|
+
},
|
|
148
|
+
"examples": {
|
|
149
|
+
"MissingIban": {
|
|
150
|
+
"summary": "Missing required iban parameter",
|
|
151
|
+
"value": {
|
|
152
|
+
"error": "Invalid Param Exception",
|
|
153
|
+
"message": "please pass correct parameters",
|
|
154
|
+
"path": "/v1.0/iban/validation",
|
|
155
|
+
"status": 400,
|
|
156
|
+
"timestamp": "2026-07-27T11:49:29.286Z"
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"operationId": "validateIban"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"components": {
|
|
169
|
+
"securitySchemes": {
|
|
170
|
+
"ApiKeyAuthHeader": {
|
|
171
|
+
"type": "apiKey",
|
|
172
|
+
"in": "header",
|
|
173
|
+
"name": "X-apiKey",
|
|
174
|
+
"description": "Pass your API key via the X-apiKey request header."
|
|
175
|
+
},
|
|
176
|
+
"ApiKeyAuthQuery": {
|
|
177
|
+
"type": "apiKey",
|
|
178
|
+
"in": "query",
|
|
179
|
+
"name": "apiKey",
|
|
180
|
+
"description": "Pass your API key via the apiKey query parameter."
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"schemas": {
|
|
184
|
+
"IbanValidationResponse": {
|
|
185
|
+
"type": "object",
|
|
186
|
+
"properties": {
|
|
187
|
+
"valid": {
|
|
188
|
+
"type": "boolean",
|
|
189
|
+
"description": "True if the IBAN passes all validation checks."
|
|
190
|
+
},
|
|
191
|
+
"iban": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"description": "The IBAN number provided in the request."
|
|
194
|
+
},
|
|
195
|
+
"validation": {
|
|
196
|
+
"$ref": "#/components/schemas/IbanValidationResult"
|
|
197
|
+
},
|
|
198
|
+
"bank_data": {
|
|
199
|
+
"$ref": "#/components/schemas/IbanBankData"
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
"required": ["valid", "iban", "validation", "bank_data"],
|
|
203
|
+
"description": "IBAN validation response containing validation results and bank data."
|
|
204
|
+
},
|
|
205
|
+
"IbanValidationResult": {
|
|
206
|
+
"type": "object",
|
|
207
|
+
"description": "Object contains IBAN validation details.",
|
|
208
|
+
"required": [
|
|
209
|
+
"is_alpha_numeric",
|
|
210
|
+
"is_iban_supported_country",
|
|
211
|
+
"is_valid_length",
|
|
212
|
+
"is_valid_structure",
|
|
213
|
+
"is_iban_check_digit_valid"
|
|
214
|
+
],
|
|
215
|
+
"properties": {
|
|
216
|
+
"is_alpha_numeric": {
|
|
217
|
+
"type": "boolean",
|
|
218
|
+
"description": "Whether the IBAN contains only alphanumeric characters."
|
|
219
|
+
},
|
|
220
|
+
"is_iban_supported_country": {
|
|
221
|
+
"type": "boolean",
|
|
222
|
+
"description": "Whether the country extracted from the IBAN supports IBAN standards."
|
|
223
|
+
},
|
|
224
|
+
"is_valid_length": {
|
|
225
|
+
"type": "boolean",
|
|
226
|
+
"description": "Whether the IBAN length matches the expected length for its country."
|
|
227
|
+
},
|
|
228
|
+
"is_valid_structure": {
|
|
229
|
+
"type": "boolean",
|
|
230
|
+
"description": "Whether the IBAN structure matches the pattern for its country."
|
|
231
|
+
},
|
|
232
|
+
"is_iban_check_digit_valid": {
|
|
233
|
+
"type": "boolean",
|
|
234
|
+
"description": "Whether the IBAN check digit is valid."
|
|
235
|
+
},
|
|
236
|
+
"bban": {
|
|
237
|
+
"type": "string",
|
|
238
|
+
"enum": ["valid", "invalid", "unknown"],
|
|
239
|
+
"description": "BBAN checksum status. \"unknown\" means BBAN checksum validation isn't supported for this country."
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
"IbanBankData": {
|
|
244
|
+
"type": "object",
|
|
245
|
+
"description": "Object contains Bank and BIC details. Most fields are null when the IBAN is structurally invalid or the country's bank data isn't resolvable.",
|
|
246
|
+
"required": ["country_iso2"],
|
|
247
|
+
"properties": {
|
|
248
|
+
"bic": {
|
|
249
|
+
"type": ["string", "null"],
|
|
250
|
+
"description": "SWIFT/BIC code extracted from the IBAN. Null when not available for this country or IBAN."
|
|
251
|
+
},
|
|
252
|
+
"bank": {
|
|
253
|
+
"type": ["string", "null"],
|
|
254
|
+
"description": "Bank name extracted from the IBAN. Null when not resolvable."
|
|
255
|
+
},
|
|
256
|
+
"bank_code": {
|
|
257
|
+
"type": ["string", "null"],
|
|
258
|
+
"description": "Bank code extracted from the IBAN. Null when not resolvable."
|
|
259
|
+
},
|
|
260
|
+
"branch_code": {
|
|
261
|
+
"type": "string",
|
|
262
|
+
"description": "Branch code extracted from the IBAN. Can be an empty string when not available."
|
|
263
|
+
},
|
|
264
|
+
"country": {
|
|
265
|
+
"type": ["string", "null"],
|
|
266
|
+
"description": "Country name extracted from the IBAN. Null when the country prefix isn't a supported IBAN country."
|
|
267
|
+
},
|
|
268
|
+
"country_iso2": {
|
|
269
|
+
"type": "string",
|
|
270
|
+
"description": "ISO 3166-1 alpha-2 country code extracted from the IBAN's prefix."
|
|
271
|
+
},
|
|
272
|
+
"city": {
|
|
273
|
+
"type": ["string", "null"],
|
|
274
|
+
"description": "City or branch name for the bank. Null when not resolvable."
|
|
275
|
+
},
|
|
276
|
+
"address": {
|
|
277
|
+
"type": ["string", "null"],
|
|
278
|
+
"description": "Bank branch address. Null when not resolvable."
|
|
279
|
+
},
|
|
280
|
+
"account": {
|
|
281
|
+
"type": ["string", "null"],
|
|
282
|
+
"description": "Account number extracted from the IBAN. Null when the country prefix isn't a supported IBAN country."
|
|
283
|
+
},
|
|
284
|
+
"sepa": {
|
|
285
|
+
"type": ["boolean", "null"],
|
|
286
|
+
"description": "Whether the country supports Single Euro Payments Area (SEPA). Null when the country prefix isn't a supported IBAN country."
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
"ErrorResponse": {
|
|
291
|
+
"type": "object",
|
|
292
|
+
"required": ["message"],
|
|
293
|
+
"properties": {
|
|
294
|
+
"error": {
|
|
295
|
+
"type": "string",
|
|
296
|
+
"description": "Short error category or exception type."
|
|
297
|
+
},
|
|
298
|
+
"message": {
|
|
299
|
+
"type": "string",
|
|
300
|
+
"description": "Human-readable error message describing the failure."
|
|
301
|
+
},
|
|
302
|
+
"path": {
|
|
303
|
+
"type": "string",
|
|
304
|
+
"description": "API endpoint path that produced the error."
|
|
305
|
+
},
|
|
306
|
+
"status": {
|
|
307
|
+
"type": "integer",
|
|
308
|
+
"description": "HTTP status code returned with the error."
|
|
309
|
+
},
|
|
310
|
+
"timestamp": {
|
|
311
|
+
"type": "string",
|
|
312
|
+
"format": "date-time",
|
|
313
|
+
"description": "Timestamp when the error occurred (ISO 8601)."
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
"description": "Standard error envelope returned by the API on failed requests."
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
"security": [
|
|
321
|
+
{
|
|
322
|
+
"ApiKeyAuthHeader": []
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"ApiKeyAuthQuery": []
|
|
326
|
+
}
|
|
327
|
+
]
|
|
328
|
+
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.1.1",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "SWIFT/BIC Code Finder API Reference",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Progressively drill down from all supported countries to a specific bank's SWIFT/BIC codes. With no parameters, returns the list of all supported countries. Adding country returns the list of bank names in that country. Adding bank returns the list of cities that bank operates in. Adding city as well returns the matching SWIFT/BIC codes. Parameters must be supplied in order (country, then bank, then city) — supplying bank without country, for example, returns a 400. An unmatched country/bank/city combination returns a 200 with an empty array, not an error.",
|
|
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": "SWIFT/BIC Code Finder API Server"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"paths": {
|
|
20
|
+
"/swift-code/finder": {
|
|
21
|
+
"get": {
|
|
22
|
+
"tags": ["Financial APIs"],
|
|
23
|
+
"summary": "Find SWIFT codes",
|
|
24
|
+
"description": "Drills down from countries to banks to cities to SWIFT/BIC codes, one parameter level at a time.",
|
|
25
|
+
"operationId": "findSwiftCode",
|
|
26
|
+
"parameters": [
|
|
27
|
+
{
|
|
28
|
+
"name": "format",
|
|
29
|
+
"in": "query",
|
|
30
|
+
"required": false,
|
|
31
|
+
"schema": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"enum": ["json", "xml"],
|
|
34
|
+
"default": "json"
|
|
35
|
+
},
|
|
36
|
+
"description": "Specify the desired response format. Options: 'json' (default) or 'xml'."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "country",
|
|
40
|
+
"in": "query",
|
|
41
|
+
"required": false,
|
|
42
|
+
"schema": {
|
|
43
|
+
"type": "string"
|
|
44
|
+
},
|
|
45
|
+
"description": "Country name (accepts full name, e.g., Pakistan, United States). If supplied alone, returns the list of bank names in that country. If omitted entirely, returns the list of all supported countries."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "bank",
|
|
49
|
+
"in": "query",
|
|
50
|
+
"required": false,
|
|
51
|
+
"schema": {
|
|
52
|
+
"type": "string"
|
|
53
|
+
},
|
|
54
|
+
"description": "Bank name (upper case) to drill into. Requires country to also be set. If supplied without city, returns the list of cities that bank operates in."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "city",
|
|
58
|
+
"in": "query",
|
|
59
|
+
"required": false,
|
|
60
|
+
"schema": {
|
|
61
|
+
"type": "string"
|
|
62
|
+
},
|
|
63
|
+
"description": "City (upper case) to narrow results to. Requires country and bank to also be set. Returns the matching SWIFT/BIC codes for that bank in that city."
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"responses": {
|
|
67
|
+
"200": {
|
|
68
|
+
"description": "Successful response. The array's contents depend on which parameters were supplied — see the examples for each drill-down level.",
|
|
69
|
+
"content": {
|
|
70
|
+
"application/json": {
|
|
71
|
+
"schema": {
|
|
72
|
+
"$ref": "#/components/schemas/SwiftCodeFinderResponse"
|
|
73
|
+
},
|
|
74
|
+
"examples": {
|
|
75
|
+
"allCountries": {
|
|
76
|
+
"summary": "No parameters — all supported countries",
|
|
77
|
+
"value": ["Albania", "Algeria", "Andorra", "Germany", "United States"]
|
|
78
|
+
},
|
|
79
|
+
"banksInCountry": {
|
|
80
|
+
"summary": "country only — bank names in that country",
|
|
81
|
+
"value": ["1NCE GMBH", "AAREAL BANK AG", "DEUTSCHE BANK AG"]
|
|
82
|
+
},
|
|
83
|
+
"citiesForBank": {
|
|
84
|
+
"summary": "country + bank — cities that bank operates in",
|
|
85
|
+
"value": ["AACHEN", "BERLIN", "FRANKFURT AM MAIN", "MUENCHEN"]
|
|
86
|
+
},
|
|
87
|
+
"swiftCodes": {
|
|
88
|
+
"summary": "country + bank + city — matching SWIFT/BIC codes",
|
|
89
|
+
"value": [
|
|
90
|
+
"DEUTDEBB101",
|
|
91
|
+
"DEUTDEBB162",
|
|
92
|
+
"DEUTDEBB165",
|
|
93
|
+
"DEUTDEBBXXX",
|
|
94
|
+
"DEUTDEDB101"
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
"noMatch": {
|
|
98
|
+
"summary": "Unmatched country/bank/city — empty array, not an error",
|
|
99
|
+
"value": []
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"400": {
|
|
106
|
+
"description": "Bad Request — Parameters supplied out of order",
|
|
107
|
+
"content": {
|
|
108
|
+
"application/json": {
|
|
109
|
+
"schema": {
|
|
110
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
111
|
+
},
|
|
112
|
+
"examples": {
|
|
113
|
+
"OutOfOrder": {
|
|
114
|
+
"summary": "bank supplied without country",
|
|
115
|
+
"value": {
|
|
116
|
+
"message": "Invalid query parameters. Provide parameters in sequence: country → bank → city"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
"components": {
|
|
128
|
+
"securitySchemes": {
|
|
129
|
+
"ApiKeyAuthHeader": {
|
|
130
|
+
"type": "apiKey",
|
|
131
|
+
"in": "header",
|
|
132
|
+
"name": "X-apiKey",
|
|
133
|
+
"description": "Pass your API key via the X-apiKey request header."
|
|
134
|
+
},
|
|
135
|
+
"ApiKeyAuthQuery": {
|
|
136
|
+
"type": "apiKey",
|
|
137
|
+
"in": "query",
|
|
138
|
+
"name": "apiKey",
|
|
139
|
+
"description": "Pass your API key via the apiKey query parameter."
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
"schemas": {
|
|
143
|
+
"SwiftCodeFinderResponse": {
|
|
144
|
+
"type": "array",
|
|
145
|
+
"description": "Array of strings whose meaning depends on the supplied parameters: country names, bank names, city names, or SWIFT/BIC codes.",
|
|
146
|
+
"items": {
|
|
147
|
+
"$ref": "#/components/schemas/SwiftCodeString"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"SwiftCodeString": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"description": "A single result value — a country name, bank name, city name, or SWIFT/BIC code depending on the drill-down level."
|
|
153
|
+
},
|
|
154
|
+
"ErrorResponse": {
|
|
155
|
+
"type": "object",
|
|
156
|
+
"description": "Standard error envelope returned by the API on failed requests.",
|
|
157
|
+
"required": ["message"],
|
|
158
|
+
"properties": {
|
|
159
|
+
"error": {
|
|
160
|
+
"type": "string",
|
|
161
|
+
"description": "Short error category or exception type."
|
|
162
|
+
},
|
|
163
|
+
"message": {
|
|
164
|
+
"type": "string",
|
|
165
|
+
"description": "Human-readable error message describing the failure."
|
|
166
|
+
},
|
|
167
|
+
"path": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"description": "API endpoint path that produced the error."
|
|
170
|
+
},
|
|
171
|
+
"status": {
|
|
172
|
+
"type": "integer",
|
|
173
|
+
"description": "HTTP status code returned with the error."
|
|
174
|
+
},
|
|
175
|
+
"timestamp": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"format": "date-time",
|
|
178
|
+
"description": "Timestamp when the error occurred (ISO 8601)."
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
"security": [
|
|
185
|
+
{
|
|
186
|
+
"ApiKeyAuthHeader": []
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"ApiKeyAuthQuery": []
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
}
|