@apifreaks/openapi-specs 0.1.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -37
- package/dist/index.cjs +4288 -1107
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +4288 -1107
- package/dist/specs/commodity/commodity-fluctuation.yaml +14 -0
- package/dist/specs/commodity/commodity-prices.yaml +14 -0
- package/dist/specs/commodity/commodity-symbols.yaml +8 -0
- package/dist/specs/commodity/commodity-time-series.yaml +14 -0
- package/dist/specs/commodity/historical-commodity-prices.yaml +14 -0
- package/dist/specs/currency/currency-converter.yaml +14 -0
- package/dist/specs/currency/currency-fluctuation.yaml +14 -0
- package/dist/specs/currency/currency-historical-data-limit.yaml +11 -0
- package/dist/specs/currency/currency-rate.yaml +14 -0
- package/dist/specs/currency/currency-supported.yaml +11 -0
- package/dist/specs/currency/currency-symbols.yaml +11 -0
- package/dist/specs/currency/currency-time-series.yaml +14 -0
- package/dist/specs/currency/geolocalized-currency-conversion.yaml +14 -0
- package/dist/specs/currency/historical-currency-converter.yaml +14 -0
- package/dist/specs/currency/historical-currency-rate.yaml +14 -0
- package/dist/specs/dns/bulk-dns-lookup.yaml +14 -0
- package/dist/specs/dns/dns-history-lookup.yaml +14 -0
- package/dist/specs/dns/dns-lookup.yaml +11 -0
- package/dist/specs/dns/reverse-dns-lookup.yaml +34 -0
- package/dist/specs/domain/bulk-domain-checker.yaml +17 -0
- package/dist/specs/domain/domain-search-with-suggestions.yaml +14 -0
- package/dist/specs/domain/domain-search.yaml +14 -0
- package/dist/specs/domain/subdomain-lookup.yaml +14 -0
- package/dist/specs/email-validation/bulk-email-validation.yaml +17 -0
- package/dist/specs/email-validation/email-checker.yaml +41 -0
- package/dist/specs/financial/bulk-vat-rates-country.yaml +14 -0
- package/dist/specs/financial/financial-apis-supported-countries.yaml +8 -0
- package/dist/specs/financial/iban-validation.yaml +11 -0
- package/dist/specs/financial/swift-code-finder.yaml +11 -0
- package/dist/specs/financial/swift-code-lookup.yaml +14 -0
- package/dist/specs/financial/vat-number-validation.yaml +14 -0
- package/dist/specs/financial/vat-rates-by-ip.yaml +14 -0
- package/dist/specs/financial/vat-rates-country.yaml +14 -0
- package/dist/specs/general/usage-credits.yaml +11 -0
- package/dist/specs/geocoding/forward-geocoding.yaml +14 -0
- package/dist/specs/geocoding/reverse-geocoding.yaml +11 -0
- package/dist/specs/geodb/administrative-units-details.yaml +14 -0
- package/dist/specs/geodb/administrative-units-levels.yaml +14 -0
- package/dist/specs/geodb/administrative-units.yaml +14 -0
- package/dist/specs/geodb/cities.yaml +14 -0
- package/dist/specs/geodb/countries-details.yaml +11 -0
- package/dist/specs/geodb/countries.yaml +11 -0
- package/dist/specs/geodb/flags-supported.yaml +8 -0
- package/dist/specs/geodb/flags.yaml +14 -0
- package/dist/specs/geodb/regions.yaml +8 -0
- package/dist/specs/geodb/subregions.yaml +14 -0
- package/dist/specs/ip-intelligence/bulk-ip-lookup.yaml +14 -0
- package/dist/specs/ip-intelligence/bulk-ip-threat-intelligence.yaml +11 -0
- package/dist/specs/ip-intelligence/ip-locator.yaml +17 -0
- package/dist/specs/ip-intelligence/ip-threat-intelligence.yaml +14 -0
- package/dist/specs/other/astronomy-data.yaml +14 -0
- package/dist/specs/pdf/bulk-pdf-generator.yaml +231 -0
- package/dist/specs/pdf/delete-pdf-page.yaml +14 -0
- package/dist/specs/pdf/linearize-pdf.yaml +14 -0
- package/dist/specs/pdf/merge-pdf.yaml +14 -0
- package/dist/specs/pdf/pdf-compress.yaml +14 -0
- package/dist/specs/pdf/pdf-decrypt.yaml +14 -0
- package/dist/specs/pdf/pdf-encrypt.yaml +14 -0
- package/dist/specs/pdf/pdf-extract-pages.yaml +14 -0
- package/dist/specs/pdf/pdf-file-status.yaml +14 -0
- package/dist/specs/pdf/pdf-file.yaml +14 -0
- package/dist/specs/pdf/pdf-files.yaml +8 -0
- package/dist/specs/pdf/pdf-generator.yaml +348 -0
- package/dist/specs/pdf/pdf-resource-download.yaml +14 -0
- package/dist/specs/pdf/pdf-resource-upload-binary.yaml +14 -0
- package/dist/specs/pdf/pdf-resource-upload.yaml +14 -0
- package/dist/specs/pdf/pdf-restrict.yaml +14 -0
- package/dist/specs/pdf/pdf-split-pages.yaml +14 -0
- package/dist/specs/pdf/pdf-task-status.yaml +14 -0
- package/dist/specs/pdf/pdf-to-image.yaml +35 -0
- package/dist/specs/pdf/pdf-unrestrict.yaml +14 -0
- package/dist/specs/pdf/rotate-pdf-pages.yaml +14 -0
- package/dist/specs/phone-validation/bulk-phone-number-validation.yaml +23 -0
- package/dist/specs/phone-validation/phone-number-validation.yaml +20 -0
- package/dist/specs/scraper/web-scraper.yaml +34 -0
- package/dist/specs/screenshot/bulk-screenshot.yaml +34 -0
- package/dist/specs/screenshot/website-screenshot.yaml +34 -0
- package/dist/specs/ssl/ssl-certificate-chain-lookup.yaml +17 -0
- package/dist/specs/ssl/ssl-certificate-lookup.yaml +17 -0
- package/dist/specs/timezone/timezone-converter.yaml +14 -0
- package/dist/specs/timezone/timezone-lookup.yaml +14 -0
- package/dist/specs/user-agent/bulk-user-agent-parser.yaml +11 -0
- package/dist/specs/user-agent/user-agent-parser.yaml +11 -0
- package/dist/specs/weather/air-quality.yaml +14 -0
- package/dist/specs/weather/bulk-live-weather.yaml +11 -0
- package/dist/specs/weather/flood-forecast.yaml +14 -0
- package/dist/specs/weather/historical-weather.yaml +14 -0
- package/dist/specs/weather/live-weather.yaml +14 -0
- package/dist/specs/weather/marine-weather.yaml +14 -0
- package/dist/specs/weather/time-series-weather.yaml +11 -0
- package/dist/specs/weather/weather-forecast.yaml +11 -0
- package/dist/specs/whois/asn-lookup.yaml +14 -0
- package/dist/specs/whois/bulk-whois-lookup.yaml +17 -0
- package/dist/specs/whois/domain-whois-history-lookup.yaml +14 -0
- package/dist/specs/whois/reverse-whois.yaml +34 -0
- package/dist/specs/whois/whois-domain-lookup.yaml +17 -0
- package/dist/specs/whois/whois-ip-lookup.yaml +14 -0
- package/dist/specs/zip-code/bulk-zip-code-lookup.yaml +14 -0
- package/dist/specs/zip-code/zip-code-api.yaml +14 -0
- package/dist/specs/zip-code/zip-code-distance-match.yaml +14 -0
- package/dist/specs/zip-code/zip-code-distance.yaml +14 -0
- package/dist/specs/zip-code/zip-codes-by-city.yaml +14 -0
- package/dist/specs/zip-code/zip-codes-by-region.yaml +14 -0
- package/dist/specs/zip-code/zip-codes-radius-search.yaml +34 -0
- package/package.json +1 -1
- package/specs/commodity/commodity-fluctuation.json +23 -0
- package/specs/commodity/commodity-prices.json +23 -0
- package/specs/commodity/commodity-symbols.json +13 -0
- package/specs/commodity/commodity-time-series.json +27 -13
- package/specs/commodity/historical-commodity-prices.json +23 -0
- package/specs/currency/currency-converter.json +23 -0
- package/specs/currency/currency-fluctuation.json +23 -0
- package/specs/currency/currency-historical-data-limit.json +18 -0
- package/specs/currency/currency-rate.json +23 -0
- package/specs/currency/currency-supported.json +18 -0
- package/specs/currency/currency-symbols.json +18 -0
- package/specs/currency/currency-time-series.json +23 -0
- package/specs/currency/geolocalized-currency-conversion.json +23 -0
- package/specs/currency/historical-currency-converter.json +23 -0
- package/specs/currency/historical-currency-rate.json +23 -0
- package/specs/dns/bulk-dns-lookup.json +23 -0
- package/specs/dns/dns-history-lookup.json +23 -0
- package/specs/dns/dns-lookup.json +18 -0
- package/specs/dns/reverse-dns-lookup.json +61 -1
- package/specs/domain/bulk-domain-checker.json +28 -0
- package/specs/domain/domain-search-with-suggestions.json +23 -0
- package/specs/domain/domain-search.json +23 -0
- package/specs/domain/subdomain-lookup.json +23 -0
- package/specs/email-validation/bulk-email-validation.json +28 -0
- package/specs/email-validation/email-checker.json +64 -0
- package/specs/financial/bulk-vat-rates-country.json +23 -0
- package/specs/financial/financial-apis-supported-countries.json +34 -5
- package/specs/financial/iban-validation.json +18 -0
- package/specs/financial/swift-code-finder.json +31 -2
- package/specs/financial/swift-code-lookup.json +23 -0
- package/specs/financial/vat-number-validation.json +23 -0
- package/specs/financial/vat-rates-by-ip.json +23 -0
- package/specs/financial/vat-rates-country.json +23 -0
- package/specs/general/usage-credits.json +18 -0
- package/specs/geocoding/forward-geocoding.json +23 -0
- package/specs/geocoding/reverse-geocoding.json +18 -0
- package/specs/geodb/administrative-units-details.json +23 -0
- package/specs/geodb/administrative-units-levels.json +23 -0
- package/specs/geodb/administrative-units.json +23 -0
- package/specs/geodb/cities.json +23 -0
- package/specs/geodb/countries-details.json +18 -0
- package/specs/geodb/countries.json +18 -0
- package/specs/geodb/flags-supported.json +13 -0
- package/specs/geodb/flags.json +23 -0
- package/specs/geodb/regions.json +13 -0
- package/specs/geodb/subregions.json +23 -0
- package/specs/ip-intelligence/bulk-ip-lookup.json +23 -0
- package/specs/ip-intelligence/bulk-ip-threat-intelligence.json +18 -0
- package/specs/ip-intelligence/ip-locator.json +33 -5
- package/specs/ip-intelligence/ip-threat-intelligence.json +23 -0
- package/specs/other/astronomy-data.json +24 -2
- package/specs/pdf/bulk-pdf-generator.json +343 -0
- package/specs/pdf/delete-pdf-page.json +33 -21
- package/specs/pdf/linearize-pdf.json +31 -19
- package/specs/pdf/merge-pdf.json +30 -18
- package/specs/pdf/pdf-compress.json +32 -25
- package/specs/pdf/pdf-decrypt.json +32 -21
- package/specs/pdf/pdf-encrypt.json +31 -19
- package/specs/pdf/pdf-extract-pages.json +33 -21
- package/specs/pdf/pdf-file-status.json +23 -0
- package/specs/pdf/pdf-file.json +23 -0
- package/specs/pdf/pdf-files.json +13 -0
- package/specs/pdf/pdf-generator.json +497 -0
- package/specs/pdf/pdf-resource-download.json +23 -0
- package/specs/pdf/pdf-resource-upload-binary.json +29 -16
- package/specs/pdf/pdf-resource-upload.json +30 -19
- package/specs/pdf/pdf-restrict.json +32 -20
- package/specs/pdf/pdf-split-pages.json +33 -21
- package/specs/pdf/pdf-task-status.json +23 -0
- package/specs/pdf/pdf-to-image.json +90 -101
- package/specs/pdf/pdf-unrestrict.json +32 -20
- package/specs/pdf/rotate-pdf-pages.json +32 -20
- package/specs/phone-validation/bulk-phone-number-validation.json +54 -16
- package/specs/phone-validation/phone-number-validation.json +33 -0
- package/specs/scraper/web-scraper.json +53 -0
- package/specs/screenshot/bulk-screenshot.json +53 -0
- package/specs/screenshot/website-screenshot.json +53 -0
- package/specs/ssl/ssl-certificate-chain-lookup.json +28 -0
- package/specs/ssl/ssl-certificate-lookup.json +28 -0
- package/specs/timezone/timezone-converter.json +23 -0
- package/specs/timezone/timezone-lookup.json +25 -2
- package/specs/user-agent/bulk-user-agent-parser.json +20 -2
- package/specs/user-agent/user-agent-parser.json +18 -0
- package/specs/weather/air-quality.json +23 -0
- package/specs/weather/bulk-live-weather.json +18 -0
- package/specs/weather/flood-forecast.json +23 -0
- package/specs/weather/historical-weather.json +23 -0
- package/specs/weather/live-weather.json +23 -0
- package/specs/weather/marine-weather.json +23 -0
- package/specs/weather/time-series-weather.json +18 -0
- package/specs/weather/weather-forecast.json +18 -0
- package/specs/whois/asn-lookup.json +23 -0
- package/specs/whois/bulk-whois-lookup.json +28 -0
- package/specs/whois/domain-whois-history-lookup.json +23 -0
- package/specs/whois/reverse-whois.json +53 -0
- package/specs/whois/whois-domain-lookup.json +28 -0
- package/specs/whois/whois-ip-lookup.json +23 -0
- package/specs/zip-code/bulk-zip-code-lookup.json +23 -0
- package/specs/zip-code/zip-code-api.json +23 -0
- package/specs/zip-code/zip-code-distance-match.json +23 -0
- package/specs/zip-code/zip-code-distance.json +23 -0
- package/specs/zip-code/zip-codes-by-city.json +23 -0
- package/specs/zip-code/zip-codes-by-region.json +24 -7
- package/specs/zip-code/zip-codes-radius-search.json +53 -0
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
openapi: 3.1.1
|
|
2
|
+
info:
|
|
3
|
+
title: PDF Generator API - Create PDFs from Templates
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
description: Generate PDFs from templates you design once in the APIFreaks PDF Template Builder. Send JSON in the request body or provide a data_url, and the API renders your template into a hosted PDF document. Authentication is done with your APIFreaks API key passed in the X-apikey header.
|
|
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 Generator API Server
|
|
13
|
+
paths:
|
|
14
|
+
/pdf/template/generate:
|
|
15
|
+
post:
|
|
16
|
+
tags:
|
|
17
|
+
- PDF Template APIs
|
|
18
|
+
summary: Generate a PDF from a template
|
|
19
|
+
description: Renders the template identified by template_id with the JSON data supplied in the request body (or fetched from data_url). Returns a hosted URL for the generated PDF. Provide either a request body or a data_url; one of the two is required. The keys of the data object are the fields you bound when you designed the template in the APIFreaks PDF Template Builder, so the exact shape is up to you. Pin the version parameter to a specific template version (e.g. version=v2) so later design changes never touch what is already live; omit it to use the latest version.
|
|
20
|
+
parameters:
|
|
21
|
+
- name: template_id
|
|
22
|
+
in: query
|
|
23
|
+
required: true
|
|
24
|
+
schema:
|
|
25
|
+
type: string
|
|
26
|
+
description: The template to render, from the APIFreaks PDF Template Builder. Copy it from your dashboard when you save the template.
|
|
27
|
+
- name: version
|
|
28
|
+
in: query
|
|
29
|
+
required: false
|
|
30
|
+
schema:
|
|
31
|
+
type: string
|
|
32
|
+
pattern: ^v
|
|
33
|
+
description: Template version to render, e.g. v2. Must start with v. Omit this parameter entirely to use the latest version; the literal value 'latest' is not accepted by the API.
|
|
34
|
+
- name: data_url
|
|
35
|
+
in: query
|
|
36
|
+
required: false
|
|
37
|
+
schema:
|
|
38
|
+
type: string
|
|
39
|
+
format: uri
|
|
40
|
+
description: A URL the API fetches your JSON data from, instead of the request body. Provide this when you are not sending a request body.
|
|
41
|
+
requestBody:
|
|
42
|
+
description: The template's data as a JSON object. The keys are the fields you bound when you designed the template, so the exact shape is up to you. Provide the body when you are not passing a data_url; one of the two is required.
|
|
43
|
+
required: false
|
|
44
|
+
content:
|
|
45
|
+
application/json:
|
|
46
|
+
schema:
|
|
47
|
+
type: object
|
|
48
|
+
additionalProperties: true
|
|
49
|
+
description: Free-form JSON object whose keys map to the fields bound in the template.
|
|
50
|
+
examples:
|
|
51
|
+
resumeTemplate:
|
|
52
|
+
summary: Resume template data
|
|
53
|
+
value:
|
|
54
|
+
candidate_name: Ava Thompson
|
|
55
|
+
candidate_title: Senior Operations Analyst
|
|
56
|
+
email: ava.thompson@example.com
|
|
57
|
+
phone: +1 (555) 381-2048
|
|
58
|
+
city: Austin, TX
|
|
59
|
+
portfolio_url: portfolio.example.com
|
|
60
|
+
profile_summary: Analytical operations professional with 8+ years of experience improving reporting pipelines, streamlining process documentation, and coordinating cross-functional delivery for distributed teams across multiple time zones.
|
|
61
|
+
company_name: Northwind Logistics
|
|
62
|
+
job_title: Operations Analyst
|
|
63
|
+
employment_period: 2021 - Present
|
|
64
|
+
job_achievement_1: Led weekly KPI reporting for finance, fulfillment, and customer success stakeholders across three business units.
|
|
65
|
+
job_achievement_2: Reduced manual reconciliation work by 35% through workflow redesign and documentation automation.
|
|
66
|
+
job_achievement_3: Spearheaded a cross-team initiative that improved on-time delivery metrics by 18% within six months.
|
|
67
|
+
skills:
|
|
68
|
+
- skill: Process Improvement
|
|
69
|
+
level: Advanced
|
|
70
|
+
years: '7'
|
|
71
|
+
- skill: Stakeholder Reporting
|
|
72
|
+
level: Expert
|
|
73
|
+
years: '8'
|
|
74
|
+
- skill: Cross-functional Coordination
|
|
75
|
+
level: Advanced
|
|
76
|
+
years: '5'
|
|
77
|
+
- skill: Workflow Documentation
|
|
78
|
+
level: Advanced
|
|
79
|
+
years: '6'
|
|
80
|
+
degree: B.S. in Information Systems
|
|
81
|
+
institution: University of Texas
|
|
82
|
+
graduation_year: '2018'
|
|
83
|
+
certification_1: Certified Business Analysis Professional (CBAP)
|
|
84
|
+
certification_2: Six Sigma Green Belt
|
|
85
|
+
languages: English (Native), Spanish (Professional)
|
|
86
|
+
businessReport:
|
|
87
|
+
summary: Business report template data
|
|
88
|
+
value:
|
|
89
|
+
report_title: Quarterly Business Report
|
|
90
|
+
report_period: Q4 2024
|
|
91
|
+
prepared_by: Marketing Team
|
|
92
|
+
revenue: 125000
|
|
93
|
+
growth_rate: 15
|
|
94
|
+
customer_count: 520
|
|
95
|
+
monthly_comparison:
|
|
96
|
+
- metric: Revenue
|
|
97
|
+
previous: $108,000
|
|
98
|
+
current: $125,000
|
|
99
|
+
change: +15.7%
|
|
100
|
+
- metric: Active Customers
|
|
101
|
+
previous: '480'
|
|
102
|
+
current: '520'
|
|
103
|
+
change: +8.3%
|
|
104
|
+
responses:
|
|
105
|
+
'200':
|
|
106
|
+
description: PDF generated successfully. The response contains the hosted URL of the rendered PDF along with its creation and expiration times.
|
|
107
|
+
content:
|
|
108
|
+
application/json:
|
|
109
|
+
schema:
|
|
110
|
+
$ref: '#/components/schemas/TemplateGenerationResponse'
|
|
111
|
+
examples:
|
|
112
|
+
success:
|
|
113
|
+
summary: Generated PDF
|
|
114
|
+
value:
|
|
115
|
+
template_id: 73691bce-1c58-4370-acc6-64b2dd14f81c
|
|
116
|
+
pdf_url: https://s3.eu-central-2.wasabisys.com/w.storage.apifreaks.com/pdf_templates/73691bce-1c58-4370-acc6-64b2dd14f81c/Candidate%20Resume_20260810141214723405.pdf
|
|
117
|
+
created_at: '2026-08-10T14:12:17.673Z'
|
|
118
|
+
expiration_time: '2026-11-10T14:12:17.673Z'
|
|
119
|
+
headers:
|
|
120
|
+
X-AF-Credits-Cost:
|
|
121
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
122
|
+
'400':
|
|
123
|
+
description: Bad Request — Missing or malformed parameters, missing data, or an unreachable data_url.
|
|
124
|
+
content:
|
|
125
|
+
application/json:
|
|
126
|
+
schema:
|
|
127
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
128
|
+
examples:
|
|
129
|
+
MissingTemplateId:
|
|
130
|
+
summary: template_id is missing
|
|
131
|
+
value:
|
|
132
|
+
error: Invalid Param Exception
|
|
133
|
+
message: please pass correct parameters
|
|
134
|
+
path: /v1.0/pdf/template/generate
|
|
135
|
+
status: 400
|
|
136
|
+
timestamp: '2026-08-10T14:13:13.195Z'
|
|
137
|
+
InvalidVersion:
|
|
138
|
+
summary: version does not start with v
|
|
139
|
+
value:
|
|
140
|
+
timestamp: '2026-08-10T14:13:13.689Z'
|
|
141
|
+
path: /v1.0/generate-pdf
|
|
142
|
+
status: 400
|
|
143
|
+
error: Invalid Template Version
|
|
144
|
+
message: Please provide a valid template version starting with 'v'.
|
|
145
|
+
NoData:
|
|
146
|
+
summary: No data supplied to fill the template
|
|
147
|
+
value:
|
|
148
|
+
timestamp: '2026-08-10T14:13:14.172Z'
|
|
149
|
+
path: /v1.0/generate-pdf
|
|
150
|
+
status: 400
|
|
151
|
+
error: Template Data Not Provided
|
|
152
|
+
message: No data provided for the template. Please provide valid data to generate pdf.
|
|
153
|
+
headers:
|
|
154
|
+
X-AF-Credits-Cost:
|
|
155
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
156
|
+
'401':
|
|
157
|
+
description: Unauthorized — The API key is missing or invalid.
|
|
158
|
+
content:
|
|
159
|
+
application/json:
|
|
160
|
+
schema:
|
|
161
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
162
|
+
examples:
|
|
163
|
+
InvalidApiKey:
|
|
164
|
+
summary: Provided API key is invalid
|
|
165
|
+
value:
|
|
166
|
+
error: API Access Exception
|
|
167
|
+
message: 'Provided API key is invalid. [For Technical Support: support@apifreaks.com]'
|
|
168
|
+
path: /v1.0/pdf/template/generate
|
|
169
|
+
status: 401
|
|
170
|
+
timestamp: '2026-08-10T14:13:14.996Z'
|
|
171
|
+
headers:
|
|
172
|
+
X-AF-Credits-Cost:
|
|
173
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
174
|
+
'403':
|
|
175
|
+
description: Forbidden — The account does not have access to this template.
|
|
176
|
+
content:
|
|
177
|
+
application/json:
|
|
178
|
+
schema:
|
|
179
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
180
|
+
examples:
|
|
181
|
+
AccessDenied:
|
|
182
|
+
summary: No access to the template
|
|
183
|
+
value:
|
|
184
|
+
timestamp: '2026-08-10T14:13:15.000Z'
|
|
185
|
+
path: /v1.0/generate-pdf
|
|
186
|
+
status: 403
|
|
187
|
+
error: Template Access Denied
|
|
188
|
+
message: Your account does not have access to this template.
|
|
189
|
+
headers:
|
|
190
|
+
X-AF-Credits-Cost:
|
|
191
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
192
|
+
'404':
|
|
193
|
+
description: Not Found — No template matches the template_id, or the requested version does not exist.
|
|
194
|
+
content:
|
|
195
|
+
application/json:
|
|
196
|
+
schema:
|
|
197
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
198
|
+
examples:
|
|
199
|
+
TemplateNotFound:
|
|
200
|
+
summary: No template matches the template_id
|
|
201
|
+
value:
|
|
202
|
+
timestamp: '2026-08-10T14:13:14.677Z'
|
|
203
|
+
path: /v1.0/generate-pdf
|
|
204
|
+
status: 404
|
|
205
|
+
error: Template Not Found
|
|
206
|
+
message: Please provide a valid template ID.
|
|
207
|
+
headers:
|
|
208
|
+
X-AF-Credits-Cost:
|
|
209
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
210
|
+
'415':
|
|
211
|
+
description: Unsupported Media Type — The request Content-Type is not supported for this endpoint.
|
|
212
|
+
content:
|
|
213
|
+
application/json:
|
|
214
|
+
schema:
|
|
215
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
216
|
+
examples:
|
|
217
|
+
UnsupportedMediaType:
|
|
218
|
+
summary: Content-Type is not supported
|
|
219
|
+
value:
|
|
220
|
+
timestamp: '2026-08-10T14:13:15.500Z'
|
|
221
|
+
path: /v1.0/generate-pdf
|
|
222
|
+
status: 415
|
|
223
|
+
error: Unsupported Media Type
|
|
224
|
+
message: The request Content-Type is not supported for this endpoint.
|
|
225
|
+
headers:
|
|
226
|
+
X-AF-Credits-Cost:
|
|
227
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
228
|
+
'422':
|
|
229
|
+
description: Unprocessable Entity — The request contains invalid or missing data.
|
|
230
|
+
content:
|
|
231
|
+
application/json:
|
|
232
|
+
schema:
|
|
233
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
234
|
+
examples:
|
|
235
|
+
InvalidData:
|
|
236
|
+
summary: Invalid or missing data
|
|
237
|
+
value:
|
|
238
|
+
timestamp: '2026-08-10T14:13:16.100Z'
|
|
239
|
+
path: /v1.0/generate-pdf
|
|
240
|
+
status: 422
|
|
241
|
+
error: Invalid Template Data
|
|
242
|
+
message: The request contains invalid or missing data.
|
|
243
|
+
headers:
|
|
244
|
+
X-AF-Credits-Cost:
|
|
245
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
246
|
+
'500':
|
|
247
|
+
description: Internal Server Error — An unexpected error occurred, or the PDF could not be generated.
|
|
248
|
+
content:
|
|
249
|
+
application/json:
|
|
250
|
+
schema:
|
|
251
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
252
|
+
examples:
|
|
253
|
+
GenerationFailed:
|
|
254
|
+
summary: PDF could not be generated
|
|
255
|
+
value:
|
|
256
|
+
timestamp: '2026-08-10T14:13:16.700Z'
|
|
257
|
+
path: /v1.0/generate-pdf
|
|
258
|
+
status: 500
|
|
259
|
+
error: PDF Generation Failed
|
|
260
|
+
message: The PDF could not be generated. Try the request again.
|
|
261
|
+
headers:
|
|
262
|
+
X-AF-Credits-Cost:
|
|
263
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
264
|
+
'504':
|
|
265
|
+
description: Gateway Timeout — The request went past the 100 second processing limit.
|
|
266
|
+
content:
|
|
267
|
+
application/json:
|
|
268
|
+
schema:
|
|
269
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
270
|
+
examples:
|
|
271
|
+
ProcessingLimit:
|
|
272
|
+
summary: Request exceeded the 100 second processing limit
|
|
273
|
+
value:
|
|
274
|
+
timestamp: '2026-08-10T14:13:17.300Z'
|
|
275
|
+
path: /v1.0/generate-pdf
|
|
276
|
+
status: 504
|
|
277
|
+
error: Processing Timeout
|
|
278
|
+
message: The request went past the 100 second processing limit. Reduce the input size or retry.
|
|
279
|
+
headers:
|
|
280
|
+
X-AF-Credits-Cost:
|
|
281
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
282
|
+
operationId: generatePdfFromTemplate
|
|
283
|
+
components:
|
|
284
|
+
securitySchemes:
|
|
285
|
+
ApiKeyAuthHeader:
|
|
286
|
+
type: apiKey
|
|
287
|
+
in: header
|
|
288
|
+
name: X-apikey
|
|
289
|
+
description: Pass your API key via the X-apikey request header.
|
|
290
|
+
ApiKeyAuthQuery:
|
|
291
|
+
type: apiKey
|
|
292
|
+
in: query
|
|
293
|
+
name: apiKey
|
|
294
|
+
description: Pass your API key via the apiKey query parameter.
|
|
295
|
+
schemas:
|
|
296
|
+
TemplateGenerationResponse:
|
|
297
|
+
type: object
|
|
298
|
+
description: Result of a PDF generation request, containing the hosted URL of the generated PDF.
|
|
299
|
+
required:
|
|
300
|
+
- template_id
|
|
301
|
+
- pdf_url
|
|
302
|
+
- created_at
|
|
303
|
+
- expiration_time
|
|
304
|
+
properties:
|
|
305
|
+
template_id:
|
|
306
|
+
type: string
|
|
307
|
+
description: The template that was rendered.
|
|
308
|
+
pdf_url:
|
|
309
|
+
type: string
|
|
310
|
+
description: Hosted URL of the generated PDF.
|
|
311
|
+
created_at:
|
|
312
|
+
type: string
|
|
313
|
+
format: date-time
|
|
314
|
+
description: When the PDF was generated (ISO 8601).
|
|
315
|
+
expiration_time:
|
|
316
|
+
type: string
|
|
317
|
+
format: date-time
|
|
318
|
+
description: When the hosted PDF expires (ISO 8601).
|
|
319
|
+
ErrorResponse:
|
|
320
|
+
type: object
|
|
321
|
+
description: Standard error envelope returned by the API on failed requests.
|
|
322
|
+
required:
|
|
323
|
+
- message
|
|
324
|
+
properties:
|
|
325
|
+
error:
|
|
326
|
+
type: string
|
|
327
|
+
description: Short error category or exception type.
|
|
328
|
+
message:
|
|
329
|
+
type: string
|
|
330
|
+
description: Human-readable error message describing the failure.
|
|
331
|
+
path:
|
|
332
|
+
type: string
|
|
333
|
+
description: API endpoint path that produced the error.
|
|
334
|
+
status:
|
|
335
|
+
type: integer
|
|
336
|
+
description: HTTP status code returned with the error.
|
|
337
|
+
timestamp:
|
|
338
|
+
type: string
|
|
339
|
+
format: date-time
|
|
340
|
+
description: Timestamp when the error occurred (ISO 8601).
|
|
341
|
+
headers:
|
|
342
|
+
X-AF-Credits-Cost:
|
|
343
|
+
description: Specifies the number of credits consumed by the current request.
|
|
344
|
+
schema:
|
|
345
|
+
type: integer
|
|
346
|
+
security:
|
|
347
|
+
- ApiKeyAuthHeader: []
|
|
348
|
+
- ApiKeyAuthQuery: []
|
|
@@ -46,6 +46,9 @@ paths:
|
|
|
46
46
|
schema:
|
|
47
47
|
type: string
|
|
48
48
|
format: binary
|
|
49
|
+
headers:
|
|
50
|
+
X-AF-Credits-Cost:
|
|
51
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
49
52
|
'400':
|
|
50
53
|
description: Bad Request — Missing required resource_id parameter
|
|
51
54
|
content:
|
|
@@ -61,6 +64,9 @@ paths:
|
|
|
61
64
|
timestamp: '2026-07-27T10:47:12.356Z'
|
|
62
65
|
schema:
|
|
63
66
|
$ref: '#/components/schemas/ErrorResponse'
|
|
67
|
+
headers:
|
|
68
|
+
X-AF-Credits-Cost:
|
|
69
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
64
70
|
'404':
|
|
65
71
|
description: Resource ID Not Found
|
|
66
72
|
content:
|
|
@@ -76,6 +82,9 @@ paths:
|
|
|
76
82
|
message: Please provide a valid resource ID.
|
|
77
83
|
schema:
|
|
78
84
|
$ref: '#/components/schemas/ErrorResponse'
|
|
85
|
+
headers:
|
|
86
|
+
X-AF-Credits-Cost:
|
|
87
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
79
88
|
operationId: downloadResource
|
|
80
89
|
components:
|
|
81
90
|
securitySchemes:
|
|
@@ -112,6 +121,11 @@ components:
|
|
|
112
121
|
type: string
|
|
113
122
|
format: date-time
|
|
114
123
|
description: Timestamp when the error occurred (ISO 8601).
|
|
124
|
+
headers:
|
|
125
|
+
X-AF-Credits-Cost:
|
|
126
|
+
description: Specifies the number of credits consumed by the current request.
|
|
127
|
+
schema:
|
|
128
|
+
type: integer
|
|
115
129
|
security:
|
|
116
130
|
- ApiKeyAuthHeader: []
|
|
117
131
|
- ApiKeyAuthQuery: []
|
|
@@ -60,6 +60,9 @@ paths:
|
|
|
60
60
|
value:
|
|
61
61
|
fileName: binarytest.pdf
|
|
62
62
|
fileId: b0fbf78c-8fe2-49b6-ad3d-63efb4ac8e58
|
|
63
|
+
headers:
|
|
64
|
+
X-AF-Credits-Cost:
|
|
65
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
63
66
|
'400':
|
|
64
67
|
description: Bad Request — Missing file_name or empty body
|
|
65
68
|
content:
|
|
@@ -83,6 +86,9 @@ paths:
|
|
|
83
86
|
message: Invalid parameter value provided for 'dataBufferFlux'.
|
|
84
87
|
schema:
|
|
85
88
|
$ref: '#/components/schemas/ErrorResponse'
|
|
89
|
+
headers:
|
|
90
|
+
X-AF-Credits-Cost:
|
|
91
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
86
92
|
'415':
|
|
87
93
|
description: Unsupported Media Type — File extension not supported
|
|
88
94
|
content:
|
|
@@ -98,6 +104,9 @@ paths:
|
|
|
98
104
|
message: The provided file type is not supported. Refer to the documentation for valid file types.
|
|
99
105
|
schema:
|
|
100
106
|
$ref: '#/components/schemas/ErrorResponse'
|
|
107
|
+
headers:
|
|
108
|
+
X-AF-Credits-Cost:
|
|
109
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
101
110
|
operationId: uploadResourceBinary
|
|
102
111
|
components:
|
|
103
112
|
securitySchemes:
|
|
@@ -147,6 +156,11 @@ components:
|
|
|
147
156
|
type: string
|
|
148
157
|
format: date-time
|
|
149
158
|
description: Timestamp when the error occurred (ISO 8601).
|
|
159
|
+
headers:
|
|
160
|
+
X-AF-Credits-Cost:
|
|
161
|
+
description: Specifies the number of credits consumed by the current request.
|
|
162
|
+
schema:
|
|
163
|
+
type: integer
|
|
150
164
|
security:
|
|
151
165
|
- ApiKeyAuthHeader: []
|
|
152
166
|
- ApiKeyAuthQuery: []
|
|
@@ -63,6 +63,9 @@ paths:
|
|
|
63
63
|
fileId: 9922d104-25a0-432c-8c26-2be2ba14798a
|
|
64
64
|
- fileName: test.pdf
|
|
65
65
|
fileId: 8a6b3332-6fe0-42b0-a808-df7a36926a79
|
|
66
|
+
headers:
|
|
67
|
+
X-AF-Credits-Cost:
|
|
68
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
66
69
|
'400':
|
|
67
70
|
description: Bad Request — Missing or invalid parameters
|
|
68
71
|
content:
|
|
@@ -78,6 +81,9 @@ paths:
|
|
|
78
81
|
status: 400
|
|
79
82
|
error: Missing or Invalid Parameters
|
|
80
83
|
message: One or more required parameters are missing or incorrect.
|
|
84
|
+
headers:
|
|
85
|
+
X-AF-Credits-Cost:
|
|
86
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
81
87
|
'415':
|
|
82
88
|
description: Unsupported Media Type — File type not supported
|
|
83
89
|
content:
|
|
@@ -93,6 +99,9 @@ paths:
|
|
|
93
99
|
status: 415
|
|
94
100
|
error: Unsupported File Type
|
|
95
101
|
message: The provided file type is not supported. Refer to the documentation for valid file types.
|
|
102
|
+
headers:
|
|
103
|
+
X-AF-Credits-Cost:
|
|
104
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
96
105
|
components:
|
|
97
106
|
securitySchemes:
|
|
98
107
|
ApiKeyAuthHeader:
|
|
@@ -158,6 +167,11 @@ components:
|
|
|
158
167
|
type: string
|
|
159
168
|
format: date-time
|
|
160
169
|
description: Timestamp when the error occurred (ISO 8601).
|
|
170
|
+
headers:
|
|
171
|
+
X-AF-Credits-Cost:
|
|
172
|
+
description: Specifies the number of credits consumed by the current request.
|
|
173
|
+
schema:
|
|
174
|
+
type: integer
|
|
161
175
|
security:
|
|
162
176
|
- ApiKeyAuthHeader: []
|
|
163
177
|
- ApiKeyAuthQuery: []
|
|
@@ -120,6 +120,9 @@ paths:
|
|
|
120
120
|
taskId: 42839406-7e1b-4f64-96bb-d94bb054e8d3
|
|
121
121
|
inputIds:
|
|
122
122
|
- 2c682ade-eccc-4ab5-9c06-d16e415cbecb
|
|
123
|
+
headers:
|
|
124
|
+
X-AF-Credits-Cost:
|
|
125
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
123
126
|
'400':
|
|
124
127
|
description: Bad Request — Missing/invalid parameters, file ID, or password
|
|
125
128
|
content:
|
|
@@ -167,6 +170,9 @@ paths:
|
|
|
167
170
|
message: Please provide valid PDF restrictions. Refer to the documentation for valid PDF restrictions.
|
|
168
171
|
schema:
|
|
169
172
|
$ref: '#/components/schemas/ErrorResponse'
|
|
173
|
+
headers:
|
|
174
|
+
X-AF-Credits-Cost:
|
|
175
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
170
176
|
'415':
|
|
171
177
|
description: Unsupported Media Type — File type not supported
|
|
172
178
|
content:
|
|
@@ -182,6 +188,9 @@ paths:
|
|
|
182
188
|
status: 415
|
|
183
189
|
error: Unsupported File Type
|
|
184
190
|
message: The provided file type is not supported. Refer to the documentation for valid file types.
|
|
191
|
+
headers:
|
|
192
|
+
X-AF-Credits-Cost:
|
|
193
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
185
194
|
operationId: restrictPdf
|
|
186
195
|
components:
|
|
187
196
|
securitySchemes:
|
|
@@ -241,6 +250,11 @@ components:
|
|
|
241
250
|
type: string
|
|
242
251
|
format: date-time
|
|
243
252
|
description: Timestamp when the error occurred (ISO 8601).
|
|
253
|
+
headers:
|
|
254
|
+
X-AF-Credits-Cost:
|
|
255
|
+
description: Specifies the number of credits consumed by the current request.
|
|
256
|
+
schema:
|
|
257
|
+
type: integer
|
|
244
258
|
security:
|
|
245
259
|
- ApiKeyAuthHeader: []
|
|
246
260
|
- ApiKeyAuthQuery: []
|
|
@@ -114,6 +114,9 @@ paths:
|
|
|
114
114
|
taskId: a533a95c-b3fb-49f0-abb1-bef2f3e805ef
|
|
115
115
|
inputIds:
|
|
116
116
|
- 62f910b6-69ce-4cbc-8285-eee5f16467be
|
|
117
|
+
headers:
|
|
118
|
+
X-AF-Credits-Cost:
|
|
119
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
117
120
|
'400':
|
|
118
121
|
description: Bad Request — Invalid file ID
|
|
119
122
|
content:
|
|
@@ -129,6 +132,9 @@ paths:
|
|
|
129
132
|
timestamp: '2026-07-27T10:54:00.793Z'
|
|
130
133
|
schema:
|
|
131
134
|
$ref: '#/components/schemas/ErrorResponse'
|
|
135
|
+
headers:
|
|
136
|
+
X-AF-Credits-Cost:
|
|
137
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
132
138
|
'415':
|
|
133
139
|
description: Unsupported Media Type — File type not supported
|
|
134
140
|
content:
|
|
@@ -144,6 +150,9 @@ paths:
|
|
|
144
150
|
message: The provided file type is not supported. Refer to the documentation for valid file types.
|
|
145
151
|
schema:
|
|
146
152
|
$ref: '#/components/schemas/ErrorResponse'
|
|
153
|
+
headers:
|
|
154
|
+
X-AF-Credits-Cost:
|
|
155
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
147
156
|
operationId: splitPdf
|
|
148
157
|
components:
|
|
149
158
|
securitySchemes:
|
|
@@ -203,6 +212,11 @@ components:
|
|
|
203
212
|
type: string
|
|
204
213
|
format: date-time
|
|
205
214
|
description: Timestamp when the error occurred (ISO 8601).
|
|
215
|
+
headers:
|
|
216
|
+
X-AF-Credits-Cost:
|
|
217
|
+
description: Specifies the number of credits consumed by the current request.
|
|
218
|
+
schema:
|
|
219
|
+
type: integer
|
|
206
220
|
security:
|
|
207
221
|
- ApiKeyAuthHeader: []
|
|
208
222
|
- ApiKeyAuthQuery: []
|
|
@@ -67,6 +67,9 @@ paths:
|
|
|
67
67
|
error: Invalid Page Range
|
|
68
68
|
message: One or more specified page numbers exceed the total number of pages in the PDF document.
|
|
69
69
|
expiresAt: '2026-08-03 10:52:12'
|
|
70
|
+
headers:
|
|
71
|
+
X-AF-Credits-Cost:
|
|
72
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
70
73
|
'400':
|
|
71
74
|
description: Bad Request — Missing required task_id parameter
|
|
72
75
|
content:
|
|
@@ -82,6 +85,9 @@ paths:
|
|
|
82
85
|
timestamp: '2026-07-27T10:49:06.412Z'
|
|
83
86
|
schema:
|
|
84
87
|
$ref: '#/components/schemas/ErrorResponse'
|
|
88
|
+
headers:
|
|
89
|
+
X-AF-Credits-Cost:
|
|
90
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
85
91
|
'404':
|
|
86
92
|
description: Task ID Not Found
|
|
87
93
|
content:
|
|
@@ -97,6 +103,9 @@ paths:
|
|
|
97
103
|
message: Please provide a valid task ID.
|
|
98
104
|
schema:
|
|
99
105
|
$ref: '#/components/schemas/ErrorResponse'
|
|
106
|
+
headers:
|
|
107
|
+
X-AF-Credits-Cost:
|
|
108
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
100
109
|
operationId: getTaskStatus
|
|
101
110
|
components:
|
|
102
111
|
securitySchemes:
|
|
@@ -182,6 +191,11 @@ components:
|
|
|
182
191
|
type: string
|
|
183
192
|
format: date-time
|
|
184
193
|
description: Timestamp when the error occurred (ISO 8601).
|
|
194
|
+
headers:
|
|
195
|
+
X-AF-Credits-Cost:
|
|
196
|
+
description: Specifies the number of credits consumed by the current request.
|
|
197
|
+
schema:
|
|
198
|
+
type: integer
|
|
185
199
|
security:
|
|
186
200
|
- ApiKeyAuthHeader: []
|
|
187
201
|
- ApiKeyAuthQuery: []
|