@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.
Files changed (109) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +156 -0
  3. package/dist/index.cjs +44663 -0
  4. package/dist/index.d.cts +30 -0
  5. package/dist/index.d.ts +30 -0
  6. package/dist/index.js +44631 -0
  7. package/package.json +81 -0
  8. package/specs/commodity/commodity-fluctuation.json +301 -0
  9. package/specs/commodity/commodity-prices.json +317 -0
  10. package/specs/commodity/commodity-symbols.json +215 -0
  11. package/specs/commodity/commodity-time-series.json +329 -0
  12. package/specs/commodity/historical-commodity-prices.json +273 -0
  13. package/specs/currency/currency-converter.json +261 -0
  14. package/specs/currency/currency-fluctuation.json +282 -0
  15. package/specs/currency/currency-historical-data-limit.json +158 -0
  16. package/specs/currency/currency-rate.json +229 -0
  17. package/specs/currency/currency-supported.json +234 -0
  18. package/specs/currency/currency-symbols.json +161 -0
  19. package/specs/currency/currency-time-series.json +325 -0
  20. package/specs/currency/geolocalized-currency-conversion.json +287 -0
  21. package/specs/currency/historical-currency-converter.json +269 -0
  22. package/specs/currency/historical-currency-rate.json +246 -0
  23. package/specs/dns/bulk-dns-lookup.json +624 -0
  24. package/specs/dns/dns-history-lookup.json +579 -0
  25. package/specs/dns/dns-lookup.json +466 -0
  26. package/specs/dns/reverse-dns-lookup.json +414 -0
  27. package/specs/domain/bulk-domain-checker.json +284 -0
  28. package/specs/domain/domain-search-with-suggestions.json +280 -0
  29. package/specs/domain/domain-search.json +206 -0
  30. package/specs/domain/subdomain-lookup.json +343 -0
  31. package/specs/email-validation/bulk-email-validation.json +534 -0
  32. package/specs/email-validation/email-checker.json +586 -0
  33. package/specs/financial/bulk-vat-rates-country.json +341 -0
  34. package/specs/financial/financial-apis-supported-countries.json +204 -0
  35. package/specs/financial/iban-validation.json +328 -0
  36. package/specs/financial/swift-code-finder.json +192 -0
  37. package/specs/financial/swift-code-lookup.json +220 -0
  38. package/specs/financial/vat-number-validation.json +283 -0
  39. package/specs/financial/vat-rates-by-ip.json +275 -0
  40. package/specs/financial/vat-rates-country.json +288 -0
  41. package/specs/general/usage-credits.json +218 -0
  42. package/specs/geocoding/forward-geocoding.json +402 -0
  43. package/specs/geocoding/reverse-geocoding.json +326 -0
  44. package/specs/geodb/administrative-units-details.json +250 -0
  45. package/specs/geodb/administrative-units-levels.json +198 -0
  46. package/specs/geodb/administrative-units.json +237 -0
  47. package/specs/geodb/cities.json +288 -0
  48. package/specs/geodb/countries-details.json +274 -0
  49. package/specs/geodb/countries.json +276 -0
  50. package/specs/geodb/flags-supported.json +166 -0
  51. package/specs/geodb/flags.json +227 -0
  52. package/specs/geodb/regions.json +109 -0
  53. package/specs/geodb/subregions.json +217 -0
  54. package/specs/ip-intelligence/bulk-ip-lookup.json +1162 -0
  55. package/specs/ip-intelligence/bulk-ip-threat-intelligence.json +417 -0
  56. package/specs/ip-intelligence/ip-locator.json +941 -0
  57. package/specs/ip-intelligence/ip-threat-intelligence.json +316 -0
  58. package/specs/other/astronomy-data.json +803 -0
  59. package/specs/pdf/delete-pdf-page.json +286 -0
  60. package/specs/pdf/linearize-pdf.json +277 -0
  61. package/specs/pdf/merge-pdf.json +285 -0
  62. package/specs/pdf/pdf-compress.json +304 -0
  63. package/specs/pdf/pdf-decrypt.json +297 -0
  64. package/specs/pdf/pdf-encrypt.json +314 -0
  65. package/specs/pdf/pdf-extract-pages.json +295 -0
  66. package/specs/pdf/pdf-file-status.json +208 -0
  67. package/specs/pdf/pdf-file.json +190 -0
  68. package/specs/pdf/pdf-files.json +126 -0
  69. package/specs/pdf/pdf-resource-download.json +168 -0
  70. package/specs/pdf/pdf-resource-upload-binary.json +218 -0
  71. package/specs/pdf/pdf-resource-upload.json +248 -0
  72. package/specs/pdf/pdf-restrict.json +343 -0
  73. package/specs/pdf/pdf-split-pages.json +281 -0
  74. package/specs/pdf/pdf-task-status.json +252 -0
  75. package/specs/pdf/pdf-to-image.json +1219 -0
  76. package/specs/pdf/pdf-unrestrict.json +324 -0
  77. package/specs/pdf/rotate-pdf-pages.json +305 -0
  78. package/specs/phone-validation/bulk-phone-number-validation.json +518 -0
  79. package/specs/phone-validation/phone-number-validation.json +456 -0
  80. package/specs/scraper/web-scraper.json +674 -0
  81. package/specs/screenshot/bulk-screenshot.json +949 -0
  82. package/specs/screenshot/website-screenshot.json +1147 -0
  83. package/specs/ssl/ssl-certificate-chain-lookup.json +756 -0
  84. package/specs/ssl/ssl-certificate-lookup.json +634 -0
  85. package/specs/timezone/timezone-converter.json +362 -0
  86. package/specs/timezone/timezone-lookup.json +910 -0
  87. package/specs/user-agent/bulk-user-agent-parser.json +441 -0
  88. package/specs/user-agent/user-agent-parser.json +346 -0
  89. package/specs/weather/air-quality.json +779 -0
  90. package/specs/weather/bulk-live-weather.json +834 -0
  91. package/specs/weather/flood-forecast.json +693 -0
  92. package/specs/weather/historical-weather.json +1019 -0
  93. package/specs/weather/live-weather.json +789 -0
  94. package/specs/weather/marine-weather.json +940 -0
  95. package/specs/weather/time-series-weather.json +1056 -0
  96. package/specs/weather/weather-forecast.json +1202 -0
  97. package/specs/whois/asn-lookup.json +729 -0
  98. package/specs/whois/bulk-whois-lookup.json +698 -0
  99. package/specs/whois/domain-whois-history-lookup.json +500 -0
  100. package/specs/whois/reverse-whois.json +625 -0
  101. package/specs/whois/whois-domain-lookup.json +533 -0
  102. package/specs/whois/whois-ip-lookup.json +1110 -0
  103. package/specs/zip-code/bulk-zip-code-lookup.json +318 -0
  104. package/specs/zip-code/zip-code-api.json +299 -0
  105. package/specs/zip-code/zip-code-distance-match.json +311 -0
  106. package/specs/zip-code/zip-code-distance.json +307 -0
  107. package/specs/zip-code/zip-codes-by-city.json +279 -0
  108. package/specs/zip-code/zip-codes-by-region.json +278 -0
  109. package/specs/zip-code/zip-codes-radius-search.json +349 -0
@@ -0,0 +1,634 @@
1
+ {
2
+ "openapi": "3.1.1",
3
+ "info": {
4
+ "title": "SSL Lookup API - Check and Monitor SSL Certificate Chains",
5
+ "version": "1.0.0",
6
+ "description": "Retrieve comprehensive SSL certificate information for any domain including expiry dates, issuer details, signature algorithms, public key data, and certificate extensions. Supports extended key usages, CRL distribution points, authority info access, subject alternative names, and certificate policies.",
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": "SSL Certificate Lookup API Server"
17
+ }
18
+ ],
19
+ "paths": {
20
+ "/domain/ssl/live": {
21
+ "get": {
22
+ "tags": ["SSL APIs"],
23
+ "summary": "Retrieve the SSL certificate and any hidden information embedded within it for a domain.",
24
+ "description": "Retrieve comprehensive SSL certificate information without the certificate chain.\nThis endpoint provides detailed information about the SSL certificate including expiry dates, issuer details, and encryption methods.\n",
25
+ "operationId": "sslCertificateLookup",
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": "Format of the response."
37
+ },
38
+ {
39
+ "name": "domainName",
40
+ "in": "query",
41
+ "required": true,
42
+ "schema": {
43
+ "type": "string"
44
+ },
45
+ "description": "Domain name or URL whose SSL certificate lookup is required"
46
+ },
47
+ {
48
+ "name": "sslRaw",
49
+ "in": "query",
50
+ "required": false,
51
+ "schema": {
52
+ "type": "boolean"
53
+ },
54
+ "description": "Set to true to get the raw openSSL response of the domain"
55
+ }
56
+ ],
57
+ "responses": {
58
+ "200": {
59
+ "description": "Successful SSL certificate lookup response",
60
+ "content": {
61
+ "application/json": {
62
+ "schema": {
63
+ "$ref": "#/components/schemas/SSLLookupResponse"
64
+ },
65
+ "examples": {
66
+ "Single SSL Certificate": {
67
+ "value": {
68
+ "domainName": "google.com",
69
+ "queryTime": "2026-06-06 14:58:44",
70
+ "sslCertificates": [
71
+ {
72
+ "chainOrder": "end-user",
73
+ "authenticationType": "domain",
74
+ "validityStartDate": "2026-05-18 18:35:21 UTC",
75
+ "validityEndDate": "2026-08-10 18:35:20 UTC",
76
+ "serialNumber": "d5:2a:59:68:49:a3:ce:9b:10:64:16:9b:c7:eb:df:4b",
77
+ "signatureAlgorithm": "SHA256-RSA",
78
+ "subject": {
79
+ "commonName": "*.google.com"
80
+ },
81
+ "issuer": {
82
+ "commonName": "WR2",
83
+ "organization": "Google Trust Services",
84
+ "country": "US"
85
+ },
86
+ "publicKey": {
87
+ "keySize": "256 bit",
88
+ "keyAlgorithm": "ECDSA",
89
+ "pemRaw": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErGwQHDlGZHg4bCpvaBQKF07hm4v6puRsRi7O6JQH78GTcBkGAHRZSLqvlH8K+wDBOiTKlDh3sWlmEJDUJDdoKA==\n-----END PUBLIC KEY-----\n"
90
+ },
91
+ "extensions": {
92
+ "authorityKeyIdentifier": "DE:1B:1E:ED:79:15:D4:3E:37:24:C3:21:BB:EC:34:39:6D:42:B2:30",
93
+ "subjectKeyIdentifier": "2E:EC:34:B9:3E:97:83:C3:7E:E5:D0:F4:AB:56:D4:25:99:67:7D:6B",
94
+ "keyUsages": ["Digital Signature"],
95
+ "extendedKeyUsages": [
96
+ "TLS Web Server Authentication"
97
+ ],
98
+ "crlDistributionPoints": [
99
+ "http://c.pki.goog/wr2/GSyT1N4PBrg.crl"
100
+ ],
101
+ "authorityInfoAccess": {
102
+ "issuers": ["http://i.pki.goog/wr2.crt"],
103
+ "ocsp": ["http://o.pki.goog/wr2"]
104
+ },
105
+ "subjectAlternativeNames": {
106
+ "dnsNames": [
107
+ "*.google.com",
108
+ "google.com",
109
+ "youtube.com",
110
+ "*.youtube.com",
111
+ "*.ytimg.com"
112
+ ]
113
+ },
114
+ "certificatePolicies": [
115
+ {
116
+ "policyId": "2.23.140.1.2.1"
117
+ }
118
+ ]
119
+ },
120
+ "pemRaw": "-----BEGIN CERTIFICATE-----\nMIIIdTCCB12gAwIBAgIRANUqWWhJo86bEGQWm8fr30swDQYJKoZIhvcNAQELBQAwOzELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFUdvb2dsZSBUcnVzdCBTZXJ2aWNlczEMMAoGA1UEAxMDV1IyMB4XDTI2MDUxODE4MzUyMVoXDTI2MDgxMDE4MzUyMFowFzEVMBMGA1UEAwwMKi5nb29nbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErGwQHDlGZHg4bCpvaBQKF07hm4v6puRsRi7O6JQH78GTcBkGAHRZSLqvlH8K+wDBOiTKlDh3sWlmEJDUJDdoKKOCBmEwggZdMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQu7DS5PpeDw37l0PSrVtQlmWd9azAfBgNVHSMEGDAWgBTeGx7teRXUPjckwyG77DQ5bUKyMDBYBggrBgEFBQcBAQRMMEowIQYIKwYBBQUHMAGGFWh0dHA6Ly9vLnBraS5nb29nL3dyMjAlBggrBgEFBQcwAoYZaHR0cDovL2kucGtpLmdvb2cvd3IyLmNydDCCBDgGA1UdEQSCBC8wggQrggwqLmdvb2dsZS5jb22CFiouYXBwZW5naW5lLmdvb2dsZS5jb22CCSouYmRuLmRldoIVKi5vcmlnaW4tdGVzdC5iZG4uZGV2ghIqLmNsb3VkLmdvb2dsZS5jb22CGCouY3Jvd2Rzb3VyY2UuZ29vZ2xlLmNvbYIYKi5kYXRhY29tcHV0ZS5nb29nbGUuY29tggsqLmdvb2dsZS5jYYILKi5nb29nbGUuY2yCDiouZ29vZ2xlLmNvLmlugg4qLmdvb2dsZS5jby5qcIIOKi5nb29nbGUuY28udWuCDyouZ29vZ2xlLmNvbS5hcoIPKi5nb29nbGUuY29tLmF1gg8qLmdvb2dsZS5jb20uYnKCDyouZ29vZ2xlLmNvbS5jb4IPKi5nb29nbGUuY29tLm14gg8qLmdvb2dsZS5jb20udHKCDyouZ29vZ2xlLmNvbS52boILKi5nb29nbGUuZGWCCyouZ29vZ2xlLmVzggsqLmdvb2dsZS5mcoILKi5nb29nbGUuaHWCCyouZ29vZ2xlLml0ggsqLmdvb2dsZS5ubIILKi5nb29nbGUucGyCCyouZ29vZ2xlLnB0ghkqLmdlbWluaS5jbG91ZC5nb29nbGUuY29tgg0qLmdzdGF0aWMuY29tghQqLm1ldHJpYy5nc3RhdGljLmNvbYIKKi5ndnQxLmNvbYIRKi5nY3BjZG4uZ3Z0MS5jb22CCiouZ3Z0Mi5jb22CDiouZ2NwLmd2dDIuY29tghAqLnVybC5nb29nbGUuY29tghYqLnlvdXR1YmUtbm9jb29raWUuY29tggsqLnl0aW1nLmNvbYIKYWkuYW5kcm9pZIILYW5kcm9pZC5jb22CDSouYW5kcm9pZC5jb22CEyouZmxhc2guYW5kcm9pZC5jb22CBGcuY28CBDEwLmdvb2dsZS5jb22CEiouZ29vZ2xlLWNhcnRzLmNvbYIKZ29vZ2xlLmNvbYISZ29vZ2xlY29tbWVyY2UuY29tghQqLmdvb2dsZWNvbW1lcmNlLmNvbYIKdXJjaGluLmNvbYIMKi51cmNoaW4uY29tggh5b3V0dS5iZYILeW91dHViZS5jb22CDSoueW91dHViZS5jb22CEW11c2ljLnlvdXR1YmUuY29tghMqLm11c2ljLnlvdXR1YmUuY29tghR5b3V0dWJlZWR1Y2F0aW9uLmNvbYIWKi55b3V0dWJlZWR1Y2F0aW9uLmNvbYIPeW91dHViZWtpZHMuY29tghEqLnlvdXR1YmVraWRzLmNvbYIFeXQuYmWCByoueXQuYmWCGmFuZHJvaWQuY2xpZW50cy5nb29nbGUuY29tghUqLmFpc3R1ZGlvLmdvb2dsZS5jb20wEwYDVR0gBAwwCjAIBgZngQwBAgEwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2MucGtpLmdvb2cvd3IyL0dTeVQxTjRQQnJnLmNybDCCAQMGCisGAQQB1nkCBAIEgfQEgfEA7wB2AMs49xWJfIShRF9bwd37yW7ymlnNRwppBYWwyxTDFFjnAAABnjyV+/0AAAQDAEcwRQIgCgvqLruYdmtREQIJopZQVZEAux/EdciE9ThPK5WLOIwCIQDJjNYSb4sTv+LnXVHnirnD6kTT5FY8gLI6mKR0WI/m1AB1ANgJVTuUT3r/yBYZb5RPhauw+Pxeh1UmDxXRLnK7RUsUAAABnjyV+8EAAAQDAEYwRAIgQvDSSJRos+D8Lk6bpjH2ZlYxD/N6Gv2TqkFZhUlFKeQCIBq55PPw4e5N89gLgzFC2kp1X+YvFsURPsLrz1LqOAymMA0GCSqGSIb3DQEBCwUAA4IBAQBtZusj1ojCxhZxk5KpZ92eZuTkDVJgJGtDq8gPRehf50mZiu2gDK1JgXIzKRey3tHmgNrCmTon5QJAL9yDyrOGs2GoQsfMkenH0+/hTsLB+n03ni9+9jghfPvE9CZbFimniiqGznhnW5mNOZGy2AnXz79ZfHr4J8AuPh4HVvPc6q/2coyl7Vlxp2XDo6j1eoZARVSske22WvE34U4Yunq+SE0E0a8aKTV7Q7YHeu8/NAsFmG7V6QSSqAyFyxqeEzuz8ylBPxS/cejBk+29tGlfqqrR1JEKdcFLF7EuRyvRWAuQMQBHRA9boa3/lz1f+jEkkUbfqEMrDAnxLthdKKJk\n-----END CERTIFICATE-----\n"
121
+ }
122
+ ]
123
+ }
124
+ }
125
+ }
126
+ }
127
+ }
128
+ },
129
+ "400": {
130
+ "description": "Bad Request – Invalid domain parameter",
131
+ "content": {
132
+ "application/json": {
133
+ "schema": {
134
+ "$ref": "#/components/schemas/ErrorResponse"
135
+ },
136
+ "examples": {
137
+ "Invalid Domain Param": {
138
+ "value": {
139
+ "timestamp": "2025-08-14T10:21:23.349Z",
140
+ "status": 400,
141
+ "error": "Invalid Param Exception",
142
+ "message": "Please pass domain param correct value[For Technical Support: support@apifreaks.com]",
143
+ "path": "/v1.0/ssl/live"
144
+ }
145
+ }
146
+ }
147
+ }
148
+ }
149
+ },
150
+ "403": {
151
+ "description": "Forbidden – Domain extension unavailable",
152
+ "content": {
153
+ "application/json": {
154
+ "schema": {
155
+ "$ref": "#/components/schemas/ErrorResponse"
156
+ },
157
+ "examples": {
158
+ "Unavailable Domain Extension": {
159
+ "value": {
160
+ "timestamp": "2025-08-14T10:18:47.504Z",
161
+ "status": 403,
162
+ "error": "Forbidden",
163
+ "message": "Unavailable domain extension.",
164
+ "path": "/v1.0/ssl/live"
165
+ }
166
+ }
167
+ }
168
+ }
169
+ }
170
+ },
171
+ "404": {
172
+ "description": "Not Found – No SSL certificate exists for entered domain",
173
+ "content": {
174
+ "application/json": {
175
+ "schema": {
176
+ "$ref": "#/components/schemas/ErrorResponse"
177
+ },
178
+ "examples": {
179
+ "No SSL Certificate": {
180
+ "value": {
181
+ "timestamp": "2025-08-14T10:18:28.465Z",
182
+ "status": 404,
183
+ "error": "SSL Data Not Found",
184
+ "message": "No Ssl Certificate exists for entered Domain",
185
+ "path": "/v1.0/ssl/live"
186
+ }
187
+ }
188
+ }
189
+ }
190
+ }
191
+ }
192
+ }
193
+ }
194
+ }
195
+ },
196
+ "components": {
197
+ "securitySchemes": {
198
+ "ApiKeyAuthHeader": {
199
+ "type": "apiKey",
200
+ "in": "header",
201
+ "name": "X-apiKey",
202
+ "description": "Pass your API key via the X-apiKey request header."
203
+ },
204
+ "ApiKeyAuthQuery": {
205
+ "type": "apiKey",
206
+ "in": "query",
207
+ "name": "apiKey",
208
+ "description": "Pass your API key via the apiKey query parameter."
209
+ }
210
+ },
211
+ "schemas": {
212
+ "SSLLookupResponse": {
213
+ "type": "object",
214
+ "required": ["domainName", "queryTime", "sslCertificates"],
215
+ "properties": {
216
+ "domainName": {
217
+ "type": "string",
218
+ "description": "Domain name or URL that was queried."
219
+ },
220
+ "queryTime": {
221
+ "type": "string",
222
+ "format": "date-time",
223
+ "description": "Timestamp when the query was executed."
224
+ },
225
+ "sslCertificates": {
226
+ "type": "array",
227
+ "items": {
228
+ "$ref": "#/components/schemas/SSLCertificateItem"
229
+ },
230
+ "description": "Array of SSL certificate objects in the chain."
231
+ },
232
+ "sslRaw": {
233
+ "type": "string",
234
+ "description": "Raw OpenSSL response text if sslRaw was set to true."
235
+ }
236
+ },
237
+ "description": "SSL certificate lookup response containing certificate details and extensions."
238
+ },
239
+ "SSLCertificateItem": {
240
+ "type": "object",
241
+ "description": "A single SSL certificate in the certificate chain.",
242
+ "required": [
243
+ "chainOrder",
244
+ "authenticationType",
245
+ "validityStartDate",
246
+ "validityEndDate",
247
+ "serialNumber",
248
+ "signatureAlgorithm",
249
+ "pemRaw",
250
+ "subject",
251
+ "issuer",
252
+ "publicKey",
253
+ "extensions"
254
+ ],
255
+ "properties": {
256
+ "chainOrder": {
257
+ "type": "string",
258
+ "description": "Position in the certificate chain (end-user, intermediate, root)."
259
+ },
260
+ "authenticationType": {
261
+ "type": "string",
262
+ "description": "Authentication type (domain, organization, extended)."
263
+ },
264
+ "validityStartDate": {
265
+ "type": "string",
266
+ "format": "date-time",
267
+ "description": "Certificate validity start date."
268
+ },
269
+ "validityEndDate": {
270
+ "type": "string",
271
+ "format": "date-time",
272
+ "description": "Certificate validity end date."
273
+ },
274
+ "serialNumber": {
275
+ "type": "string",
276
+ "description": "Certificate serial number."
277
+ },
278
+ "signatureAlgorithm": {
279
+ "type": "string",
280
+ "description": "Signature algorithm used (e.g., SHA256-RSA)."
281
+ },
282
+ "subject": {
283
+ "$ref": "#/components/schemas/SSLSubject"
284
+ },
285
+ "issuer": {
286
+ "$ref": "#/components/schemas/SSLIssuer"
287
+ },
288
+ "publicKey": {
289
+ "$ref": "#/components/schemas/SSLPublicKey"
290
+ },
291
+ "extensions": {
292
+ "$ref": "#/components/schemas/SSLExtensions"
293
+ },
294
+ "pemRaw": {
295
+ "type": "string",
296
+ "description": "Raw PEM-encoded certificate."
297
+ }
298
+ }
299
+ },
300
+ "SSLSubject": {
301
+ "type": "object",
302
+ "description": "Subject information of the SSL certificate.",
303
+ "required": ["commonName"],
304
+ "properties": {
305
+ "commonName": {
306
+ "type": "string",
307
+ "description": "Common name of the subject."
308
+ },
309
+ "organization": {
310
+ "type": "string",
311
+ "description": "Organization of the subject."
312
+ },
313
+ "organizationalUnit": {
314
+ "type": "string",
315
+ "description": "Organizational unit of the subject."
316
+ },
317
+ "locality": {
318
+ "type": "string",
319
+ "description": "Locality of the subject."
320
+ },
321
+ "state": {
322
+ "type": "string",
323
+ "description": "State of the subject."
324
+ },
325
+ "country": {
326
+ "type": "string",
327
+ "description": "Country of the subject."
328
+ },
329
+ "incCountry": {
330
+ "type": "string",
331
+ "description": "Incorporation country of the subject."
332
+ },
333
+ "incState": {
334
+ "type": "string",
335
+ "description": "Incorporation state of the subject."
336
+ },
337
+ "businessCategory": {
338
+ "type": "string",
339
+ "description": "Business category of the subject."
340
+ },
341
+ "street": {
342
+ "type": "string",
343
+ "description": "Street address of the subject."
344
+ },
345
+ "postalCode": {
346
+ "type": "string",
347
+ "description": "Postal code of the subject."
348
+ },
349
+ "serialNumber": {
350
+ "type": "string",
351
+ "description": "Serial number of the subject."
352
+ }
353
+ }
354
+ },
355
+ "SSLIssuer": {
356
+ "type": "object",
357
+ "description": "Issuer information of the SSL certificate.",
358
+ "required": ["commonName", "organization", "country"],
359
+ "properties": {
360
+ "commonName": {
361
+ "type": "string",
362
+ "description": "Common name of the issuer."
363
+ },
364
+ "organization": {
365
+ "type": "string",
366
+ "description": "Organization of the issuer."
367
+ },
368
+ "organizationalUnit": {
369
+ "type": "string",
370
+ "description": "Organizational unit of the issuer."
371
+ },
372
+ "locality": {
373
+ "type": "string",
374
+ "description": "Locality of the issuer."
375
+ },
376
+ "state": {
377
+ "type": "string",
378
+ "description": "State of the issuer."
379
+ },
380
+ "country": {
381
+ "type": "string",
382
+ "description": "Country of the issuer."
383
+ },
384
+ "incCountry": {
385
+ "type": "string",
386
+ "description": "Incorporation country of the issuer."
387
+ },
388
+ "incState": {
389
+ "type": "string",
390
+ "description": "Incorporation state of the issuer."
391
+ },
392
+ "businessCategory": {
393
+ "type": "string",
394
+ "description": "Business category of the issuer."
395
+ },
396
+ "street": {
397
+ "type": "string",
398
+ "description": "Street address of the issuer."
399
+ },
400
+ "postalCode": {
401
+ "type": "string",
402
+ "description": "Postal code of the issuer."
403
+ },
404
+ "serialNumber": {
405
+ "type": "string",
406
+ "description": "Serial number of the issuer."
407
+ }
408
+ }
409
+ },
410
+ "SSLPublicKey": {
411
+ "type": "object",
412
+ "description": "Public key details of the SSL certificate.",
413
+ "required": ["keySize", "keyAlgorithm", "pemRaw"],
414
+ "properties": {
415
+ "keySize": {
416
+ "type": "string",
417
+ "description": "Public key size (e.g., 256 bit)."
418
+ },
419
+ "keyAlgorithm": {
420
+ "type": "string",
421
+ "description": "Public key algorithm (e.g., ECDSA, RSA)."
422
+ },
423
+ "pemRaw": {
424
+ "type": "string",
425
+ "description": "Raw PEM-encoded public key."
426
+ }
427
+ }
428
+ },
429
+ "SSLExtensions": {
430
+ "type": "object",
431
+ "description": "X.509 certificate extensions.",
432
+ "required": ["keyUsages"],
433
+ "properties": {
434
+ "authorityKeyIdentifier": {
435
+ "type": "string",
436
+ "description": "Authority key identifier."
437
+ },
438
+ "subjectKeyIdentifier": {
439
+ "type": "string",
440
+ "description": "Subject key identifier."
441
+ },
442
+ "keyUsages": {
443
+ "type": "array",
444
+ "items": {
445
+ "type": "string"
446
+ },
447
+ "description": "Key usage extensions."
448
+ },
449
+ "extendedKeyUsages": {
450
+ "type": "array",
451
+ "items": {
452
+ "type": "string"
453
+ },
454
+ "description": "Extended key usage extensions."
455
+ },
456
+ "crlDistributionPoints": {
457
+ "type": "array",
458
+ "items": {
459
+ "type": "string"
460
+ },
461
+ "description": "CRL distribution point URLs."
462
+ },
463
+ "authorityInfoAccess": {
464
+ "$ref": "#/components/schemas/SSLAuthorityInfoAccess"
465
+ },
466
+ "subjectAlternativeNames": {
467
+ "$ref": "#/components/schemas/SSLSubjectAlternativeNames"
468
+ },
469
+ "certificatePolicies": {
470
+ "type": "array",
471
+ "items": {
472
+ "$ref": "#/components/schemas/SSLCertificatePolicy"
473
+ },
474
+ "description": "Certificate policy objects."
475
+ }
476
+ }
477
+ },
478
+ "SSLAuthorityInfoAccess": {
479
+ "type": "object",
480
+ "description": "Authority information access details.",
481
+ "properties": {
482
+ "issuers": {
483
+ "type": "array",
484
+ "items": {
485
+ "type": "string"
486
+ },
487
+ "description": "Issuer certificate URLs."
488
+ },
489
+ "ocsp": {
490
+ "type": "array",
491
+ "items": {
492
+ "type": "string"
493
+ },
494
+ "description": "OCSP responder URLs."
495
+ }
496
+ },
497
+ "required": []
498
+ },
499
+ "SSLSubjectAlternativeNames": {
500
+ "type": "object",
501
+ "description": "Subject alternative names on the certificate.",
502
+ "properties": {
503
+ "dnsNames": {
504
+ "type": "array",
505
+ "items": {
506
+ "type": "string"
507
+ },
508
+ "description": "DNS names on the certificate."
509
+ },
510
+ "emailAddresses": {
511
+ "type": "array",
512
+ "items": {
513
+ "type": "string"
514
+ },
515
+ "description": "Email addresses on the certificate."
516
+ },
517
+ "ipAddresses": {
518
+ "type": "array",
519
+ "items": {
520
+ "type": "string"
521
+ },
522
+ "description": "IP addresses on the certificate."
523
+ },
524
+ "uris": {
525
+ "type": "array",
526
+ "items": {
527
+ "type": "string"
528
+ },
529
+ "description": "URIs on the certificate."
530
+ }
531
+ },
532
+ "required": []
533
+ },
534
+ "SSLCertificatePolicy": {
535
+ "type": "object",
536
+ "description": "A certificate policy object.",
537
+ "properties": {
538
+ "policyId": {
539
+ "type": "string",
540
+ "description": "Policy OID identifier."
541
+ },
542
+ "policyQualifier": {
543
+ "$ref": "#/components/schemas/SSLPolicyQualifier"
544
+ }
545
+ },
546
+ "required": []
547
+ },
548
+ "SSLPolicyQualifier": {
549
+ "type": "object",
550
+ "description": "Policy qualifier for a certificate policy.",
551
+ "properties": {
552
+ "oid": {
553
+ "type": "string",
554
+ "description": "OID of the policy qualifier."
555
+ },
556
+ "cpsUri": {
557
+ "type": "string",
558
+ "format": "uri",
559
+ "description": "CPS URI for the policy qualifier."
560
+ },
561
+ "userNotice": {
562
+ "$ref": "#/components/schemas/SSLUserNotice"
563
+ }
564
+ },
565
+ "required": []
566
+ },
567
+ "SSLUserNotice": {
568
+ "type": "object",
569
+ "description": "User notice for a policy qualifier.",
570
+ "properties": {
571
+ "explicitText": {
572
+ "type": "string",
573
+ "description": "Explicit text of the user notice."
574
+ },
575
+ "noticeRef": {
576
+ "$ref": "#/components/schemas/SSLUserNoticeRef"
577
+ }
578
+ },
579
+ "required": []
580
+ },
581
+ "SSLUserNoticeRef": {
582
+ "type": "object",
583
+ "description": "Notice reference for a user notice.",
584
+ "properties": {
585
+ "organization": {
586
+ "type": "string",
587
+ "description": "Organization for the notice reference."
588
+ },
589
+ "noticeNumbers": {
590
+ "type": "string",
591
+ "description": "Notice numbers."
592
+ }
593
+ },
594
+ "required": []
595
+ },
596
+ "ErrorResponse": {
597
+ "type": "object",
598
+ "description": "Standard error envelope returned by the API on failed requests.",
599
+ "required": ["message"],
600
+ "properties": {
601
+ "error": {
602
+ "type": "string",
603
+ "description": "Short error category or exception type."
604
+ },
605
+ "message": {
606
+ "type": "string",
607
+ "description": "Human-readable error message describing the failure."
608
+ },
609
+ "path": {
610
+ "type": "string",
611
+ "description": "API endpoint path that produced the error."
612
+ },
613
+ "status": {
614
+ "type": "integer",
615
+ "description": "HTTP status code returned with the error."
616
+ },
617
+ "timestamp": {
618
+ "type": "string",
619
+ "format": "date-time",
620
+ "description": "Timestamp when the error occurred (ISO 8601)."
621
+ }
622
+ }
623
+ }
624
+ }
625
+ },
626
+ "security": [
627
+ {
628
+ "ApiKeyAuthHeader": []
629
+ },
630
+ {
631
+ "ApiKeyAuthQuery": []
632
+ }
633
+ ]
634
+ }