AI PDF Drive: Chat, Create, Organize
AI PDF Drive: Chat, Create, Organize · Acciones GPT
AI Drive Server - File Management
API for AI Drive Server file management
POST /import_filesImport FilesPOST /list_folder_contents_toolList Folder ContentsPOST /read_page_toolRead Pages from a FilePOST /write_file_toolWrite Content to a FilePOST /file_semantic_search_toolSemantic Search in a FilePOST /folder_semantic_search_toolSemantic Search in a FolderPOST /feedback_toolSubmit Feedback
Esquema original API
{
"openapi": "3.1.0",
"info": {
"title": "AI Drive Server - File Management",
"description": "API for AI Drive Server file management",
"version": "1.0.0"
},
"servers": [
{
"url": "https://account.myaidrive.com",
"description": "API Server"
}
],
"paths": {
"/import_files": {
"post": {
"summary": "Import Files",
"operationId": "import_files_import_files_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Json Request",
"properties": {
"openaiFileIdRefs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Original file name to store in AI Drive."
},
"download_link": {
"type": "string",
"description": "OpenAI-provided temporary download URL for the file."
},
"id": {
"type": "string",
"description": "Optional OpenAI file identifier."
},
"mime_type": {
"type": "string",
"description": "Optional MIME type for the file."
}
},
"required": [
"name",
"download_link"
],
"additionalProperties": false
},
"description": "List of files to send to AI Drive."
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FileUploadResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"x-openai-isConsequential": false,
"parameters": []
}
},
"/list_folder_contents_tool": {
"post": {
"summary": "List Folder Contents",
"operationId": "endpoint_list_folder_contents_tool_post",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListFolderTool"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"x-openai-isConsequential": false
}
},
"/read_page_tool": {
"post": {
"summary": "Read Pages from a File",
"operationId": "endpoint_read_page_tool_post",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FileReaderTool"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"x-openai-isConsequential": false
}
},
"/write_file_tool": {
"post": {
"summary": "Write Content to a File",
"operationId": "endpoint_write_file_tool_post",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FileWriterTool"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"x-openai-isConsequential": false
}
},
"/file_semantic_search_tool": {
"post": {
"summary": "Semantic Search in a File",
"operationId": "endpoint_file_semantic_search_tool_post",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SemanticSearchTool"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"x-openai-isConsequential": false
}
},
"/folder_semantic_search_tool": {
"post": {
"summary": "Semantic Search in a Folder",
"operationId": "endpoint_folder_semantic_search_tool_post",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FolderSemanticSearchTool"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"x-openai-isConsequential": false
}
},
"/feedback_tool": {
"post": {
"summary": "Submit Feedback",
"operationId": "endpoint_feedback_tool_post",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FeedbackTool"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"x-openai-isConsequential": false
}
}
},
"components": {
"schemas": {
"FeedbackTool": {
"properties": {
"feedback": {
"type": "string",
"minLength": 1,
"title": "Feedback",
"description": "The EXACT user feedback text - DO NOT modify or paraphrase. Use the user's words verbatim."
},
"rating": {
"anyOf": [
{
"type": "integer",
"maximum": 5,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Rating",
"description": "Optional numerical rating from 1-5"
}
},
"type": "object",
"required": [
"feedback"
],
"title": "FeedbackTool"
},
"FileReaderTool": {
"properties": {
"file_path_name": {
"type": "string",
"title": "File Path Name",
"description": "Path to file or complete myaidrive.com URL exactly as the user provided it. For myaidrive.com URLs, the canonical format is https://myaidrive.com/<id>; do not require or append .pdf or .folder.pdf. Legacy filename-suffix URLs are also accepted. Examples: full/path/to/file.pdf, ~<user_id>/path/to/file.jpg, https://myaidrive.com/7pqP6Dvp8zeSX9ag"
},
"start_page": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Start Page",
"description": "The starting page number to read from (inclusive). Only applicable for non image files.",
"default": 1
},
"end_page": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "End Page",
"description": "The ending page number to read to (inclusive). If not provided, will read up to 5 pages from start_page. If provided, it can't be more than start_page + 4. Only applicable for non image files."
},
"include_pdf_screenshots": {
"type": "boolean",
"title": "Include Pdf Screenshots",
"description": "Set to True when you need to analyze visual elements such as images, graphs, tables, diagrams, or any other non-textual content that requires visual inspection of the actual page images. This includes scenarios where understanding the layout, design, or specific details of visual elements is crucial for accurate analysis. Set to False if your focus is solely on reading and analyzing the textual content of the document, which does not require any visual context. For image files, this is always True.",
"default": true
}
},
"type": "object",
"required": [
"file_path_name"
],
"title": "FileReaderTool"
},
"FileUploadResponse": {
"properties": {
"urls": {
"items": {
"type": "string"
},
"type": "array",
"title": "Urls"
},
"errored_files": {
"items": {
"type": "string"
},
"type": "array",
"title": "Errored Files",
"default": []
}
},
"type": "object",
"required": [
"urls"
],
"title": "FileUploadResponse"
},
"FileWriterTool": {
"properties": {
"file_path_name": {
"type": "string",
"title": "File Path Name",
"description": "The path name of the file to write, i.e. full/path/to/file.txt"
},
"content": {
"type": "string",
"title": "Content",
"description": "The content to write to the file"
},
"template_file_path_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Template File Path Name",
"description": "Optional .docx/.dotx/.doc template (path or URL). Only used when writing a .docx file from markdown content."
},
"template_options": {
"anyOf": [
{
"$ref": "#/components/schemas/TemplateOptions"
},
{
"type": "null"
}
],
"description": "Options to control which template features to apply (styles, theme, headers, footers, page setup, fonts, numbering, document properties). Only used when template_file_path_name is provided."
},
"append": {
"type": "boolean",
"title": "Append",
"description": "Whether to append to the file or overwrite it",
"default": false
}
},
"type": "object",
"required": [
"file_path_name",
"content"
],
"title": "FileWriterTool"
},
"FolderSemanticSearchTool": {
"properties": {
"folder_path": {
"type": "string",
"title": "Folder Path",
"description": "The path name of the folder to read, or the complete myaidrive.com folder URL exactly as the user provided it. For myaidrive.com URLs, the canonical format is https://myaidrive.com/<id>; do not require or append .folder.pdf. Legacy .folder.pdf URLs are also accepted. Examples: full/path/to/folder, ~<user_id>/path/to/shared_folder, https://myaidrive.com/7pqP6Dvp8zeSX9ag"
},
"query": {
"type": "string",
"title": "Query",
"description": "The query used for semantic search on the folder. The query should be a short sentence that describes the concept you want to search for in the folder."
},
"top_k": {
"type": "integer",
"title": "Top K",
"description": "The number of top results to return from the search. Max is 80",
"default": 40
}
},
"type": "object",
"required": [
"folder_path",
"query"
],
"title": "FolderSemanticSearchTool"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"ListFolderTool": {
"properties": {
"folder_path": {
"type": "string",
"title": "Folder Path",
"description": "The path name of the folder to read or the complete myaidrive.com folder URL exactly as the user provided it. For myaidrive.com URLs, the canonical format is https://myaidrive.com/<id>; do not require or append .folder.pdf. Legacy .folder.pdf URLs are also accepted. Examples: full/path/to/folder/ or ~<user_id>/path/to/shared_folder/ or https://myaidrive.com/7pqP6Dvp8zeSX9ag\n Note: Folder paths should end with a '/' character. This trailing slash requirement does not apply to myaidrive.com URLs.\n "
},
"recursive": {
"type": "boolean",
"title": "Recursive",
"description": "Whether to list files and folders recursively",
"default": false
},
"include_system_files": {
"type": "boolean",
"title": "Include System Files",
"description": "Whether to include files in the System folder.\n This folder contains chat history, memory and other files that support the AI Drive Ecosystem.\n Whenever the user asks to list the files in the root folder, donot include the files in the System folder unless this is explicitly asked by the user.\n ",
"default": false
},
"limit": {
"type": "integer",
"title": "Limit",
"description": "The maximum number of items to list, up to 200 if metadata is True, otherwise 2000.",
"default": 200
},
"metadata": {
"type": "boolean",
"title": "Metadata",
"description": "Whether to include full metadata or just names.",
"default": false
},
"folders_only": {
"type": "boolean",
"title": "Folders Only",
"description": "Whether to include only folders in the output.",
"default": false
},
"glob_pattern": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Glob Pattern",
"description": "The glob pattern(s) to match files/folders. Can be either a single pattern string (e.g. '*.jpg') or a list of patterns (e.g. ['*.jpg', '*.png']).\n Patterns will be matched recursively. If there are multiple patterns, return the pattern in a list instead of a string. Also supports unix-style paths that are shared files and folders.\n When searching for folders, the pattern MUST end with a trailing slash ( / ).\n Example:\n - '*Deep Research Agent*' will not match folders\n - '*Deep Research Agent*/' will match folders with that name"
},
"sort_by": {
"anyOf": [
{
"$ref": "#/components/schemas/SortBy"
},
{
"type": "null"
}
],
"description": "How to sort the results: 'time_created' for creation time or 'alphabetical' for alphabetical order.",
"default": "alphabetical"
},
"sort_direction": {
"anyOf": [
{
"$ref": "#/components/schemas/SortDirection"
},
{
"type": "null"
}
],
"description": "Direction of sorting (ascending/descending). Should be specified if sort_by is provided. If not specified, defaults to descending for time_created and ascending for alphabetical."
}
},
"type": "object",
"required": [
"folder_path"
],
"title": "ListFolderTool"
},
"SemanticSearchTool": {
"properties": {
"file_path_name": {
"type": "string",
"title": "File Path Name",
"description": "The path name of the file to read, or the complete myaidrive.com URL exactly as the user provided it. For myaidrive.com URLs, the canonical format is https://myaidrive.com/<id>; do not require or append .pdf or .folder.pdf. Legacy filename-suffix URLs are also accepted. Examples: full/path/to/file.pdf, ~<user_id>/path/to/file.pdf, https://myaidrive.com/7pqP6Dvp8zeSX9ag"
},
"query": {
"type": "string",
"title": "Query",
"description": "The query used for semantic search on the file. The query should be a short sentence that describes the concept you want to search for in the file."
}
},
"type": "object",
"required": [
"file_path_name",
"query"
],
"title": "SemanticSearchTool"
},
"SortBy": {
"type": "string",
"enum": [
"time_created",
"alphabetical"
],
"title": "SortBy"
},
"SortDirection": {
"type": "string",
"enum": [
"ascending",
"descending"
],
"title": "SortDirection"
},
"TemplateOptions": {
"properties": {
"apply_styles": {
"type": "boolean",
"title": "Apply Styles",
"default": true
},
"apply_theme": {
"type": "boolean",
"title": "Apply Theme",
"default": true
},
"apply_numbering": {
"type": "boolean",
"title": "Apply Numbering",
"default": true
},
"apply_headers": {
"type": "boolean",
"title": "Apply Headers",
"default": true
},
"apply_footers": {
"type": "boolean",
"title": "Apply Footers",
"default": true
},
"apply_page_setup": {
"type": "boolean",
"title": "Apply Page Setup",
"default": true
},
"apply_fonts": {
"type": "boolean",
"title": "Apply Fonts",
"default": true
},
"apply_document_properties": {
"type": "boolean",
"title": "Apply Document Properties",
"default": false
}
},
"type": "object",
"title": "TemplateOptions",
"description": "Options for controlling which template features to apply when using a template.\n\nAll options default to True except apply_document_properties which defaults to False.\nSet an option to False to skip applying that feature from the template."
},
"ValidationError": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
},
"input": {
"title": "Input"
},
"ctx": {
"type": "object",
"title": "Context"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
}
},
"securitySchemes": {
"OAuth2": {
"type": "oauth2",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://oauth-firebase-200961485741.us-central1.run.app/oauth2/auth",
"tokenUrl": "https://oauth-firebase-200961485741.us-central1.run.app/oauth2/token",
"scopes": {
"read:user": "Read access to user's profile"
}
}
}
}
}
},
"security": [
{
"OAuth2": [
"read:user"
]
}
]
}FastAPI
POST /generate_letter_pdfGenerate LetterPOST /generate_resume_pdfGenerate ResumePOST /generate_report_pdfGenerate ReportPOST /generate_slide_pdfGenerate SlidePOST /upload_imagesUpload Images to BE for logo and signaturesUploads a file reference using its file id. This file should be an image uploaded by user.
GET /get-templates-previewGet Templates Preview, Available only for slides for now.
Esquema original API
{
"openapi": "3.1.0",
"info": {
"title": "FastAPI",
"version": "0.1.0"
},
"servers": [
{
"url": "https://pdf-creator.myaidrive.com",
"description": "Production server"
}
],
"paths": {
"/generate_letter_pdf": {
"post": {
"summary": "Generate Letter",
"x-openai-isConsequential": false,
"operationId": "generate_letter_generate_letter_pdf_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LetterData"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/generate_resume_pdf": {
"post": {
"x-openai-isConsequential": false,
"summary": "Generate Resume",
"operationId": "generate_resume_generate_resume_pdf_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResumeData"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/generate_report_pdf": {
"post": {
"summary": "Generate Report",
"x-openai-isConsequential": false,
"operationId": "generate_report_generate_report_pdf_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReportData"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/generate_slide_pdf": {
"post": {
"summary": "Generate Slide",
"x-openai-isConsequential": false,
"operationId": "generate_slide_generate_slide_pdf_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SlideData"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/upload_images": {
"post": {
"summary": "Upload Images to BE for logo and signatures",
"x-openai-isConsequential": false,
"operationId": "upload_images_upload_images_post",
"description": "Uploads a file reference using its file id. This file should be an image uploaded by user.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"openaiFileIdRefs": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/get-templates-preview": {
"get": {
"summary": "Get Templates Preview, Available only for slides for now.",
"operationId": "get_templates_preview",
"parameters": [
{
"in": "query",
"name": "template_type",
"schema": {
"type": "string"
},
"description": "Template type to filter the templates (e.g., 'slide')",
"required": false
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplatePreview"
}
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"ContactContent": {
"properties": {
"items_list": {
"items": {
"$ref": "#/components/schemas/ContactItem"
},
"type": "array",
"title": "Items List"
}
},
"type": "object",
"required": [
"items_list"
],
"title": "ContactContent"
},
"ContactItem": {
"properties": {
"icon": {
"type": "string",
"title": "Icon"
},
"value": {
"type": "string",
"title": "Value"
}
},
"type": "object",
"required": [
"icon",
"value"
],
"title": "ContactItem"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"LetterData": {
"properties": {
"logo_path": {
"type": "string",
"description": "url of logo file. Should be in file-id://<filename> format"
},
"sender_name": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"sender_title": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"recipient_name": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"recipient_phone": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"recipient_email": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"recipient_address": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"recipient_first_name": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"date": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"body": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/Section"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Body",
"description": "List of sections for the body of the letter",
"default": []
},
"signature_path": {
"type": "string",
"description": "Url of the signature file. Should be a file-id://<filename> format"
},
"company_phone": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"company_email": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"company_address": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"page_size": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
}
},
"type": "object",
"title": "LetterData"
},
"ReportData": {
"properties": {
"report_title": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"author_name": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"date": {
"anyOf": [
{
"$ref": "#/components/schemas/Section"
},
{
"type": "null"
}
]
},
"body": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/Section"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Body",
"default": []
}
},
"type": "object",
"title": "ReportData"
},
"ResumeData": {
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"jobTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Jobtitle"
},
"leftSections": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/ResumeSection"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Leftsections",
"default": []
},
"mainSections": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/ResumeSection"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Mainsections",
"default": []
}
},
"type": "object",
"title": "ResumeData"
},
"ResumeSection": {
"properties": {
"title": {
"type": "string",
"title": "Title"
},
"type": {
"type": "string",
"enum": [
"contact",
"text"
],
"title": "Type"
},
"content": {
"anyOf": [
{
"$ref": "#/components/schemas/ContactContent"
},
{
"$ref": "#/components/schemas/TextContent"
}
],
"title": "Content"
}
},
"type": "object",
"required": [
"title",
"type",
"content"
],
"title": "ResumeSection"
},
"Section": {
"properties": {
"section_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Section Name",
"description": "Section name of report. Can be in any language. For eg, if section is about conclusion, section name can be 'Conclusion' or 'Kết luận' in vietnamese"
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Content",
"description": "Section content in markdown"
}
},
"type": "object",
"required": [
"section_name",
"content"
],
"title": "Section"
},
"SlideData": {
"properties": {
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
},
"short_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Short Description"
},
"slides": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/SlidePage"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Slides",
"default": []
},
"template_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Template id for slide."
}
},
"type": "object",
"title": "SlideData"
},
"SlidePage": {
"properties": {
"page_title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Page Title",
"description": "Title of this page"
},
"content": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Content",
"description": "Page content. Donot exceed 8 lines.",
"default": []
}
},
"type": "object",
"title": "SlidePage"
},
"TextContent": {
"properties": {
"text": {
"type": "string",
"title": "Text"
}
},
"type": "object",
"required": [
"text"
],
"title": "TextContent"
},
"ValidationError": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
}
}
}
}