@apifreaks/openapi-specs 0.1.0 → 0.1.2

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 (108) hide show
  1. package/dist/index.cjs +133 -2
  2. package/dist/index.d.cts +140 -3
  3. package/dist/index.d.ts +140 -3
  4. package/dist/index.js +131 -2
  5. package/dist/specs/commodity/commodity-fluctuation.yaml +225 -0
  6. package/dist/specs/commodity/commodity-prices.yaml +236 -0
  7. package/dist/specs/commodity/commodity-symbols.yaml +159 -0
  8. package/dist/specs/commodity/commodity-time-series.yaml +238 -0
  9. package/dist/specs/commodity/historical-commodity-prices.yaml +208 -0
  10. package/dist/specs/currency/currency-converter.yaml +193 -0
  11. package/dist/specs/currency/currency-fluctuation.yaml +211 -0
  12. package/dist/specs/currency/currency-historical-data-limit.yaml +112 -0
  13. package/dist/specs/currency/currency-rate.yaml +173 -0
  14. package/dist/specs/currency/currency-supported.yaml +176 -0
  15. package/dist/specs/currency/currency-symbols.yaml +115 -0
  16. package/dist/specs/currency/currency-time-series.yaml +232 -0
  17. package/dist/specs/currency/geolocalized-currency-conversion.yaml +214 -0
  18. package/dist/specs/currency/historical-currency-converter.yaml +195 -0
  19. package/dist/specs/currency/historical-currency-rate.yaml +180 -0
  20. package/dist/specs/dns/bulk-dns-lookup.yaml +484 -0
  21. package/dist/specs/dns/dns-history-lookup.yaml +451 -0
  22. package/dist/specs/dns/dns-lookup.yaml +360 -0
  23. package/dist/specs/dns/reverse-dns-lookup.yaml +338 -0
  24. package/dist/specs/domain/bulk-domain-checker.yaml +198 -0
  25. package/dist/specs/domain/domain-search-with-suggestions.yaml +196 -0
  26. package/dist/specs/domain/domain-search.yaml +149 -0
  27. package/dist/specs/domain/subdomain-lookup.yaml +251 -0
  28. package/dist/specs/email-validation/bulk-email-validation.yaml +403 -0
  29. package/dist/specs/email-validation/email-checker.yaml +451 -0
  30. package/dist/specs/financial/bulk-vat-rates-country.yaml +250 -0
  31. package/dist/specs/financial/financial-apis-supported-countries.yaml +152 -0
  32. package/dist/specs/financial/iban-validation.yaml +270 -0
  33. package/dist/specs/financial/swift-code-finder.yaml +146 -0
  34. package/dist/specs/financial/swift-code-lookup.yaml +156 -0
  35. package/dist/specs/financial/vat-number-validation.yaml +205 -0
  36. package/dist/specs/financial/vat-rates-by-ip.yaml +200 -0
  37. package/dist/specs/financial/vat-rates-country.yaml +212 -0
  38. package/dist/specs/general/usage-credits.yaml +188 -0
  39. package/dist/specs/geocoding/forward-geocoding.yaml +292 -0
  40. package/dist/specs/geocoding/reverse-geocoding.yaml +237 -0
  41. package/dist/specs/geodb/administrative-units-details.yaml +180 -0
  42. package/dist/specs/geodb/administrative-units-levels.yaml +140 -0
  43. package/dist/specs/geodb/administrative-units.yaml +168 -0
  44. package/dist/specs/geodb/cities.yaml +209 -0
  45. package/dist/specs/geodb/countries-details.yaml +207 -0
  46. package/dist/specs/geodb/countries.yaml +199 -0
  47. package/dist/specs/geodb/flags-supported.yaml +119 -0
  48. package/dist/specs/geodb/flags.yaml +170 -0
  49. package/dist/specs/geodb/regions.yaml +76 -0
  50. package/dist/specs/geodb/subregions.yaml +158 -0
  51. package/dist/specs/ip-intelligence/bulk-ip-lookup.yaml +895 -0
  52. package/dist/specs/ip-intelligence/bulk-ip-threat-intelligence.yaml +310 -0
  53. package/dist/specs/ip-intelligence/ip-locator.yaml +708 -0
  54. package/dist/specs/ip-intelligence/ip-threat-intelligence.yaml +230 -0
  55. package/dist/specs/other/astronomy-data.yaml +632 -0
  56. package/dist/specs/pdf/delete-pdf-page.yaml +193 -0
  57. package/dist/specs/pdf/linearize-pdf.yaml +187 -0
  58. package/dist/specs/pdf/merge-pdf.yaml +193 -0
  59. package/dist/specs/pdf/pdf-compress.yaml +208 -0
  60. package/dist/specs/pdf/pdf-decrypt.yaml +202 -0
  61. package/dist/specs/pdf/pdf-encrypt.yaml +213 -0
  62. package/dist/specs/pdf/pdf-extract-pages.yaml +199 -0
  63. package/dist/specs/pdf/pdf-file-status.yaml +148 -0
  64. package/dist/specs/pdf/pdf-file.yaml +136 -0
  65. package/dist/specs/pdf/pdf-files.yaml +85 -0
  66. package/dist/specs/pdf/pdf-resource-download.yaml +117 -0
  67. package/dist/specs/pdf/pdf-resource-upload-binary.yaml +152 -0
  68. package/dist/specs/pdf/pdf-resource-upload.yaml +163 -0
  69. package/dist/specs/pdf/pdf-restrict.yaml +246 -0
  70. package/dist/specs/pdf/pdf-split-pages.yaml +208 -0
  71. package/dist/specs/pdf/pdf-task-status.yaml +187 -0
  72. package/dist/specs/pdf/pdf-to-image.yaml +844 -0
  73. package/dist/specs/pdf/pdf-unrestrict.yaml +221 -0
  74. package/dist/specs/pdf/rotate-pdf-pages.yaml +207 -0
  75. package/dist/specs/phone-validation/bulk-phone-number-validation.yaml +374 -0
  76. package/dist/specs/phone-validation/phone-number-validation.yaml +344 -0
  77. package/dist/specs/scraper/web-scraper.yaml +479 -0
  78. package/dist/specs/screenshot/bulk-screenshot.yaml +728 -0
  79. package/dist/specs/screenshot/website-screenshot.yaml +822 -0
  80. package/dist/specs/ssl/ssl-certificate-chain-lookup.yaml +593 -0
  81. package/dist/specs/ssl/ssl-certificate-lookup.yaml +478 -0
  82. package/dist/specs/timezone/timezone-converter.yaml +249 -0
  83. package/dist/specs/timezone/timezone-lookup.yaml +712 -0
  84. package/dist/specs/user-agent/bulk-user-agent-parser.yaml +340 -0
  85. package/dist/specs/user-agent/user-agent-parser.yaml +271 -0
  86. package/dist/specs/weather/air-quality.yaml +590 -0
  87. package/dist/specs/weather/bulk-live-weather.yaml +654 -0
  88. package/dist/specs/weather/flood-forecast.yaml +519 -0
  89. package/dist/specs/weather/historical-weather.yaml +842 -0
  90. package/dist/specs/weather/live-weather.yaml +633 -0
  91. package/dist/specs/weather/marine-weather.yaml +806 -0
  92. package/dist/specs/weather/time-series-weather.yaml +821 -0
  93. package/dist/specs/weather/weather-forecast.yaml +935 -0
  94. package/dist/specs/whois/asn-lookup.yaml +618 -0
  95. package/dist/specs/whois/bulk-whois-lookup.yaml +827 -0
  96. package/dist/specs/whois/domain-whois-history-lookup.yaml +445 -0
  97. package/dist/specs/whois/reverse-whois.yaml +566 -0
  98. package/dist/specs/whois/whois-domain-lookup.yaml +537 -0
  99. package/dist/specs/whois/whois-ip-lookup.yaml +1123 -0
  100. package/dist/specs/zip-code/bulk-zip-code-lookup.yaml +232 -0
  101. package/dist/specs/zip-code/zip-code-api.yaml +216 -0
  102. package/dist/specs/zip-code/zip-code-distance-match.yaml +239 -0
  103. package/dist/specs/zip-code/zip-code-distance.yaml +233 -0
  104. package/dist/specs/zip-code/zip-codes-by-city.yaml +201 -0
  105. package/dist/specs/zip-code/zip-codes-by-region.yaml +200 -0
  106. package/dist/specs/zip-code/zip-codes-radius-search.yaml +262 -0
  107. package/package.json +6 -2
  108. package/specs/pdf/merge-pdf.json +2 -2
@@ -0,0 +1,208 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: PDF Split API Reference
4
+ version: 1.0.0
5
+ description: Split a PDF file into individual pages or groups of pages. Returns a task ID for tracking the split progress.
6
+ contact:
7
+ name: APIFreaks Support
8
+ url: https://apifreaks.com/contact
9
+ email: support@apifreaks.com
10
+ servers:
11
+ - url: https://api.apifreaks.com/v1.0
12
+ description: PDF Split API Server
13
+ paths:
14
+ /pdf/split:
15
+ post:
16
+ tags:
17
+ - PDF Operations APIs
18
+ summary: Split a PDF into smaller files
19
+ description: This API splits a PDF into multiple parts based on specified page numbers or ranges.
20
+ parameters:
21
+ - name: format
22
+ in: query
23
+ required: false
24
+ schema:
25
+ type: string
26
+ enum:
27
+ - json
28
+ - xml
29
+ default: json
30
+ description: Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure.
31
+ - name: file_id
32
+ in: query
33
+ required: false
34
+ schema:
35
+ type: string
36
+ 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.
37
+ - name: destroy
38
+ in: query
39
+ required: false
40
+ schema:
41
+ type: boolean
42
+ description: If set to `true`, the input file(s) will be permanently deleted from the server immediately after the output PDF is generated.
43
+ - name: output
44
+ in: query
45
+ required: false
46
+ schema:
47
+ type: string
48
+ description: The desired base name for the output PDF files after splitting. If not provided, a default naming convention will be used.
49
+ - name: pages
50
+ in: query
51
+ required: false
52
+ schema:
53
+ type: array
54
+ items:
55
+ type: string
56
+ default: ''
57
+ default: []
58
+ description: |-
59
+ Defines the page numbers or ranges where the PDF should be split. Provide individual pages and/or ranges in any order (for example: "1-4,9-5,16-last"). Separate entries with commas and use hyphens for ranges.
60
+
61
+ Special keywords (use alone):
62
+
63
+ • `even` — split at every even-numbered page
64
+
65
+ • `odd` — split at every odd-numbered page
66
+
67
+ • `all` — split the PDF into single-page files
68
+
69
+ The keyword `last` can be used anywhere in the string, in combination with page numbers or ranges (for example: "5-last", "last-2", "1,last,9").
70
+
71
+ Examples:
72
+ - "1,4-2,last"
73
+ - "odd"
74
+ - "all"
75
+ - "last,2-5"
76
+
77
+ Invalid example: "1,odd" (mixing a keyword other than "last" with specific pages/ranges is not allowed). You can pass multiple pages entries to produce multiple output files.
78
+ - name: webhook_url
79
+ in: query
80
+ required: false
81
+ schema:
82
+ type: string
83
+ description: The URL to which the webhook notification will be sent after the task is completed.
84
+ - name: webhook_failure_notification
85
+ in: query
86
+ required: false
87
+ schema:
88
+ type: boolean
89
+ 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’s admin if part of one.
90
+ - name: X-Webhook-Authorization
91
+ in: header
92
+ required: false
93
+ schema:
94
+ type: string
95
+ 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.'
96
+ requestBody:
97
+ description: Multipart form-data body carrying the PDF file to split. Alternatively, reference an already-uploaded file via the file_id query parameter instead of uploading here.
98
+ required: false
99
+ content:
100
+ multipart/form-data:
101
+ schema:
102
+ $ref: '#/components/schemas/PdfFileUploadRequest'
103
+ responses:
104
+ '200':
105
+ description: Split task created successfully. Malformed or out-of-range page specifications are not rejected synchronously — the task is created, then fails asynchronously; poll the task status endpoint and check for status "failed" with an error/message pair.
106
+ content:
107
+ application/json:
108
+ schema:
109
+ $ref: '#/components/schemas/PDFResponse'
110
+ examples:
111
+ success:
112
+ summary: Task created
113
+ value:
114
+ taskId: a533a95c-b3fb-49f0-abb1-bef2f3e805ef
115
+ inputIds:
116
+ - 62f910b6-69ce-4cbc-8285-eee5f16467be
117
+ '400':
118
+ description: Bad Request — Invalid file ID
119
+ content:
120
+ application/json:
121
+ examples:
122
+ InvalidID:
123
+ summary: file_id is malformed or does not exist
124
+ value:
125
+ error: Invalid File ID Provided
126
+ message: Please provide a valid file ID
127
+ path: /v1.0/pdf/split
128
+ status: 400
129
+ timestamp: '2026-07-27T10:54:00.793Z'
130
+ schema:
131
+ $ref: '#/components/schemas/ErrorResponse'
132
+ '415':
133
+ description: Unsupported Media Type — File type not supported
134
+ content:
135
+ application/json:
136
+ examples:
137
+ UnsupportedFileType:
138
+ summary: Uploaded file is not a supported type
139
+ value:
140
+ timestamp: '2026-07-27T10:54:01.347Z'
141
+ path: /v1.0/pdf/split-pdf
142
+ status: 415
143
+ error: Unsupported File Type
144
+ message: The provided file type is not supported. Refer to the documentation for valid file types.
145
+ schema:
146
+ $ref: '#/components/schemas/ErrorResponse'
147
+ operationId: splitPdf
148
+ components:
149
+ securitySchemes:
150
+ ApiKeyAuthHeader:
151
+ type: apiKey
152
+ in: header
153
+ name: X-apiKey
154
+ description: Pass your API key via the X-apiKey request header.
155
+ ApiKeyAuthQuery:
156
+ type: apiKey
157
+ in: query
158
+ name: apiKey
159
+ description: Pass your API key via the apiKey query parameter.
160
+ schemas:
161
+ PDFResponse:
162
+ type: object
163
+ description: Response containing the task ID and input file IDs for a PDF processing task.
164
+ required:
165
+ - taskId
166
+ properties:
167
+ taskId:
168
+ type: string
169
+ description: Task ID of the requested task, used to check the task status.
170
+ inputIds:
171
+ type: array
172
+ items:
173
+ type: string
174
+ description: File IDs for the input files provided for the task. Not returned when destroy parameter is true.
175
+ PdfFileUploadRequest:
176
+ type: object
177
+ description: Multipart form-data request body containing the PDF file to process.
178
+ required: []
179
+ properties:
180
+ file:
181
+ type: string
182
+ format: binary
183
+ 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.
184
+ ErrorResponse:
185
+ type: object
186
+ description: Standard error envelope returned by the API on failed requests.
187
+ required:
188
+ - message
189
+ properties:
190
+ error:
191
+ type: string
192
+ description: Short error category or exception type.
193
+ message:
194
+ type: string
195
+ description: Human-readable error message describing the failure.
196
+ path:
197
+ type: string
198
+ description: API endpoint path that produced the error.
199
+ status:
200
+ type: integer
201
+ description: HTTP status code returned with the error.
202
+ timestamp:
203
+ type: string
204
+ format: date-time
205
+ description: Timestamp when the error occurred (ISO 8601).
206
+ security:
207
+ - ApiKeyAuthHeader: []
208
+ - ApiKeyAuthQuery: []
@@ -0,0 +1,187 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: PDF Task Status API Reference
4
+ version: 1.0.0
5
+ description: 'Check the status of a previously initiated PDF processing task using its unique task ID. Returns task status, creation and expiry timestamps, output file URLs and IDs, and input file IDs. Supports status values: queued, processing, completed, failed.'
6
+ contact:
7
+ name: APIFreaks Support
8
+ url: https://apifreaks.com/contact
9
+ email: support@apifreaks.com
10
+ servers:
11
+ - url: https://api.apifreaks.com/v1.0
12
+ description: PDF Task Status API Server
13
+ paths:
14
+ /pdf/task-status:
15
+ get:
16
+ tags:
17
+ - Task Status and File Info APIs
18
+ summary: Check PDF task status
19
+ description: This API checks the status of a previously initiated PDF processing task using its unique task ID.
20
+ parameters:
21
+ - name: format
22
+ in: query
23
+ required: false
24
+ schema:
25
+ type: string
26
+ enum:
27
+ - json
28
+ - xml
29
+ default: json
30
+ description: Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure.
31
+ - name: task_id
32
+ in: query
33
+ description: The unique ID of the PDF processing task for which the status is requested.
34
+ required: true
35
+ schema:
36
+ type: string
37
+ responses:
38
+ '200':
39
+ description: Task status retrieved successfully
40
+ content:
41
+ application/json:
42
+ schema:
43
+ $ref: '#/components/schemas/TaskStatusResponse'
44
+ examples:
45
+ success:
46
+ summary: Task completed
47
+ value:
48
+ taskId: 74004a68-ec05-4681-8d10-698304206065
49
+ status: completed
50
+ createdAt: '2026-07-27 10:48:51'
51
+ outputUrls:
52
+ - https://api.apifreaks.com/v1.0/pdf/resource/download?resource_id=21e3bb30-f98e-47ca-9d52-b221857d1f48
53
+ outputIds:
54
+ - 21e3bb30-f98e-47ca-9d52-b221857d1f48
55
+ inputIds:
56
+ - 0deab2f6-927c-451e-81e2-e8565206690e
57
+ - 5b6a4836-8c4c-4379-8b3c-0867be35db71
58
+ expiresAt: '2026-08-03 10:48:51'
59
+ failed:
60
+ summary: Task failed (e.g. invalid page range/format caught during processing)
61
+ value:
62
+ taskId: 9d8d803b-e23a-4431-901b-98b1f337355c
63
+ status: failed
64
+ createdAt: '2026-07-27 10:52:12'
65
+ inputIds:
66
+ - 63ea4110-b007-475b-9211-2fa7138b8ba1
67
+ error: Invalid Page Range
68
+ message: One or more specified page numbers exceed the total number of pages in the PDF document.
69
+ expiresAt: '2026-08-03 10:52:12'
70
+ '400':
71
+ description: Bad Request — Missing required task_id parameter
72
+ content:
73
+ application/json:
74
+ examples:
75
+ missingTaskId:
76
+ summary: Missing task_id parameter
77
+ value:
78
+ error: Invalid Param Exception
79
+ message: please pass correct parameters
80
+ path: /v1.0/pdf/task-status
81
+ status: 400
82
+ timestamp: '2026-07-27T10:49:06.412Z'
83
+ schema:
84
+ $ref: '#/components/schemas/ErrorResponse'
85
+ '404':
86
+ description: Task ID Not Found
87
+ content:
88
+ application/json:
89
+ examples:
90
+ error:
91
+ summary: Task ID not found
92
+ value:
93
+ timestamp: '2026-07-27T10:49:05.829Z'
94
+ path: /v1.0/pdf/task-status
95
+ status: 404
96
+ error: Task ID Not Found
97
+ message: Please provide a valid task ID.
98
+ schema:
99
+ $ref: '#/components/schemas/ErrorResponse'
100
+ operationId: getTaskStatus
101
+ components:
102
+ securitySchemes:
103
+ ApiKeyAuthHeader:
104
+ type: apiKey
105
+ in: header
106
+ name: X-apiKey
107
+ description: Pass your API key via the X-apiKey request header.
108
+ ApiKeyAuthQuery:
109
+ type: apiKey
110
+ in: query
111
+ name: apiKey
112
+ description: Pass your API key via the apiKey query parameter.
113
+ schemas:
114
+ TaskStatusResponse:
115
+ type: object
116
+ required:
117
+ - taskId
118
+ - status
119
+ - createdAt
120
+ - inputIds
121
+ - expiresAt
122
+ properties:
123
+ taskId:
124
+ type: string
125
+ description: The unique identifier of the PDF processing task.
126
+ status:
127
+ type: string
128
+ description: The current status of the task (e.g., 'queued', 'processing', 'completed', 'failed').
129
+ createdAt:
130
+ type: string
131
+ description: The timestamp when the task status was created, formatted as 'yyyy-MM-dd HH:mm:ss'.
132
+ zipFileId:
133
+ type: string
134
+ description: The unique identifier for the ZIP file. This is present only when the task status is 'COMPLETED'.
135
+ outputUrls:
136
+ type: array
137
+ items:
138
+ type: string
139
+ description: A list of URLs for each individual output file. This is present only when the task is 'COMPLETED'.
140
+ outputIds:
141
+ type: array
142
+ items:
143
+ type: string
144
+ description: A list of unique IDs for the output files. This is present only when the task is 'COMPLETED'.
145
+ inputIds:
146
+ type: array
147
+ items:
148
+ type: string
149
+ description: A list of unique IDs for the input files submitted with the task. If the task was initiated with the `destroy` parameter set to `true`, `inputIds` will not be generated.
150
+ error:
151
+ type: string
152
+ description: The error code for the PDF Task. This is included only if the task fails.
153
+ message:
154
+ type: string
155
+ description: A descriptive message indicating the reason for task failure. This is included only if the task fails.
156
+ expiresAt:
157
+ type: string
158
+ description: The timestamp when the task status will expire and be removed from the system, formatted as 'yyyy-MM-dd HH:mm:ss'.
159
+ zipFileUrl:
160
+ type: string
161
+ description: The URL to download all output files as a single ZIP archive. Present only when the task status is completed.
162
+ description: Task status response containing the current state of a PDF processing task.
163
+ ErrorResponse:
164
+ type: object
165
+ description: Standard error envelope returned by the API on failed requests.
166
+ required:
167
+ - message
168
+ properties:
169
+ error:
170
+ type: string
171
+ description: Short error category or exception type.
172
+ message:
173
+ type: string
174
+ description: Human-readable error message describing the failure.
175
+ path:
176
+ type: string
177
+ description: API endpoint path that produced the error.
178
+ status:
179
+ type: integer
180
+ description: HTTP status code returned with the error.
181
+ timestamp:
182
+ type: string
183
+ format: date-time
184
+ description: Timestamp when the error occurred (ISO 8601).
185
+ security:
186
+ - ApiKeyAuthHeader: []
187
+ - ApiKeyAuthQuery: []