add scalar as an app
Some checks failed
Test / test (push) Has been cancelled

This commit is contained in:
2026-01-09 10:33:58 +00:00
parent 8b9b6e798a
commit d6cafc67b2
17 changed files with 5502 additions and 0 deletions

287
scalar/apidocs/pdf.json Normal file
View File

@@ -0,0 +1,287 @@
{
"openapi": "3.0.0",
"info": {
"title": "REST4i - PDF Services",
"description": "PDF processing services for creating, manipulating, and extracting data from PDF documents on IBM i systems.",
"version": "1.0.7-rest4i",
"contact": {
"name": "API Support",
"url": "https://github.com/rest4i"
},
"license": {
"name": "Apache 2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
}
},
"servers": [
{
"url": "/rest4i/api"
}
],
"tags": [
{
"name": "PDF Services",
"description": "PDF processing services for creating, manipulating, and extracting data from PDF documents."
}
],
"paths": {
"/v1/pdf/convert": {
"post": {
"tags": ["PDF Services"],
"summary": "Convert HTML to PDF",
"description": "Convert HTML content to PDF document",
"operationId": "convertToPdf",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConvertRequest"
},
"example": {
"html": "<html><body><h1>Report</h1><p>Content here</p></body></html>",
"size": "A4",
"orientation": "portrait"
}
}
}
},
"responses": {
"200": {
"description": "PDF generated successfully",
"content": {
"application/pdf": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
}
}
}
},
"/v1/pdf/merge": {
"post": {
"tags": ["PDF Services"],
"summary": "Merge PDF files",
"description": "Merges multiple PDF files into a single PDF document.",
"operationId": "mergePdfs",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MergeRequest"
}
}
}
},
"responses": {
"200": {
"description": "PDFs merged successfully",
"content": {
"application/pdf": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"400": {
"description": "Bad request - at least one PDF file is required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}
},
"/v1/pdf/rotate": {
"post": {
"tags": ["PDF Services"],
"summary": "Rotate PDF pages",
"description": "Rotates all pages in a PDF document by the specified angle.",
"operationId": "rotatePdf",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RotateRequest"
}
}
}
},
"responses": {
"200": {
"description": "PDF rotated successfully",
"content": {
"application/pdf": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"400": {
"description": "Bad request - PDF file is required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}
},
"/v1/pdf/unprotect": {
"post": {
"tags": ["PDF Services"],
"summary": "Remove PDF protection",
"description": "Removes protection from a PDF document by converting it to images and back to PDF.",
"operationId": "unprotectPdf",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnprotectRequest"
}
}
}
},
"responses": {
"200": {
"description": "PDF unprotected successfully",
"content": {
"application/pdf": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"400": {
"description": "Bad request - PDF file is required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"ConvertRequest": {
"type": "object",
"properties": {
"html": {
"type": "string",
"description": "HTML content to convert to PDF"
},
"size": {
"type": "string",
"description": "Page size for the PDF",
"default": "A4",
"enum": ["A1", "A2", "A3", "A4", "A5", "A6", "A7"]
},
"orientation": {
"type": "string",
"description": "Page orientation",
"default": "portrait",
"enum": ["portrait", "landscape"]
}
},
"required": ["html"]
},
"MergeRequest": {
"type": "object",
"properties": {
"pdfFiles": {
"type": "array",
"items": {
"type": "string",
"format": "byte"
},
"description": "Array of Base64 encoded PDF files to merge"
}
},
"required": ["pdfFiles"]
},
"RotateRequest": {
"type": "object",
"properties": {
"pdfFile": {
"type": "string",
"format": "byte",
"description": "Base64 encoded PDF file to rotate"
},
"rotation": {
"type": "integer",
"description": "Rotation angle (90, 180, 270, 360/0)",
"default": 90,
"enum": [90, 180, 270, 360, 0]
}
},
"required": ["pdfFile"]
},
"UnprotectRequest": {
"type": "object",
"properties": {
"pdfFile": {
"type": "string",
"format": "byte",
"description": "Base64 encoded protected PDF file"
}
},
"required": ["pdfFile"]
},
"Problem": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"message": {
"type": "string"
},
"code": {
"type": "integer",
"format": "int32"
},
"details": {
"type": "object"
}
}
}
},
"securitySchemes": {
"bearerHttpAuthentication": {
"type": "http",
"description": "Bearer token authentication.",
"scheme": "bearer",
"bearerFormat": "Bearer [token]"
},
"basicHttpAuthentication": {
"type": "http",
"description": "Basic authentication.",
"scheme": "basic"
}
}
}
}