Skip to content

Commit

Permalink
(fix): update api
Browse files Browse the repository at this point in the history
  • Loading branch information
dsinghvi committed May 14, 2024
1 parent 63b5f16 commit 2e2ba05
Show file tree
Hide file tree
Showing 3 changed files with 196 additions and 28 deletions.
2 changes: 1 addition & 1 deletion fern/fern.config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"organization": "fileforge",
"version": "0.24.0"
"version": "0.26.6"
}
1 change: 1 addition & 0 deletions fern/generators.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
api:
- path: ../openapi.yml
overrides: ../openapi-overrides.yml
origin: https://api.fileforge.com/documentation/yaml
groups:
ts-sdk:
generators:
Expand Down
221 changes: 194 additions & 27 deletions openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,162 @@ components:
example: BAD_REQUEST
message:
type: string
description: A human-readable message
example: No index.html file provided
description: >-
A human-readable message. This field may also provide additional
context to the error code.
example: Bad request
title: ErrorSchema
paths:
/status/:
get:
responses:
"200":
'200':
description: Default Response
/pdf/docx/:
post:
summary: Converts a DOC or DOCX document to PDF.
tags:
- PDF
description: >-
Converts a Microsoft Word document (.DOCX or .DOC) file to a PDF
document.
This service uses a LibreOffice headless server to perform the
conversion, and may not support all features of the original document.
**Known discrepancies**
* Some fonts may not be available in the server, and may be substituted
by a closest match.
* Some complex formatting may not be preserved, such as background
graphics.
**Variables**
Variable replacement is supported with various methods:
* Templated litterals: `{{name}}`
* Word variables, as listed in the document metadata: `{DOCVARIABLE
"name"}`
To enable variable replacement as Word variables for your account,
please contact the FileForge support.
requestBody:
content:
multipart/form-data:
schema:
type: object
required:
- file
- options
properties:
options:
description: >-
Conversion options. This field is required even if empty.
**Options**
* `templateLiterals`: Map of template literals to replace in
the document. Template literals should be enclosed in double
curly braces, e.g. `{{name}}`. Variables name can contain
alphanumeric characters and hyphens. All variables are
case-sensitive. The value for each variable should be a
string. If a value of undefined is passed, the variable will
not be removed from the document. If you need to remove a
variable, pass an empty string as the value.
**NB** variables should **not** have surrounding spaces,
e.g. `{{ name }}`.
**Example**
In the Word document: `{{name}} {{nickname}}. was born on
{{date}}.`
```json
{
"templateLiterals": {
"name": "John Doe",
"date": "2021-12-31",
"nickname": ""
}
}
```
There will not be an error if a variable is not found in the
document, nor if variables found in the document are not in
the options.
type: object
required: []
properties:
templateLiterals:
type: object
description: Map of template literals to replace in the document.
additionalProperties:
type: string
file:
description: >-
The Microsoft Word document (.DOCX or .DOC) file to convert
to PDF.
type: string
format: binary
encoding:
options:
contentType: application/json
required: true
security:
- apiKey: []
responses:
'201':
description: PDF Document generated successfully
content:
application/pdf:
description: PDF Document
schema:
type: string
format: binary
'400':
description: Bad request
content:
application/json:
schema:
description: Bad request
$ref: '#/components/schemas/def-0'
'401':
description: Unauthorized
content:
application/json:
schema:
description: Unauthorized
$ref: '#/components/schemas/def-0'
'500':
description: Internal server error
/pdf/generate/:
post:
summary: Generates a PDF document from HTML and web technologies.
tags:
- PDF
description: |+
Generates a PDF document from web assets.
requestBody:
content:
multipart/form-data:
Expand All @@ -54,32 +197,56 @@ paths:
- options
properties:
options:
description: Conversion options. This field is required even if empty.
type: object
required: []
properties:
test:
type: boolean
description: Generate a test document instead of a production document. The
generated document will contain a watermark. Defaults to
true.
description: >-
Generate a test document instead of a production
document. The generated document will contain a
watermark. Defaults to true.
default: true
host:
type: boolean
description: If enabled, the document will be hosted by FileForge and a
presigned URL will be returned.
description: >-
If enabled, the document will be hosted by FileForge and
a presigned URL will be returned.
default: false
expiresAt:
type: string
format: date-time
description: If host is enabled, the expiration date of the presigned URL.
Defaults to 7 days from now. Cannot exceed 7 days from
now.
description: >-
If host is enabled, the expiration date of the presigned
URL. Defaults to 7 days from now. Cannot exceed 7 days
from now.
fileName:
type: string
description: The name of the generated PDF file. Defaults to document. The file
name should not contain extensions nor path traversals.
description: >-
The name of the generated PDF file. Defaults to
document. The file name should not contain extensions
nor path traversals.
default: document
files:
description: >-
Files to generate the PDF document from.
An `index.html` file is required, and will be used as the
main document. Other documents may also be attached, such as
stylesheets or images. The path in the `filename` part of
the multipart attachement will be respected during
generation.
**Important notice**: during generation, the `index.html`
file will be processed to include the base URL of the
document. This is required for assets to be loaded
correctly. To link your assets from the HTML file, you
should not use a leading slash in the URL. For example, use
`<img src="image.jpg" />` instead of `<img src="/image.jpg"
/>`.
allOf:
- {}
- type: array
Expand All @@ -93,7 +260,7 @@ paths:
security:
- apiKey: []
responses:
"201":
'201':
description: PDF Document generated successfully
content:
application/pdf:
Expand All @@ -111,29 +278,29 @@ paths:
type: string
format: uri
description: URL to the generated PDF document
"400":
'400':
description: Bad request
content:
application/json:
schema:
description: Bad request
$ref: "#/components/schemas/def-0"
"401":
$ref: '#/components/schemas/def-0'
'401':
description: Unauthorized
content:
application/json:
schema:
description: Unauthorized
$ref: "#/components/schemas/def-0"
"500":
$ref: '#/components/schemas/def-0'
'500':
description: Internal server error
"502":
'502':
description: Bad Gateway
content:
application/json:
schema:
description: Bad Gateway
$ref: "#/components/schemas/def-0"
$ref: '#/components/schemas/def-0'
/pdf/merge/:
post:
tags:
Expand Down Expand Up @@ -165,29 +332,29 @@ paths:
security:
- apiKey: []
responses:
"201":
'201':
description: PDF Document generated successfully
content:
application/pdf:
description: PDF Document
schema:
type: string
format: binary
"400":
'400':
description: Bad request
content:
application/json:
schema:
description: Bad request
$ref: "#/components/schemas/def-0"
"401":
$ref: '#/components/schemas/def-0'
'401':
description: Unauthorized
content:
application/json:
schema:
description: Unauthorized
$ref: "#/components/schemas/def-0"
"500":
$ref: '#/components/schemas/def-0'
'500':
description: Internal server error
servers:
- url: https://api.fileforge.com
Expand Down

0 comments on commit 2e2ba05

Please sign in to comment.