{"openapi":"3.1.0","info":{"title":"Ingest Reference","version":"1.0.0"},"paths":{"/v1/ingest/uploads":{"post":{"operationId":"files_UploadDirectController_uploadDirect","summary":"Upload files","description":"Upload a file or a group of files of the same type (invoice, deliveryNote... or one of your custom types) to your environment. Each file is then processed asynchronously.\nAllowed formats are\n- images: .jpeg, .jpg, .png, .tiff\n- PDFs: .pdf\n- Compressed files: .zip\n\nOne of the parameters files or urls must be provided and can also be combined.","tags":["files"],"responses":{"201":{"description":"URL to upload created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadDirectResponseDto"}}}},"400":{"description":"Bad Request - Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadDirectController_uploadDirectRequestBadRequestError"}}}},"413":{"description":"Payload Too Large - File exceeds size limit (100MB)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadDirectController_uploadDirectRequestContentTooLargeError"}}}}},"requestBody":{"description":"Upload files with optional URLs and metadata","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"files":{"type":"array","items":{"type":"string","format":"binary"},"description":"Binary files to upload via multipart/form-data.\n\n**Supported formats:**\n- **Images:** .jpeg, .jpg, .png, .tiff\n- **PDFs:** .pdf\n- **Compressed files:** .zip (for bulk uploads)\n\n**Note:** Upload actual binary file data, not file paths or strings. Use standard HTML file input or equivalent HTTP multipart upload.\n\n**Filename Encoding Limitation:** Due to RFC 2388 multipart/form-data specification, filenames are limited to Latin-1 (ISO-8859-1) character encoding. Non-ASCII characters (e.g., UTF-8 Unicode) in filenames will appear corrupted. For best compatibility, use ASCII-safe characters in filenames or implement client-side filename encoding.\n"},"urls":{"type":"array","items":{"type":"string","format":"uri"},"description":"**DEPRECATED:** Use the `/v1/ingest/by-url` endpoint instead for URL-based uploads.\n\nArray of URLs from which files will be downloaded and processed. This field is maintained for backward compatibility but should not be used in new integrations.\n"},"info":{"$ref":"#/components/schemas/V1IngestUploadsPostRequestBodyContentMultipartFormDataSchemaInfo","description":"Information to map to the uploaded files in JSON format"}}}}}},"security":[{"apiKeyAuth":[]}]}},"/v1/ingest/by-url":{"post":{"operationId":"files_UploadByUrlController_uploadByUrl","summary":"Upload files by URL","description":"Upload files by providing URLs from which files will be downloaded and processed asynchronously.\nAllowed formats are\n- images: .jpeg, .jpg, .png, .tiff\n- PDFs: .pdf\n\nThe API accepts an array of file URLs with optional metadata for processing.","tags":["files"],"responses":{"201":{"description":"Files queued for download and processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadByUrlResponseDto"}}}},"400":{"description":"Bad Request - Invalid URLs or validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadByUrlController_uploadByUrlRequestBadRequestError"}}}},"404":{"description":"Not Found - One or more URLs are unreachable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadByUrlController_uploadByUrlRequestNotFoundError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadByUrlRequestDto"}}}},"security":[{"apiKeyAuth":[]}]}},"/v1/ingest/files/{fileId}":{"get":{"operationId":"files_FilesController_getFile","summary":"Get file information by ID","description":"Retrieves file information if the user belongs to the same environment","tags":["files"],"parameters":[{"name":"fileId","in":"path","description":"The ID of the file","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"File information retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileResponseDto"}}}},"404":{"description":"File not found","content":{"application/json":{"schema":{"description":"Any type"}}}}},"security":[{"apiKeyAuth":[]}]}},"/v1/ingest/single":{"post":{"operationId":"files_SingleDocumentController_uploadSingle","summary":"Upload single document file","description":"Upload a single document file with metadata for processing.\n\nAllowed formats are:\n- Images: .jpeg, .jpg, .png, .tiff (.tif)\n- PDFs: .pdf\n\nThe API accepts a single file with optional JSON metadata. A DocumentId is pre-assigned and returned immediately.\n\nNote: This endpoint does not use splitter functionality.\n\n**DEPRECATED:** This endpoint will be removed. Use the batch upload endpoint (`/upload-direct`) instead, which supports single or multiple files.","tags":["files"],"responses":{"201":{"description":"Document uploaded successfully with pre-assigned DocumentId","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleDocumentResponseDto"}}}},"400":{"description":"Bad Request - Validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleDocumentController_uploadSingleRequestBadRequestError"}}}},"413":{"description":"Payload Too Large - File exceeds size limit (100MB)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleDocumentController_uploadSingleRequestContentTooLargeError"}}}}},"deprecated":true,"requestBody":{"description":"Upload single document with optional metadata","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"Single binary document file to upload via multipart/form-data.\n\n**Supported formats:**\n- **Images:** .jpeg, .jpg, .png, .tiff (.tif)\n- **PDFs:** .pdf\n\n**Note:** Upload actual binary file data, not file path or string. Use standard HTML file input or equivalent HTTP multipart upload.\n\n**Filename Encoding Limitation:** Due to RFC 2388 multipart/form-data specification, filenames are limited to Latin-1 (ISO-8859-1) character encoding. Non-ASCII characters (e.g., UTF-8 Unicode) in filenames will appear corrupted. For best compatibility, use ASCII-safe characters in filenames or implement client-side filename encoding."},"info":{"$ref":"#/components/schemas/V1IngestSinglePostRequestBodyContentMultipartFormDataSchemaInfo","description":"JSON object containing file metadata"}},"required":["file"]}}}},"security":[{"apiKeyAuth":[]}]}},"/v1/ingest/single-url":{"post":{"operationId":"files_UploadSingleUrlController_uploadSingleUrl","summary":"Upload single file by URL","description":"Upload a single file by providing a URL from which the file will be downloaded and processed.\n\nAllowed formats are:\n- Images: .jpeg, .jpg, .png, .tiff\n- PDFs: .pdf\n\nThe API accepts a single URL with optional metadata for processing.\n\n**Key Features:**\n- Single file only (no batch processing)\n- No compression support\n- Splitter functionality is disabled\n- Pre-assigned DocumentId returned immediately\n\n**Important:** Only HTTPS URLs are allowed for security reasons.\n\n**DEPRECATED:** This endpoint will be removed. Use the batch upload endpoint (`/upload-by-url`) instead, which supports single or multiple URLs.","tags":["files"],"responses":{"201":{"description":"File queued for download and processing with pre-assigned DocumentId","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadSingleUrlResponseDto"}}}},"400":{"description":"Bad Request - Invalid URL or validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadSingleUrlController_uploadSingleUrlRequestBadRequestError"}}}},"404":{"description":"Not Found - URL is unreachable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadSingleUrlController_uploadSingleUrlRequestNotFoundError"}}}}},"deprecated":true,"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadSingleUrlRequestDto"}}}},"security":[{"apiKeyAuth":[]}]}},"/v1/ingest/imports":{"get":{"operationId":"imports_ListImportsController_listImports","summary":"Get info of your imports","description":"Get a list of your latest imports (last 7 days)","tags":["imports"],"parameters":[{"name":"environmentId","in":"query","description":"Environment ID to filter imports. If not provided, uses the user's default environment.","required":false,"schema":{"type":"string"}},{"name":"skip","in":"query","description":"Number of imports to skip for pagination","required":false,"schema":{"type":"integer","minimum":0,"maximum":10,"default":0}},{"name":"limit","in":"query","description":"Maximum number of imports to return (max 100)","required":false,"schema":{"type":"integer","minimum":1,"maximum":15,"default":5}}],"responses":{"200":{"description":"List of imports retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListImportsResponseDto"}}}},"400":{"description":"Bad Request - Invalid query parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListImportsController_listImportsRequestBadRequestError"}}}}},"security":[{"apiKeyAuth":[]}]}},"/v1/ingest/imports/{importId}":{"get":{"operationId":"imports_GetImportController_getImport","summary":"Get info of a given import","description":"Get detailed information of a given import","tags":["imports"],"parameters":[{"name":"importId","in":"path","description":"The ID of the import","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Import details retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetImportResponseDto"}}}},"404":{"description":"Import not found or access denied","content":{"application/json":{"schema":{"description":"Any type"}}}}},"security":[{"apiKeyAuth":[]}]}}},"tags":[{"name":"files"},{"name":"imports"}],"servers":[{"url":"https://api.invofox.com","description":"Production server"}],"components":{"schemas":{"V1IngestUploadsPostRequestBodyContentMultipartFormDataSchemaInfo":{"type":"object","properties":{"type":{"type":"string","description":"Document type (e.g., \"invoice\", \"receipt\")"},"company":{"type":"string","description":"Company ID (optional)"},"useSplitter":{"type":"boolean","description":"Flag to determine if splitter should be used to process this file (ignored if splitter is not enabled for the environment)"},"useClassifier":{"type":"boolean","description":"Flag to determine if classifier should be used to detect this file's document type (ignored if classifier is not enabled for the environment)"},"data":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Data known for the file"},"clientData":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Custom metadata object for your application's use (not processed by Invofox)"}},"description":"Information to map to the uploaded files in JSON format","title":"V1IngestUploadsPostRequestBodyContentMultipartFormDataSchemaInfo"},"FileUploadInfo":{"type":"object","properties":{"filename":{"type":"string","description":"Filename of the file"},"id":{"type":"string","description":"File ID associated with the uploaded file"},"documentId":{"type":"string","description":"Pre-assigned Document ID, only available if file is imported as a single document. DEPRECATED: This field will be removed. Instead, use webhooks to receive processing notifications, then retrieve documentIds from the file details endpoint.","deprecated":true}},"required":["filename","id"],"title":"FileUploadInfo"},"UploadDirectResponseDto":{"type":"object","properties":{"accountId":{"type":"string","description":"Account ID that the files were uploaded to"},"environmentId":{"type":"string","description":"Environment ID that the files were uploaded to"},"importId":{"type":"string","description":"Import ID that was registered"},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileUploadInfo"},"description":"Array of uploaded files information"}},"required":["accountId","environmentId","importId","files"],"title":"UploadDirectResponseDto"},"UploadDirectController_uploadDirectRequestBadRequestError":{"type":"object","properties":{"message":{"type":"array","items":{"type":"string"}},"error":{"type":"string"},"statusCode":{"type":"number","format":"double"}},"title":"UploadDirectController_uploadDirectRequestBadRequestError"},"UploadDirectController_uploadDirectRequestContentTooLargeError":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"number","format":"double"}},"title":"UploadDirectController_uploadDirectRequestContentTooLargeError"},"FileSpecificMetadataDto":{"type":"object","properties":{"useSplitter":{"type":"boolean","description":"Flag to determine if splitter should be used to process this file. This will be ignored if splitter is not enabled for the environment"},"useClassifier":{"type":"boolean","description":"Flag to determine if classifier should be used to detect this file's document type. This will be ignored if classifier is not enabled for the environment"},"type":{"type":"string","description":"Document type ID or alias (e.g., \"invoice\", \"receipt\", or a custom type ID from your environment). This field is optional if the classifier is enabled for the environment or if a defaultType is configured in your ImportConfig; otherwise, it is required."},"data":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Data known for the file. This data will be associated to the file itself."},"clientData":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Custom metadata object for your application's use (not processed by Invofox). Useful for storing external IDs, tracking information, or application-specific context."}},"title":"FileSpecificMetadataDto"},"FileUrlInfoDto":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL from which the file will be downloaded and processed"},"filename":{"type":"string","description":"Optional filename override"},"info":{"$ref":"#/components/schemas/FileSpecificMetadataDto","description":"Specific metadata for this file (excludes environment/company/importConfig which must be set at root level)"}},"required":["url"],"title":"FileUrlInfoDto"},"FileInfo":{"type":"object","properties":{"useSplitter":{"type":"boolean","description":"Flag to determine if splitter should be used to process this file. This will be ignored if splitter is not enabled for the environment"},"useClassifier":{"type":"boolean","description":"Flag to determine if classifier should be used to detect this file's document type. This will be ignored if classifier is not enabled for the environment"},"type":{"type":"string","description":"Document type ID or alias (e.g., \"invoice\", \"receipt\", or a custom type ID from your environment). This field is optional if the classifier is enabled for the environment or if a defaultType is configured in your ImportConfig; otherwise, it is required."},"data":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Data known for the file. This data will be associated to the file itself."},"clientData":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Custom metadata object for your application's use (not processed by Invofox). Useful for storing external IDs, tracking information, or application-specific context."},"company":{"type":"string","description":"Company ID (MongoDB ObjectId)"}},"title":"FileInfo"},"UploadByUrlRequestDto":{"type":"object","properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/FileUrlInfoDto"},"description":"Array of file URLs to download and process.\n\n**Dual-Level Metadata Structure:**\nEach file can have individual metadata (type, data, clientData) via the 'info' field within each FileUrlInfoDto.\nHowever, company can only be set at the batch level via the root 'info' field.\n\n**Per-File Metadata:** Each file can specify its own document type, processing data, and client data.\n**Batch Metadata:** Company applies to ALL files in this request."},"info":{"$ref":"#/components/schemas/FileInfo","description":"Batch-level metadata that applies to ALL files in this request.\n\n**Important:** This is where you set company context for the entire batch.\nIndividual files cannot override company - this is a batch-level setting only.\n\n**Use this field for:**\n- company: Company ID (applies to all files)\n- Global settings that affect all files\n\n**Individual file metadata** like document type, processing data, and client data should be set in each file's 'info' field."}},"required":["files"],"title":"UploadByUrlRequestDto"},"UploadByUrlResponseDto":{"type":"object","properties":{"accountId":{"type":"string","description":"Account ID"},"environmentId":{"type":"string","description":"Environment ID"},"importId":{"type":"string","description":"Import ID for tracking the upload process"},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileUploadInfo"},"description":"Array of uploaded files information"}},"required":["accountId","environmentId","importId","files"],"title":"UploadByUrlResponseDto"},"UploadByUrlController_uploadByUrlRequestBadRequestError":{"type":"object","properties":{"message":{"type":"array","items":{"type":"string"}},"error":{"type":"string"},"statusCode":{"type":"number","format":"double"}},"title":"UploadByUrlController_uploadByUrlRequestBadRequestError"},"UploadByUrlController_uploadByUrlRequestNotFoundError":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"number","format":"double"}},"title":"UploadByUrlController_uploadByUrlRequestNotFoundError"},"FileResponseDtoStatus":{"type":"string","enum":["pending","processing","processed","rejected"],"description":"Current processing status of the file","title":"FileResponseDtoStatus"},"FileResponseDtoClientData":{"type":"object","properties":{},"description":"Client data associated to the file","title":"FileResponseDtoClientData"},"FileResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the file"},"accountId":{"type":"string","description":"Account identifier"},"environmentId":{"type":"string","description":"Environment identifier"},"companyId":{"type":"string","description":"Company identifier"},"importId":{"type":"string","description":"Import identifier"},"filename":{"type":"string","description":"Name of the file"},"compressed":{"type":"boolean","description":"Indicates if the file is compressed"},"status":{"$ref":"#/components/schemas/FileResponseDtoStatus","description":"Current processing status of the file"},"parentFileId":{"type":"string","description":"Parent file identifier if this file was extracted from another"},"documentIds":{"type":"array","items":{"type":"string"},"description":"Array of document identifiers extracted from this file"},"error":{"type":"string","description":"Error code if processing failed"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the file was created"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the file was last updated"},"mimeType":{"type":"string","description":"MIME type of the file"},"clientData":{"$ref":"#/components/schemas/FileResponseDtoClientData","description":"Client data associated to the file"}},"required":["id","accountId","environmentId","importId","filename","compressed","status","mimeType"],"title":"FileResponseDto"},"V1IngestSinglePostRequestBodyContentMultipartFormDataSchemaInfo":{"type":"object","properties":{"type":{"type":"string","description":"Document type (e.g., \"invoice\", \"receipt\")"},"company":{"type":"string","description":"Company ID (optional)"},"data":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Data known for the file"},"clientData":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Custom metadata object for your application's use (not processed by Invofox)"}},"description":"JSON object containing file metadata","title":"V1IngestSinglePostRequestBodyContentMultipartFormDataSchemaInfo"},"SingleDocumentResponseDto":{"type":"object","properties":{"accountId":{"type":"string","description":"Account ID"},"environmentId":{"type":"string","description":"Environment ID"},"importId":{"type":"string","description":"Import ID for tracking the upload process"},"documentId":{"type":"string","description":"Pre-assigned Document ID. DEPRECATED: This field will be removed. Instead, use webhooks to receive processing notifications, then retrieve documentIds from the file details endpoint.","deprecated":true},"fileId":{"type":"string","description":"File ID for the uploaded file"},"filename":{"type":"string","description":"Original filename"}},"required":["accountId","environmentId","importId","documentId","fileId","filename"],"title":"SingleDocumentResponseDto"},"V1IngestSinglePostResponsesContentApplicationJsonSchemaMessage":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"title":"V1IngestSinglePostResponsesContentApplicationJsonSchemaMessage"},"SingleDocumentController_uploadSingleRequestBadRequestError":{"type":"object","properties":{"message":{"$ref":"#/components/schemas/V1IngestSinglePostResponsesContentApplicationJsonSchemaMessage"},"error":{"type":"string"},"statusCode":{"type":"number","format":"double"}},"title":"SingleDocumentController_uploadSingleRequestBadRequestError"},"SingleDocumentController_uploadSingleRequestContentTooLargeError":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"number","format":"double"}},"title":"SingleDocumentController_uploadSingleRequestContentTooLargeError"},"SingleUrlFileInfo":{"type":"object","properties":{"useSplitter":{"type":"boolean","description":"Flag to determine if splitter should be used to process this file. This will be ignored if splitter is not enabled for the environment"},"useClassifier":{"type":"boolean","description":"Flag to determine if classifier should be used to detect this file's document type. This will be ignored if classifier is not enabled for the environment"},"type":{"type":"string","description":"Document type ID or alias (e.g., \"invoice\", \"receipt\", or a custom type ID from your environment). This field is optional if the classifier is enabled for the environment or if a defaultType is configured in your ImportConfig; otherwise, it is required."},"data":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Data known for the file. This data will be associated to the file itself."},"clientData":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Custom metadata object for your application's use (not processed by Invofox). Useful for storing external IDs, tracking information, or application-specific context."},"company":{"type":"string","description":"Company ID (MongoDB ObjectId)"}},"title":"SingleUrlFileInfo"},"UploadSingleUrlRequestDto":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Single file URL to download and process.\n\n**Important:** Only HTTPS URLs are allowed for security reasons.\nThe file will be downloaded from this URL and processed as a single document without splitting.\n\n**Allowed formats:**\n- Images: .jpeg, .jpg, .png, .tiff\n- PDFs: .pdf"},"filename":{"type":"string","description":"Optional filename for the document. If not provided, the filename will be extracted from the URL."},"info":{"$ref":"#/components/schemas/SingleUrlFileInfo","description":"Metadata and configuration for the single file being uploaded.\n\n**Single-File Context:** All metadata in this field applies to the one file being uploaded.\nThis is the simplest upload pattern - no dual-level metadata structure needed.\n\n**Available Settings:**\n- company: Company ID for this file\n- type: Document type (e.g., 'invoice', 'receipt')\n- data: Processing data for this file\n- clientData: Client metadata for this file"}},"required":["url"],"title":"UploadSingleUrlRequestDto"},"UploadSingleUrlResponseDto":{"type":"object","properties":{"accountId":{"type":"string","description":"Account ID"},"environmentId":{"type":"string","description":"Environment ID"},"importId":{"type":"string","description":"Import ID for tracking the upload process"},"documentId":{"type":"string","description":"Pre-assigned Document ID. DEPRECATED: This field will be removed. Instead, use webhooks to receive processing notifications, then retrieve documentIds from the file details endpoint.","deprecated":true},"fileId":{"type":"string","description":"File ID for the uploaded file"},"filename":{"type":"string","description":"Original filename"}},"required":["accountId","environmentId","importId","documentId","fileId","filename"],"title":"UploadSingleUrlResponseDto"},"V1IngestSingleUrlPostResponsesContentApplicationJsonSchemaMessage":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"title":"V1IngestSingleUrlPostResponsesContentApplicationJsonSchemaMessage"},"UploadSingleUrlController_uploadSingleUrlRequestBadRequestError":{"type":"object","properties":{"message":{"$ref":"#/components/schemas/V1IngestSingleUrlPostResponsesContentApplicationJsonSchemaMessage"},"error":{"type":"string"},"statusCode":{"type":"number","format":"double"}},"title":"UploadSingleUrlController_uploadSingleUrlRequestBadRequestError"},"UploadSingleUrlController_uploadSingleUrlRequestNotFoundError":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"number","format":"double"}},"title":"UploadSingleUrlController_uploadSingleUrlRequestNotFoundError"},"ImportSummaryDtoChannel":{"type":"string","enum":["api","upload","email","gdrive"],"description":"Import channel","title":"ImportSummaryDtoChannel"},"ImportSummaryDtoStatus":{"type":"string","enum":["processing","processed"],"description":"Current processing status of the import","title":"ImportSummaryDtoStatus"},"ImportSummaryDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the import"},"accountId":{"type":"string","description":"Account identifier"},"environmentId":{"type":"string","description":"Environment identifier"},"channel":{"$ref":"#/components/schemas/ImportSummaryDtoChannel","description":"Import channel"},"status":{"$ref":"#/components/schemas/ImportSummaryDtoStatus","description":"Current processing status of the import"},"createdAt":{"type":"string","description":"Import creation timestamp"},"documents":{"type":"number","format":"double","minimum":0,"description":"Total number of documents extracted from all files in this import"}},"required":["id","accountId","environmentId","channel","status","createdAt","documents"],"title":"ImportSummaryDto"},"ListImportsResponseDto":{"type":"object","properties":{"count":{"type":"number","format":"double","minimum":0,"description":"Total number of imports matching the criteria"},"result":{"type":"array","items":{"$ref":"#/components/schemas/ImportSummaryDto"},"description":"Array of import summaries for the requested page"}},"required":["count","result"],"title":"ListImportsResponseDto"},"ListImportsController_listImportsRequestBadRequestError":{"type":"object","properties":{"message":{"type":"array","items":{"type":"string"}},"error":{"type":"string"},"statusCode":{"type":"number","format":"double"}},"title":"ListImportsController_listImportsRequestBadRequestError"},"GetImportResponseDtoChannel":{"type":"string","enum":["api","upload","email","gdrive"],"description":"Import channel","title":"GetImportResponseDtoChannel"},"GetImportResponseDtoStatus":{"type":"string","enum":["processing","processed"],"description":"Current processing status of the import","title":"GetImportResponseDtoStatus"},"GetImportResponseDtoClientData":{"type":"object","properties":{},"description":"Provider-specific information and metadata","title":"GetImportResponseDtoClientData"},"GetImportResponseDtoProviderInfo":{"type":"object","properties":{},"title":"GetImportResponseDtoProviderInfo"},"GetImportResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the import"},"accountId":{"type":"string","description":"Account identifier"},"environmentId":{"type":"string","description":"Environment identifier"},"channel":{"$ref":"#/components/schemas/GetImportResponseDtoChannel","description":"Import channel"},"status":{"$ref":"#/components/schemas/GetImportResponseDtoStatus","description":"Current processing status of the import"},"createdAt":{"type":"string","description":"Import creation timestamp"},"documents":{"type":"number","format":"double","minimum":0,"description":"Total number of documents extracted from all files"},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileResponseDto"},"description":"Array of files associated with this import"},"clientData":{"$ref":"#/components/schemas/GetImportResponseDtoClientData","description":"Provider-specific information and metadata"},"providerInfo":{"$ref":"#/components/schemas/GetImportResponseDtoProviderInfo"}},"required":["id","accountId","environmentId","channel","status","createdAt","documents","files"],"title":"GetImportResponseDto"}},"securitySchemes":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key authentication for programmatic access. Used by server-to-server integrations and API clients."},"accessTokenAuth":{"type":"apiKey","in":"header","name":"x-access-token","description":"Access token authentication for web users. Used by browser-based applications and authenticated user sessions."}}}}