Developer Guide


This is the API documentation for MetaDefender Cluster API Gateway Public API. If you would like to evaluate or have any questions about this documentation, please contact us via our Contact Us form.


How to Interact with MetaDefender Cluster API Gateway using REST API

MetaDefender Cluster API Gateway is used to submit files for analysis, retrieve scan results, manage file processing, download processed files, and manage file batches. OPSWAT recommends using the JSON-based REST API. The available methods are documented below.

Note: MetaDefender Cluster API doesn't support chunk upload, however is recommended to stream the files to MetaDefender Cluster API Gateway as part of the upload process.


File Analysis Process

MetaDefender Cluster is a system with multiple components that work together to utilize the power of multiple MetaDefender Core instances. The system is designed to handle large volumes of files and provide high throughput for file analysis. The system can be deployed in a distributed manner, allowing for horizontal scaling and load balancing across multiple MetaDefender Core instances.

Below is a brief description of the API integration flow:

  1. Upload a file for analysis to MetaDefender Cluster API Gateway (POST /file), which returns the data_id: File Analysis.

  2. The following method can be used to retrieve the analysis report:

    • Polling: Fetch the result with previously received data_id (GET /file/{data_id} resource) until scan result belonging to data_id doesn't reach the 100 percent progress_percentage: (Fetch analysis result)

    Note: Too many data_id requests can reduce performance. It is enough to just check every few hundred milliseconds.

  3. Retrieve the analysis results anytime after the analysis is completed with hash for files (md5, sha1, sha256, sha512) by calling Fetch analysis result by hash.

    • The hash can be found in the scan results
  4. Retrieve processed file (sanitized, redacted, watermarked, etc.) after the analysis is complete.

    Note: Based on the configured retention policy, the files might be available for retrieval at a later time.


OPSWAT provides some sample codes on GitHub to make it easier to understand how the MetaDefender REST API works.

Server
http://localhost:8899
Server Variables
apiKey apikey

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

Fields
KeyIn
apikeyHeader

Auth

Authentication APIs

User authentication is done via username & password.

Login

Initiate a new session. Required for using protected REST APIs.

Auth
Request Body
objectobject
userstring

Username

passwordstring

User's password

POST /login
Copy
Responses
200

OK

objectobject
oms-csrf-tokenstring

The randomly generated token used to prevent CSRF attacks

session_idstring

The apikey used to make API calls which requires authentication

403

Invalid credentials

500

Unexpected event on server

Response
Copy

Logout

Destroy session for not using protected REST APIs.

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

POST /logout
Copy
Responses
200

OK

objectobject
responsestring
400

Bad Request.

403

Invalid user information.

500

Unexpected event on server

Response
Copy

Analysis

File analysis APIs

Submit each file to MetaDefender Cluster API Gateway individually or group them in batches. Each file submission will return a data_id which will be the unique identifier used to retrieve the analysis results.

Note: MetaDefender API doesn't support chunk upload. You shouldn't load the file in memory, is recommended to stream the files to MetaDefender Cluster API Gateway as part of the upload process.

Analyze File (Asynchronous mode)

Scanning a file using a specified workflow. Scan is done asynchronously and each scan request is tracked by data id of which result can be retrieved by API Fetch Scan Result.

Note: Chunked transfer encoding (applying header Transfer-Encoding: Chunked) is not supported on /file API. API Gateway only accepts file uploads with a known content length and a content type of application/octet-stream

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

filenamestring

The name of the submitted file

user_agentstring

user_agent header used to identify (and limit) access to a particular rule. For rule selection, rule header should be used.

rulestring

Select rule for the analysis, if no header given the default rule will be selected (URL encoded UTF-8 string of rule name)

batchstring

Batch id to scan with, coming from Initiate Batch (If it is not given, it will be a single file scan.)

archivepwdstring

Password for archive ( URL encoded UTF-8 string) Multiple passwords is also supported, format: archivepwdX

  • X: Could be empty
  • When having value, X must be a number >= 1

For example:

  • archivepwd1: "fox"
  • archivepwd2: "cow"
  • archivepwd3: "bear"
content-encodingstring

Content encoding of the file. This header is used to specify the encoding of the file content. The value should be a valid content encoding type, such as "base64", "gzip". This header is optional and can be omitted if the encoding is not applicable.

metadatastring

Could be utilized for:

  • Additional parameter for pre-defined post actions and external scanners (as a part of STDIN input).

  • Customized macro variable for watermarking text (Proactive DLP engine feature).

  • Additional context / verbose information for each file submission (appended into JSON response scan result).

It is strongly recommended to apply URL encoding before sending metadata to Metadefender Core to prevent unexpected issues related to encoding errors or unsafe characters.

engines-metadatastring

Since MetaDefender Core 5.0.0, preferred context / verbose information can be sent to the engines.

Please see the below pages for the details:

callbackurlstring

Client's URL where MetaDefender Cluster Callback Service will notify scan result back to whenever scan is finished (webhook model). * Format: protocol://<ip | domain>: * Example: http://10.0.1.100:8081/listenback * Supported protocol: HTTP / HTTPS * Supported host types: domain name, IPv4 (IPv6 not supported) * Method: POST

Note: The Callback URL is only supported when MetaDefender Cluster Callback Service is deployed, and MetaDefender Core version must be 5.16.1 or higher.

global-timeoutinteger

This custom global timeout (in seconds) will override the global timeout predefined in corresponding workflow rule.

Request Body
filefile
POST /file
Copy
Responses
200

Successful file submission

objectobject
data_idstring

Unique submission identifier. Use this value to reference the submission.

403

Invalid user information or Not Allowed

411

Content-Length header is missing from the request.

422

Body input is empty.

500

Unexpected event on server

503

Server is too busy. Try again later.

Response
Copy

Fetch Analysis Result

Retrieve scan results.

Scan is done asynchronously and each scan request is tracked by a data ID.

Initiating file scans and retrieving the results need to be done using two separate API calls. This request needs to be made multiple times until the scan is complete. Scan completion can be traced using scan_results.progress_percentage value from the response.

Note: The REST API also supports pagination for archive file result. A completed response description with archive detection:

  • extracted_files: information about extracted files
    • files_extracted_count: the number of extracted files
    • files_in_archive: array of files in archive
      • detected_by: number of engines reported threat
      • scanned_with: number of engines used for scanning the file
    • first_index: it tells that from which file (index of the file, 0 is the first) the result JSON contains information about extracted files. (default=0, min=0)
    • page_size: it tells how many files the result JSON contains information about (default=50, min=0, max=2000). So by default, the result JSON contains information about the first 50 extracted files.
    • worst_data_id: data id of the file that has the worst result in the archive
  • scan_results
    • last_file_scanned (stored only in memory, not in database): If available, the name of the most recent processed file

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

user_agentstring

user_agent header used to identify (and limit) access to a particular rule. For rule selection, rule header should be used.

Path Params
data_idstring

Unique submission identifier. Use this value to reference the submission.

Query String
firstinteger

The first item order in the list child files of archive file

minimum: 0

Default: 0

sizeinteger

The number of items to be fetched next, counting from the item order indicated in first header. The default value is 50, and the maximum value is 2000.

maximum: 2000

minimum: 0

Default: 50

GET /file/{data_id}
Copy
Responses
200

Entire analysis report generated by MetaDefender Core

objectobject
data_idstring

data identifier of the requested file

dlp_infoobject

Full report from Proactive DLP

certaintystring

Describes how certain the hit is, possible values:

  • Very Low
  • Low
  • Medium
  • High
  • Very High

Enum: Very Low,Low,Medium,High,Very High

errorsobject

A list of error objects (empty if no errors happened), each error object contains following keys:

  • scan: scan related error description
  • redact: redaction related error description
  • watermark: watermark related error description
  • metadata_removal: metadata removal related error description
filenamestring

Output processed file name (pre-configured on engine settings under Core's worflow rule)

hitsobject

Detailed results that contains as key the type of matched rule:

  • ccn (credit card number),
  • ssn (social security number),
  • regex_ (regular expression with an index in order to differentiate the RegEx rules if there are more.)
ccnobject
display_namestring

Credit Card Number, Social Security Number, or in case of RegEx, the name of the rule that has been given by the user

hitsarray[object]

A list of detections that matched this rule/pattern.

afterstring

The context after the matched data.

beforestring

The context before the matched data.

certaintystring

The text version of "certainty_score", possible values:

  • Very Low
  • Low
  • Medium
  • High
  • Very High

Enum: Very Low,Low,Medium,High,Very High

certainty_scoreinteger

Is defined by the relevance of the given hit in its context. It is calculated based on multiple factors such as the number of digits, possible values: [0-100]

hitstring

The matched data.

locationstring

The location of the hit that is found in a file.

severityinteger

(NOTE: this field is deprecated): can be 0 (detected) or 1 (suspicious).

Enum: 0,1

tryRedactboolean

If file was redacted or not.

metadata_removalobject

Result of metadata removal.

resultstring

Result of the metadata removal process, possible values:

  • removed
  • not removed
  • failed to remove

Enum: removed,not removed,failed to remove

redactobject

Result of redaction process.

resultstring

Result of the redaction process, possible values:

  • redacted
  • not redacted
  • failed to redact

Enum: redacted,not redacted,failed to redact

severityinteger

(NOTE: this field is deprecated): represents the severity of the data loss, possible values:

  • 0 - Certainly is data loss
  • 1 - Might be data loss

Enum: 0,1

verdictinteger

The overall result for the scanned file. Possible values:

  • 0 - Clean
  • 1 - Found matched data
  • 2 - Suspicious
  • 3 - Failed
  • 4 - Not scanned

Enum: 0,1,2,3,4

watermarkobject

Result of watermarking process.

resultstring

Result of the watermarking process, possible values:

  • added
  • not added
  • failed to add

Enum: added,not added,failed to add

download_infoobject

The downloading status.

error_detailstring

Revealed detailed reason why the download failed.

progressnumber

Only applicable when "status" is Downloading, indicates download finished percentage, in a range of [1, 99].

  • Once hitting 100, the status will be changed to Download Success.
  • or other problematic status (Download Cancelled, Download Failed) if the download stopped unexpectedly.
statusstring

Indicates download status, which could be either

  • Downloading
    • Check progress key value for actual download percentage
      "download_info": {
          "progress": 7,
          "status": "Downloading",
          "url": "http://192.168.200.97:8080/5gb.zip"
      }
  • Download Success
      "download_info": {
          "status": "Download Success",
          "url": "https://secure.eicar.org/eicar.com"
      }
  • Download Failed
    • Check error_detail key value for an error explanation
      "download_info": {
          "error_detail": "Connection error",
          "status": "Download Failed",
          "url": "http://192.168.200.97:8080/2gb.zip"
      }
  • Download Timeout
    • Expecting to occur when the download progress takes longer than what time window allowed in MetaDefender Core's pre-configured setting under workflow rule (under "SCAN" tab)
      "download_info": {
          "status": "Download Timeout",
          "url": "http://192.168.200.97:8080/2gb.zip"
      }
  • Download Cancelled
    • Expecting to occur when user explicitly cancelled that file scan request, or batch request that the scan belongs to
      "download_info": {
          "status": "Download Cancelled",
          "url": "http://192.168.200.97:8080/5gb.zip"
      }
urlstring

Original download link which was specified in HTTP(S) request's downloadfrom header

extraction_infoobject

Details for archive extraction.

decrypted_statusstring

Indicate that decryption phase is successful or not.

Enum: Success,Failed

err_categorystring

Error category

err_codeinteger

Error code

err_detailsstring

Error message

is_encrypted_fileboolean

Indicate if file is password-protected or not.

file_infoobject

basic information of the scanned file

display_namestring

The filename reported via filename header.

file_sizeinteger

Total file size in bytes.

file_typestring

The filetype using mimetype.

file_type_descriptionstring

The filetype in human readable format.

md5string

File's MD5 hash.

sha1string

File's SHA1 hash.

sha256string

File's SHA256 Hash.

sha512string

File's SHA512 Hash.

signer_infosarray[object]

Digital signature information of the scanned file.

digest_algorithmstring

Digest algorithm.

digest_encryption_algorithmstring

Encryption algorithm.

issuerstring

Entity that develops and registers the certificate.

serial_numberstring

Serial number of the certificate.

vendor_namestring

Entity that is issued a certificate and utilize it for creating a digital signature.

versionstring

Version of X.509 that is used in the certificate. This version field is zero-based.

  • 0: v1
  • 1: v2
  • 2: v3
type_categoryarray[string]

File type category.

  • A - Archive files
  • AP - Application
  • D - Document (Microsoft Office)
  • D_ENC - Encrypted Documents
  • E - Executables
  • G - Graphical format (JPG, PNG, GIF, etc.)
  • I - Disk image
  • M - Audio or video format
  • OPENSSL_ENC - OpenSSL Encrypted Files
  • P - PDF format
  • T - Text
  • Z - Mail messages
  • O - Other (anything that is not recognized as one of the above)

Enum: A,D,E,G,I,M,P,T,Z,O

receive_data_timestampstring

The timestamp when upload progress started (first byte received) (in milliseconds)

upload_timeinteger

Total time elapsed for upload process (in milliseconds).

upload_timestampstring

The timestamp when upload progress finished (all bytes received) (in milliseconds)

filetype_infoobject

response information from FileType engine

file_infoobject
descriptionstring

File type description

detected_bystring

Analyzer that detected the file type

encryptedboolean

File is password-protected or not

extensionsstring

File type extension

groupIDstring

File type category

groupIDsarray[string]

File type category.

  • A - Archive files
  • AP - Application
  • D - Document (Microsoft Office)
  • D_ENC - Encrypted Documents
  • E - Executables
  • G - Graphical format (JPG, PNG, GIF, etc.)
  • I - Disk image
  • M - Audio or video format
  • OPENSSL_ENC - OpenSSL Encrypted Files
  • P - PDF format
  • T - Text
  • Z - Mail messages
  • O - Other (anything that is not recognized as one of the above)

Enum: A,D,E,G,I,M,P,T,Z,O

group_descriptionstring

File type category description

likely_type_idsarray[object]

A list of likely file type IDs

scoreinteger

Likelihood score of the file type

typeIDstring

File type ID

typestring

MIME type

typeIDstring

File type ID

type_idsarray[string]

A list of file type IDs

final_verdictobject

Final verdict of the file type analysis.

verdictstring

Final verdict of the file type analysis.

Enum: allowed,blocked

verdict_explanationstring

Explanation of the final verdict.

is_file_type_mismatchboolean

Indicates if the file type does not match the expected type.

result_template_hashstring

SHA256 Hash of user-interface template. For web console only.

spoofing_infoobject

Spoofing information.

detection_resultstring

Result of the spoofing detection.

result_explanationstring

Explanation of the spoofing detection result.

result_overviewstring

Overview of the spoofing detection result.

opswatfilescan_infoobject

response information from OPSWAT Filescan engine

process_infoobject

Processing information

blocked_reasonstring

Provides the reason why the file is blocked (if so).

blocked_reasonsarray[string]

Provides the reason why the file is blocked in an array (if so).

file_type_skipped_scanboolean

Indicates if the input file's detected type was configured to skip scanning.

hash_timeinteger

Total time elapsed for computing hashes (in milliseconds).

outdated_dataarray[string]

array of flags - if occur - describing outdated data in the result, these can be

  • engineconfigurations: the configuration of any AV engine in Inventory > Modules has been modified since the item was processed
  • enginedefinitions: at least one of the AV engines the item was scanned with has a newer definition database
  • configuration: the process' rule - or any item used by the rule - was modified since the item was processed
  • sanitization: if item was sanitized this flag notifies that the sanitization information regarding this result is outdated, meaning the sanitized item is no longer available

Enum: engineconfigurations,enginedefinitions,configuration,sanitization

processing_timeinteger

Total time elapsed during processing file (in milliseconds).

processing_time_detailsobject

Processing time on each major workflow processing step.

av_scan_timeinteger

AV engines' processing time.

cdr_timeinteger

Deep CDR engine's sanitization time.

dlp_timeinteger

Proactive DLP engine's processing time.

extraction_timeinteger

Archive extraction engine's processing time.

filetype_timeinteger

FileType engine's processing time.

opswatfilescan_timeinteger

OPSWAT Filescan engine's processing time.

others_timeinteger

Total time elapsed for following processing tasks in the product (in milliseconds):

  • Decryption time (if receiving an encrypted file)
  • External scanner (if configured)
  • Post action (if configured)
  • Other internal processing time among components in the product
parse_dgsg_timeinteger

Digital signature analyzing time.

vul_timeinteger

Vulnerability engine's lookup time.

yara_timeinteger

YARA engine's processing time.

filetype_wait_timeinteger

FileType engine's wait time.

profilestring

The used rule name.

progress_percentageinteger

Percentage of processing completed (from 1-100).

queue_timeinteger

Total time elapsed for file processing task was waiting in MetaDefender Core’s queue until being picked up (queue_time = start_time - upload_timestamp) (in milliseconds).

resultstring

The final result of processing the file (Allowed / Blocked / Processing).

user_agentstring

Identifier for the REST Client that calls the API.

usernamestring

User identifier who submitted scan request earlier.

verdictsarray[string]

Aggregated list of potential issues.

post_processingobject

Contains information about result of sanitization process and any action done after finalizing the process using Post Actions.

actions_failedstring

Empty string if no action failed or list of failed actions, separated by "|".

actions_ranstring

List of successful actions, separated by "|". Empty string if otherwise.

converted_destinationstring

Contains the name of the sanitized file.

converted_tostring

Contains target type name of sanitization.

copy_move_destinationstring

Contains target type name of sanitization.

sanitization_detailsobject

Deep CDR module returns forensic info to describe what happened during the process in the case file was successfully sanitized.

cdr_wait_timeinteger

The time in milliseconds that the CDR process took to complete.

descriptionstring

Action was successful or not.

detailsarray[object]

List of all sanitized objects

actionstring

The type of action that was performed

Enum: sanitized,removed

countinteger

The number of objects that were sanitized/removed.

detailsobject

List of all sanitized objects of a sanitized embedded file

actionstring

The type of action that was performed

Enum: sanitized,removed

countinteger

The number of objects that were sanitized/removed.

object_detailsarray[string]

Additional information about the sanitized object

object_namestring

The object type that was sanitized/removed.

descriptionstring

Action was successful or not.

file_namestring

If an embedded file was sanitized.

object_detailsarray[string]

Additional information about the sanitized object

object_namestring

The object type that was sanitized/removed.

failure_categorystring

Deep CDR errors are classified into different categories.

For more details, please find Troubleshooting sanitization failures

resultstring

The result of the CDR process.

  • Sanitized: the file was successfully sanitized.
  • Sanitized failed: the file could not be sanitized due to an error during the process.
  • Sanitized skipped: the file was skipped from sanitization. Common reasons include the file being digitally signed or other policy-based exclusions.

Enum: Sanitized,Sanitized failed,Sanitized skipped

result_template_hashstring

The hash value of the result template, which is used for displaying results on the Core UI and for internal communication between MetaDefender Core and the Deep CDR engine. This value is intended for system use only and is not required for external integration.

sanitized_file_infoobject

Information of sanitized file. Only applicable to individual file sanitization, or original archive document sanitization level.

file_sizeinteger

Size of sanitized file in bytes.

sha256string

SHA256 hash of sanitized file.

verdictstring

The verdict of the CDR process.

  • blocked: the file is recommended for blocking by Deep CDR.
  • allowed: the file is recommended for allowing by Deep CDR as it found no reason to recommend blocking it.

Enum: blocked,allowed

verdict_explanationsarray[string]

The explanations for the verdict of the CDR process.

scan_resultsobject

Result of the scanning process.

data_idstring

Data ID of the requested file

progress_percentageinteger

Track analysis progress until reaches 100.

scan_all_result_astring

Processing result and its index

  • No Threat Detected: 0
  • Infected: 1
  • Suspicious: 2
  • Failed: 3
  • Whitelisted: 7
  • Blacklisted: 8
  • Exceeded Archive Depth: 9
  • Not Scanned: 10
  • Encrypted Archive: 12
  • Exceeded Archive Size: 13
  • Exceeded Archive File Number: 14
  • Password Protected Document: 15
  • Exceeded Archive Timeout: 16
  • Mismatch: 17
  • Potentially Vulnerable File: 18
  • Cancelled: 19
  • Sensitive Data Found: 20
  • Yara Rule Matched: 21
  • Potentially Unwanted: 22
  • Unsupported File Type: 23
  • Extraction Failed: 24
  • Scan Failed: 25
  • Suspicious Verdict by Sandbox: 26
  • Likely Malicious Verdict by Sandbox: 27
  • Malicious Verdict by Sandbox: 28
  • Blocked Verdict by Sandbox: 29
  • Blocked Verdict by Deep CDR: 30
  • Global Timeout Exceeded: 31
  • Vulnerable Verdict by SBOM: 32
  • Non-vulnerable Verdict by SBOM: 33
  • Blocked Verdict by SBOM: 34
  • Blocked by Post Action: 36
  • Known Bad: 38
  • Known Good: 39
  • Unknown: 40
  • Allowed Verdict by COO: 41
  • Blocked Verdict by COO: 42
  • Unknown Verdict by COO: 43
  • In Progress: 255
  • Skip Processing Fast Symlink: 1014

Enum: No Threat Detected,Infected,Suspicious,Failed,Whitelisted,Blacklisted,Exceeded Archive Depth,Not Scanned,Encrypted Archive,Exceeded Archive Size,Exceeded Archive File Number,Password Protected Document,Exceeded Archive Timeout,Mismatch,Potentially Vulnerable File,Cancelled,Sensitive Data Found,Yara Rule Matched,Potentially Unwanted,Unsupported File Type,Extraction Failed,Scan Failed,Suspicious Verdict by Sandbox,Likely Malicious Verdict by Sandbox,Malicious Verdict by Sandbox,Blocked Verdict by Sandbox,Blocked Verdict by Deep CDR,Global Timeout Exceeded,Vulnerable Verdict by SBOM,Non-vulnerable Verdict by SBOM,Blocked Verdict by SBOM,Blocked by Post Action,Known Bad,Known Good,Unknown,Allowed Verdict by COO,Blocked Verdict by COO,Unknown Verdict by COO,In Progress,Skip Processing Fast Symlink

scan_all_result_iinteger

Scan result as index in the Processing Results table above

Enum: 0,1,2,3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,36,38,39,40,41,42,43,255,1014

start_timestring

Timestamp when the scanning process starts.

total_avsinteger

Total number of scanning engines used as part of this analysis.

total_timeinteger

Total time elapsed during scan (in milliseconds).

scan_detailsobject

Scan results for each antivirus engine. The key is the name of the antivirus engine and the value is the result of the antivirus engine

ClamAVobject

Scan report per each engine.

def_timestring

The database definition time for this engine

eng_idstring

The unique identification string for the engine

locationstring

Where this engine is deployed (local/remote).

scan_result_iinteger

Scan result as index in the Processing Results table

scan_timeinteger

The time elapsed during scan with this engine (in milliseconds).

threat_foundstring

The threat name, IF scan result is Infected or Suspicious. Otherwise empty string or error message from the engine.

wait_timeinteger

Time elapsed between sending file to Core and receiving the result from the engine (in milliseconds).

vulnerability_infoobject

Contains all vulnerability information of the analysis result

resultobject

The result information provided by the OESIS Framework

codeinteger

The result code for vulnerability check, 0 means a successful check

hashstring

The file's SHA1 hash value

methodinteger

The method used by OESIS Framework, it should be 50700 every time.

Enum: 50700

timestampstring

Timestamp of the request issued

timinginteger

The vulnerability check's duration in milliseconds

detected_productobject

Detected products object is present if input hash has been found to correspond to verified product

has_kbboolean

Indicates whether any KBs or MSBs exist for this hash

has_vulnerabilityboolean

Indicates whether any vulnerabilities have been associated with the particular product

is_currentboolean

True if this product's patch level is current, defaults to true

productobject

Product data object

idinteger

The OPSWAT product id

namestring

The product name

remediation_linkstring

A link where product updates or patches can be obtained

severitystring

String description of Severity level:

  • LOW
  • MODERATE
  • IMPORTANT
  • CRITICAL
  • NOT_AVAILABLE
  • UNKNOWN

Enum: LOW,MODERATE,IMPORTANT,CRITICAL,NOT_AVAILABLE,UNKNOWN

sig_namestring

Product signature descriptor

signatureinteger

OPSWAT signature id

vendorobject

Vendor data object

idinteger

The OPSWAT vendor id

namestring

The vendor name

versionstring

The installed product version

version_dataobject

Object containing detailed patch information

count_behindinteger

The number of patches behind of the installed product

feed_idinteger

The remote feed ID used to determine patch level

versionstring

The current version of the product in the remote feed

vulnerabilitesarray[object]

A list of specific vulnerabilities

descriptionstring

A text description of the specific vulnerability

detailsobject

A set of optional vulnerability details

cpestring

A CPE product reference

cvestring

A CVE identification string

cvssobject

A set of cvss severity information

access-complexitystring

A CVSS access-complexity descriptor

access-vectorstring

A CVSS access-vector descriptor

authenticationstring

A CVSS authentication descriptor

availability-impactstring

A CVSS availability impact descriptor

confidentiality-impactstring

A CVSS confidentiality impact descriptor

generated-on-epochstring

An epoch timestamp indicating CVSS generation time

integrity-impactstring

A CVSS integrity impact descriptor

scorestring

A CVSS 10-point severity score

sourcestring

A CVSS source descriptor

cwestring

A CWE group identification string

last_modified_epochstring

An epoch timestamp indicating source last update time

published-epochstring

An epoch timestamp indicating source publishing time

referencesarray[string]

An array of external reference links

severitystring

String description of Severity level:

  • LOW
  • MODERATE
  • IMPORTANT
  • CRITICAL
  • NOT_AVAILABLE
  • UNKNOWN

Enum: LOW,MODERATE,IMPORTANT,CRITICAL,NOT_AVAILABLE,UNKNOWN

severity_indexinteger

A 5 point scale numerical description of Severity level with 5 being greatest and 0 being unknown

static_idinteger

An OPSWAT identifier for the vulnerability

verdictinteger

The vulnerability check's duration in milliseconds

  • 0 - No Vulnerability Found
  • 1 - Vulnerability Found
  • 3 - Failed
  • 16 - Processing Timed Out
yaraobject

Information on data that matched YARA rules

hitsobject

detailed results that contains the name of the matched rules and a description for each.

verdictinteger

The overall result for the analyzed file. Value will be one of the following: | index | status | |---------------|------------------------------| | 0 | Clean | | 1 | Found matched data | | 2 | Suspicious | | 3 | Failed | | 4 | Not scanned |

Enum: 0,1,2,3,4

400

Bad Request (e.g. header is invalid, apikey is missing or invalid, parameter value is invalid or out of range, etc).

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Fetch Analysis Result By Hash

Retrieve analysis result by hash

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

rulestring

Select rule for the analysis, if no header given the default rule will be selected (URL encoded UTF-8 string of rule name)

selfonlyboolean

Useful to archive hash lookup.

Allow specifying to only perform hash lookup against the original archive file self only, and skip searching all child files result within the original archive.

Default value is false.

timerangeinteger

Scoping down the recent number of hours that hash lookup task should start from till now, instead of searching the entire scan history in MetaDefender Cluster database.

Default value is 0. That means no time scope.

include-inprogressboolean

False (default): API will return "Not Found" if the verdict is in progress.

True: If the queried hash has a completed processing result before, API will return the completed processing result. If this hash doesn't have any completed processing result, API will return this In-progress result.

Path Params
md5|sha1|sha256|sha512string

Hash value to search. This can be md5, sha1, sha256, sha512

Query String
firstinteger

The first item order in the list child files of archive file

minimum: 0

Default: 0

sizeinteger

The number of items to be fetched next, counting from the item order indicated in first header. The default value is 50, and the maximum value is 2000.

maximum: 2000

minimum: 0

Default: 50

GET /hash/{md5|sha1|sha256|sha512}
Copy
Responses
200

Get information of file

objectobject
data_idstring

data identifier of the requested file

dlp_infoobject

Full report from Proactive DLP

certaintystring

Describes how certain the hit is, possible values:

  • Very Low
  • Low
  • Medium
  • High
  • Very High

Enum: Very Low,Low,Medium,High,Very High

errorsobject

A list of error objects (empty if no errors happened), each error object contains following keys:

  • scan: scan related error description
  • redact: redaction related error description
  • watermark: watermark related error description
  • metadata_removal: metadata removal related error description
filenamestring

Output processed file name (pre-configured on engine settings under Core's worflow rule)

hitsobject

Detailed results that contains as key the type of matched rule:

  • ccn (credit card number),
  • ssn (social security number),
  • regex_ (regular expression with an index in order to differentiate the RegEx rules if there are more.)
ccnobject
display_namestring

Credit Card Number, Social Security Number, or in case of RegEx, the name of the rule that has been given by the user

hitsarray[object]

A list of detections that matched this rule/pattern.

afterstring

The context after the matched data.

beforestring

The context before the matched data.

certaintystring

The text version of "certainty_score", possible values:

  • Very Low
  • Low
  • Medium
  • High
  • Very High

Enum: Very Low,Low,Medium,High,Very High

certainty_scoreinteger

Is defined by the relevance of the given hit in its context. It is calculated based on multiple factors such as the number of digits, possible values: [0-100]

hitstring

The matched data.

locationstring

The location of the hit that is found in a file.

severityinteger

(NOTE: this field is deprecated): can be 0 (detected) or 1 (suspicious).

Enum: 0,1

tryRedactboolean

If file was redacted or not.

metadata_removalobject

Result of metadata removal.

resultstring

Result of the metadata removal process, possible values:

  • removed
  • not removed
  • failed to remove

Enum: removed,not removed,failed to remove

redactobject

Result of redaction process.

resultstring

Result of the redaction process, possible values:

  • redacted
  • not redacted
  • failed to redact

Enum: redacted,not redacted,failed to redact

severityinteger

(NOTE: this field is deprecated): represents the severity of the data loss, possible values:

  • 0 - Certainly is data loss
  • 1 - Might be data loss

Enum: 0,1

verdictinteger

The overall result for the scanned file. Possible values:

  • 0 - Clean
  • 1 - Found matched data
  • 2 - Suspicious
  • 3 - Failed
  • 4 - Not scanned

Enum: 0,1,2,3,4

watermarkobject

Result of watermarking process.

resultstring

Result of the watermarking process, possible values:

  • added
  • not added
  • failed to add

Enum: added,not added,failed to add

download_infoobject

The downloading status.

error_detailstring

Revealed detailed reason why the download failed.

progressnumber

Only applicable when "status" is Downloading, indicates download finished percentage, in a range of [1, 99].

  • Once hitting 100, the status will be changed to Download Success.
  • or other problematic status (Download Cancelled, Download Failed) if the download stopped unexpectedly.
statusstring

Indicates download status, which could be either

  • Downloading
    • Check progress key value for actual download percentage
      "download_info": {
          "progress": 7,
          "status": "Downloading",
          "url": "http://192.168.200.97:8080/5gb.zip"
      }
  • Download Success
      "download_info": {
          "status": "Download Success",
          "url": "https://secure.eicar.org/eicar.com"
      }
  • Download Failed
    • Check error_detail key value for an error explanation
      "download_info": {
          "error_detail": "Connection error",
          "status": "Download Failed",
          "url": "http://192.168.200.97:8080/2gb.zip"
      }
  • Download Timeout
    • Expecting to occur when the download progress takes longer than what time window allowed in MetaDefender Core's pre-configured setting under workflow rule (under "SCAN" tab)
      "download_info": {
          "status": "Download Timeout",
          "url": "http://192.168.200.97:8080/2gb.zip"
      }
  • Download Cancelled
    • Expecting to occur when user explicitly cancelled that file scan request, or batch request that the scan belongs to
      "download_info": {
          "status": "Download Cancelled",
          "url": "http://192.168.200.97:8080/5gb.zip"
      }
urlstring

Original download link which was specified in HTTP(S) request's downloadfrom header

extraction_infoobject

Details for archive extraction.

decrypted_statusstring

Indicate that decryption phase is successful or not.

Enum: Success,Failed

err_categorystring

Error category

err_codeinteger

Error code

err_detailsstring

Error message

is_encrypted_fileboolean

Indicate if file is password-protected or not.

file_infoobject

basic information of the scanned file

display_namestring

The filename reported via filename header.

file_sizeinteger

Total file size in bytes.

file_typestring

The filetype using mimetype.

file_type_descriptionstring

The filetype in human readable format.

md5string

File's MD5 hash.

sha1string

File's SHA1 hash.

sha256string

File's SHA256 Hash.

sha512string

File's SHA512 Hash.

signer_infosarray[object]

Digital signature information of the scanned file.

digest_algorithmstring

Digest algorithm.

digest_encryption_algorithmstring

Encryption algorithm.

issuerstring

Entity that develops and registers the certificate.

serial_numberstring

Serial number of the certificate.

vendor_namestring

Entity that is issued a certificate and utilize it for creating a digital signature.

versionstring

Version of X.509 that is used in the certificate. This version field is zero-based.

  • 0: v1
  • 1: v2
  • 2: v3
type_categoryarray[string]

File type category.

  • A - Archive files
  • AP - Application
  • D - Document (Microsoft Office)
  • D_ENC - Encrypted Documents
  • E - Executables
  • G - Graphical format (JPG, PNG, GIF, etc.)
  • I - Disk image
  • M - Audio or video format
  • OPENSSL_ENC - OpenSSL Encrypted Files
  • P - PDF format
  • T - Text
  • Z - Mail messages
  • O - Other (anything that is not recognized as one of the above)

Enum: A,D,E,G,I,M,P,T,Z,O

receive_data_timestampstring

The timestamp when upload progress started (first byte received) (in milliseconds)

upload_timeinteger

Total time elapsed for upload process (in milliseconds).

upload_timestampstring

The timestamp when upload progress finished (all bytes received) (in milliseconds)

filetype_infoobject

response information from FileType engine

file_infoobject
descriptionstring

File type description

detected_bystring

Analyzer that detected the file type

encryptedboolean

File is password-protected or not

extensionsstring

File type extension

groupIDstring

File type category

groupIDsarray[string]

File type category.

  • A - Archive files
  • AP - Application
  • D - Document (Microsoft Office)
  • D_ENC - Encrypted Documents
  • E - Executables
  • G - Graphical format (JPG, PNG, GIF, etc.)
  • I - Disk image
  • M - Audio or video format
  • OPENSSL_ENC - OpenSSL Encrypted Files
  • P - PDF format
  • T - Text
  • Z - Mail messages
  • O - Other (anything that is not recognized as one of the above)

Enum: A,D,E,G,I,M,P,T,Z,O

group_descriptionstring

File type category description

likely_type_idsarray[object]

A list of likely file type IDs

scoreinteger

Likelihood score of the file type

typeIDstring

File type ID

typestring

MIME type

typeIDstring

File type ID

type_idsarray[string]

A list of file type IDs

final_verdictobject

Final verdict of the file type analysis.

verdictstring

Final verdict of the file type analysis.

Enum: allowed,blocked

verdict_explanationstring

Explanation of the final verdict.

is_file_type_mismatchboolean

Indicates if the file type does not match the expected type.

result_template_hashstring

SHA256 Hash of user-interface template. For web console only.

spoofing_infoobject

Spoofing information.

detection_resultstring

Result of the spoofing detection.

result_explanationstring

Explanation of the spoofing detection result.

result_overviewstring

Overview of the spoofing detection result.

opswatfilescan_infoobject

response information from OPSWAT Filescan engine

process_infoobject

Processing information

blocked_reasonstring

Provides the reason why the file is blocked (if so).

blocked_reasonsarray[string]

Provides the reason why the file is blocked in an array (if so).

file_type_skipped_scanboolean

Indicates if the input file's detected type was configured to skip scanning.

hash_timeinteger

Total time elapsed for computing hashes (in milliseconds).

outdated_dataarray[string]

array of flags - if occur - describing outdated data in the result, these can be

  • engineconfigurations: the configuration of any AV engine in Inventory > Modules has been modified since the item was processed
  • enginedefinitions: at least one of the AV engines the item was scanned with has a newer definition database
  • configuration: the process' rule - or any item used by the rule - was modified since the item was processed
  • sanitization: if item was sanitized this flag notifies that the sanitization information regarding this result is outdated, meaning the sanitized item is no longer available

Enum: engineconfigurations,enginedefinitions,configuration,sanitization

processing_timeinteger

Total time elapsed during processing file (in milliseconds).

processing_time_detailsobject

Processing time on each major workflow processing step.

av_scan_timeinteger

AV engines' processing time.

cdr_timeinteger

Deep CDR engine's sanitization time.

dlp_timeinteger

Proactive DLP engine's processing time.

extraction_timeinteger

Archive extraction engine's processing time.

filetype_timeinteger

FileType engine's processing time.

opswatfilescan_timeinteger

OPSWAT Filescan engine's processing time.

others_timeinteger

Total time elapsed for following processing tasks in the product (in milliseconds):

  • Decryption time (if receiving an encrypted file)
  • External scanner (if configured)
  • Post action (if configured)
  • Other internal processing time among components in the product
parse_dgsg_timeinteger

Digital signature analyzing time.

vul_timeinteger

Vulnerability engine's lookup time.

yara_timeinteger

YARA engine's processing time.

filetype_wait_timeinteger

FileType engine's wait time.

profilestring

The used rule name.

progress_percentageinteger

Percentage of processing completed (from 1-100).

queue_timeinteger

Total time elapsed for file processing task was waiting in MetaDefender Core’s queue until being picked up (queue_time = start_time - upload_timestamp) (in milliseconds).

resultstring

The final result of processing the file (Allowed / Blocked / Processing).

user_agentstring

Identifier for the REST Client that calls the API.

usernamestring

User identifier who submitted scan request earlier.

verdictsarray[string]

Aggregated list of potential issues.

post_processingobject

Contains information about result of sanitization process and any action done after finalizing the process using Post Actions.

actions_failedstring

Empty string if no action failed or list of failed actions, separated by "|".

actions_ranstring

List of successful actions, separated by "|". Empty string if otherwise.

converted_destinationstring

Contains the name of the sanitized file.

converted_tostring

Contains target type name of sanitization.

copy_move_destinationstring

Contains target type name of sanitization.

sanitization_detailsobject

Deep CDR module returns forensic info to describe what happened during the process in the case file was successfully sanitized.

cdr_wait_timeinteger

The time in milliseconds that the CDR process took to complete.

descriptionstring

Action was successful or not.

detailsarray[object]

List of all sanitized objects

actionstring

The type of action that was performed

Enum: sanitized,removed

countinteger

The number of objects that were sanitized/removed.

detailsobject

List of all sanitized objects of a sanitized embedded file

actionstring

The type of action that was performed

Enum: sanitized,removed

countinteger

The number of objects that were sanitized/removed.

object_detailsarray[string]

Additional information about the sanitized object

object_namestring

The object type that was sanitized/removed.

descriptionstring

Action was successful or not.

file_namestring

If an embedded file was sanitized.

object_detailsarray[string]

Additional information about the sanitized object

object_namestring

The object type that was sanitized/removed.

failure_categorystring

Deep CDR errors are classified into different categories.

For more details, please find Troubleshooting sanitization failures

resultstring

The result of the CDR process.

  • Sanitized: the file was successfully sanitized.
  • Sanitized failed: the file could not be sanitized due to an error during the process.
  • Sanitized skipped: the file was skipped from sanitization. Common reasons include the file being digitally signed or other policy-based exclusions.

Enum: Sanitized,Sanitized failed,Sanitized skipped

result_template_hashstring

The hash value of the result template, which is used for displaying results on the Core UI and for internal communication between MetaDefender Core and the Deep CDR engine. This value is intended for system use only and is not required for external integration.

sanitized_file_infoobject

Information of sanitized file. Only applicable to individual file sanitization, or original archive document sanitization level.

file_sizeinteger

Size of sanitized file in bytes.

sha256string

SHA256 hash of sanitized file.

verdictstring

The verdict of the CDR process.

  • blocked: the file is recommended for blocking by Deep CDR.
  • allowed: the file is recommended for allowing by Deep CDR as it found no reason to recommend blocking it.

Enum: blocked,allowed

verdict_explanationsarray[string]

The explanations for the verdict of the CDR process.

scan_resultsobject

Result of the scanning process.

data_idstring

Data ID of the requested file

progress_percentageinteger

Track analysis progress until reaches 100.

scan_all_result_astring

Processing result and its index

  • No Threat Detected: 0
  • Infected: 1
  • Suspicious: 2
  • Failed: 3
  • Whitelisted: 7
  • Blacklisted: 8
  • Exceeded Archive Depth: 9
  • Not Scanned: 10
  • Encrypted Archive: 12
  • Exceeded Archive Size: 13
  • Exceeded Archive File Number: 14
  • Password Protected Document: 15
  • Exceeded Archive Timeout: 16
  • Mismatch: 17
  • Potentially Vulnerable File: 18
  • Cancelled: 19
  • Sensitive Data Found: 20
  • Yara Rule Matched: 21
  • Potentially Unwanted: 22
  • Unsupported File Type: 23
  • Extraction Failed: 24
  • Scan Failed: 25
  • Suspicious Verdict by Sandbox: 26
  • Likely Malicious Verdict by Sandbox: 27
  • Malicious Verdict by Sandbox: 28
  • Blocked Verdict by Sandbox: 29
  • Blocked Verdict by Deep CDR: 30
  • Global Timeout Exceeded: 31
  • Vulnerable Verdict by SBOM: 32
  • Non-vulnerable Verdict by SBOM: 33
  • Blocked Verdict by SBOM: 34
  • Blocked by Post Action: 36
  • Known Bad: 38
  • Known Good: 39
  • Unknown: 40
  • Allowed Verdict by COO: 41
  • Blocked Verdict by COO: 42
  • Unknown Verdict by COO: 43
  • In Progress: 255
  • Skip Processing Fast Symlink: 1014

Enum: No Threat Detected,Infected,Suspicious,Failed,Whitelisted,Blacklisted,Exceeded Archive Depth,Not Scanned,Encrypted Archive,Exceeded Archive Size,Exceeded Archive File Number,Password Protected Document,Exceeded Archive Timeout,Mismatch,Potentially Vulnerable File,Cancelled,Sensitive Data Found,Yara Rule Matched,Potentially Unwanted,Unsupported File Type,Extraction Failed,Scan Failed,Suspicious Verdict by Sandbox,Likely Malicious Verdict by Sandbox,Malicious Verdict by Sandbox,Blocked Verdict by Sandbox,Blocked Verdict by Deep CDR,Global Timeout Exceeded,Vulnerable Verdict by SBOM,Non-vulnerable Verdict by SBOM,Blocked Verdict by SBOM,Blocked by Post Action,Known Bad,Known Good,Unknown,Allowed Verdict by COO,Blocked Verdict by COO,Unknown Verdict by COO,In Progress,Skip Processing Fast Symlink

scan_all_result_iinteger

Scan result as index in the Processing Results table above

Enum: 0,1,2,3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,36,38,39,40,41,42,43,255,1014

start_timestring

Timestamp when the scanning process starts.

total_avsinteger

Total number of scanning engines used as part of this analysis.

total_timeinteger

Total time elapsed during scan (in milliseconds).

scan_detailsobject

Scan results for each antivirus engine. The key is the name of the antivirus engine and the value is the result of the antivirus engine

ClamAVobject

Scan report per each engine.

def_timestring

The database definition time for this engine

eng_idstring

The unique identification string for the engine

locationstring

Where this engine is deployed (local/remote).

scan_result_iinteger

Scan result as index in the Processing Results table

scan_timeinteger

The time elapsed during scan with this engine (in milliseconds).

threat_foundstring

The threat name, IF scan result is Infected or Suspicious. Otherwise empty string or error message from the engine.

wait_timeinteger

Time elapsed between sending file to Core and receiving the result from the engine (in milliseconds).

vulnerability_infoobject

Contains all vulnerability information of the analysis result

resultobject

The result information provided by the OESIS Framework

codeinteger

The result code for vulnerability check, 0 means a successful check

hashstring

The file's SHA1 hash value

methodinteger

The method used by OESIS Framework, it should be 50700 every time.

Enum: 50700

timestampstring

Timestamp of the request issued

timinginteger

The vulnerability check's duration in milliseconds

detected_productobject

Detected products object is present if input hash has been found to correspond to verified product

has_kbboolean

Indicates whether any KBs or MSBs exist for this hash

has_vulnerabilityboolean

Indicates whether any vulnerabilities have been associated with the particular product

is_currentboolean

True if this product's patch level is current, defaults to true

productobject

Product data object

idinteger

The OPSWAT product id

namestring

The product name

remediation_linkstring

A link where product updates or patches can be obtained

severitystring

String description of Severity level:

  • LOW
  • MODERATE
  • IMPORTANT
  • CRITICAL
  • NOT_AVAILABLE
  • UNKNOWN

Enum: LOW,MODERATE,IMPORTANT,CRITICAL,NOT_AVAILABLE,UNKNOWN

sig_namestring

Product signature descriptor

signatureinteger

OPSWAT signature id

vendorobject

Vendor data object

idinteger

The OPSWAT vendor id

namestring

The vendor name

versionstring

The installed product version

version_dataobject

Object containing detailed patch information

count_behindinteger

The number of patches behind of the installed product

feed_idinteger

The remote feed ID used to determine patch level

versionstring

The current version of the product in the remote feed

vulnerabilitesarray[object]

A list of specific vulnerabilities

descriptionstring

A text description of the specific vulnerability

detailsobject

A set of optional vulnerability details

cpestring

A CPE product reference

cvestring

A CVE identification string

cvssobject

A set of cvss severity information

access-complexitystring

A CVSS access-complexity descriptor

access-vectorstring

A CVSS access-vector descriptor

authenticationstring

A CVSS authentication descriptor

availability-impactstring

A CVSS availability impact descriptor

confidentiality-impactstring

A CVSS confidentiality impact descriptor

generated-on-epochstring

An epoch timestamp indicating CVSS generation time

integrity-impactstring

A CVSS integrity impact descriptor

scorestring

A CVSS 10-point severity score

sourcestring

A CVSS source descriptor

cwestring

A CWE group identification string

last_modified_epochstring

An epoch timestamp indicating source last update time

published-epochstring

An epoch timestamp indicating source publishing time

referencesarray[string]

An array of external reference links

severitystring

String description of Severity level:

  • LOW
  • MODERATE
  • IMPORTANT
  • CRITICAL
  • NOT_AVAILABLE
  • UNKNOWN

Enum: LOW,MODERATE,IMPORTANT,CRITICAL,NOT_AVAILABLE,UNKNOWN

severity_indexinteger

A 5 point scale numerical description of Severity level with 5 being greatest and 0 being unknown

static_idinteger

An OPSWAT identifier for the vulnerability

verdictinteger

The vulnerability check's duration in milliseconds

  • 0 - No Vulnerability Found
  • 1 - Vulnerability Found
  • 3 - Failed
  • 16 - Processing Timed Out
yaraobject

Information on data that matched YARA rules

hitsobject

detailed results that contains the name of the matched rules and a description for each.

verdictinteger

The overall result for the analyzed file. Value will be one of the following: | index | status | |---------------|------------------------------| | 0 | Clean | | 1 | Found matched data | | 2 | Suspicious | | 3 | Failed | | 4 | Not scanned |

Enum: 0,1,2,3,4

404

Invalid hash format

Response
Copy

Fetching Available Analysis Rules

Retrieve all available rules with their custom configurations. Fetching available processing rules.

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication. Only those rules are returned, that:

  • Match the apikey's role sent using the apikey header, or
  • Are not restricted to a specific role.
user_agentstring

The user agent string value sent in the header (specified by the client).

Only those rules are returned, that:

  • Match the client's user agent sent using the user_agent header, or
  • Are not restricted to a specific user agent.

For details see KB article What are Security Policies and how do I use them?.

GET /file/rules
Copy
Responses
200

Returns the list of available rules.

arrayarray[object]
max_file_sizeinteger

The maximum allowed file size (in bytes) for this rule.

namestring

A unique identifier for identify in the used rule for a scan..

global_timeoutobject

The global timeout for the rule in seconds. If the rule takes longer than this time, it will be stopped.

valueinteger

The timeout value in seconds.

enabledboolean

Indicates whether the global timeout is enabled.

500

Unexpected event on server

Response
Copy

Download Sanitized Files

Retrieve sanitized file based on the data_id

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

Path Params
data_idstring

The data_id comes from the result of Analyze a file. In case of sanitizing the content of an archive, the data_id of contained file can be found in Fetch analysis result.

GET /file/converted/{data_id}
Copy
Responses
200

Returns the sanitized content.

filefile
404

Requests resource was not found.

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Download either sanitized files or DLP processed files

Retrieve sanitized file based on the data_id. In case there's no sanitized file, and DLP processed file is available, user will retrieve DLP processed file.

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

Path Params
data_idstring

The data_id comes from the result of Analyze a file. In case of sanitizing the content of an archive, the data_id of contained file can be found in Fetch analysis result.

GET /file/download/{data_id}
Copy
Responses
200

Returns the sanitized or DLP processed content.

filefile
404

File could not be found

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Cancel File Analysis

When cancelling a file analysis, the connected analysis (e.g. files in an archive) that are still in progress will be cancelled also.

The cancelled analysis will be automatically closed.

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

Path Params
data_idstring

Unique submission identifier. Use this value to reference the submission.

POST /file/{data_id}/cancel
Copy
Responses
200

Analysis was sucessfully cancelled.

objectobject
400

Bad Request (e.g. header is invalid, apikey is missing or invalid, parameter value is invalid or out of range, etc).

403

Invalid user information or Not Allowed

404

Data ID not found (invalid id) or Requests resource was not found

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Query webhook status

Prior to being notified when webhook mode is enabled, the client can request MetaDefender Cluster API Gateway for the file processing webhook status at any time.

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

Path Params
data_idstring

The data_id of the file to query.

GET /file/webhook/{data_id}
Copy
Responses
200

Webhook status is fetched successfully.

objectobject
data_idstring

The file submission identifier

request_timestring

A timestamp when the request has been made.

status_codeinteger

What was the returned HTTP status code.

  • 200 - Callback was sent successfully
  • 403 - ContentAccessDenied. The access to the remote content was denied (similar to HTTP(S) error 401).
  • 404 - ContentNotFoundError. The remote content was not found at the server (similar to HTTP(S) error 404).
  • 408 - TimeoutError. The connection to the remote server timed out.
  • 503 - HostNotFoundError. The remote host name was not found (invalid hostname).
  • 520 - RemoteHostClosedError. The remote server closed the connection prematurely, before the entire reply was received and processed.
  • 444 - Other error types.
urlstring

What was the called URL (should match the callbackurl header).

400

Bad Request (e.g. header is invalid, apikey is missing or invalid, parameter value is invalid or out of range, etc).

403

Invalid user information or Not Allowed

404

Requests resource was not found.

500

Unexpected event on server

Response
Copy

Batch

Group the analysis requests in batches. Supported with endpoints: MetaDefender Cluster API Gateway.

Initiate Batch

Create a new batch and retrieve the batch_id

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

rulestring

Select rule for the analysis, if no header given the default rule will be selected (URL encoded UTF-8 string of rule name)

user_agentstring

user_agent header used to identify (and limit) access to a particular rule. For rule selection, rule header should be used.

user-datastring

Name of the batch (max 1024 bytes, URL encoded UTF-8 string).

POST /file/batch
Copy
Responses
200

Batch created successfully.

objectobject
batch_idstring

The batch identifier used to submit files in the batch and to close the batch.

400

Bad Request (e.g. header is invalid, apikey is missing or invalid, parameter value is invalid or out of range, etc).

403

Invalid user information or Not Allowed

500

Unexpected event on server

Response
Copy

Close Batch

The batch will be closed and files can no longer be added to the current batch.

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

Path Params
batchIdstring

The batch identifier used to submit files in the batch and to close the batch.

POST /file/batch/{batchId}/close
Copy
Responses
200

Batch successfully closed.

objectobject

The response for a Batch status request.

batch_filesobject

Information about the files included in this batch.

batch_countinteger

The total number of files/entries in the batch.

current_finished_filesinteger

The total number of files/entries that have been fully processed in the batch.

files_in_batcharray[object]

The list of files in the batch.

data_idstring

Unique identifer for the file.

detected_byinteger

Total number of engines that detected this file.

display_namestring

The filename reported via filename header.

file_sizeinteger

Total file size in bytes.

file_typestring

The filetype using mimetype.

file_type_descriptionstring

The filetype in human readable format.

process_infoobject

The analysis summary

blocked_reasonstring

Provides the reason why the file is blocked (if so).

progress_percentageinteger

Percentage of processing completed (from 1-100).

resultstring

The final result of processing the file (Allowed / Blocked / Processing).

verdictsarray[string]

Aggregated list of potential issues.

progress_percentageinteger

Track analysis progress until reaches 100.

scan_all_result_astring

Processing result and its index

  • No Threat Detected: 0
  • Infected: 1
  • Suspicious: 2
  • Failed: 3
  • Whitelisted: 7
  • Blacklisted: 8
  • Exceeded Archive Depth: 9
  • Not Scanned: 10
  • Encrypted Archive: 12
  • Exceeded Archive Size: 13
  • Exceeded Archive File Number: 14
  • Password Protected Document: 15
  • Exceeded Archive Timeout: 16
  • Mismatch: 17
  • Potentially Vulnerable File: 18
  • Cancelled: 19
  • Sensitive Data Found: 20
  • Yara Rule Matched: 21
  • Potentially Unwanted: 22
  • Unsupported File Type: 23
  • Extraction Failed: 24
  • Scan Failed: 25
  • Suspicious Verdict by Sandbox: 26
  • Likely Malicious Verdict by Sandbox: 27
  • Malicious Verdict by Sandbox: 28
  • Blocked Verdict by Sandbox: 29
  • Blocked Verdict by Deep CDR: 30
  • Global Timeout Exceeded: 31
  • Vulnerable Verdict by SBOM: 32
  • Non-vulnerable Verdict by SBOM: 33
  • Blocked Verdict by SBOM: 34
  • Blocked by Post Action: 36
  • Known Bad: 38
  • Known Good: 39
  • Unknown: 40
  • Allowed Verdict by COO: 41
  • Blocked Verdict by COO: 42
  • Unknown Verdict by COO: 43
  • In Progress: 255
  • Skip Processing Fast Symlink: 1014

Enum: No Threat Detected,Infected,Suspicious,Failed,Whitelisted,Blacklisted,Exceeded Archive Depth,Not Scanned,Encrypted Archive,Exceeded Archive Size,Exceeded Archive File Number,Password Protected Document,Exceeded Archive Timeout,Mismatch,Potentially Vulnerable File,Cancelled,Sensitive Data Found,Yara Rule Matched,Potentially Unwanted,Unsupported File Type,Extraction Failed,Scan Failed,Suspicious Verdict by Sandbox,Likely Malicious Verdict by Sandbox,Malicious Verdict by Sandbox,Blocked Verdict by Sandbox,Blocked Verdict by Deep CDR,Global Timeout Exceeded,Vulnerable Verdict by SBOM,Non-vulnerable Verdict by SBOM,Blocked Verdict by SBOM,Blocked by Post Action,Known Bad,Known Good,Unknown,Allowed Verdict by COO,Blocked Verdict by COO,Unknown Verdict by COO,In Progress,Skip Processing Fast Symlink

scan_all_result_iinteger

Scan result as index in the Processing Results table above

Enum: 0,1,2,3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,36,38,39,40,41,42,43,255,1014

scanned_withinteger

The total number of engines used to analyze this file.

first_indexinteger

The starting index in the batch. Used for pagination.

page_sizeinteger

The number of entries per page.

batch_idstring

The batch unique identifer

is_closedboolean

The batch status (open/close).

process_infoobject

Overall batch process result

blocked_reasonstring

Provides the reason why the file is blocked (if so).

file_type_skipped_scanboolean

Indicates if the input file's detected type was configured to skip scanning.

profilestring

The used rule name.

resultstring

The final result of processing the file (Allowed / Blocked / Processing).

user_agentstring

Identifier for the REST Client that calls the API.

usernamestring

User identifier who submitted scan request earlier.

scan_resultsobject

Metascan analysis result.

batch_idstring

The batch unique identifer

scan_all_result_astring

Processing result and its index

  • No Threat Detected: 0
  • Infected: 1
  • Suspicious: 2
  • Failed: 3
  • Whitelisted: 7
  • Blacklisted: 8
  • Exceeded Archive Depth: 9
  • Not Scanned: 10
  • Encrypted Archive: 12
  • Exceeded Archive Size: 13
  • Exceeded Archive File Number: 14
  • Password Protected Document: 15
  • Exceeded Archive Timeout: 16
  • Mismatch: 17
  • Potentially Vulnerable File: 18
  • Cancelled: 19
  • Sensitive Data Found: 20
  • Yara Rule Matched: 21
  • Potentially Unwanted: 22
  • Unsupported File Type: 23
  • Extraction Failed: 24
  • Scan Failed: 25
  • Suspicious Verdict by Sandbox: 26
  • Likely Malicious Verdict by Sandbox: 27
  • Malicious Verdict by Sandbox: 28
  • Blocked Verdict by Sandbox: 29
  • Blocked Verdict by Deep CDR: 30
  • Global Timeout Exceeded: 31
  • Vulnerable Verdict by SBOM: 32
  • Non-vulnerable Verdict by SBOM: 33
  • Blocked Verdict by SBOM: 34
  • Blocked by Post Action: 36
  • Known Bad: 38
  • Known Good: 39
  • Unknown: 40
  • Allowed Verdict by COO: 41
  • Blocked Verdict by COO: 42
  • Unknown Verdict by COO: 43
  • In Progress: 255
  • Skip Processing Fast Symlink: 1014

Enum: No Threat Detected,Infected,Suspicious,Failed,Whitelisted,Blacklisted,Exceeded Archive Depth,Not Scanned,Encrypted Archive,Exceeded Archive Size,Exceeded Archive File Number,Password Protected Document,Exceeded Archive Timeout,Mismatch,Potentially Vulnerable File,Cancelled,Sensitive Data Found,Yara Rule Matched,Potentially Unwanted,Unsupported File Type,Extraction Failed,Scan Failed,Suspicious Verdict by Sandbox,Likely Malicious Verdict by Sandbox,Malicious Verdict by Sandbox,Blocked Verdict by Sandbox,Blocked Verdict by Deep CDR,Global Timeout Exceeded,Vulnerable Verdict by SBOM,Non-vulnerable Verdict by SBOM,Blocked Verdict by SBOM,Blocked by Post Action,Known Bad,Known Good,Unknown,Allowed Verdict by COO,Blocked Verdict by COO,Unknown Verdict by COO,In Progress,Skip Processing Fast Symlink

scan_all_result_iinteger

Scan result as index in the Processing Results table above

Enum: 0,1,2,3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,36,38,39,40,41,42,43,255,1014

start_timestring

Timestamp when the scanning process starts.

total_avsinteger

Total number of scanning engines used as part of this analysis. Not like files, batch is not processed by engine, so this value is always 0.

total_timeinteger

Total time elapsed during scan (in milliseconds).

user_datastring

Metadata submitted at batch creation.

400

Bad Request (e.g. header is invalid, apikey is missing or invalid, parameter value is invalid or out of range, etc).

403

Invalid user information or Not Allowed

404

Requests resource was not found.

500

Unexpected event on server

Response
Copy

Status of Batch Analysis

Retrieve status report for the entire batch

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

Path Params
batchIdstring

The batch identifier used to submit files in the batch and to close the batch.

Query String
firstinteger

The first item order in the list of files in this batch

minimum: 0

Default: 0

sizeinteger

The number of items to be fetched next, counting from the item order indicated in first header. The default value is 50, and the maximum value is 2000.

maximum: 2000

minimum: 0

Default: 50

GET /file/batch/{batchId}
Copy
Responses
200

Batch progress paginated report (50 entries/page).

objectobject

The response for a Batch status request.

batch_filesobject

Information about the files included in this batch.

batch_countinteger

The total number of files/entries in the batch.

current_finished_filesinteger

The total number of files/entries that have been fully processed in the batch.

files_in_batcharray[object]

The list of files in the batch.

data_idstring

Unique identifer for the file.

detected_byinteger

Total number of engines that detected this file.

display_namestring

The filename reported via filename header.

file_sizeinteger

Total file size in bytes.

file_typestring

The filetype using mimetype.

file_type_descriptionstring

The filetype in human readable format.

process_infoobject

The analysis summary

blocked_reasonstring

Provides the reason why the file is blocked (if so).

progress_percentageinteger

Percentage of processing completed (from 1-100).

resultstring

The final result of processing the file (Allowed / Blocked / Processing).

verdictsarray[string]

Aggregated list of potential issues.

progress_percentageinteger

Track analysis progress until reaches 100.

scan_all_result_astring

Processing result and its index

  • No Threat Detected: 0
  • Infected: 1
  • Suspicious: 2
  • Failed: 3
  • Whitelisted: 7
  • Blacklisted: 8
  • Exceeded Archive Depth: 9
  • Not Scanned: 10
  • Encrypted Archive: 12
  • Exceeded Archive Size: 13
  • Exceeded Archive File Number: 14
  • Password Protected Document: 15
  • Exceeded Archive Timeout: 16
  • Mismatch: 17
  • Potentially Vulnerable File: 18
  • Cancelled: 19
  • Sensitive Data Found: 20
  • Yara Rule Matched: 21
  • Potentially Unwanted: 22
  • Unsupported File Type: 23
  • Extraction Failed: 24
  • Scan Failed: 25
  • Suspicious Verdict by Sandbox: 26
  • Likely Malicious Verdict by Sandbox: 27
  • Malicious Verdict by Sandbox: 28
  • Blocked Verdict by Sandbox: 29
  • Blocked Verdict by Deep CDR: 30
  • Global Timeout Exceeded: 31
  • Vulnerable Verdict by SBOM: 32
  • Non-vulnerable Verdict by SBOM: 33
  • Blocked Verdict by SBOM: 34
  • Blocked by Post Action: 36
  • Known Bad: 38
  • Known Good: 39
  • Unknown: 40
  • Allowed Verdict by COO: 41
  • Blocked Verdict by COO: 42
  • Unknown Verdict by COO: 43
  • In Progress: 255
  • Skip Processing Fast Symlink: 1014

Enum: No Threat Detected,Infected,Suspicious,Failed,Whitelisted,Blacklisted,Exceeded Archive Depth,Not Scanned,Encrypted Archive,Exceeded Archive Size,Exceeded Archive File Number,Password Protected Document,Exceeded Archive Timeout,Mismatch,Potentially Vulnerable File,Cancelled,Sensitive Data Found,Yara Rule Matched,Potentially Unwanted,Unsupported File Type,Extraction Failed,Scan Failed,Suspicious Verdict by Sandbox,Likely Malicious Verdict by Sandbox,Malicious Verdict by Sandbox,Blocked Verdict by Sandbox,Blocked Verdict by Deep CDR,Global Timeout Exceeded,Vulnerable Verdict by SBOM,Non-vulnerable Verdict by SBOM,Blocked Verdict by SBOM,Blocked by Post Action,Known Bad,Known Good,Unknown,Allowed Verdict by COO,Blocked Verdict by COO,Unknown Verdict by COO,In Progress,Skip Processing Fast Symlink

scan_all_result_iinteger

Scan result as index in the Processing Results table above

Enum: 0,1,2,3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,36,38,39,40,41,42,43,255,1014

scanned_withinteger

The total number of engines used to analyze this file.

first_indexinteger

The starting index in the batch. Used for pagination.

page_sizeinteger

The number of entries per page.

batch_idstring

The batch unique identifer

is_closedboolean

The batch status (open/close).

process_infoobject

Overall batch process result

blocked_reasonstring

Provides the reason why the file is blocked (if so).

file_type_skipped_scanboolean

Indicates if the input file's detected type was configured to skip scanning.

profilestring

The used rule name.

resultstring

The final result of processing the file (Allowed / Blocked / Processing).

user_agentstring

Identifier for the REST Client that calls the API.

usernamestring

User identifier who submitted scan request earlier.

scan_resultsobject

Metascan analysis result.

batch_idstring

The batch unique identifer

scan_all_result_astring

Processing result and its index

  • No Threat Detected: 0
  • Infected: 1
  • Suspicious: 2
  • Failed: 3
  • Whitelisted: 7
  • Blacklisted: 8
  • Exceeded Archive Depth: 9
  • Not Scanned: 10
  • Encrypted Archive: 12
  • Exceeded Archive Size: 13
  • Exceeded Archive File Number: 14
  • Password Protected Document: 15
  • Exceeded Archive Timeout: 16
  • Mismatch: 17
  • Potentially Vulnerable File: 18
  • Cancelled: 19
  • Sensitive Data Found: 20
  • Yara Rule Matched: 21
  • Potentially Unwanted: 22
  • Unsupported File Type: 23
  • Extraction Failed: 24
  • Scan Failed: 25
  • Suspicious Verdict by Sandbox: 26
  • Likely Malicious Verdict by Sandbox: 27
  • Malicious Verdict by Sandbox: 28
  • Blocked Verdict by Sandbox: 29
  • Blocked Verdict by Deep CDR: 30
  • Global Timeout Exceeded: 31
  • Vulnerable Verdict by SBOM: 32
  • Non-vulnerable Verdict by SBOM: 33
  • Blocked Verdict by SBOM: 34
  • Blocked by Post Action: 36
  • Known Bad: 38
  • Known Good: 39
  • Unknown: 40
  • Allowed Verdict by COO: 41
  • Blocked Verdict by COO: 42
  • Unknown Verdict by COO: 43
  • In Progress: 255
  • Skip Processing Fast Symlink: 1014

Enum: No Threat Detected,Infected,Suspicious,Failed,Whitelisted,Blacklisted,Exceeded Archive Depth,Not Scanned,Encrypted Archive,Exceeded Archive Size,Exceeded Archive File Number,Password Protected Document,Exceeded Archive Timeout,Mismatch,Potentially Vulnerable File,Cancelled,Sensitive Data Found,Yara Rule Matched,Potentially Unwanted,Unsupported File Type,Extraction Failed,Scan Failed,Suspicious Verdict by Sandbox,Likely Malicious Verdict by Sandbox,Malicious Verdict by Sandbox,Blocked Verdict by Sandbox,Blocked Verdict by Deep CDR,Global Timeout Exceeded,Vulnerable Verdict by SBOM,Non-vulnerable Verdict by SBOM,Blocked Verdict by SBOM,Blocked by Post Action,Known Bad,Known Good,Unknown,Allowed Verdict by COO,Blocked Verdict by COO,Unknown Verdict by COO,In Progress,Skip Processing Fast Symlink

scan_all_result_iinteger

Scan result as index in the Processing Results table above

Enum: 0,1,2,3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,36,38,39,40,41,42,43,255,1014

start_timestring

Timestamp when the scanning process starts.

total_avsinteger

Total number of scanning engines used as part of this analysis. Not like files, batch is not processed by engine, so this value is always 0.

total_timeinteger

Total time elapsed during scan (in milliseconds).

user_datastring

Metadata submitted at batch creation.

400

Bad Request (e.g. header is invalid, apikey is missing or invalid, parameter value is invalid or out of range, etc).

403

Invalid user information or Not Allowed

404

Requests resource was not found.

500

Unexpected event on server

Response
Copy

Download Signed Batch Result

Download digitally signed status report for the entire batch

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

metadatastring

In JSON format, this can be used to:

Include additional information in the response YML. Currently, one supported field in the metadata is include_vul_info, which can be set to true or false to indicate whether vulnerability processing information should be included or not. It is strongly recommended to apply URL encoding before sending metadata to Metadefender Cluster API Gateway to prevent unexpected issues related to encoding errors or unsafe characters.

Path Params
batchIdstring

The batch identifier used to submit files in the batch and to close the batch.

GET /file/batch/{batchId}/certificate
Copy
Responses
200

Signed batch result and certificate are sent back in response body (YAML format).

No response body
400

Bad Request (e.g. header is invalid, apikey is missing or invalid, parameter value is invalid or out of range, etc).

403

Invalid user information or Not Allowed

404

Requests resource was not found.

500

Unexpected event on server

Response
Copy

Cancel Batch

When cancelling a batch, the connected analysis that are still in progress will be cancelled also.

The cancelled batch will be closed.

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

Path Params
batchIdstring

The batch identifier used to submit files in the batch and to close the batch.

POST /file/batch/{batchId}/cancel
Copy
Responses
200

Batch cancelled.

objectobject
400

Bad Request (e.g. header is invalid, apikey is missing or invalid, parameter value is invalid or out of range, etc).

403

Invalid user information or Not Allowed

404

Batch not found (invalid id)

500

Unexpected event on server

Response
Copy

License

Retrieve the current license information.

Get current license information

Fetch details about the longest expiry active license among all activated licenses.

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

GET /admin/license
Copy
Responses
200

Information about the licensed product (product type, number of activations, deploymentId, expiration date and days left)

objectobject

Information about the licensed product (product type, number of activations, deploymentId, expiration date and days left)

days_leftinteger

Number of days left before expiration

expirationstring

Expiration date in MM/DD/YYYY format.

licensed_enginesarray[string]

List of engine/module identifiers that have been licensed

licensed_tostring

Name of the entity to which the license is issued.

max_agent_countstring

Total number of deployed MetaDefender Agents attached to this MetaDefender Core instance.

online_activatedboolean

Track online/offline activation mode

product_idstring

Official MetaDefender base SKU licensed.

product_namestring

Official MetaDefender base product name licensed.

403

Invalid user information or Not Allowed

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Stats

Health check and statistics about MetaDefender Core instance usage.

Engine Status

Return the status of the latest engines between the MetaDefender Core instances.

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

GET /stat/engines
Copy
Responses
200

An array with all the engines and their details.

arrayarray[object]
abandonedboolean

Indicates if this engine is abandoned.

activeboolean

If used by at least one engine

def_timestring

The database definition time for this engine

download_progressinteger

The percentage progress of download

download_timestring

When this engine downloaded from the update server.

eng_idstring

Engine internal ID

eng_namestring

Engine name

eng_typestring

Engine type in human readable form

eng_verstring

Engine's version (format differs from one engine to another).

engine_typestring

Engine's type:

  • av
  • archive
  • filetype

Enum: av,archive,filetype

pinnedboolean

Indicate if this engine is pinned.

statestring

Status of the engine:

  • downloading
  • downloaded
  • staging
  • production
  • removed
  • temporary failed
  • permanently failed
  • content invalid
  • download failed

Enum: downloading,downloaded,staging,production,removed,temporary failed,permanently failed,content invalid,download failed

typestring

The type of information, whether it is engine or engine's database.

Response
Copy

Instance Status Overview

Retrieve status details of all available MetaDefender Core instances.

Auth
Headers
apikeystring

Generated session_id from Login call can be used as an apikey for API calls that require authentication.

GET /stat/nodes
Copy
Responses
200

Status details of MetaDefender Core instances.

objectobject
external_nodes_allowedboolean

Indicates whether external nodes can connect; always true.

max_node_countinteger

Total number of available MetaDefender Core instances.

statusesarray[object]

List of MetaDefender Core instance status details.

addressstring

Location of the Core instance; currently always return empty string.

available_meminteger

The number of available RAM in this system.

cpu_coresinteger

The number of CPU Cores allocated to this Core instance.

current_processing_filesinteger

Number of objects currently being processed by the Core instance.

enginesarray[object]

Summary of each engine status deployed on this Core.

activeboolean

If used by at least one engine

db_verstring

The database version for this engine

def_timestring

The database definition time for this engine

download_timestring

The database download time for this engine

eng_namestring

Engine name

eng_verstring

Engine's version (format differs from one engine to another).

engine_typestring

Engine's type:

  • av
  • archive
  • filetype

Enum: av,archive,filetype

idstring

Engine internal ID

free_disk_spaceinteger

Reported available disk on Core instance (in bytes).

idstring

Identifier of the worker that deployed this Core instance.

info_disk_spacearray[object]

Report disk space usage from the host where the MetaDefender Core instance is installed.

freeinteger

Free space on the disk (in bytes).

locationstring

Disk location.

totalinteger

Total space on the disk (in bytes).

issuesarray[object]

A list of all potential problems on Core instance.

descriptionstring

Text detailing the issue.

severitystring

How important is the reported issue.

loadinteger

Current CPU utilization on Core instance (in percentage).

osstring

Current used OS

scan_queueinteger

Number of objects currently being processed by the Core instance.

scan_queue_detailsobject

Current load of scan queue in details

archive_scan_queue_rationumber

Ratio of archive scan queue, always -1 for Core in Cluster mode.

available_slotsinteger

The number of slots is available, always -1 for Core in Cluster mode.

extracted_file_slotsinteger

Number of child files being processing

file_slotsinteger

Number of files taken from REST by the current Core instance

total_scan_queueinteger

Total scan queue, always -1 for Core in Cluster mode.

total_disk_spaceinteger

The amount of disk space is allocated on Core instance (in Byte).

total_meminteger

How much memory is allocated on Core instance (in MB).

total_scan_queueinteger

The maximum queue size is allowed, always -1 for Core in Cluster mode.

uptimeinteger

How long this Core is in operation (in second).

versionstring

Product version

403

Invalid user information or Not Allowed

405

The user has no rights for this operation.

Response
Copy

Get health check status

Fetch current status of system health.

Auth
Query String
verboseboolean

Optional. Show detailed result of system health.

GET /readyz
Copy
Responses
200

System is currently healthy.

objectobject

System readiness / health status.

statusboolean

System-wide status, indicate if all components are healthy.

scan_queueobject

Scan queue status.

number_in_queueinteger

Number of objects being processed by the system.

statusboolean

The operational status of the scan process; true if the system contains the required minimum of healthy MetaDefender Core instances.

licenseobject

License status.

statusstring

License status.

Enum: expired,invalid,ok

componentsobject

Core component statuses.

statusboolean

Aggregate component status.

datalakeobject

DataLake status.

statusboolean

DataLake overall status.

detailstring

Status detail message

cachingobject

Caching status.

statusboolean

Caching overall status.

detailstring

Status detail message.

brokerobject

Broker status.

statusboolean

Broker overall status.

detailstring

Status detail message.

filestorageobject

File storage status.

statusboolean

File storage overall status.

detailstring

Status detail message.

identityobject

Identity service status.

statusboolean

Identity service overall status.

detailstring

Status detail message.

ometascanobject

Status of MetaDefender Core instances

statusboolean

MetaDefender Core overall status.

detailstring

Detail message.

instancearray[string]

List of instance status.

callback-serviceobject

Webhook callback service status.

statusboolean

Callback service overall status.

instancearray[string]

List of instance status.

500

Unexpected event on server

503

System is currently unhealthy.

Response
Copy