@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,152 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: PDF Binary Resource Upload API Reference
4
+ version: 1.0.0
5
+ description: Upload a PDF file as raw binary data in the request body. Returns file metadata including the file ID, file name, size, and type. This endpoint accepts the raw file bytes directly instead of multipart form-data.
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 Binary Resource Upload API Server
13
+ paths:
14
+ /pdf/resource/upload-binary:
15
+ post:
16
+ tags:
17
+ - PDF Upload and Download APIs
18
+ summary: Upload a PDF in binary format
19
+ description: This API uploads PDF files to the API Freaks server in binary format.
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_name
32
+ in: query
33
+ required: true
34
+ schema:
35
+ type: string
36
+ description: |-
37
+ The desired name for the uploaded PDF file. This name will be used for storage on the server.
38
+
39
+
40
+ **NOTE**: Please ensure file_name has extension `.pdf`.
41
+ requestBody:
42
+ description: Raw PDF file bytes sent directly as the request body (not multipart).
43
+ required: true
44
+ content:
45
+ application/octet-stream:
46
+ schema:
47
+ type: string
48
+ format: binary
49
+ description: The PDF file to be uploaded to the API Freaks server in binary format.
50
+ responses:
51
+ '200':
52
+ description: PDF upload successfully
53
+ content:
54
+ application/json:
55
+ schema:
56
+ $ref: '#/components/schemas/BinaryResourceUploadResponse'
57
+ examples:
58
+ success:
59
+ summary: File uploaded
60
+ value:
61
+ fileName: binarytest.pdf
62
+ fileId: b0fbf78c-8fe2-49b6-ad3d-63efb4ac8e58
63
+ '400':
64
+ description: Bad Request — Missing file_name or empty body
65
+ content:
66
+ application/json:
67
+ examples:
68
+ missingFileName:
69
+ summary: Missing file_name query parameter
70
+ value:
71
+ error: Invalid Param Exception
72
+ message: please pass correct parameters
73
+ path: /v1.0/pdf/resource/upload-binary
74
+ status: 400
75
+ timestamp: '2026-07-27T10:48:14.902Z'
76
+ emptyBody:
77
+ summary: Empty request body
78
+ value:
79
+ timestamp: '2026-07-27T10:48:16.046Z'
80
+ path: /v1.0/pdf/upload-binary
81
+ status: 400
82
+ error: Invalid Parameter
83
+ message: Invalid parameter value provided for 'dataBufferFlux'.
84
+ schema:
85
+ $ref: '#/components/schemas/ErrorResponse'
86
+ '415':
87
+ description: Unsupported Media Type — File extension not supported
88
+ content:
89
+ application/json:
90
+ examples:
91
+ UnsupportedFileType:
92
+ summary: Unsupported file type
93
+ value:
94
+ timestamp: '2026-07-27T10:48:15.449Z'
95
+ path: /v1.0/pdf/upload-binary
96
+ status: 415
97
+ error: Unsupported File Type
98
+ message: The provided file type is not supported. Refer to the documentation for valid file types.
99
+ schema:
100
+ $ref: '#/components/schemas/ErrorResponse'
101
+ operationId: uploadResourceBinary
102
+ components:
103
+ securitySchemes:
104
+ ApiKeyAuthHeader:
105
+ type: apiKey
106
+ in: header
107
+ name: X-apiKey
108
+ description: Pass your API key via the X-apiKey request header.
109
+ ApiKeyAuthQuery:
110
+ type: apiKey
111
+ in: query
112
+ name: apiKey
113
+ description: Pass your API key via the apiKey query parameter.
114
+ schemas:
115
+ BinaryResourceUploadResponse:
116
+ type: object
117
+ required:
118
+ - fileName
119
+ - fileId
120
+ properties:
121
+ fileName:
122
+ type: string
123
+ description: The name of the uploaded file.
124
+ fileId:
125
+ type: string
126
+ description: The unique identifier assigned to the uploaded file.
127
+ description: Binary resource upload response containing file metadata.
128
+ ErrorResponse:
129
+ type: object
130
+ description: Standard error envelope returned by the API on failed requests.
131
+ required:
132
+ - message
133
+ properties:
134
+ error:
135
+ type: string
136
+ description: Short error category or exception type.
137
+ message:
138
+ type: string
139
+ description: Human-readable error message describing the failure.
140
+ path:
141
+ type: string
142
+ description: API endpoint path that produced the error.
143
+ status:
144
+ type: integer
145
+ description: HTTP status code returned with the error.
146
+ timestamp:
147
+ type: string
148
+ format: date-time
149
+ description: Timestamp when the error occurred (ISO 8601).
150
+ security:
151
+ - ApiKeyAuthHeader: []
152
+ - ApiKeyAuthQuery: []
@@ -0,0 +1,163 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: PDF Resource Upload API Reference
4
+ version: 1.0.0
5
+ description: Upload one or more PDF files to the server using multipart form-data. Returns an array of file metadata objects, one per uploaded file, each containing a `fileName` and a `fileId` for use in subsequent PDF processing operations (merge, split, compress, status checks, download, delete). Repeat the `file` form field to upload multiple files in a single request. Unsupported file types return a `415` error instead of a partial upload.
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 Resource Upload API Server
13
+ paths:
14
+ /pdf/resource/upload:
15
+ post:
16
+ tags:
17
+ - PDF Upload and Download APIs
18
+ summary: Upload multiple PDFs and get file IDs
19
+ description: This API uploads multiple PDF files to the API Freaks server and generates their unique file IDs.
20
+ operationId: uploadResource
21
+ parameters:
22
+ - name: format
23
+ in: query
24
+ required: false
25
+ schema:
26
+ type: string
27
+ enum:
28
+ - json
29
+ - xml
30
+ default: json
31
+ description: Specifies the desired format for the API response. Choose 'json' for a JSON object or 'xml' for an XML structure.
32
+ requestBody:
33
+ description: Multipart form-data body carrying the PDF file(s) to upload. Repeat the file field to upload multiple files in one request.
34
+ required: true
35
+ content:
36
+ multipart/form-data:
37
+ schema:
38
+ $ref: '#/components/schemas/ResourceUploadRequest'
39
+ examples:
40
+ typicalUpload:
41
+ summary: Upload a single PDF file
42
+ value:
43
+ file: <binary PDF file content>
44
+ responses:
45
+ '200':
46
+ description: PDF upload successful
47
+ content:
48
+ application/json:
49
+ schema:
50
+ $ref: '#/components/schemas/ResourceUploadResponse'
51
+ examples:
52
+ typicalSuccess:
53
+ summary: Single file uploaded
54
+ value:
55
+ files:
56
+ - fileName: test.pdf
57
+ fileId: b61a80d1-9b2d-4748-b3d1-04d747dedc8c
58
+ multipleFiles:
59
+ summary: Multiple files uploaded in one request
60
+ value:
61
+ files:
62
+ - fileName: test.pdf
63
+ fileId: 9922d104-25a0-432c-8c26-2be2ba14798a
64
+ - fileName: test.pdf
65
+ fileId: 8a6b3332-6fe0-42b0-a808-df7a36926a79
66
+ '400':
67
+ description: Bad Request — Missing or invalid parameters
68
+ content:
69
+ application/json:
70
+ schema:
71
+ $ref: '#/components/schemas/ErrorResponse'
72
+ examples:
73
+ missingFile:
74
+ summary: No file provided in the request body
75
+ value:
76
+ timestamp: '2026-07-27T10:42:36.770Z'
77
+ path: /v1.0/pdf/upload
78
+ status: 400
79
+ error: Missing or Invalid Parameters
80
+ message: One or more required parameters are missing or incorrect.
81
+ '415':
82
+ description: Unsupported Media Type — File type not supported
83
+ content:
84
+ application/json:
85
+ schema:
86
+ $ref: '#/components/schemas/ErrorResponse'
87
+ examples:
88
+ unsupportedFileType:
89
+ summary: Unsupported file type
90
+ value:
91
+ timestamp: '2026-07-27T10:47:37.481Z'
92
+ path: /v1.0/pdf/upload
93
+ status: 415
94
+ error: Unsupported File Type
95
+ message: The provided file type is not supported. Refer to the documentation for valid file types.
96
+ components:
97
+ securitySchemes:
98
+ ApiKeyAuthHeader:
99
+ type: apiKey
100
+ in: header
101
+ name: X-apiKey
102
+ description: Pass your API key via the X-apiKey request header.
103
+ ApiKeyAuthQuery:
104
+ type: apiKey
105
+ in: query
106
+ name: apiKey
107
+ description: Pass your API key via the apiKey query parameter.
108
+ schemas:
109
+ ResourceUploadResponse:
110
+ type: object
111
+ required:
112
+ - files
113
+ properties:
114
+ files:
115
+ type: array
116
+ items:
117
+ type: object
118
+ required:
119
+ - fileName
120
+ - fileId
121
+ properties:
122
+ fileName:
123
+ type: string
124
+ description: Name of the uploaded file.
125
+ fileId:
126
+ type: string
127
+ description: Unique ID of the uploaded file, used to reference it in processing operations.
128
+ description: Array of uploaded file metadata objects.
129
+ description: Resource upload response containing file metadata.
130
+ ResourceUploadRequest:
131
+ type: object
132
+ description: Multipart form-data request body containing the file to upload.
133
+ required: []
134
+ properties:
135
+ file:
136
+ type: string
137
+ format: binary
138
+ description: Raw PDF file bytes sent as a multipart/form-data field named 'file'. Repeat this field to upload multiple files in one request.
139
+ ErrorResponse:
140
+ type: object
141
+ description: Standard error envelope returned by the API on failed requests.
142
+ required:
143
+ - message
144
+ properties:
145
+ error:
146
+ type: string
147
+ description: Short error category or exception type.
148
+ message:
149
+ type: string
150
+ description: Human-readable error message describing the failure.
151
+ path:
152
+ type: string
153
+ description: API endpoint path that produced the error.
154
+ status:
155
+ type: integer
156
+ description: HTTP status code returned with the error.
157
+ timestamp:
158
+ type: string
159
+ format: date-time
160
+ description: Timestamp when the error occurred (ISO 8601).
161
+ security:
162
+ - ApiKeyAuthHeader: []
163
+ - ApiKeyAuthQuery: []
@@ -0,0 +1,246 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: PDF Restrict API Reference
4
+ version: 1.0.0
5
+ description: Restrict a PDF file with permission controls. Set printing, copying, and editing restrictions with an owner password.
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 Restrict API Server
13
+ paths:
14
+ /pdf/restrict:
15
+ post:
16
+ tags:
17
+ - PDF Security APIs
18
+ summary: Apply permission restrictions on a PDF file
19
+ description: This API applies permission restrictions on a PDF file, such as disabling printing, copying, or editing. This can include password protection to enforce restrictions.
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 name for the output restricted PDF file. If not provided, a default name will be assigned.
49
+ - name: file_password
50
+ in: query
51
+ required: false
52
+ schema:
53
+ type: string
54
+ description: The password to unlock the input file if it is already secured. Provide the owner password if available; otherwise, the user password. The owner password takes precedence. Password Length should be between 6 and 128 characters.
55
+ - name: user_password
56
+ in: query
57
+ required: true
58
+ schema:
59
+ type: string
60
+ description: Sets the password users will use to open the PDF. If this is not set, only the owner password will be configured, and anyone can open the PDF file with the provided restrictions enabled. Password Length should be between 6 and 128 characters.
61
+ - name: owner_password
62
+ in: query
63
+ required: false
64
+ schema:
65
+ type: string
66
+ description: Sets the password that allows full access to the PDF (e.g., removing restrictions). If not provided, the `user_password` (if set) will also be used as the owner password. Password Length should be between 6 and 128 characters.
67
+ - name: restrictions
68
+ in: query
69
+ required: true
70
+ schema:
71
+ type: string
72
+ description: |-
73
+ A comma-separated list of restrictions to apply to the PDF. These define what the end-user is *not* allowed to do with the PDF. Available options are:
74
+
75
+
76
+ * **print_high** – Disables high-quality printing.
77
+ * **print_low** – Disables low-resolution printing.
78
+ * **edit_document_assembly** – Prevents reordering or inserting pages.
79
+ * **fill_form_fields** – Disallows filling in PDF form fields.
80
+ * **edit_annotations** – Disables adding or modifying annotations or comments.
81
+ * **modify_content** – Prevents modifying existing content in the PDF.
82
+ * **copy_and_extract_content** – Disables copying text or images from the PDF.
83
+ * **use_accessibility** – Prevents screen readers or accessibility tools from accessing content. An invalid restriction keyword returns a 400 with error "Invalid PDF Restriction".
84
+ - name: webhook_url
85
+ in: query
86
+ required: false
87
+ schema:
88
+ type: string
89
+ description: The URL to which the webhook notification will be sent after the task is completed.
90
+ - name: webhook_failure_notification
91
+ in: query
92
+ required: false
93
+ schema:
94
+ type: boolean
95
+ 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.
96
+ - name: X-Webhook-Authorization
97
+ in: header
98
+ required: false
99
+ schema:
100
+ type: string
101
+ 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.'
102
+ requestBody:
103
+ description: Multipart form-data body carrying the PDF file to restrict. Alternatively, reference an already-uploaded file via the file_id query parameter instead of uploading here.
104
+ required: false
105
+ content:
106
+ multipart/form-data:
107
+ schema:
108
+ $ref: '#/components/schemas/PdfFileUploadRequest'
109
+ responses:
110
+ '200':
111
+ description: PDF restrict successfully
112
+ content:
113
+ application/json:
114
+ schema:
115
+ $ref: '#/components/schemas/PDFResponse'
116
+ examples:
117
+ success:
118
+ summary: Task created
119
+ value:
120
+ taskId: 42839406-7e1b-4f64-96bb-d94bb054e8d3
121
+ inputIds:
122
+ - 2c682ade-eccc-4ab5-9c06-d16e415cbecb
123
+ '400':
124
+ description: Bad Request — Missing/invalid parameters, file ID, or password
125
+ content:
126
+ application/json:
127
+ examples:
128
+ MissingParams:
129
+ summary: Missing required user_password or restrictions parameter
130
+ value:
131
+ error: Invalid Param Exception
132
+ message: please pass correct parameters
133
+ path: /v1.0/pdf/restrict
134
+ status: 400
135
+ timestamp: '2026-07-27T10:57:14.449Z'
136
+ MissingFileOrID:
137
+ summary: Neither a file nor a file ID was provided
138
+ value:
139
+ timestamp: '2026-07-27T10:57:25.953Z'
140
+ path: /v1.0/pdf/restrict-pdf
141
+ status: 400
142
+ error: Missing File or ID
143
+ message: Please provide either a file or a file ID.
144
+ InvalidID:
145
+ summary: file_id is malformed or does not exist
146
+ value:
147
+ timestamp: '2026-07-27T10:57:24.835Z'
148
+ path: /v1.0/pdf/restrict
149
+ status: 400
150
+ error: Invalid File ID Provided
151
+ message: Please provide a valid file ID
152
+ WeakPassword:
153
+ summary: Password does not meet strength requirements
154
+ value:
155
+ timestamp: '2026-07-27T10:57:15.634Z'
156
+ path: /v1.0/pdf/restrict-pdf
157
+ status: 400
158
+ error: Weak Password Provided
159
+ message: Please provide a strong password. Refer to the documentation for password requirements.
160
+ InvalidRestriction:
161
+ summary: Unrecognized restriction keyword
162
+ value:
163
+ timestamp: '2026-07-27T10:57:16.268Z'
164
+ path: /v1.0/pdf/restrict-pdf
165
+ status: 400
166
+ error: Invalid PDF Restriction
167
+ message: Please provide valid PDF restrictions. Refer to the documentation for valid PDF restrictions.
168
+ schema:
169
+ $ref: '#/components/schemas/ErrorResponse'
170
+ '415':
171
+ description: Unsupported Media Type — File type not supported
172
+ content:
173
+ application/json:
174
+ schema:
175
+ $ref: '#/components/schemas/ErrorResponse'
176
+ examples:
177
+ UnsupportedFileType:
178
+ summary: Uploaded file is not a supported type
179
+ value:
180
+ timestamp: '2026-07-27T10:57:25.374Z'
181
+ path: /v1.0/pdf/restrict-pdf
182
+ status: 415
183
+ error: Unsupported File Type
184
+ message: The provided file type is not supported. Refer to the documentation for valid file types.
185
+ operationId: restrictPdf
186
+ components:
187
+ securitySchemes:
188
+ ApiKeyAuthHeader:
189
+ type: apiKey
190
+ in: header
191
+ name: X-apiKey
192
+ description: Pass your API key via the X-apiKey request header.
193
+ ApiKeyAuthQuery:
194
+ type: apiKey
195
+ in: query
196
+ name: apiKey
197
+ description: Pass your API key via the apiKey query parameter.
198
+ schemas:
199
+ PDFResponse:
200
+ type: object
201
+ description: Response containing the task ID and input file IDs for a PDF processing task.
202
+ required:
203
+ - taskId
204
+ properties:
205
+ taskId:
206
+ type: string
207
+ description: Task ID of the requested task, used to check the task status.
208
+ inputIds:
209
+ type: array
210
+ items:
211
+ type: string
212
+ description: File IDs for the input files provided for the task. Not returned when destroy parameter is true.
213
+ PdfFileUploadRequest:
214
+ type: object
215
+ description: Multipart form-data request body containing the PDF file to process.
216
+ required: []
217
+ properties:
218
+ file:
219
+ type: string
220
+ format: binary
221
+ 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.
222
+ ErrorResponse:
223
+ type: object
224
+ description: Standard error envelope returned by the API on failed requests.
225
+ required:
226
+ - message
227
+ properties:
228
+ error:
229
+ type: string
230
+ description: Short error category or exception type.
231
+ message:
232
+ type: string
233
+ description: Human-readable error message describing the failure.
234
+ path:
235
+ type: string
236
+ description: API endpoint path that produced the error.
237
+ status:
238
+ type: integer
239
+ description: HTTP status code returned with the error.
240
+ timestamp:
241
+ type: string
242
+ format: date-time
243
+ description: Timestamp when the error occurred (ISO 8601).
244
+ security:
245
+ - ApiKeyAuthHeader: []
246
+ - ApiKeyAuthQuery: []