@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,220 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.1.1",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "SWIFT/BIC Code API - Look Up Bank Details or Find Codes by Country, Bank & City",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Look up a SWIFT/BIC code to retrieve bank details. Returns the bank name, address, city, country, country code, and bank code for any valid 8 or 11 character SWIFT/BIC code. Supports both headquarters and branch-level SWIFT codes.",
|
|
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 Lookup API Server"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"paths": {
|
|
20
|
+
"/swift-code/lookup": {
|
|
21
|
+
"get": {
|
|
22
|
+
"tags": ["Financial APIs"],
|
|
23
|
+
"summary": "Lookup SWIFT code details",
|
|
24
|
+
"description": "Fetches detailed information about a SWIFT code.",
|
|
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": "swiftCode",
|
|
39
|
+
"in": "query",
|
|
40
|
+
"required": true,
|
|
41
|
+
"schema": {
|
|
42
|
+
"type": "string"
|
|
43
|
+
},
|
|
44
|
+
"description": "SWIFT/BIC code to lookup (must be 8 or 11 characters)."
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"responses": {
|
|
48
|
+
"200": {
|
|
49
|
+
"description": "Successful response",
|
|
50
|
+
"content": {
|
|
51
|
+
"application/json": {
|
|
52
|
+
"schema": {
|
|
53
|
+
"$ref": "#/components/schemas/SwiftCodeLookup"
|
|
54
|
+
},
|
|
55
|
+
"examples": {
|
|
56
|
+
"typicalSuccess": {
|
|
57
|
+
"summary": "Typical successful response — normalized to 11-character form",
|
|
58
|
+
"value": {
|
|
59
|
+
"swiftCode": "NWBKGB2LXXX",
|
|
60
|
+
"countryCode": "GB",
|
|
61
|
+
"bankAddress": "250 BISHOPSGATE",
|
|
62
|
+
"bankCode": "NWBK",
|
|
63
|
+
"bankName": "NATIONAL WESTMINSTER BANK PLC",
|
|
64
|
+
"city": "LONDON",
|
|
65
|
+
"country": "United Kingdom"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"400": {
|
|
73
|
+
"description": "Bad Request",
|
|
74
|
+
"content": {
|
|
75
|
+
"application/json": {
|
|
76
|
+
"schema": {
|
|
77
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
78
|
+
},
|
|
79
|
+
"examples": {
|
|
80
|
+
"MissingSwiftCode": {
|
|
81
|
+
"summary": "Missing required swiftCode parameter",
|
|
82
|
+
"value": {
|
|
83
|
+
"error": "Invalid Param Exception",
|
|
84
|
+
"message": "please pass correct parameters",
|
|
85
|
+
"path": "/v1.0/swift-code/lookup",
|
|
86
|
+
"status": 400,
|
|
87
|
+
"timestamp": "2026-07-27T11:50:49.650Z"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"BadLength": {
|
|
91
|
+
"summary": "swiftCode is not 8 or 11 characters",
|
|
92
|
+
"value": {
|
|
93
|
+
"message": "Bad request: SWIFT code input must be either 8 characters or 11 characters"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"404": {
|
|
101
|
+
"description": "Not Found",
|
|
102
|
+
"content": {
|
|
103
|
+
"application/json": {
|
|
104
|
+
"schema": {
|
|
105
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
106
|
+
},
|
|
107
|
+
"examples": {
|
|
108
|
+
"NotFound": {
|
|
109
|
+
"summary": "SWIFT code not found",
|
|
110
|
+
"value": {
|
|
111
|
+
"message": "No bank found with the provided SWIFT code"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"operationId": "lookupSwiftCode"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"components": {
|
|
124
|
+
"securitySchemes": {
|
|
125
|
+
"ApiKeyAuthHeader": {
|
|
126
|
+
"type": "apiKey",
|
|
127
|
+
"in": "header",
|
|
128
|
+
"name": "X-apiKey",
|
|
129
|
+
"description": "Pass your API key via the X-apiKey request header."
|
|
130
|
+
},
|
|
131
|
+
"ApiKeyAuthQuery": {
|
|
132
|
+
"type": "apiKey",
|
|
133
|
+
"in": "query",
|
|
134
|
+
"name": "apiKey",
|
|
135
|
+
"description": "Pass your API key via the apiKey query parameter."
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"schemas": {
|
|
139
|
+
"SwiftCodeLookup": {
|
|
140
|
+
"type": "object",
|
|
141
|
+
"properties": {
|
|
142
|
+
"swiftCode": {
|
|
143
|
+
"type": "string",
|
|
144
|
+
"description": "SWIFT/BIC code, normalized to its 11-character form (an 8-character input is returned padded with XXX)."
|
|
145
|
+
},
|
|
146
|
+
"countryCode": {
|
|
147
|
+
"type": "string",
|
|
148
|
+
"description": "ISO 3166-1 alpha-2 country code where the bank is registered."
|
|
149
|
+
},
|
|
150
|
+
"bankAddress": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"description": "Physical address of the bank branch."
|
|
153
|
+
},
|
|
154
|
+
"bankCode": {
|
|
155
|
+
"type": "string",
|
|
156
|
+
"description": "Bank code portion of the SWIFT code (first 4 characters)."
|
|
157
|
+
},
|
|
158
|
+
"bankName": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"description": "Full name of the bank or financial institution."
|
|
161
|
+
},
|
|
162
|
+
"city": {
|
|
163
|
+
"type": "string",
|
|
164
|
+
"description": "City where the bank branch is located."
|
|
165
|
+
},
|
|
166
|
+
"country": {
|
|
167
|
+
"type": "string",
|
|
168
|
+
"description": "Full country name where the bank is registered."
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"required": [
|
|
172
|
+
"swiftCode",
|
|
173
|
+
"countryCode",
|
|
174
|
+
"bankAddress",
|
|
175
|
+
"bankCode",
|
|
176
|
+
"bankName",
|
|
177
|
+
"city",
|
|
178
|
+
"country"
|
|
179
|
+
],
|
|
180
|
+
"description": "Bank details returned for a SWIFT/BIC code lookup."
|
|
181
|
+
},
|
|
182
|
+
"ErrorResponse": {
|
|
183
|
+
"type": "object",
|
|
184
|
+
"required": ["message"],
|
|
185
|
+
"properties": {
|
|
186
|
+
"error": {
|
|
187
|
+
"type": "string",
|
|
188
|
+
"description": "Short error category or exception type."
|
|
189
|
+
},
|
|
190
|
+
"message": {
|
|
191
|
+
"type": "string",
|
|
192
|
+
"description": "Human-readable error message describing the failure."
|
|
193
|
+
},
|
|
194
|
+
"path": {
|
|
195
|
+
"type": "string",
|
|
196
|
+
"description": "API endpoint path that produced the error."
|
|
197
|
+
},
|
|
198
|
+
"status": {
|
|
199
|
+
"type": "integer",
|
|
200
|
+
"description": "HTTP status code returned with the error."
|
|
201
|
+
},
|
|
202
|
+
"timestamp": {
|
|
203
|
+
"type": "string",
|
|
204
|
+
"format": "date-time",
|
|
205
|
+
"description": "Timestamp when the error occurred (ISO 8601)."
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
"description": "Standard error envelope returned by the API on failed requests."
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"security": [
|
|
213
|
+
{
|
|
214
|
+
"ApiKeyAuthHeader": []
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"ApiKeyAuthQuery": []
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.1.1",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "VAT Number Validation API - Real-time VAT Validations across EU & UK",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Validate a VAT number against the VIES or HMRC databases. Supports all EU VAT numbers (validated against VIES) and UK VAT numbers (validated against HMRC). Returns validation status, consultation number, authority used, and company registration details. Optionally accepts a requester VAT number for match-based validation.",
|
|
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": "VAT Number Validation API Server"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"paths": {
|
|
20
|
+
"/vat/validation": {
|
|
21
|
+
"get": {
|
|
22
|
+
"tags": ["Financial APIs"],
|
|
23
|
+
"summary": "Validate EU and UK VAT number",
|
|
24
|
+
"description": "Validates an EU or UK VAT number and returns registration status details.",
|
|
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": "vatNumber",
|
|
39
|
+
"in": "query",
|
|
40
|
+
"required": true,
|
|
41
|
+
"schema": {
|
|
42
|
+
"type": "string"
|
|
43
|
+
},
|
|
44
|
+
"description": "EU or UK VAT number to validate."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "requesterVatNumber",
|
|
48
|
+
"in": "query",
|
|
49
|
+
"required": false,
|
|
50
|
+
"schema": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
},
|
|
53
|
+
"description": "Requester EU or UK VAT number."
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"responses": {
|
|
57
|
+
"200": {
|
|
58
|
+
"description": "Successful response",
|
|
59
|
+
"content": {
|
|
60
|
+
"application/json": {
|
|
61
|
+
"schema": {
|
|
62
|
+
"$ref": "#/components/schemas/VatValidationResponse"
|
|
63
|
+
},
|
|
64
|
+
"examples": {
|
|
65
|
+
"typicalSuccess": {
|
|
66
|
+
"summary": "Validation without a requester VAT number",
|
|
67
|
+
"value": {
|
|
68
|
+
"country_code": "GB",
|
|
69
|
+
"vat_number": "289111588",
|
|
70
|
+
"requested_at": "2026-07-27T11:48:43.000Z",
|
|
71
|
+
"validation": {
|
|
72
|
+
"is_valid": true,
|
|
73
|
+
"consultation_authority": "HMRC"
|
|
74
|
+
},
|
|
75
|
+
"company": {
|
|
76
|
+
"company_name": "EVENTURED LTD",
|
|
77
|
+
"company_address": "SUITE 10, BEAUFORT COURT, ADMIRALS WAY, LONDON, E14 9XL, GB"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"withRequesterVatNumber": {
|
|
82
|
+
"summary": "Validation with a requester VAT number (returns a consultation_number)",
|
|
83
|
+
"value": {
|
|
84
|
+
"country_code": "GB",
|
|
85
|
+
"vat_number": "289111588",
|
|
86
|
+
"requester_country_code": "GB",
|
|
87
|
+
"requester_vat_number": "288305674",
|
|
88
|
+
"requested_at": "2026-07-27T11:48:44.000Z",
|
|
89
|
+
"validation": {
|
|
90
|
+
"is_valid": true,
|
|
91
|
+
"consultation_number": "YCM-VHX-WXF",
|
|
92
|
+
"consultation_authority": "HMRC"
|
|
93
|
+
},
|
|
94
|
+
"company": {
|
|
95
|
+
"company_name": "EVENTURED LTD",
|
|
96
|
+
"company_address": "SUITE 10, BEAUFORT COURT, ADMIRALS WAY, LONDON, E14 9XL, GB"
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"400": {
|
|
105
|
+
"description": "Bad Request",
|
|
106
|
+
"content": {
|
|
107
|
+
"application/json": {
|
|
108
|
+
"schema": {
|
|
109
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
110
|
+
},
|
|
111
|
+
"examples": {
|
|
112
|
+
"MissingVatNumber": {
|
|
113
|
+
"summary": "Missing required vatNumber parameter",
|
|
114
|
+
"value": {
|
|
115
|
+
"error": "Invalid Param Exception",
|
|
116
|
+
"message": "please pass correct parameters",
|
|
117
|
+
"path": "/v1.0/vat/validation",
|
|
118
|
+
"status": 400,
|
|
119
|
+
"timestamp": "2026-07-27T11:48:44.845Z"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"UnsupportedCountry": {
|
|
123
|
+
"summary": "Unsupported VAT country code",
|
|
124
|
+
"value": {
|
|
125
|
+
"message": "Unsupported VAT country code. Supported prefixes are UK/GB and EU VAT country codes."
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"404": {
|
|
133
|
+
"description": "Not Found",
|
|
134
|
+
"content": {
|
|
135
|
+
"application/json": {
|
|
136
|
+
"schema": {
|
|
137
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
138
|
+
},
|
|
139
|
+
"examples": {
|
|
140
|
+
"NotFound": {
|
|
141
|
+
"summary": "VAT number not found",
|
|
142
|
+
"value": {
|
|
143
|
+
"message": "targetVrn does not match a registered company"
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"operationId": "validateVatNumber"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"components": {
|
|
156
|
+
"securitySchemes": {
|
|
157
|
+
"ApiKeyAuthHeader": {
|
|
158
|
+
"type": "apiKey",
|
|
159
|
+
"in": "header",
|
|
160
|
+
"name": "X-apiKey",
|
|
161
|
+
"description": "Pass your API key via the X-apiKey request header."
|
|
162
|
+
},
|
|
163
|
+
"ApiKeyAuthQuery": {
|
|
164
|
+
"type": "apiKey",
|
|
165
|
+
"in": "query",
|
|
166
|
+
"name": "apiKey",
|
|
167
|
+
"description": "Pass your API key via the apiKey query parameter."
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"schemas": {
|
|
171
|
+
"VatValidationResponse": {
|
|
172
|
+
"type": "object",
|
|
173
|
+
"properties": {
|
|
174
|
+
"country_code": {
|
|
175
|
+
"type": "string",
|
|
176
|
+
"description": "VAT country prefix extracted from the validated VAT number (e.g., DE, GB)."
|
|
177
|
+
},
|
|
178
|
+
"vat_number": {
|
|
179
|
+
"type": "string",
|
|
180
|
+
"description": "VAT number without country prefix."
|
|
181
|
+
},
|
|
182
|
+
"requester_country_code": {
|
|
183
|
+
"type": "string",
|
|
184
|
+
"description": "Requester VAT country prefix (present only when requesterVatNumber was provided)."
|
|
185
|
+
},
|
|
186
|
+
"requester_vat_number": {
|
|
187
|
+
"type": "string",
|
|
188
|
+
"description": "Requester VAT number without country prefix."
|
|
189
|
+
},
|
|
190
|
+
"requested_at": {
|
|
191
|
+
"type": "string",
|
|
192
|
+
"format": "date-time",
|
|
193
|
+
"description": "ISO 8601 timestamp of the validation request."
|
|
194
|
+
},
|
|
195
|
+
"validation": {
|
|
196
|
+
"$ref": "#/components/schemas/VatValidationResult"
|
|
197
|
+
},
|
|
198
|
+
"company": {
|
|
199
|
+
"$ref": "#/components/schemas/VatValidationCompany"
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
"required": [
|
|
203
|
+
"country_code",
|
|
204
|
+
"vat_number",
|
|
205
|
+
"requested_at",
|
|
206
|
+
"validation",
|
|
207
|
+
"company"
|
|
208
|
+
],
|
|
209
|
+
"description": "VAT number validation response containing registration status and company details."
|
|
210
|
+
},
|
|
211
|
+
"VatValidationResult": {
|
|
212
|
+
"type": "object",
|
|
213
|
+
"description": "Validation result block.",
|
|
214
|
+
"required": ["is_valid", "consultation_authority"],
|
|
215
|
+
"properties": {
|
|
216
|
+
"is_valid": {
|
|
217
|
+
"type": "boolean",
|
|
218
|
+
"description": "Whether the VAT number is active and registered."
|
|
219
|
+
},
|
|
220
|
+
"consultation_number": {
|
|
221
|
+
"type": "string",
|
|
222
|
+
"description": "VIES/HMRC consultation number. Only present when requesterVatNumber is provided."
|
|
223
|
+
},
|
|
224
|
+
"consultation_authority": {
|
|
225
|
+
"type": "string",
|
|
226
|
+
"description": "Upstream authority used for validation (VIES for EU, HMRC for UK)."
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"VatValidationCompany": {
|
|
231
|
+
"type": "object",
|
|
232
|
+
"description": "Company details block.",
|
|
233
|
+
"required": ["company_name", "company_address"],
|
|
234
|
+
"properties": {
|
|
235
|
+
"company_name": {
|
|
236
|
+
"type": "string",
|
|
237
|
+
"description": "Company or trader name (may be empty string when unavailable)."
|
|
238
|
+
},
|
|
239
|
+
"company_address": {
|
|
240
|
+
"type": "string",
|
|
241
|
+
"description": "Formatted company address (may be empty string when unavailable)."
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
"ErrorResponse": {
|
|
246
|
+
"type": "object",
|
|
247
|
+
"required": ["message"],
|
|
248
|
+
"properties": {
|
|
249
|
+
"error": {
|
|
250
|
+
"type": "string",
|
|
251
|
+
"description": "Short error category or exception type."
|
|
252
|
+
},
|
|
253
|
+
"message": {
|
|
254
|
+
"type": "string",
|
|
255
|
+
"description": "Human-readable error message describing the failure."
|
|
256
|
+
},
|
|
257
|
+
"path": {
|
|
258
|
+
"type": "string",
|
|
259
|
+
"description": "API endpoint path that produced the error."
|
|
260
|
+
},
|
|
261
|
+
"status": {
|
|
262
|
+
"type": "integer",
|
|
263
|
+
"description": "HTTP status code returned with the error."
|
|
264
|
+
},
|
|
265
|
+
"timestamp": {
|
|
266
|
+
"type": "string",
|
|
267
|
+
"format": "date-time",
|
|
268
|
+
"description": "Timestamp when the error occurred (ISO 8601)."
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
"description": "Standard error envelope returned by the API on failed requests."
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
"security": [
|
|
276
|
+
{
|
|
277
|
+
"ApiKeyAuthHeader": []
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"ApiKeyAuthQuery": []
|
|
281
|
+
}
|
|
282
|
+
]
|
|
283
|
+
}
|