# Upload a ZIP file for fraud analysis This endpoint allows you to upload a ZIP file to analyze contained image and document files in the context of a specific case. Note that due to our compute heavy analysis features, requests with many or large files can take longer than usual to complete. Thus, the request timeout is set to an extended period of 120s, although this is much longer than the average request will take. Endpoint: POST /v2/fraudscanner Version: v2.4.0 Security: apiKeyAuth ## Header parameters: - `x-api-key` (string, required) The API key for authentication. - `caseNumber` (string, required) A case number to assign to the request. Typically matches the one that you use internally to track the files you're sending us. - `issueDate` (string) The issue date of the case, if available. - `language` (string) The language setting for the request; currently only used for the language of the generated analysis report. Defaults to 'de' (German). Enum: "de", "en", "pl" - `Accept` (string) Optionally set the desired response media type. Use application/json for a JSON response with Base64-encoded attachments grouped by category (actual files: PDFs, PNGs, etc.; no ZIP bundles). If the header is not set, or if multipart/mixed or / is set, the server will respond with JSON plus one or more ZIP attachments (e.g., heatmaps, reports), combined in a multipart response. This is the standard way to consume the FraudScanner API. Enum: "application/json", "multipart/mixed", "*/*" ## Request fields (multipart/form-data): - `file` (string, required) The ZIP file to be uploaded for analysis. ## Response 200 fields (application/json): - `suspicion_level` (string) An indicator as to how suspicious the contents of the request were. Is calculated from the suspicion levels of the contained files. Enum: "Green", "Yellow", "Red" - `Files` (object) A mapping of filename to file analysis results. - `caseNumber` (string) The case number assigned to the request. Example: "Case 123A" - `sessionId` (string) A unique identifier generated for the request. Example: "5a8d8fd2-3317-4964-8298-caa96cd5cfa3" - `modelVersions` (object) Overview of the internal VAARHAFT AI models used for classification. - `modelVersions.generatedModelVersion` (string) The VAARHAFT AI model used for detection of AI generated images. Example: "vh-gen-uranus" - `modelVersions.tamperedModelVersion` (string) The VAARHAFT AI model used for detection of edited images. Example: "vh-tp-venus" - `modelVersions.semanticModelVersion` (string) The VAARHAFT AI model used for semantic analysis of images. Example: "vh-sem-mars" - `tokensConsumed` (integer) The amount of API tokens that were consumed by this request, depending for example on the number and types of processed files. Example: 12 - `attachments` (object) Map of 'categories-to-lists' for attachment objects (only relevant for pure JSON responses; see 'Accept'-header). Attachments are base64 encoded strings of the raw files. Categories: - analysis_report (PDF files) - heatmaps (PNG files) - thumbnails (PNG files) - reverse_search_downloads (different formats) - pdf_versions (PDF files) - `attachments.heatmaps` (array) Example: [{"filename":"[HEATMAP]-3a35b619-4157-48cc-8e9a-443bd55f1edc.png","mime_type":"image/png","data_b64":"..."},{"filename":"[HEATMAP]-71bcd34e-025b-4efa-93f7-fac9f754c02c.png","mime_type":"image/png","data_b64":"..."}] - `attachments.heatmaps.filename` (string, required) Original filename of the attachment Example: "[HEATMAP]-3a35b619-4157-48cc-8e9a-443bd55f1edc.png" - `attachments.heatmaps.mime_type` (string, required) MIME type of the attachment Example: "image/png" - `attachments.heatmaps.data_b64` (string, required) Base64-encoded content of the attachment Example: "iVBORw0KGgoAAAANSUhEUgAA..." - `attachments.analysis_report` (array) Example: [{"filename":"[ANALYSIS-REPORT]-90211b82-a602-48b5-9cdf-2f189abbe7e7.pdf","mime_type":"application/pdf","data_b64":"..."}] ## Response 400 fields (application/json): - `detail` (string) Details about why the request was not successful. Example: "Some error details." ## Response 413 fields (application/json): - `detail` (string) Details about why the request was not successful. Example: "Some error details." ## Response 422 fields (application/json): - `detail` (string) Details about why the request was not successful. Example: "Some error details." ## Response 429 fields (application/json): - `detail` (string) Details about why the request was not successful. Example: "Some error details." ## Response 500 fields (application/json): - `detail` (string) Details about why the request was not successful. Example: "Some error details." ## Response 501 fields (application/json): - `detail` (string) Details about why the request was not successful. Example: "Some error details."