@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,1219 @@
1
+ {
2
+ "openapi": "3.1.1",
3
+ "info": {
4
+ "title": "PDF to Image APIs - Convert PDF to JPG, PNG, TIFF, BMP & GIF",
5
+ "version": "1.0.0",
6
+ "description": "Convert PDF pages to image format. Supports PNG, JPEG, and WebP output formats. Returns a task ID for tracking the conversion progress.",
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": "PDF to Image API Server"
17
+ }
18
+ ],
19
+ "paths": {
20
+ "/pdf/png": {
21
+ "post": {
22
+ "tags": [
23
+ "PDF To Image APIs"
24
+ ],
25
+ "summary": "Convert PDF to PNG",
26
+ "description": "This API converts a given PDF file into a sequence of PNG images.",
27
+ "parameters": [
28
+ {
29
+ "name": "format",
30
+ "in": "query",
31
+ "required": false,
32
+ "schema": {
33
+ "type": "string",
34
+ "enum": [
35
+ "json",
36
+ "xml"
37
+ ],
38
+ "default": "json"
39
+ },
40
+ "description": "Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure."
41
+ },
42
+ {
43
+ "name": "file_id",
44
+ "in": "query",
45
+ "required": false,
46
+ "schema": {
47
+ "type": "string"
48
+ },
49
+ "description": "The unique ID of a PDF file already uploaded to the API Freaks server. Use this as an alternative to uploading a new file directly."
50
+ },
51
+ {
52
+ "name": "destroy",
53
+ "in": "query",
54
+ "required": false,
55
+ "schema": {
56
+ "type": "boolean"
57
+ },
58
+ "description": "If set to `true`, the input file(s) will be permanently deleted from the server immediately after the output PDF is generated."
59
+ },
60
+ {
61
+ "name": "output",
62
+ "in": "query",
63
+ "required": false,
64
+ "schema": {
65
+ "type": "string"
66
+ },
67
+ "description": "The desired name for the output unrestricted PDF file. If not provided, a default name will be assigned."
68
+ },
69
+ {
70
+ "name": "pages",
71
+ "in": "query",
72
+ "required": false,
73
+ "schema": {
74
+ "type": "string"
75
+ },
76
+ "description": "Specifies the pages or ranges at which to split the PDF. Accepts individual page numbers (e.g., '1') and/or page ranges (e.g., '4-2', 'last'). Ranges can be ascending or descending. Use commas to separate entries and hyphens for ranges. Alternatively, provide only one of the following keywords: 'even' (split at every even-numbered page), 'odd' (split at every odd-numbered page), 'last' (split at the last page only), or 'all' (split into single pages). Examples: '1,4-2,last', 'odd', 'all'. Mixing special keywords with specific pages/ranges is not allowed."
77
+ },
78
+ {
79
+ "name": "resolution",
80
+ "in": "query",
81
+ "required": false,
82
+ "schema": {
83
+ "type": "integer"
84
+ },
85
+ "description": "Specifies the resolution (in DPI) for the output images. Acceptable Range is from 20 to 1200."
86
+ },
87
+ {
88
+ "name": "image_smoothing",
89
+ "in": "query",
90
+ "required": false,
91
+ "schema": {
92
+ "type": "string"
93
+ },
94
+ "description": "Determines the smoothing options to apply during image conversion. Valid values are 'none', 'all' or a combination of 'text', 'line', and 'image' (comma-separated).If not provided, no smoothing will be applied."
95
+ },
96
+ {
97
+ "name": "profile",
98
+ "in": "query",
99
+ "required": false,
100
+ "schema": {
101
+ "type": "string",
102
+ "enum": [
103
+ "bw",
104
+ "gray",
105
+ "rgb",
106
+ "rgba",
107
+ "4-bit",
108
+ "8-bit"
109
+ ]
110
+ },
111
+ "description": "Specifies the color profile for the output PNG images. Acceptable values: bw (1-bit black & white, smallest size, no grayscale or color), gray (8-bit grayscale), rgb (24-bit RGB color, default), rgba (32-bit RGB color with alpha channel for transparency), 4-bit (4-bit indexed color, up to 16 colors, smaller size), or 8-bit (8-bit indexed color, up to 256 colors)."
112
+ },
113
+ {
114
+ "name": "webhook_url",
115
+ "in": "query",
116
+ "required": false,
117
+ "schema": {
118
+ "type": "string"
119
+ },
120
+ "description": "The URL to which the webhook notification will be sent after the task is completed."
121
+ },
122
+ {
123
+ "name": "webhook_failure_notification",
124
+ "in": "query",
125
+ "required": false,
126
+ "schema": {
127
+ "type": "boolean"
128
+ },
129
+ "description": "If true, a notification will also be sent by email in case the webhook request fails all the retries. The email notification will be sent to the requesting user or their organization\u2019s admin if part of one."
130
+ },
131
+ {
132
+ "name": "X-Webhook-Authorization",
133
+ "in": "header",
134
+ "required": false,
135
+ "schema": {
136
+ "type": "string"
137
+ },
138
+ "description": "Optional custom header for webhook requests. Format: `Key:Value` (e.g., `Authorization:Bearer token123`). This will be sent as an HTTP header in the webhook call."
139
+ }
140
+ ],
141
+ "requestBody": {
142
+ "description": "Multipart form-data body carrying the PDF file to convert. Alternatively, reference an already-uploaded file via the file_id query parameter instead of uploading here.",
143
+ "required": false,
144
+ "content": {
145
+ "multipart/form-data": {
146
+ "schema": {
147
+ "$ref": "#/components/schemas/PdfFileUploadRequest"
148
+ }
149
+ }
150
+ }
151
+ },
152
+ "responses": {
153
+ "200": {
154
+ "description": "PDF converted to PNG successfully",
155
+ "content": {
156
+ "application/json": {
157
+ "schema": {
158
+ "$ref": "#/components/schemas/PDFResponse"
159
+ },
160
+ "examples": {
161
+ "success": {
162
+ "summary": "Task created",
163
+ "value": {
164
+ "taskId": "b48e5ed0-e5ce-41bd-953c-6c590ded4b20",
165
+ "inputIds": [
166
+ "6d994947-3909-46cf-91fe-24316c457e2a"
167
+ ]
168
+ }
169
+ }
170
+ }
171
+ }
172
+ }
173
+ },
174
+ "400": {
175
+ "description": "Bad Request \u2014 Missing/invalid parameters or file ID",
176
+ "content": {
177
+ "application/json": {
178
+ "examples": {
179
+ "MissingFileOrID": {
180
+ "summary": "Missing File or ID",
181
+ "value": {
182
+ "timestamp": "2026-07-27T10:51:09.542Z",
183
+ "path": "/v1.0/pdf/png",
184
+ "status": 400,
185
+ "error": "Missing File or ID",
186
+ "message": "Please provide either a file or a file ID."
187
+ }
188
+ },
189
+ "InvalidFileID": {
190
+ "summary": "file_id is malformed or does not exist",
191
+ "value": {
192
+ "error": "Invalid File ID Provided",
193
+ "message": "Please provide a valid file ID",
194
+ "path": "/pdf/png",
195
+ "status": 400,
196
+ "timestamp": "2026-07-27T10:51:11.802Z"
197
+ }
198
+ },
199
+ "InvalidImageProfile": {
200
+ "summary": "Invalid Image Profile",
201
+ "value": {
202
+ "timestamp": "2026-07-27T10:51:10.081Z",
203
+ "path": "/v1.0/pdf/png",
204
+ "status": 400,
205
+ "error": "Invalid Image Profile",
206
+ "message": "Please provide a valid image profile. Refer to the documentation for valid profiles."
207
+ }
208
+ },
209
+ "InvalidImageSmoothing": {
210
+ "summary": "Invalid Image Smoothing",
211
+ "value": {
212
+ "timestamp": "2026-07-27T10:51:11.203Z",
213
+ "path": "/v1.0/pdf/png",
214
+ "status": 400,
215
+ "error": "Invalid Image Smoothing",
216
+ "message": "Please provide a valid smoothing option or combination. Refer to the documentation for valid options."
217
+ }
218
+ },
219
+ "InvalidImageResolution": {
220
+ "summary": "Invalid Image Resolution",
221
+ "value": {
222
+ "timestamp": "2026-07-27T10:51:10.648Z",
223
+ "path": "/v1.0/pdf/png",
224
+ "status": 400,
225
+ "error": "Invalid Image Resolution",
226
+ "message": "Please provide a valid image resolution(dpi). Refer to the documentation for valid resolution values."
227
+ }
228
+ }
229
+ },
230
+ "schema": {
231
+ "$ref": "#/components/schemas/ErrorResponse"
232
+ }
233
+ }
234
+ }
235
+ }
236
+ },
237
+ "operationId": "pdfToImage"
238
+ }
239
+ },
240
+ "/pdf/jpg": {
241
+ "post": {
242
+ "tags": [
243
+ "PDF To Image APIs"
244
+ ],
245
+ "summary": "Convert PDF to JPG",
246
+ "description": "This API converts a given PDF file into a sequence of JPG images.",
247
+ "parameters": [
248
+ {
249
+ "name": "format",
250
+ "in": "query",
251
+ "required": false,
252
+ "schema": {
253
+ "type": "string",
254
+ "enum": [
255
+ "json",
256
+ "xml"
257
+ ],
258
+ "default": "json"
259
+ },
260
+ "description": "Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure."
261
+ },
262
+ {
263
+ "name": "file_id",
264
+ "in": "query",
265
+ "required": false,
266
+ "schema": {
267
+ "type": "string"
268
+ },
269
+ "description": "The unique ID of a PDF file already uploaded to the API Freaks server. Use this as an alternative to uploading a new file directly."
270
+ },
271
+ {
272
+ "name": "destroy",
273
+ "in": "query",
274
+ "required": false,
275
+ "schema": {
276
+ "type": "boolean"
277
+ },
278
+ "description": "If set to `true`, the input file(s) will be permanently deleted from the server immediately after the output PDF is generated."
279
+ },
280
+ {
281
+ "name": "output",
282
+ "in": "query",
283
+ "required": false,
284
+ "schema": {
285
+ "type": "string"
286
+ },
287
+ "description": "The desired name for the output unrestricted PDF file. If not provided, a default name will be assigned."
288
+ },
289
+ {
290
+ "name": "quality",
291
+ "in": "query",
292
+ "required": false,
293
+ "schema": {
294
+ "type": "integer"
295
+ },
296
+ "description": "Controls JPG compression quality. Higher values yield sharper images with larger file sizes."
297
+ },
298
+ {
299
+ "name": "pages",
300
+ "in": "query",
301
+ "required": false,
302
+ "schema": {
303
+ "type": "string"
304
+ },
305
+ "description": "Specifies the pages or ranges at which to split the PDF. Accepts individual page numbers (e.g., '1') and/or page ranges (e.g., '4-2', 'last'). Ranges can be ascending or descending. Use commas to separate entries and hyphens for ranges. Alternatively, provide only one of the following keywords: 'even' (split at every even-numbered page), 'odd' (split at every odd-numbered page), 'last' (split at the last page only), or 'all' (split into single pages). Examples: '1,4-2,last', 'odd', 'all'. Mixing special keywords with specific pages/ranges is not allowed."
306
+ },
307
+ {
308
+ "name": "resolution",
309
+ "in": "query",
310
+ "required": false,
311
+ "schema": {
312
+ "type": "integer"
313
+ },
314
+ "description": "Specifies the resolution (in DPI) for the output images. Acceptable Range is from 20 to 1200."
315
+ },
316
+ {
317
+ "name": "image_smoothing",
318
+ "in": "query",
319
+ "required": false,
320
+ "schema": {
321
+ "type": "string"
322
+ },
323
+ "description": "Determines the smoothing options to apply during image conversion. Valid values are 'none', 'all' or a combination of 'text', 'line', and 'image' (comma-separated).If not provided, no smoothing will be applied."
324
+ },
325
+ {
326
+ "name": "profile",
327
+ "in": "query",
328
+ "required": false,
329
+ "schema": {
330
+ "type": "string",
331
+ "enum": [
332
+ "gray",
333
+ "rgb",
334
+ "cmyk"
335
+ ]
336
+ },
337
+ "description": "Specifies the color profile for the output JPG images. Acceptable values: bw (1-bit black & white, smallest size, no grayscale or color), gray (8-bit grayscale), rgb (24-bit RGB color, default), rgba (32-bit RGB color with alpha channel for transparency), 4-bit (4-bit indexed color, up to 16 colors, smaller size), or 8-bit (8-bit indexed color, up to 256 colors)."
338
+ },
339
+ {
340
+ "name": "webhook_url",
341
+ "in": "query",
342
+ "required": false,
343
+ "schema": {
344
+ "type": "string"
345
+ },
346
+ "description": "The URL to which the webhook notification will be sent after the task is completed."
347
+ },
348
+ {
349
+ "name": "webhook_failure_notification",
350
+ "in": "query",
351
+ "required": false,
352
+ "schema": {
353
+ "type": "boolean"
354
+ },
355
+ "description": "If true, a notification will also be sent by email in case the webhook request fails all the retries. The email notification will be sent to the requesting user or their organization\u2019s admin if part of one."
356
+ },
357
+ {
358
+ "name": "X-Webhook-Authorization",
359
+ "in": "header",
360
+ "required": false,
361
+ "schema": {
362
+ "type": "string"
363
+ },
364
+ "description": "Optional custom header for webhook requests. Format: `Key:Value` (e.g., `Authorization:Bearer token123`). This will be sent as an HTTP header in the webhook call."
365
+ }
366
+ ],
367
+ "requestBody": {
368
+ "description": "Multipart form-data body carrying the PDF file to convert. Alternatively, reference an already-uploaded file via the file_id query parameter instead of uploading here.",
369
+ "required": false,
370
+ "content": {
371
+ "multipart/form-data": {
372
+ "schema": {
373
+ "$ref": "#/components/schemas/PdfFileUploadRequest"
374
+ }
375
+ }
376
+ }
377
+ },
378
+ "responses": {
379
+ "200": {
380
+ "description": "PDF converted to JPG successfully",
381
+ "content": {
382
+ "application/json": {
383
+ "schema": {
384
+ "$ref": "#/components/schemas/PDFResponse"
385
+ },
386
+ "examples": {
387
+ "success": {
388
+ "summary": "Task created",
389
+ "value": {
390
+ "taskId": "04a06cd5-158d-4191-a45b-6f58249c599d",
391
+ "inputIds": [
392
+ "7a9e4b12-f3c8-4d56-b7e1-8c2f9d0a3e6f"
393
+ ]
394
+ }
395
+ }
396
+ }
397
+ }
398
+ }
399
+ },
400
+ "400": {
401
+ "description": "Bad Request \u2014 Missing/invalid parameters or file ID",
402
+ "content": {
403
+ "application/json": {
404
+ "examples": {
405
+ "MissingFileOrID": {
406
+ "summary": "Missing File or ID",
407
+ "value": {
408
+ "timestamp": "2026-07-27T10:51:09.542Z",
409
+ "path": "/v1.0/pdf/jpg",
410
+ "status": 400,
411
+ "error": "Missing File or ID",
412
+ "message": "Please provide either a file or a file ID."
413
+ }
414
+ },
415
+ "InvalidFileID": {
416
+ "summary": "file_id is malformed or does not exist",
417
+ "value": {
418
+ "error": "Invalid File ID Provided",
419
+ "message": "Please provide a valid file ID",
420
+ "path": "/pdf/jpg",
421
+ "status": 400,
422
+ "timestamp": "2026-07-27T10:51:11.802Z"
423
+ }
424
+ },
425
+ "InvalidImageProfile": {
426
+ "summary": "Invalid Image Profile",
427
+ "value": {
428
+ "timestamp": "2026-07-27T10:51:10.081Z",
429
+ "path": "/v1.0/pdf/jpg",
430
+ "status": 400,
431
+ "error": "Invalid Image Profile",
432
+ "message": "Please provide a valid image profile. Refer to the documentation for valid profiles."
433
+ }
434
+ },
435
+ "InvalidImageSmoothing": {
436
+ "summary": "Invalid Image Smoothing",
437
+ "value": {
438
+ "timestamp": "2026-07-27T10:51:11.203Z",
439
+ "path": "/v1.0/pdf/jpg",
440
+ "status": 400,
441
+ "error": "Invalid Image Smoothing",
442
+ "message": "Please provide a valid smoothing option or combination. Refer to the documentation for valid options."
443
+ }
444
+ },
445
+ "InvalidImageQuality": {
446
+ "summary": "Invalid Image Quality",
447
+ "value": {
448
+ "timestamp": "2025-08-18T10:22:25.866Z",
449
+ "path": "/v1.0/pdf/jpg",
450
+ "status": 400,
451
+ "error": "Invalid Image Quality",
452
+ "message": "Please provide a valid image quality value from 1 to 100."
453
+ }
454
+ },
455
+ "InvalidImageResolution": {
456
+ "summary": "Invalid Image Resolution",
457
+ "value": {
458
+ "timestamp": "2026-07-27T10:51:10.648Z",
459
+ "path": "/v1.0/pdf/jpg",
460
+ "status": 400,
461
+ "error": "Invalid Image Resolution",
462
+ "message": "Please provide a valid image resolution(dpi). Refer to the documentation for valid resolution values."
463
+ }
464
+ }
465
+ },
466
+ "schema": {
467
+ "$ref": "#/components/schemas/ErrorResponse"
468
+ }
469
+ }
470
+ }
471
+ }
472
+ }
473
+ }
474
+ },
475
+ "/pdf/tif": {
476
+ "post": {
477
+ "tags": [
478
+ "PDF To Image APIs"
479
+ ],
480
+ "summary": "Convert a PDF file into a sequence of TIFF images.",
481
+ "description": "This API converts a given PDF file into a sequence of TIFF images. The output images can be saved as a single TIFF file, or as a sequence of TIFF files.",
482
+ "parameters": [
483
+ {
484
+ "name": "format",
485
+ "in": "query",
486
+ "required": false,
487
+ "schema": {
488
+ "type": "string",
489
+ "enum": [
490
+ "json",
491
+ "xml"
492
+ ],
493
+ "default": "json"
494
+ },
495
+ "description": "Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure."
496
+ },
497
+ {
498
+ "name": "file_id",
499
+ "in": "query",
500
+ "required": false,
501
+ "schema": {
502
+ "type": "string"
503
+ },
504
+ "description": "The unique ID of a PDF file already uploaded to the API Freaks server. Use this as an alternative to uploading a new file directly."
505
+ },
506
+ {
507
+ "name": "destroy",
508
+ "in": "query",
509
+ "required": false,
510
+ "schema": {
511
+ "type": "boolean"
512
+ },
513
+ "description": "If set to `true`, the input file(s) will be permanently deleted from the server immediately after the output PDF is generated."
514
+ },
515
+ {
516
+ "name": "output",
517
+ "in": "query",
518
+ "required": false,
519
+ "schema": {
520
+ "type": "string"
521
+ },
522
+ "description": "The desired name for the output unrestricted PDF file. If not provided, a default name will be assigned."
523
+ },
524
+ {
525
+ "name": "pages",
526
+ "in": "query",
527
+ "required": false,
528
+ "schema": {
529
+ "type": "string"
530
+ },
531
+ "description": "Specifies the pages or ranges at which to split the PDF. Accepts individual page numbers (e.g., '1') and/or page ranges (e.g., '4-2', 'last'). Ranges can be ascending or descending. Use commas to separate entries and hyphens for ranges. Alternatively, provide only one of the following keywords: 'even' (split at every even-numbered page), 'odd' (split at every odd-numbered page), 'last' (split at the last page only), or 'all' (split into single pages). Examples: '1,4-2,last', 'odd', 'all'. Mixing special keywords with specific pages/ranges is not allowed."
532
+ },
533
+ {
534
+ "name": "resolution",
535
+ "in": "query",
536
+ "required": false,
537
+ "schema": {
538
+ "type": "integer"
539
+ },
540
+ "description": "Specifies the resolution (in DPI) for the output images. Acceptable Range is from 20 to 1200."
541
+ },
542
+ {
543
+ "name": "image_smoothing",
544
+ "in": "query",
545
+ "required": false,
546
+ "schema": {
547
+ "type": "string"
548
+ },
549
+ "description": "Determines the smoothing options to apply during image conversion. Valid values are 'none', 'all' or a combination of 'text', 'line', and 'image' (comma-separated).If not provided, no smoothing will be applied."
550
+ },
551
+ {
552
+ "name": "profile",
553
+ "in": "query",
554
+ "required": false,
555
+ "schema": {
556
+ "type": "string",
557
+ "enum": [
558
+ "bw",
559
+ "gray",
560
+ "rgb",
561
+ "rgba",
562
+ "cmyk"
563
+ ]
564
+ },
565
+ "description": "Specifies the color profile for the output TIF images. Acceptable values: bw (1-bit black & white, smallest size, no grayscale or color), gray (8-bit grayscale), rgb (24-bit RGB color, default), rgba (32-bit RGB color with alpha channel for transparency), 4-bit (4-bit indexed color, up to 16 colors, smaller size), or 8-bit (8-bit indexed color, up to 256 colors)."
566
+ },
567
+ {
568
+ "name": "webhook_url",
569
+ "in": "query",
570
+ "required": false,
571
+ "schema": {
572
+ "type": "string"
573
+ },
574
+ "description": "The URL to which the webhook notification will be sent after the task is completed."
575
+ },
576
+ {
577
+ "name": "webhook_failure_notification",
578
+ "in": "query",
579
+ "required": false,
580
+ "schema": {
581
+ "type": "boolean"
582
+ },
583
+ "description": "If true, a notification will also be sent by email in case the webhook request fails all the retries. The email notification will be sent to the requesting user or their organization\u2019s admin if part of one."
584
+ },
585
+ {
586
+ "name": "X-Webhook-Authorization",
587
+ "in": "header",
588
+ "required": false,
589
+ "schema": {
590
+ "type": "string"
591
+ },
592
+ "description": "Optional custom header for webhook requests. Format: `Key:Value` (e.g., `Authorization:Bearer token123`). This will be sent as an HTTP header in the webhook call."
593
+ }
594
+ ],
595
+ "requestBody": {
596
+ "description": "Multipart form-data body carrying the PDF file to convert. Alternatively, reference an already-uploaded file via the file_id query parameter instead of uploading here.",
597
+ "required": false,
598
+ "content": {
599
+ "multipart/form-data": {
600
+ "schema": {
601
+ "$ref": "#/components/schemas/PdfFileUploadRequest"
602
+ }
603
+ }
604
+ }
605
+ },
606
+ "responses": {
607
+ "200": {
608
+ "description": "PDF converted to TIF successfully",
609
+ "content": {
610
+ "application/json": {
611
+ "schema": {
612
+ "$ref": "#/components/schemas/PDFResponse"
613
+ },
614
+ "examples": {
615
+ "success": {
616
+ "summary": "Task created",
617
+ "value": {
618
+ "taskId": "04a06cd5-158d-4191-a45b-6f58249c599d",
619
+ "inputIds": [
620
+ "7a9e4b12-f3c8-4d56-b7e1-8c2f9d0a3e6f"
621
+ ]
622
+ }
623
+ }
624
+ }
625
+ }
626
+ }
627
+ },
628
+ "400": {
629
+ "description": "Bad Request \u2014 Missing/invalid parameters or file ID",
630
+ "content": {
631
+ "application/json": {
632
+ "examples": {
633
+ "MissingFileOrID": {
634
+ "summary": "Missing File or ID",
635
+ "value": {
636
+ "timestamp": "2026-07-27T10:51:09.542Z",
637
+ "path": "/v1.0/pdf/tif",
638
+ "status": 400,
639
+ "error": "Missing File or ID",
640
+ "message": "Please provide either a file or a file ID."
641
+ }
642
+ },
643
+ "InvalidFileID": {
644
+ "summary": "file_id is malformed or does not exist",
645
+ "value": {
646
+ "error": "Invalid File ID Provided",
647
+ "message": "Please provide a valid file ID",
648
+ "path": "/pdf/tif",
649
+ "status": 400,
650
+ "timestamp": "2026-07-27T10:51:11.802Z"
651
+ }
652
+ },
653
+ "InvalidImageProfile": {
654
+ "summary": "Invalid Image Profile",
655
+ "value": {
656
+ "timestamp": "2026-07-27T10:51:10.081Z",
657
+ "path": "/v1.0/pdf/tif",
658
+ "status": 400,
659
+ "error": "Invalid Image Profile",
660
+ "message": "Please provide a valid image profile. Refer to the documentation for valid profiles."
661
+ }
662
+ },
663
+ "InvalidImageSmoothing": {
664
+ "summary": "Invalid Image Smoothing",
665
+ "value": {
666
+ "timestamp": "2026-07-27T10:51:11.203Z",
667
+ "path": "/v1.0/pdf/tif",
668
+ "status": 400,
669
+ "error": "Invalid Image Smoothing",
670
+ "message": "Please provide a valid smoothing option or combination. Refer to the documentation for valid options."
671
+ }
672
+ },
673
+ "InvalidImageResolution": {
674
+ "summary": "Invalid Image Resolution",
675
+ "value": {
676
+ "timestamp": "2026-07-27T10:51:10.648Z",
677
+ "path": "/v1.0/pdf/tif",
678
+ "status": 400,
679
+ "error": "Invalid Image Resolution",
680
+ "message": "Please provide a valid image resolution(dpi). Refer to the documentation for valid resolution values."
681
+ }
682
+ }
683
+ },
684
+ "schema": {
685
+ "$ref": "#/components/schemas/ErrorResponse"
686
+ }
687
+ }
688
+ }
689
+ }
690
+ }
691
+ }
692
+ },
693
+ "/pdf/bmp": {
694
+ "post": {
695
+ "tags": [
696
+ "PDF To Image APIs"
697
+ ],
698
+ "summary": "Convert PDF to BMP",
699
+ "description": "Converts a PDF file to a BMP image.",
700
+ "parameters": [
701
+ {
702
+ "name": "format",
703
+ "in": "query",
704
+ "required": false,
705
+ "schema": {
706
+ "type": "string",
707
+ "enum": [
708
+ "json",
709
+ "xml"
710
+ ],
711
+ "default": "json"
712
+ },
713
+ "description": "Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure."
714
+ },
715
+ {
716
+ "name": "file_id",
717
+ "in": "query",
718
+ "required": false,
719
+ "schema": {
720
+ "type": "string"
721
+ },
722
+ "description": "The unique ID of a PDF file already uploaded to the API Freaks server. Use this as an alternative to uploading a new file directly."
723
+ },
724
+ {
725
+ "name": "destroy",
726
+ "in": "query",
727
+ "required": false,
728
+ "schema": {
729
+ "type": "boolean"
730
+ },
731
+ "description": "If set to `true`, the input file(s) will be permanently deleted from the server immediately after the output PDF is generated."
732
+ },
733
+ {
734
+ "name": "output",
735
+ "in": "query",
736
+ "required": false,
737
+ "schema": {
738
+ "type": "string"
739
+ },
740
+ "description": "The desired name for the output unrestricted PDF file. If not provided, a default name will be assigned."
741
+ },
742
+ {
743
+ "name": "pages",
744
+ "in": "query",
745
+ "required": false,
746
+ "schema": {
747
+ "type": "string"
748
+ },
749
+ "description": "Specifies the pages or ranges at which to split the PDF. Accepts individual page numbers (e.g., '1') and/or page ranges (e.g., '4-2', 'last'). Ranges can be ascending or descending. Use commas to separate entries and hyphens for ranges. Alternatively, provide only one of the following keywords: 'even' (split at every even-numbered page), 'odd' (split at every odd-numbered page), 'last' (split at the last page only), or 'all' (split into single pages). Examples: '1,4-2,last', 'odd', 'all'. Mixing special keywords with specific pages/ranges is not allowed."
750
+ },
751
+ {
752
+ "name": "resolution",
753
+ "in": "query",
754
+ "required": false,
755
+ "schema": {
756
+ "type": "integer"
757
+ },
758
+ "description": "Specifies the resolution (in DPI) for the output images. Acceptable Range is from 20 to 1200."
759
+ },
760
+ {
761
+ "name": "image_smoothing",
762
+ "in": "query",
763
+ "required": false,
764
+ "schema": {
765
+ "type": "string"
766
+ },
767
+ "description": "Determines the smoothing options to apply during image conversion. Valid values are 'none', 'all' or a combination of 'text', 'line', and 'image' (comma-separated).If not provided, no smoothing will be applied."
768
+ },
769
+ {
770
+ "name": "profile",
771
+ "in": "query",
772
+ "required": false,
773
+ "schema": {
774
+ "type": "string",
775
+ "enum": [
776
+ "bw",
777
+ "gray",
778
+ "rgb",
779
+ "4-bit",
780
+ "8-bit"
781
+ ]
782
+ },
783
+ "description": "Specifies the color profile for the output BMP images. Acceptable values: bw (1-bit black & white, smallest size, no grayscale or color), gray (8-bit grayscale), rgb (24-bit RGB color, default), rgba (32-bit RGB color with alpha channel for transparency), 4-bit (4-bit indexed color, up to 16 colors, smaller size), or 8-bit (8-bit indexed color, up to 256 colors)."
784
+ },
785
+ {
786
+ "name": "webhook_url",
787
+ "in": "query",
788
+ "required": false,
789
+ "schema": {
790
+ "type": "string"
791
+ },
792
+ "description": "The URL to which the webhook notification will be sent after the task is completed."
793
+ },
794
+ {
795
+ "name": "webhook_failure_notification",
796
+ "in": "query",
797
+ "required": false,
798
+ "schema": {
799
+ "type": "boolean"
800
+ },
801
+ "description": "If true, a notification will also be sent by email in case the webhook request fails all the retries. The email notification will be sent to the requesting user or their organization\u2019s admin if part of one."
802
+ },
803
+ {
804
+ "name": "X-Webhook-Authorization",
805
+ "in": "header",
806
+ "required": false,
807
+ "schema": {
808
+ "type": "string"
809
+ },
810
+ "description": "Optional custom header for webhook requests. Format: `Key:Value` (e.g., `Authorization:Bearer token123`). This will be sent as an HTTP header in the webhook call."
811
+ }
812
+ ],
813
+ "requestBody": {
814
+ "description": "Multipart form-data body carrying the PDF file to convert. Alternatively, reference an already-uploaded file via the file_id query parameter instead of uploading here.",
815
+ "required": false,
816
+ "content": {
817
+ "multipart/form-data": {
818
+ "schema": {
819
+ "$ref": "#/components/schemas/PdfFileUploadRequest"
820
+ }
821
+ }
822
+ }
823
+ },
824
+ "responses": {
825
+ "200": {
826
+ "description": "PDF converted to BMP successfully",
827
+ "content": {
828
+ "application/json": {
829
+ "schema": {
830
+ "$ref": "#/components/schemas/PDFResponse"
831
+ },
832
+ "examples": {
833
+ "success": {
834
+ "summary": "Task created",
835
+ "value": {
836
+ "taskId": "04a06cd5-158d-4191-a45b-6f58249c599d",
837
+ "inputIds": [
838
+ "7a9e4b12-f3c8-4d56-b7e1-8c2f9d0a3e6f"
839
+ ]
840
+ }
841
+ }
842
+ }
843
+ }
844
+ }
845
+ },
846
+ "400": {
847
+ "description": "Bad Request \u2014 Missing/invalid parameters or file ID",
848
+ "content": {
849
+ "application/json": {
850
+ "examples": {
851
+ "MissingFileOrID": {
852
+ "summary": "Missing File or ID",
853
+ "value": {
854
+ "timestamp": "2026-07-27T10:51:09.542Z",
855
+ "path": "/v1.0/pdf/bmp",
856
+ "status": 400,
857
+ "error": "Missing File or ID",
858
+ "message": "Please provide either a file or a file ID."
859
+ }
860
+ },
861
+ "InvalidFileID": {
862
+ "summary": "file_id is malformed or does not exist",
863
+ "value": {
864
+ "error": "Invalid File ID Provided",
865
+ "message": "Please provide a valid file ID",
866
+ "path": "/pdf/bmp",
867
+ "status": 400,
868
+ "timestamp": "2026-07-27T10:51:11.802Z"
869
+ }
870
+ },
871
+ "InvalidImageProfile": {
872
+ "summary": "Invalid Image Profile",
873
+ "value": {
874
+ "timestamp": "2026-07-27T10:51:10.081Z",
875
+ "path": "/v1.0/pdf/bmp",
876
+ "status": 400,
877
+ "error": "Invalid Image Profile",
878
+ "message": "Please provide a valid image profile. Refer to the documentation for valid profiles."
879
+ }
880
+ },
881
+ "InvalidImageSmoothing": {
882
+ "summary": "Invalid Image Smoothing",
883
+ "value": {
884
+ "timestamp": "2026-07-27T10:51:11.203Z",
885
+ "path": "/v1.0/pdf/bmp",
886
+ "status": 400,
887
+ "error": "Invalid Image Smoothing",
888
+ "message": "Please provide a valid smoothing option or combination. Refer to the documentation for valid options."
889
+ }
890
+ },
891
+ "InvalidImageResolution": {
892
+ "summary": "Invalid Image Resolution",
893
+ "value": {
894
+ "timestamp": "2026-07-27T10:51:10.648Z",
895
+ "path": "/v1.0/pdf/bmp",
896
+ "status": 400,
897
+ "error": "Invalid Image Resolution",
898
+ "message": "Please provide a valid image resolution(dpi). Refer to the documentation for valid resolution values."
899
+ }
900
+ }
901
+ },
902
+ "schema": {
903
+ "$ref": "#/components/schemas/ErrorResponse"
904
+ }
905
+ }
906
+ }
907
+ }
908
+ }
909
+ }
910
+ },
911
+ "/pdf/gif": {
912
+ "post": {
913
+ "tags": [
914
+ "PDF To Image APIs"
915
+ ],
916
+ "summary": "Convert PDF to GIF",
917
+ "description": "This API converts a given PDF file into a sequence of GIF images.",
918
+ "parameters": [
919
+ {
920
+ "name": "format",
921
+ "in": "query",
922
+ "required": false,
923
+ "schema": {
924
+ "type": "string",
925
+ "enum": [
926
+ "json",
927
+ "xml"
928
+ ],
929
+ "default": "json"
930
+ },
931
+ "description": "Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure."
932
+ },
933
+ {
934
+ "name": "file_id",
935
+ "in": "query",
936
+ "required": false,
937
+ "schema": {
938
+ "type": "string"
939
+ },
940
+ "description": "The unique ID of a PDF file already uploaded to the API Freaks server. Use this as an alternative to uploading a new file directly."
941
+ },
942
+ {
943
+ "name": "destroy",
944
+ "in": "query",
945
+ "required": false,
946
+ "schema": {
947
+ "type": "boolean"
948
+ },
949
+ "description": "If set to `true`, the input file(s) will be permanently deleted from the server immediately after the output PDF is generated."
950
+ },
951
+ {
952
+ "name": "output",
953
+ "in": "query",
954
+ "required": false,
955
+ "schema": {
956
+ "type": "string"
957
+ },
958
+ "description": "The desired name for the output unrestricted PDF file. If not provided, a default name will be assigned."
959
+ },
960
+ {
961
+ "name": "pages",
962
+ "in": "query",
963
+ "required": false,
964
+ "schema": {
965
+ "type": "string"
966
+ },
967
+ "description": "Specifies the pages or ranges at which to split the PDF. Accepts individual page numbers (e.g., '1') and/or page ranges (e.g., '4-2', 'last'). Ranges can be ascending or descending. Use commas to separate entries and hyphens for ranges. Alternatively, provide only one of the following keywords: 'even' (split at every even-numbered page), 'odd' (split at every odd-numbered page), 'last' (split at the last page only), or 'all' (split into single pages). Examples: '1,4-2,last', 'odd', 'all'. Mixing special keywords with specific pages/ranges is not allowed."
968
+ },
969
+ {
970
+ "name": "resolution",
971
+ "in": "query",
972
+ "required": false,
973
+ "schema": {
974
+ "type": "integer"
975
+ },
976
+ "description": "Specifies the resolution (in DPI) for the output images. Acceptable Range is from 20 to 1200."
977
+ },
978
+ {
979
+ "name": "image_smoothing",
980
+ "in": "query",
981
+ "required": false,
982
+ "schema": {
983
+ "type": "string"
984
+ },
985
+ "description": "Determines the smoothing options to apply during image conversion. Valid values are 'none', 'all' or a combination of 'text', 'line', and 'image' (comma-separated).If not provided, no smoothing will be applied."
986
+ },
987
+ {
988
+ "name": "profile",
989
+ "in": "query",
990
+ "required": false,
991
+ "schema": {
992
+ "type": "string",
993
+ "enum": [
994
+ "bw",
995
+ "gray",
996
+ "rgb",
997
+ "rgba",
998
+ "4-bit",
999
+ "8-bit"
1000
+ ]
1001
+ },
1002
+ "description": "Specifies the color profile for the output GIF images. Acceptable values: bw (1-bit black & white, smallest size, no grayscale or color), gray (8-bit grayscale), rgb (24-bit RGB color, default), rgba (32-bit RGB color with alpha channel for transparency), 4-bit (4-bit indexed color, up to 16 colors, smaller size), or 8-bit (8-bit indexed color, up to 256 colors)."
1003
+ },
1004
+ {
1005
+ "name": "webhook_url",
1006
+ "in": "query",
1007
+ "required": false,
1008
+ "schema": {
1009
+ "type": "string"
1010
+ },
1011
+ "description": "The URL to which the webhook notification will be sent after the task is completed."
1012
+ },
1013
+ {
1014
+ "name": "webhook_failure_notification",
1015
+ "in": "query",
1016
+ "required": false,
1017
+ "schema": {
1018
+ "type": "boolean"
1019
+ },
1020
+ "description": "If true, a notification will also be sent by email in case the webhook request fails all the retries. The email notification will be sent to the requesting user or their organization\u2019s admin if part of one."
1021
+ },
1022
+ {
1023
+ "name": "X-Webhook-Authorization",
1024
+ "in": "header",
1025
+ "required": false,
1026
+ "schema": {
1027
+ "type": "string"
1028
+ },
1029
+ "description": "Optional custom header for webhook requests. Format: `Key:Value` (e.g., `Authorization:Bearer token123`). This will be sent as an HTTP header in the webhook call."
1030
+ }
1031
+ ],
1032
+ "requestBody": {
1033
+ "description": "Multipart form-data body carrying the PDF file to convert. Alternatively, reference an already-uploaded file via the file_id query parameter instead of uploading here.",
1034
+ "required": false,
1035
+ "content": {
1036
+ "multipart/form-data": {
1037
+ "schema": {
1038
+ "$ref": "#/components/schemas/PdfFileUploadRequest"
1039
+ }
1040
+ }
1041
+ }
1042
+ },
1043
+ "responses": {
1044
+ "200": {
1045
+ "description": "PDF converted to GIF successfully",
1046
+ "content": {
1047
+ "application/json": {
1048
+ "schema": {
1049
+ "$ref": "#/components/schemas/PDFResponse"
1050
+ },
1051
+ "examples": {
1052
+ "success": {
1053
+ "summary": "Task created",
1054
+ "value": {
1055
+ "taskId": "04a06cd5-158d-4191-a45b-6f58249c599d",
1056
+ "inputIds": [
1057
+ "7a9e4b12-f3c8-4d56-b7e1-8c2f9d0a3e6f"
1058
+ ]
1059
+ }
1060
+ }
1061
+ }
1062
+ }
1063
+ }
1064
+ },
1065
+ "400": {
1066
+ "description": "Bad Request \u2014 Missing/invalid parameters or file ID",
1067
+ "content": {
1068
+ "application/json": {
1069
+ "examples": {
1070
+ "MissingFileOrID": {
1071
+ "summary": "Missing File or ID",
1072
+ "value": {
1073
+ "timestamp": "2026-07-27T10:51:09.542Z",
1074
+ "path": "/v1.0/pdf/gif",
1075
+ "status": 400,
1076
+ "error": "Missing File or ID",
1077
+ "message": "Please provide either a file or a file ID."
1078
+ }
1079
+ },
1080
+ "InvalidFileID": {
1081
+ "summary": "file_id is malformed or does not exist",
1082
+ "value": {
1083
+ "error": "Invalid File ID Provided",
1084
+ "message": "Please provide a valid file ID",
1085
+ "path": "/pdf/gif",
1086
+ "status": 400,
1087
+ "timestamp": "2026-07-27T10:51:11.802Z"
1088
+ }
1089
+ },
1090
+ "InvalidImageProfile": {
1091
+ "summary": "Invalid Image Profile",
1092
+ "value": {
1093
+ "timestamp": "2026-07-27T10:51:10.081Z",
1094
+ "path": "/v1.0/pdf/gif",
1095
+ "status": 400,
1096
+ "error": "Invalid Image Profile",
1097
+ "message": "Please provide a valid image profile. Refer to the documentation for valid profiles."
1098
+ }
1099
+ },
1100
+ "InvalidImageSmoothing": {
1101
+ "summary": "Invalid Image Smoothing",
1102
+ "value": {
1103
+ "timestamp": "2026-07-27T10:51:11.203Z",
1104
+ "path": "/v1.0/pdf/gif",
1105
+ "status": 400,
1106
+ "error": "Invalid Image Smoothing",
1107
+ "message": "Please provide a valid smoothing option or combination. Refer to the documentation for valid options."
1108
+ }
1109
+ },
1110
+ "InvalidImageResolution": {
1111
+ "summary": "Invalid Image Resolution",
1112
+ "value": {
1113
+ "timestamp": "2026-07-27T10:51:10.648Z",
1114
+ "path": "/v1.0/pdf/gif",
1115
+ "status": 400,
1116
+ "error": "Invalid Image Resolution",
1117
+ "message": "Please provide a valid image resolution(dpi). Refer to the documentation for valid resolution values."
1118
+ }
1119
+ }
1120
+ },
1121
+ "schema": {
1122
+ "$ref": "#/components/schemas/ErrorResponse"
1123
+ }
1124
+ }
1125
+ }
1126
+ }
1127
+ }
1128
+ }
1129
+ }
1130
+ },
1131
+ "components": {
1132
+ "securitySchemes": {
1133
+ "ApiKeyAuthHeader": {
1134
+ "type": "apiKey",
1135
+ "in": "header",
1136
+ "name": "X-apiKey",
1137
+ "description": "Pass your API key via the X-apiKey request header."
1138
+ },
1139
+ "ApiKeyAuthQuery": {
1140
+ "type": "apiKey",
1141
+ "in": "query",
1142
+ "name": "apiKey",
1143
+ "description": "Pass your API key via the apiKey query parameter."
1144
+ }
1145
+ },
1146
+ "schemas": {
1147
+ "PDFResponse": {
1148
+ "type": "object",
1149
+ "description": "Response containing the task ID and input file IDs for a PDF processing task.",
1150
+ "required": [
1151
+ "taskId"
1152
+ ],
1153
+ "properties": {
1154
+ "taskId": {
1155
+ "type": "string",
1156
+ "description": "Task ID of the requested task, used to check the task status."
1157
+ },
1158
+ "inputIds": {
1159
+ "type": "array",
1160
+ "items": {
1161
+ "type": "string"
1162
+ },
1163
+ "description": "File IDs for the input files provided for the task. Not returned when destroy parameter is true."
1164
+ }
1165
+ }
1166
+ },
1167
+ "PdfFileUploadRequest": {
1168
+ "type": "object",
1169
+ "description": "Multipart form-data request body containing the PDF file to process.",
1170
+ "required": [],
1171
+ "properties": {
1172
+ "file": {
1173
+ "type": "string",
1174
+ "format": "binary",
1175
+ "description": "Raw PDF file bytes sent as a multipart/form-data field named 'file'. Omit this field entirely and pass file_id in the query string instead to use an already-uploaded file."
1176
+ }
1177
+ }
1178
+ },
1179
+ "ErrorResponse": {
1180
+ "type": "object",
1181
+ "description": "Standard error envelope returned by the API on failed requests.",
1182
+ "required": [
1183
+ "message"
1184
+ ],
1185
+ "properties": {
1186
+ "error": {
1187
+ "type": "string",
1188
+ "description": "Short error category or exception type."
1189
+ },
1190
+ "message": {
1191
+ "type": "string",
1192
+ "description": "Human-readable error message describing the failure."
1193
+ },
1194
+ "path": {
1195
+ "type": "string",
1196
+ "description": "API endpoint path that produced the error."
1197
+ },
1198
+ "status": {
1199
+ "type": "integer",
1200
+ "description": "HTTP status code returned with the error."
1201
+ },
1202
+ "timestamp": {
1203
+ "type": "string",
1204
+ "format": "date-time",
1205
+ "description": "Timestamp when the error occurred (ISO 8601)."
1206
+ }
1207
+ }
1208
+ }
1209
+ }
1210
+ },
1211
+ "security": [
1212
+ {
1213
+ "ApiKeyAuthHeader": []
1214
+ },
1215
+ {
1216
+ "ApiKeyAuthQuery": []
1217
+ }
1218
+ ]
1219
+ }