Developer Guide


This is the API documentation for MetaDefender Cluster Control Center 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 Control Center using REST API

The MetaDefender Cluster Control Center empowers administrators and system engineers to efficiently manage system operations, including:

  1. Establishing and maintaining essential service connections.
  2. Deploying and managing MetaDefender Core, MetaDefender Cluster API Gateway instances.
  3. Managing licenses.
  4. Administering user accounts and access controls.
  5. Configuring and enforcing security protocols.
  6. Monitoring the overall system health and system performance.

OPSWAT recommends using the JSON-based REST API. The available methods are documented below.


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

Server
http://localhost:8892
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

User Management

User management APIs

The APIs for manage users and user directories.

Create user

Auth
Headers
apikeystring

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

Request Body
objectobject

User object in MetaDefender.

api_keystring

Associated apikey with this user

directory_idinteger

To which User Directories belongs to (LOCAL/System/etc.)

display_namestring

Which is the name showed in the Management Console

emailstring

User's email address

namestring

User's full name

descriptionstring

User's description, 256 characters maximum

rolesarray[string]

A list of roles attached to this user

ui_settingsobject

Configuration of Management Console for this user.

  • refresh_rate the refresh rate of the Management Console in seconds. Must not be negative.
  • engine_time_period the time period for Technology results on the Usage page, in hours. Must be non-negative.
  • processing_chart_time_period the time period for the Processing chart on the Usage page, in hours. Must be non-negative.
  • summary_time_period the time period for the Summary data on the Usage page, in hours. Must be non-negative.
passwordstring

The user's password

POST /admin/user
Copy
Responses
200

Request processed successfully.

objectobject

User object in MetaDefender.

api_keystring

Associated apikey with this user

directory_idinteger

To which User Directories belongs to (LOCAL/System/etc.)

display_namestring

Which is the name showed in the Management Console

emailstring

User's email address

namestring

User's full name

descriptionstring

User's description, 256 characters maximum

rolesarray[string]

A list of roles attached to this user

ui_settingsobject

Configuration of Management Console for this user.

400

Bad Request (e.g. invalid header, invalid request body).

403

Invalid user information or Not Allowed

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

List all users

Returns a list of all users in the server.

Auth
Headers
apikeystring

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

GET /admin/user
Copy
Responses
200

List of users retrieved successfully.

arrayarray[object]
api_keystring

Associated apikey with this user

directory_idinteger

To which User Directories belongs to (LOCAL/System/etc.)

display_namestring

Which is the name showed in the Management Console

emailstring

User's email address

idinteger

User's unique identifier

namestring

User's full name

descriptionstring

User's description, 256 characters maximum

rolesarray[string]

A list of roles attached to this user

ui_settingsobject

Configuration of Management Console for this user.

403

Invalid user information or Not Allowed

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Delete a user

Delete a user by id from the system.

Auth
Headers
apikeystring

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

DELETE /admin/user/{user_id}
Copy
Responses
200

Request processed successfully.

objectobject
403

Invalid user information or Not Allowed

404

Requests resource was not found.

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Change Password for local user

Modify the current password for the user identified by apikey

Auth
Headers
apikeystring

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

Request Body
objectobject
old_passwordstring

The current password in plain text

new_passwordstring

The new password in plain text

POST /user/changepassword
Copy
Responses
200

Request processed successfully

objectobject
resultstring
400

Bad Request (e.g. invalid header, invalid request body).

403

Invalid user information or Not Allowed

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

List all user directories

Retrieve a list of all user directories configured in the system.

Auth
Headers
apikeystring

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

GET /admin/userdirectory
Copy
Responses
200

List of user directories retrieved successfully.

arrayarray[object]
idinteger

Internal used identifier

namestring

Name of the user directory

typestring

Type of the user directory (e.g., LDAP, Local, etc.)

enabledboolean

If the user directory is enabled or not

lockout_attemptsinteger

Number of failed login attempts before the user is locked out

lockout_timeoutinteger

Time in seconds before the user can try to log in again after being locked out

403

Invalid user information or Not Allowed

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Create new role

Add a new user role to the system.

Auth
Headers
apikeystring

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

Request Body
objectobject

MetaDefender user role describing object.

namestring

The name identifier of the role

display_namestring

The extended name showed in the Management Console.

rightsobject

A list of rights for each permission

certarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

configlogarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

enginesarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

licensearray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

retentionarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

rulearray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

scanlogarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

updatearray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

updatelogarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

usersarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

workflowarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

zonearray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

healthcheckarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

fetcharray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

downloadarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

deploymentarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

servicearray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

packageuploadarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

POST /admin/role
Copy
Responses
200

Request processed successfully

objectobject

MetaDefender user role describing object.

namestring

The name identifier of the role

display_namestring

The extended name showed in the Management Console.

rightsobject

A list of rights for each permission

certarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

configlogarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

enginesarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

licensearray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

retentionarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

rulearray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

scanlogarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

updatearray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

updatelogarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

usersarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

workflowarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

zonearray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

healthcheckarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

fetcharray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

downloadarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

deploymentarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

servicearray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

packageuploadarray[string]

An object defining the permission set allowed on MetaDefender individual role.

Enum: read,write

editableboolean

If the role can be altered or not.

idinteger

Internal used identifier

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

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Delete a role

Delete a role by id from the system.

Auth
Headers
apikeystring

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

DELETE /admin/role/{role_id}
Copy
Responses
200

Request processed successfully.

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

Requests resource was not found.

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Audit clean up

Setting audit record cleanup time ( cleanup records older than).

Note: The cleanup range is defined in hours.

Auth
Headers
apikeystring

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

Request Body
objectobject
cleanuprangeinteger

The number of hours of data retention. Anything older than this number will be deleted. Note: If cleanuprange is 0, the cleanup functionality will be disabled.

PUT /admin/config/auditlog/cleanup
Copy
Responses
200

Request processed successfully

objectobject
cleanuprangeinteger

The number of hours of data retention. Anything older than this number will be deleted.

403

Invalid user information or Not Allowed

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

File storage clean up

Setting file storage clean up time (clean up records older than).

Note:The clean up range is defined in hours.

Auth
Headers
apikeystring

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

Request Body
objectobject
cleanuprangeinteger

The number of hours of data retention. Anything older than this number will be deleted. Note: If cleanuprange is 0, the cleanup functionality will be disabled.

PUT /admin/config/filestorage/cleanup
Copy
Responses
200

Request processed successfully

objectobject
cleanuprangeinteger

The number of hours of data retention. Anything older than this number will be deleted.

403

Invalid user information or Not Allowed

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Executive report clean up

Setting executive report clean up time (clean up records older than).

Note:The clean up range is defined in hours.

Auth
Headers
apikeystring

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

Request Body
objectobject
cleanuprangeinteger

The number of hours of data retention. Anything older than this number will be deleted. Note: If cleanuprange is 0, the cleanup functionality will be disabled.

PUT /admin/config/warehouse/cleanup
Copy
Responses
200

Request processed successfully

objectobject
cleanuprangeinteger

The number of hours of data retention. Anything older than this number will be deleted.

403

Invalid user information or Not Allowed

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Processing history clean up

Setting processing history clean up time (clean up records older than).

Note:The clean up range is defined in hours.

Auth
Headers
apikeystring

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

Request Body
objectobject
cleanuprangeinteger

The number of hours of data retention. Anything older than this number will be deleted. Note: If cleanuprange is 0, the cleanup functionality will be disabled.

PUT /admin/config/scanhistory/cleanup
Copy
Responses
200

Request processed successfully

objectobject
cleanuprangeinteger

The number of hours of data retention. Anything older than this number will be deleted.

403

Invalid user information or Not Allowed

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Session settings

Configure settings for session generated upon a successful login See more at Login

Auth
Headers
apikeystring

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

Request Body
objectobject

API object for /admin/config/session

absoluteSessionTimeoutinteger

The interval (in milliseconds) for overall session length timeout (regardless of activity).

allowCrossIpSessionsboolean

Allow requests from the same user to come from different IPs.

allowDuplicateSessionboolean

Allow same user to have multiple active sessions.

sessionTimeoutinteger

The interval (in milliseconds) for the user's session timeout, based on last activity. Timer starts after the last activity for the apikey.

PUT /admin/config/session
Copy
Responses
200

Request processed successfully

objectobject

API object for /admin/config/session

absoluteSessionTimeoutinteger

The interval (in milliseconds) for overall session length timeout (regardless of activity).

allowCrossIpSessionsboolean

Allow requests from the same user to come from different IPs.

allowDuplicateSessionboolean

Allow same user to have multiple active sessions.

sessionTimeoutinteger

The interval (in milliseconds) for the user's session timeout, based on last activity. Timer starts after the last activity for the apikey.

403

Invalid user information or Not Allowed

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Get session cookie attributes

Getting session cookie attributes

Auth
Headers
apikeystring

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

GET /admin/config/sessioncookie
Copy
Responses
200

Request processed successfully.

objectobject

Session cookie configuration details.

samesitenumber

SameSite attribute accepts three values:

  • Strict - cookies will only be sent in a first-party context, not be sent along with requests initiated by third party websites.
  • Lax - cookies are not sent on normal cross-site subrequests, but are sent when a user is navigating to the origin site.
  • None - cookies will be sent in all contexts.

Default value: Lax

403

Invalid user information or Not Allowed

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Update session cookie attributes

Modifying session cookie attributes

Auth
Headers
apikeystring

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

Request Body
objectobject

Session cookie configuration details.

samesitenumber

SameSite attribute accepts three values:

  • Strict - cookies will only be sent in a first-party context, not be sent along with requests initiated by third party websites.
  • Lax - cookies are not sent on normal cross-site subrequests, but are sent when a user is navigating to the origin site.
  • None - cookies will be sent in all contexts.

Default value: Lax

PUT /admin/config/sessioncookie
Copy
Responses
200

Request processed successfully.

objectobject

Session cookie configuration details.

samesitenumber

SameSite attribute accepts three values:

  • Strict - cookies will only be sent in a first-party context, not be sent along with requests initiated by third party websites.
  • Lax - cookies are not sent on normal cross-site subrequests, but are sent when a user is navigating to the origin site.
  • None - cookies will be sent in all contexts.

Default value: Lax

403

Invalid user information or Not Allowed

404

Requests resource was not found.

500

Unexpected event on server

Response
Copy

Connect to workers

Connect to MetaDefender Cluster Worker services.

Auth
Headers
apikeystring

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

Request Body
arrayarray[object]

A list of workers and their connection details.

display_namestring

Display name for the worker.

hoststring

The address of the worker.

portnumber

The port on which the worker is listening.

connection_keystring

The connection key for the worker.

POST /admin/worker
Copy
Responses
200

Request to add service was successful

arrayarray[object]

list of worker status.

display_namestring

Display name for the worker.

hoststring

The address of the worker.

portnumber

The port on which the worker is listening.

resultstring

Connection attempt result.

Enum: ok,failed

worker_idstring

Present only when result = ok. Unique identifier of the worker.

errorstring

Present only when result = failed. Error message.

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

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

List connected workers

Retrieve a list of currently connected MetaDefender Cluster Worker services.

Auth
Headers
apikeystring

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

GET /admin/worker
Copy
Responses
200

A list of connected workers.

arrayarray[object]

A list of connected workers and their details.

worker_idstring

Unique identifier of the worker.

display_namestring

Display name for the worker.

platformstring

Operating system / platform of the worker.

osstring

Operating system details of the worker.

package_typestring

The deployment package type.

hardwareobject

Hardware information.

cpuobject
countinteger

Number of CPU cores.

modelstring

CPU model name.

usagenumber

CPU usage percentage.

diskobject
available_bytesinteger

Available disk space in bytes.

total_bytesinteger

Total disk space in bytes.

memoryobject
available_bytesinteger

Available memory in bytes.

total_bytesinteger

Total memory in bytes.

user_namestring

Name of the user who added the worker.

hoststring

The address (IP or hostname) of the worker.

portinteger

Port on which the worker is listening.

statusstring

Current status of worker.

status_descriptionstring

The description of worker's status

versionstring

The version of the worker.

deployment_infoobject

Deployment related information. This field is only available when instance is deployed.

typestring

Deployment type, can be ometascan or api-gateway.

installer_idstring

Identifier of the installer.

versionstring

The instance version.

user_namestring

Name of the user who deployed the instance.

custom_configobject

Custom configuration for deployed instance.

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

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Disconnect from workers

Disconnect from specified MetaDefender Cluster Worker services.

Auth
Headers
apikeystring

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

Request Body
arrayarray[string]

A list of worker IDs to disconnect.

DELETE /admin/worker
Copy
Responses
200

Request to disconnect workers was successful

objectobject

Map of worker IDs to disconnection (deletion) status.

worker_idstring

Disconnection status of the worker.

Enum: Deleted

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

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Get available workers by installer_id.

Retrieve the list of available workers eligible for deployment for the specified installer ID.

Auth
Headers
apikeystring

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

GET /admin/worker/instance/deploy/available/{installer_id}
Copy
Responses
200

Request to get available workers was successful

arrayarray[object]

A list of connected workers and their details.

worker_idstring

Unique identifier of the worker.

display_namestring

Display name for the worker.

platformstring

Operating system / platform of the worker.

osstring

Operating system details of the worker.

package_typestring

The deployment package type.

hardwareobject

Hardware information.

cpuobject
countinteger

Number of CPU cores.

modelstring

CPU model name.

usagenumber

CPU usage percentage.

diskobject
available_bytesinteger

Available disk space in bytes.

total_bytesinteger

Total disk space in bytes.

memoryobject
available_bytesinteger

Available memory in bytes.

total_bytesinteger

Total memory in bytes.

user_namestring

Name of the user who added the worker.

hoststring

The address (IP or hostname) of the worker.

portinteger

Port on which the worker is listening.

statusstring

Current status of worker.

status_descriptionstring

The description of worker's status

versionstring

The version of the worker.

deployment_infoobject

Deployment related information. This field is only available when instance is deployed.

typestring

Deployment type, can be ometascan or api-gateway.

installer_idstring

Identifier of the installer.

versionstring

The instance version.

user_namestring

Name of the user who deployed the instance.

custom_configobject

Custom configuration for deployed instance.

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.

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Deploy workers

Deploy the selected installer on one or more selected workers.

Auth
Headers
apikeystring

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

Request Body
objectobject
typestring

Enum: ometascan

installer_idstring

Identifier of the installer.

workerarray[string]

List of worker IDs to deploy to.

configobject

Optional configuration for ometascan worker.

log_levelstring

Enum: debug,info,warning,error

Default: info

connection_per_file_serviceinteger

minimum: 1

Default: 4

POST /admin/worker/instance/deploy
Copy
Responses
200

Request to add service was successful

objectobject

Map of worker IDs to deployment status ("Deploying") or an error message.

*string

"Deploying" if deployment initiated successfully; otherwise an error message.

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

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Undeploy workers

Undeploy the specified workers.

Auth
Headers
apikeystring

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

Request Body
arrayarray[string]
DELETE /admin/worker/instance/deploy
Copy
Responses
200

Request to undeploy workers was successful

objectobject

Map of worker IDs to undeployment status ("Undeploying") or an error message.

*string

"Undeploying" if undeployment initiated successfully; otherwise an error message.

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

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Upgrade deployed instances

Upgrade the deployed instances managed by the worker to a newer version

Auth
Headers
apikeystring

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

Request Body
objectobject

Parameters to upgrade deployed worker instances.

versionstring

Target version to upgrade to.

typestring

Worker deployment type.

Enum: ometascan,api-gateway,callback-service

POST /admin/worker/instance/upgrade
Copy
Responses
200

Request to upgrade workers was successful

objectobject

Upgrade request accepted.

resultstring
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

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Get upgradable instance version

Retrieve a list of available versions of MetaDefender Core and MetaDefender Cluster API Gateway for upgrading.

Auth
Headers
apikeystring

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

GET /admin/worker/instance/upgrade/version
Copy
Responses
200

A list of available versions for upgrading.

objectobject
ometascanarray[string]
api-gatewayarray[string]
callback-servicearray[string]
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

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Connect and check essential services status.

Establish connections and retrieve the status of essential services within the MetaDefender Cluster system.

Auth
Headers
apikeystring

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

Request Body
objectobject

service type filestorage configuration details

hoststring

the host address of the service.

portinteger

the port number of the service.

connection_keystring

the connection key for the service.

POST /admin/service
Copy
Responses
200

Request to add service was successful

arrayarray[object]

A list of service id and their status.

resultstring

the result of the service addition, can be either "ok" or "error"

service_idstring

The unique identifier of the service if result is "ok"

detailstring

The error details if result is "error"

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

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Get the status of all essential services.

Retrieve the status of all added services within the MetaDefender Cluster system.

Auth
Headers
apikeystring

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

GET /admin/service
Copy
Responses
200

Details of all added services and their status.

objectobject

Keyed by service type (e.g. broker, caching, datalake, filestorage, warehouse).

service_typeobject

service type (e.g. broker, caching, datalake, filestorage, warehouse)

healthy_instancesnumber

Number of healthy instances for the service.

overall_statusstring

Aggregated status across all instances of the service.

overall_status_descriptionstring

Description of the overall status.

instancesarray[object]

List of all replicated instances for the service.

service_idstring

Unique service identifier.

messagestring

Optional status/message.

display_namestring

Human friendly name. Defaults to "host:port" if absent.

status_descriptionstring

Human readable status explanation.

hoststring

Hostname or IP.

portnumber

Service's port.

versionstring

Service version (semantic or other).

added_bystring

User or system that registered the service.

last_updatenumber

Unix epoch milliseconds of last update.

last_healthynumber

Unix epoch milliseconds of last confirmed healthy state.

detailobject

Service specific diagnostic details (structure varies by service).

cpu_usagenumber

CPU usage (implementation specific units).

platformstring

Operating system/platform the service is running on.

rolestring

Service role (e.g. primary, secondary).

db_sizenumber

Database size in bytes.

ramobject

Memory usage details.

total_bytesnumber

Total RAM available.

used_bytesnumber

RAM currently in use.

diskobject

Disk usage details.

total_bytesnumber

Total disk space available.

used_bytesnumber

Disk space currently in use.

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

405

The user has no rights for this operation.

500

Unexpected event on server

Response
Copy

Edit service details.

Update the display name and/or configuration details for a specific service. Note: Service configuration cannot be modified after instances have been deployed.

Auth
Headers
apikeystring

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

Request Body
objectobject

Request payload to connect a service and optionally set display name and configuration.

display_namestring

Display name for the service.

configobject

service configuration details

hoststring

the host address of the service

portinteger

the port number of the service

userstring

the user name for the service. Applicable for type caching, broker, datalake, and warehouse

passwordstring

the password for the service. Applicable for type caching, broker, datalake, and warehouse

connection_keystring

the connection key for the service. Applicable for type filestorage

PUT /admin/service/{service_id}
Responses
200

Request to add service was successful

objectobject

Service record plus last known health/status info.

service_idstring

Unique service identifier.

messagestring

Optional status/message.

display_namestring

Human friendly name. Defaults to "host:port" if absent.

status_descriptionstring

Human readable status explanation.

hoststring

Hostname or IP.

portnumber

Service's port.

versionstring

Service version (semantic or other).

added_bystring

User or system that registered the service.

last_updatenumber

Unix epoch milliseconds of last update.

last_healthynumber

Unix epoch milliseconds of last confirmed healthy state.

detailobject

Service specific diagnostic details (structure varies by service).

cpu_usagenumber

CPU usage (implementation specific units).

platformstring

Operating system/platform the service is running on.

rolestring

Service role (e.g. primary, secondary).

db_sizenumber

Database size in bytes.

ramobject

Memory usage details.

total_bytesnumber

Total RAM available.

used_bytesnumber

RAM currently in use.

diskobject

Disk usage details.

total_bytesnumber

Total disk space available.

used_bytesnumber

Disk space currently in use.

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.

405

The user has no rights for this operation.

500

Unexpected event on server

Response

Disconnect to service and remove their configurations.

Remove the connection and configuration details for a specific service. Note: Service configuration cannot be deleted after instances have been deployed.

Auth
Headers
apikeystring

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

DELETE /admin/service/{service_id}
Responses
200

Request to remove service was successful

objectobject

Response indicating the service has been removed.

service_idstring
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.

405

The user has no rights for this operation.

500

Unexpected event on server

Response

Get status for a specific service.

Retrieve the current status of a specific service, including all instance details. Note: The service_type must be one of: datalake, warehouse, caching, broker, filestorage.

Auth
Headers
apikeystring

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

GET /admin/service/{service_type}
Responses
200

Request to get service type was successful

objectobject

Status information for a specific service type including instance details.

overall_statusstring

Aggregated status for the service type (e.g. healthy, degraded, down)

overall_status_descriptionstring

Human readable description of the aggregated status

healthy_instancesnumber

Count of instances currently considered healthy

instancesarray[object]

List of discovered service instances

service_idstring

Unique service identifier.

messagestring

Optional status/message.

display_namestring

Human friendly name. Defaults to "host:port" if absent.

status_descriptionstring

Human readable status explanation.

hoststring

Hostname or IP.

portnumber

Service's port.

versionstring

Service version (semantic or other).

added_bystring

User or system that registered the service.

last_updatenumber

Unix epoch milliseconds of last update.

last_healthynumber

Unix epoch milliseconds of last confirmed healthy state.

detailobject

Service specific diagnostic details (structure varies by service).

cpu_usagenumber

CPU usage (implementation specific units).

platformstring

Operating system/platform the service is running on.

rolestring

Service role (e.g. primary, secondary).

db_sizenumber

Database size in bytes.

ramobject

Memory usage details.

total_bytesnumber

Total RAM available.

used_bytesnumber

RAM currently in use.

diskobject

Disk usage details.

total_bytesnumber

Total disk space available.

used_bytesnumber

Disk space currently in use.

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.

405

The user has no rights for this operation.

500

Unexpected event on server

Response

Edit setting of service

Update the configuration settings for a specific service. Note: Supported only for the filestorage service type.

Auth
Headers
apikeystring

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

Request Body
objectobject
max_replicanumber

Maximum number of replicas, default is 1

min_replicanumber

Minimum number of replicas, default is 1

cleanuprangenumber

Cleanup interval in hours, default is 0

storageobject

At-rest data protection

typestring

Storage backend type, can be salt or none

configobject

Backend specific configuration

PUT /admin/service/{service_type}/setting
Responses
200

Request to add service was successful

objectobject

Response schema for successful service setting update

resultstring

Success message

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.

405

The user has no rights for this operation.

500

Unexpected event on server

Response

Get service settings

Retrieve the current configuration settings for a specific service. Note: Supported only for the filestorage service type.

Auth
Headers
apikeystring

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

GET /admin/service/{service_type}/setting
Responses
200

Request to retrieve service settings was successful

objectobject
max_replicanumber

Maximum number of replicas, default is 1

min_replicanumber

Minimum number of replicas, default is 1

cleanuprangenumber

Cleanup interval in hours, default is 0

storageobject

At-rest data protection

typestring

Storage backend type, can be salt or none

configobject

Backend specific configuration

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.

405

The user has no rights for this operation.

500

Unexpected event on server

Response

Installers

Upload and manage installers for the MetaDefender Core and MetaDefender Cluster API Gateway.

Upload installer

Upload installers for the MetaDefender Core, MetaDefender Cluster API Gateway and MetaDefender Cluster Callback Service.

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 installer file to upload. Note: Ensure the filename remains same with the original MY OPSWAT download (e.g: ometascan-5.15.0-1-x64.msi)

Request Body
filefile

Optional installer file content (binary). Send raw bytes of the installer.

POST /admin/installer
Responses
200

Request processed successfully

objectobject
installer_idstring

Unique identifier of the uploaded installer.

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

405

The user has no rights for this operation.

500

Unexpected event on server

Response

Get uploaded installers

Retrieve information about an uploaded installer.

Auth
Headers
apikeystring

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

GET /admin/installer
Responses
200

Request processed successfully

objectobject

Map of installer IDs to installer details.

*object
checksumstring

SHA256 checksum of the installer file.

namestring

Original file name of the installer.

platformstring

Target platform / package type.

sizenumber

Size of the installer file in bytes.

typestring

Product type of the installer.

upload_bystring

Identifier of the user or node that uploaded the installer.

upload_timestampnumber

Upload time as Unix epoch milliseconds.

versionstring

Version extracted from the installer.

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

Delete an uploaded installer

Delete an uploaded installer.

Auth
Headers
apikeystring

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

DELETE /admin/installer/{installer_id}
Responses
200

Request processed successfully

objectobject
resultstring

Success message.

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.

405

The user has no rights for this operation.

500

Unexpected event on server

Response