Developer Guide

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

apiKey apiKey

Fields
KeyIn
X-Api-KeyHeader

Scan File

Perform scan of uploaded file

Auth
Request Body
POST /api/scan/file
Copy
Responses
200

Successful Response

ScanResponseobject

Model for an initiated scan response

flow_idstring
priorityobject

Priority part of the scan respoms model

appliedinteger
max_posibbleinteger
notestring
400

Bad request

401

Not authorized

403

Forbidden

413

Content too large

422

Validation Error

429

Too many requests

Response
Copy

Scan URL

Scan URL resource

Auth
Request Body
POST /api/scan/url
Copy
Responses
200

Successful Response

ScanResponseobject

Model for an initiated scan response

flow_idstring
priorityobject

Priority part of the scan respoms model

appliedinteger
max_posibbleinteger
notestring
400

Bad request

401

Not authorized

403

Forbidden

422

Validation Error

429

Too many requests

Response
Copy

Save Scan Profile

Add/edit scan profile

Auth
Request Body
POST /api/scan/profiles
Copy
Responses
200

Successful Response

No response body
422

Validation Error

Response
Copy

Remove Scan Profile

Remove scan profile

Auth
Path Params
profile_idstring
DELETE /api/scan/profiles/{profile_id}
Copy
Responses
200

Successful Response

No response body
422

Validation Error

Response
Copy

Get Chat Gpt SummaryDeprecated

Request ChatGPT summary on report

Auth
Path Params
report_idstring
GET /api/reports/{report_id}/chat-gpt
Copy
Responses
200

Successful Response

ChatGptSummaryobject

Summary generated for report by ChatGPT

datastring

Summary itself

created_datedate-time

Time of summary generation

400

Bad request

404

Item not found

422

Validation Error

Response
Copy

Get All Files

Obtain all files for given report

Auth
Path Params
report_idstring
Query String
type

Default: all

with_contentboolean

Compressed base64 data

GET /api/reports/{report_id}/files
Copy
Responses
200

Successful Response

ReportAllFilesResponsearray[object]
idstring
hashstring
sizeinteger
mediaTypestring
typestring

Smaller set of ReportFileType for the get_all_files() endpoint

Enum: all,extracted,downloaded

404

Item not found

422

Validation Error

Response
Copy

Start Report Format Creation

Start creation of HTML or PDF formated report

Auth
Path Params
report_idstring

Report Id

Query String
formatstring

Enum: html,pdf

GET /api/reports/{report_id}/download/start
Copy
Responses
200

Successful Response

No response body
404

Item not found

422

Validation Error

Response
Copy

Download Export Formats

Download the report in HTML, PDF, MISP and STIX format

Auth
Path Params
report_idstring

Report Id

Query String
formatstring

Enum: misp,stix,html,pdf

export_idstring

ID of export record

GET /api/reports/{report_id}/download
Copy
Responses
200

Successful Response

No response body
202

Accepted

204

No content

400

Bad request

404

Item not found

408

Request timeout

422

Validation Error

500

Internal server error

Response
Copy

Get Downloads List

Get list of all reports downloads by current user

Auth
Query String
pageinteger

Default: 1

page_sizeinteger

Default: 10

GET /api/users/me/downloads
Copy
Responses
200

Successful Response

ReportFormatResponseobject
itemsarray[object]
idstring
flow_idstring
file_namestring
file_sha256string
verdictstring
report_idstring
formatstring

Formats that can take a lot of time to be generated

Enum: html,pdf

statestring

State of report generation

Enum: created,queued,in_progress,failed,success

created_datedate-time
started_datedate-time
finished_datedate-time
settingsobject

Settings used for exporting report

strings_limitinteger
strings_modestring

An enumeration.

Enum: all,interesting,prefer_interesting

countinteger
422

Validation Error

500

Internal server error

Response
Copy

Get Specific Report

Obtain a report for given report_id.

Auth
Path Params
report_idstring

Report Id

file_hashstring

File hash

Query String
filterarray

Report fields that should be fetched

sortingarray

Sort parameters to be applied to fetched report data

otherarray

Extra options to get special data

GET /api/reports/{report_id}/{file_hash}
Copy
Responses
200

Successful Response

400

Bad request

404

Item not found

422

Validation Error

Get Pe Emulation File

Get PE emulation files

Auth
Path Params
report_idstring

Report Id

file_name

PE emulation file name

GET /api/files/pe-emulation/{report_id}/{file_name}
Copy
Responses
200

Successful Response

No response body
404

Item not found

422

Validation Error

Response
Copy

Advanced Search

Search for reports and uploaded files by various tokens, like hash, filename, verdict, IOCs etc.

Auth
Query String
GET /api/reports/advanced-search
Copy
Responses
200

Successful Response

ReportSearchResponseobject

Search response returned to user

itemsarray
countinteger
count_search_paramsinteger
methodstring
dbs_syncboolean
400

Bad request

422

Validation Error

Response
Copy

Simple Search

Search for reports and uploaded files by various tokens, like hash, filename, verdict, IOCs etc. Simple search only uses the query param (and some other defaults), other params are ignored.

Auth
Query String
GET /api/reports/search
Copy
Responses
200

Successful Response

ReportSearchResponseobject

Search response returned to user

itemsarray
countinteger
count_search_paramsinteger
methodstring
dbs_syncboolean
400

Bad request

422

Validation Error

Response
Copy

Get Public Reports

Get all public reports

Auth
Query String
pageinteger

Page number starting from 1

minimum: 1

Default: 1

page_size

Page size

Default: 10

GET /api/reports
Copy
Responses
200

Successful Response

ReportSearchResponseobject

Search response returned to user

itemsarray
countinteger
count_search_paramsinteger
methodstring
dbs_syncboolean
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Get User Reports

Get reports of current user

Auth
Query String
pageinteger

Page number starting from 1

minimum: 1

Default: 1

page_size

Page size

Default: 10

date_fromstring

Results newer then this date (format YYYY-MM-DD)

verdictstring

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

GET /api/me/reports
Copy
Responses
200

Successful Response

ReportSearchResponseobject

Search response returned to user

itemsarray
countinteger
count_search_paramsinteger
methodstring
dbs_syncboolean
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Get Frequent Tags

Get most frequently seen tags recently

Auth
GET /api/users/get-frequent-tags
Copy
Responses
200

Successful Response

FrequentTagsResponseobject
tagsarray[object]
updateddate-time
401

Not authorized

Response
Copy

Get Most Interesting

Get most interesting report recently

Auth
GET /api/users/most-interesting
Copy
Responses
200

Successful Response

MostInterestingResponseobject
reportobject
updateddate-time
401

Not authorized

Response
Copy

Get Single File

Obtain single file for given report by hash

Auth
Path Params
hashstring

File hash

Query String
report_idstring

Report Id (only needed if original_name is true)

type

Default: base64

original_nameboolean

(only used if type is raw)

passwordstring

Password to be used on compression (only used if type is raw)

GET /api/files/{hash}
Copy
Responses
200

Successful Response

GetSingleFileResponseobject

Model for get_single_file() endpoint

typestring

An enumeration.

Enum: base64,compressedBase64

contentstring
404

Item not found

422

Validation Error

Response
Copy

Download Samples Archive

Download an archive file

Auth
Path Params
publicitystring

Enum: public,private

typestring

Enum: doc,exec

datestring

pattern: (\d{4})\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])

GET /api/archives/samples/{publicity}/{type}/{date}
Copy
Responses
200

Successful Response

No response body
401

Not authorized

403

Forbidden

404

Item not found

422

Validation Error

Response
Copy

Download Samples ArchiveDeprecated

Download an archive file

Auth
Path Params
publicitystring

Enum: public,private

typestring

Enum: doc,exec

datestring

pattern: (\d{4})\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])

GET /api/feed/archives/{publicity}/{type}/{date}
Copy
Responses
200

Successful Response

No response body
401

Not authorized

403

Forbidden

404

Item not found

422

Validation Error

Response
Copy

Get Reports Feed

Get reports feed.

For API documentation page we show smaller amount of reports. To get full feed, query feed endpoint directly from browser address bar or from any suitable app.

Auth
GET /api/feed/reports
Copy
Responses
200

Successful Response

No response body
401

Not authorized

Response
Copy

Get Reports FeedDeprecated

Get reports feed.

For API documentation page we show smaller amount of reports. To get full feed, query feed endpoint directly from browser address bar or from any suitable app.

Auth
GET /api/feed/atom
Copy
Responses
200

Successful Response

No response body
401

Not authorized

Response
Copy

Get Reports Feed Info

Get reports feed info

Auth
GET /api/feed/reports/info
Copy
Responses
200

Successful Response

FeedInfoobject

Response model for get_feed_info endpoint

countinteger
lengthinteger
updatednumber
download_allowedboolean
401

Not authorized

Response
Copy

Get Reports Feed InfoDeprecated

Get reports feed info

Auth
GET /api/feed/info
Copy
Responses
200

Successful Response

FeedInfoobject

Response model for get_feed_info endpoint

countinteger
lengthinteger
updatednumber
download_allowedboolean
401

Not authorized

Response
Copy

Get Daily Samples Archives

Get daily samples

Auth
GET /api/archives/samples
Copy
Responses
200

Successful Response

DailySamplesArchiveResponsearray[object]
namestring

Archive file name

linkstring

Link to file download

reports_datestring

Date of reports creation

files_countinteger

Amount of files in archive

files_typestring

An enumeration.

Enum: doc,exec

sizeinteger

Archive size in bytes

is_publicboolean

If archive contains only public or only private files

401

Not authorized

Response
Copy

Get Daily Samples ArchivesDeprecated

Get daily samples

Auth
GET /api/feed/archives
Copy
Responses
200

Successful Response

DailySamplesArchiveResponsearray[object]
namestring

Archive file name

linkstring

Link to file download

reports_datestring

Date of reports creation

files_countinteger

Amount of files in archive

files_typestring

An enumeration.

Enum: doc,exec

sizeinteger

Archive size in bytes

is_publicboolean

If archive contains only public or only private files

401

Not authorized

Response
Copy

Get Yara Feed

Get YARA rules feed

Auth
GET /api/feed/yara
Copy
Responses
200

Successful Response

No response body
401

Not authorized

Response
Copy

Get Yara Feed Info

Get YARA rules feed info

Auth
GET /api/feed/yara/info
Copy
Responses
200

Successful Response

No response body
401

Not authorized

Response
Copy

Get Daily Yara Archives

Get daily YARA rules, generated for malicious reports

Auth
GET /api/archives/yara
Copy
Responses
200

Successful Response

DailyYaraArchiveResponsearray[object]
namestring

Archive file name

linkstring

Link to file download

reports_datestring

Date of reports creation

rules_countinteger

Amount of rules in archive

sizeinteger

Archive size in bytes

401

Not authorized

Response
Copy

Download Yara Archive

Get daily YARA rules archive

Auth
Path Params
datestring
GET /api/archives/yara/{date}
Copy
Responses
200

Successful Response

No response body
401

Not authorized

403

Forbidden

404

Item not found

422

Validation Error

Response
Copy

Get Current User

Get user model of currently authenticated user

Auth
GET /api/users/me
Copy
Responses
200

Successful Response

GetCurrentUserResponseobject
accountIdstring
userIdstring
usernamestring
emailstring
avatarLastModifieddate-time
allowedFeaturesarray
scanProfilesarray
isAdminboolean
isAuditorboolean
isPasswordEmptyboolean
themestring
timezonestring
localestring
externalAuthobject
notificationsarray
Response
Copy

Get Profile

Get user profile data

Auth
GET /api/users/profile
Copy
Responses
200

Successful Response

401

Not authorized

Response
Copy

Post Profile

Update user profile data

Auth
Request Body
POST /api/users/profile
Copy
Responses
200

Successful Response

400

Bad request

401

Not authorized

415

Unsupported media type

422

Validation Error

500

Internal server error

Response
Copy

Reset Timezone Locale

Reset user timezone and locale settings

Auth
DELETE /api/users/reset-timezone-locale
Copy
Responses
200

Successful Response

No response body
401

Not authorized

Response
Copy

Get Avatar Image

Get use avatar image

Auth
Path Params
account_idstring
GET /api/users/{account_id}/avatar
Copy
Responses
200

Successful Response

No response body
401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Create API Key

Create API key for current user

Auth
POST /api/users/api-key/create
Copy
Responses
200

Successful Response

UserApiKeyobject

Model for user API key create and set

api_keystring
400

Bad request

401

Not authorized

Response
Copy

Set API key

Set API key for current user

Auth
Request Body
UserApiKeyobject

Model for user API key create and set

api_keystring
POST /api/users/api-key/set
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Remove API Key

Remove user's API key

Auth
POST /api/users/api-key/remove
Copy
Responses
200

Successful Response

No response body
401

Not authorized

404

Item not found

Response
Copy

Mark notification as viewed by user

Mark notification as viewed by user

Auth
Path Params
notificationstring

Enum: dark_theme

POST /api/users/notifications/{notification}
Copy
Responses
200

Successful Response

No response body
401

Not authorized

422

Validation Error

Response
Copy

Delete Report

Delete a report

Users can only delete their own reports

Auth
Path Params
report_idstring
DELETE /api/users/reports/{report_id}
Copy
Responses
200

Successful Response

No response body
401

Not authorized

403

Forbidden

404

Item not found

422

Validation Error

Response
Copy

Get Public ReportsDeprecated

Get all public reports

Auth
Query String
pageinteger

Page number starting from 1

minimum: 1

Default: 1

page_size

Page size

Default: 10

GET /api/users/uploads
Copy
Responses
200

Successful Response

ReportSearchResponseobject

Search response returned to user

itemsarray
countinteger
count_search_paramsinteger
methodstring
dbs_syncboolean
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Get User ReportsDeprecated

Get reports of current user

Auth
Query String
pageinteger

Page number starting from 1

minimum: 1

Default: 1

page_size

Page size

Default: 10

date_fromstring

Results newer then this date (format YYYY-MM-DD)

verdictstring

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

GET /api/users/me/uploads
Copy
Responses
200

Successful Response

ReportSearchResponseobject

Search response returned to user

itemsarray
countinteger
count_search_paramsinteger
methodstring
dbs_syncboolean
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Get User Stat

Get app statistics for current user or for all users

Auth
Query String
typesarray

Enum: count_malicious_ips_by_user,count_verdicts_by_user,count_reports_by_user,count_uploads_by_user

all_usersboolean
periodstring
GET /api/users/stat
Copy
Responses
200

Successful Response

UserStatResponsearray[object]
userobject
account_idstring
usernamestring
pseudonamestring
namestring
updated_datedate-time
401

Not authorized

403

Forbidden

422

Validation Error

Response
Copy

Get User Generic Stat

Get app statistics not related to specific user

Auth
Query String
typesarray

Enum: count_reports,count_verdicts,count_iocs,count_iocs_per_period,count_yaras,count_users,count_users_signup_by_day,count_users_signin_by_day,fix_old_count_users_signin_by_day,count_active_users,count_users_uploads,count_uploads_by_date,count_reports_by_extension,count_malicious_reports_by_extension,count_malicious_reports_by_language,count_malicious_reports_by_country,count_malicious_ips,count_malicious_ips_by_user,count_malicious_ips_ratio,count_verdicts_by_date,count_verdicts_by_user,count_reports_by_date,count_reports_by_user,count_uploads_by_user,count_malicious_signal_groups,count_mitre_techniques_by_period,count_yaras_per_period,count_top_level_domains,count_phishing_brands,count_api_calls,average_scan_time,frequent_tags,frequent_yara_tags,most_interesting,finalize_fakely_hanged_reports,system_info,clean_storage,do_retention,do_healthcheck,get_fuzzyhashes_verdicts,delete_reports,postprocess_iocs,new_search_fix_search_params,count_initial_scan_jobs_by_date,count_rescan_jobs_by_date,count_mitre_techniques,load_mitre_data,get_intersting_score,collect_daily_reports,collect_daily_yara,fix_link_mime_type,update_sitemap,send_emails_queue,update_sourcetype_based_on_shorttype,copy_app_errors,add_country_search_param,set_pseudonames,normalize_verdict_history,delete_search_indexes,create_search_indexes,count_search_params,report_ocm_status,set_uploads_date_fields,set_auditor_features,change_additional_scan_steps,set_new_logos,count_reports_states_by_date,count_reports_extensions_by_date,report_usage_to_ocm,fix_origins_relations,old_errors_cleanup,cleanup_report_format_history,calculate_storage,check_license_scan_limit,generate_yara_xml_feed,send_report_summary,remove_failed_reports,frequent_signal_tags,frequent_malware_tags

periodstring
GET /api/users/stat/generic
Copy
Responses
200

Successful Response

AppStatResponsearray[object]
namestring
value
booleanboolean
updated_datedate-time
400

Bad request

401

Not authorized

403

Forbidden

422

Validation Error

Response
Copy

Get Malicious Ips Stat

Get statistics on malicious IPs

Auth
Query String
periodstring
targetstring
GET /api/users/stat/malicious-ips
Copy
Responses
200

Successful Response

AppStatobject

Generic statistic record.

Can hold statistics of any type.

namestring
periodstring
updated_datedate-time
idstring
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Get Ioc Stat

Get app statistics

Auth
GET /api/users/stat/iocs
Copy
Responses
200

Successful Response

StatForResponseobject
count
integerinteger
updateddate-time
401

Not authorized

Response
Copy

Get Yara Stat

Get yara statistics

Auth
GET /api/users/stat/yara
Copy
Responses
200

Successful Response

StatForYaraResponseobject
count
integerinteger
updateddate-time
401

Not authorized

Response
Copy

Get Mitre Stat

Get statistics on MITRE techniques used in reports

Auth
GET /api/users/stat/mitre
Copy
Responses
200

Successful Response

StatForResponseobject
count
integerinteger
updateddate-time
401

Not authorized

Response
Copy

Get Yara Info

Get yara repo info

Auth
GET /api/users/info/yara
Copy
Responses
200

Successful Response

YaraInfoResponseobject
infoarray[object]
revisionstring
urlstring
401

Not authorized

Response
Copy

Get Default

Return general information about webservice, just to indicate that API is working

Auth
GET /api/system/info
Copy
Responses
200

Successful Response

GeneralSystemInfoobject

Response model for /api/system/info endpoint

titlestring
descriptionstring
api_versionstring
release_versionstring
release_datedate-time
Response
Copy

Get Version

Return the version of the webservice

Auth
GET /api/system/version
Copy
Responses
200

Successful Response

Response Get Version Api System Version Getstring
Response
Copy

Get Config

Obtain project configuration to use on front-end

Auth
GET /api/system/config
Copy
Responses
200

Successful Response

Response
Copy

Get Terms

Obtain privacy policy and terms & conditions

Auth
Path Params
terms_typestring

Enum: privacy-policy,terms-condition,cookie-policy

GET /api/system/get-terms/{terms_type}
Copy
Responses
200

Successful Response

Response Get Terms Api System Get Terms Terms Type Getstring
404

Item not found

422

Validation Error

Response
Copy

Get Signal Groups

Obtain signal groups list

Auth
GET /api/system/signal-groups
Copy
Responses
200

Successful Response

SignalGroupsResponsearray[object]
typestring
namestring
categorystring
groupsarray[object]
idstring
descriptionstring
mime_typestring
mitre_technique_idsstring
strengthstring
401

Not authorized

Response
Copy

Get Mime Types

Obtain mime type list

Auth
GET /api/system/mime-types
Copy
Responses
200

Successful Response

arrayarray[string]
401

Not authorized

Response
Copy

Get Yara Rules

Get extended data of yara rules

If the name parameter is left empty, it returns the list of yara rules that already has a match in the system. Otherwise it will return a list of yara rules where the yara rule name matches the name parameter even if the yara rule has no match in the system.

Auth
Query String
namearray

Name of the YARA rule

Default: []

GET /api/system/yara
Copy
Responses
200

Successful Response

YaraRuleResponsearray[object]
namestring
authorstring
strengthnumber
created_datedate-time
descriptionstring
other_dataobject
contentstring
401

Not authorized

422

Validation Error

Response
Copy

Get Yara Authors

Get yara rules authors

If the name parameter is left empty, it returns the list of yara rule authors that already has a match in the system. Otherwise it will return a list of yara rule authors where the yara rule name matches the name parameter even if the yara rule has no match in the system.

Auth
Query String
namearray

Name of the YARA rule

Default: []

GET /api/system/yara-authors
Copy
Responses
200

Successful Response

arrayarray[string]
401

Not authorized

422

Validation Error

Response
Copy

Get Translations

Obtain translations for specific language

Auth
Path Params
langstring

Enum: en,de,zh,es,hi,ar,pt,bn,ru,ja,ko,fr,te,mr,tr,ta,vi,ur

GET /api/system/translations/{lang}
Copy
Responses
200

Successful Response

Response Get Translations Api System Translations Lang Getobject
*string
422

Validation Error

Response
Copy

Get Languages

Obtain list of all detectable (and probably even more) languages

Auth
GET /api/system/languages
Copy
Responses
200

Successful Response

Response Get Languages Api System Languages Getobject
*string
404

Item not found

Response
Copy

Get Countries

Obtain list of all countries

Auth
GET /api/system/countries
Copy
Responses
200

Successful Response

Response Get Countries Api System Countries Getobject
*string
404

Item not found

Response
Copy

Get Mitre Data

Obtain MITRE tactics and techniques

Auth
GET /api/system/mitre
Copy
Responses
200

Successful Response

Response Get Mitre Data Api System Mitre Getobject
*object

Response model for /api/system/mitre endpoint

techniquesobject
*object

MitreTechnique model for MitreDataResponse model

idstring
namestring
descriptionstring
idstring
namestring
descriptionstring
404

Item not found

Response
Copy

Log Client Error

Log frontend cliend errors

Auth
POST /api/system/errors/log
Copy
Responses
200

Successful Response

No response body
400

Bad request

Response
Copy

Get Logo

Get logo image

Auth
Query String
type

Default: main

theme

Default: light

namestring
GET /api/system/logo
Copy
Responses
200

Successful Response

No response body
404

Item not found

422

Validation Error

Response
Copy

Do Healthcheck

Do an immediate healthcheck and return the state

Auth
GET /api/system/do-healthcheck
Copy
Responses
200

Successful Response

401

Not authorized

Query Healthcheck

Query past healthcheck logs

Auth
Query String
daysinteger

Default: 90

days_frominteger
GET /api/system/query-full-healthcheck
Copy
Responses
200

Successful Response

401

Not authorized

422

Validation Error

Query Healthcheck

Query sanitized past healthcheck logs

Auth
Query String
daysinteger

Default: 90

days_frominteger
GET /api/system/query-healthcheck
Copy
Responses
200

Successful Response

SanitizedHealthCheckOutputarray[object]
created_datedate-time
frontend_healthobject
webservice_healthobject
fstransform_healtharray[object]
fsbroker_healthobject
422

Validation Error

Response
Copy

Check License Info

Get license information

Auth
GET /api/system/license
Copy
Responses
200

Successful Response

LicenseResponseobject

Fsbroker health log

http_infoobject

HTTP health log

response_time_msinteger
response_code_httpinteger
request_successboolean
response
objectobject
messagestring
calculated_healthboolean
401

Not authorized

Response
Copy

Activate License Online

Activate license online, using license key

Auth
Request Body
LicenseActivateOnlinePayloadobject
app_serverstring
license_keystring
POST /api/system/license/activate/online
Copy
Responses
200

Successful Response

LicenseResponseobject

Fsbroker health log

http_infoobject

HTTP health log

response_time_msinteger
response_code_httpinteger
request_successboolean
response
objectobject
messagestring
calculated_healthboolean
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Activate License Offline

Activate license, using license file

Auth
Request Body
Body_activate_license_offline_api_system_license_activate_offline_postobject
app_serverstring
POST /api/system/license/activate/offline
Copy
Responses
200

Successful Response

LicenseResponseobject

Fsbroker health log

http_infoobject

HTTP health log

response_time_msinteger
response_code_httpinteger
request_successboolean
response
objectobject
messagestring
calculated_healthboolean
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Deactivate License

Deactivate license

Auth
Query String
app_serverstring
DELETE /api/system/license/deactivate
Copy
Responses
200

Successful Response

LicenseResponseobject

Fsbroker health log

http_infoobject

HTTP health log

response_time_msinteger
response_code_httpinteger
request_successboolean
response
objectobject
messagestring
calculated_healthboolean
401

Not authorized

404

Item not found

422

Validation Error

500

Internal server error

Response
Copy

Reputation Check Config

Check if MD Cloud Reputation is enabled

If in the /reputation-config opswatReputationAPIKeySource value FALLBACK, it returns False. If opswatReputationAPIKeySource is LICENSE or USER, it returns True

Auth
GET /api/system/reputation/check-config
Copy
Responses
200

Successful Response

ReputationCheckConfigResponseobject
reputation_enabledboolean
Response
Copy

Get News

Get news

Auth
GET /api/system/news
Copy
Responses
200

Successful Response

NewsItemResponsearray[object]
idstring
linkstring
datestring

Represenation of news date, is shown as is

textstring
imagesstring

Comma separated list of images URLs

orderinteger

In what order news should be shown

activeboolean

If this news item should be shown

Response
Copy

Admin

Functionality for site admins.

Get Report

Get reports in raw format

Auth
Query String
scan_init_idstring
report_idstring
GET /api/debug/reports
Copy
Responses
200

Successful Response

RawReportResponseobject

Model for report raw format

scan_initobject
reportsarray[object]
400

Bad request

404

Item not found

422

Validation Error

Response
Copy

Save News Item

Save news item data

Auth
Request Body
AdminNewsPayloadobject
idstring
linkstring
datestring
textstring
imagesstring
orderinteger
activeboolean
POST /api/system/news
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Remove News Item

Remove news item

Auth
Query String
news_id
DELETE /api/system/news
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Delete ReportDeprecated

Delete a report

Users can only delete their own reports

Auth
Path Params
report_idstring
DELETE /api/admin/reports/{report_id}
Copy
Responses
200

Successful Response

No response body
401

Not authorized

403

Forbidden

404

Item not found

422

Validation Error

Response
Copy

Get Access Groups

Get a list of all access groups

Auth
GET /api/admin/access-groups
Copy
Responses
200

Successful Response

AdminGroupResponsearray[object]
idstring
namestring

maxLength: 100

descriptionstring

maxLength: 300

defaultboolean

If group is provided by app by default

401

Not authorized

Response
Copy

Save Access Group

Add or edit group.

Note: ID is a required parameter to modify a group

Auth
Request Body
SaveAccessGroupRequestobject

Request model to save access groups

idstring
namestring
descriptionstring
POST /api/admin/access-groups
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Remove Access Group

Remove group

Auth
Path Params
group_idstring
POST /api/admin/access-groups/{group_id}/remove
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Get Api Quota

Get all api quota settings

Auth
GET /api/admin/settings/api-quota
Copy
Responses
200

Successful Response

ApiQuotaSettingarray[object]
route_idstring
groupsarray[string]

User groups to apply quota settings to

time_settingsobject
secondsobject
seconds_amountinteger

Seconds period to count requests

requestsinteger

Requests amount per seconds period

minuteinteger

Max requests amount per minute

hourinteger

Max requests amount per hour

dayinteger

Max requests amount per day

weekinteger

Max requests amount per week

monthinteger

Max requests amount per month

credits_settingsobject
request_costinteger

Credits cost for single request

total_creditsinteger

Total credits available per month

idstring
401

Not authorized

Response
Copy

Save Api Quota

Save single API quota setting

Auth
Request Body
SaveApiQuotaSettingRequestobject

Request model to save api quota setting

route_idstring
groupsarray[string]
time_settingsobject
secondsobject
seconds_amountinteger

Seconds period to count requests

requestsinteger

Requests amount per seconds period

minuteinteger

Max requests amount per minute

hourinteger

Max requests amount per hour

dayinteger

Max requests amount per day

weekinteger

Max requests amount per week

monthinteger

Max requests amount per month

credits_settingsobject
request_costinteger

Credits cost for single request

total_creditsinteger

Total credits available per month

POST /api/admin/settings/api-quota
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Remove Api Quota

Remove single api quota setting

Auth
Path Params
quota_idstring
POST /api/admin/settings/api-quota/{quota_id}/remove
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Get Settings Group

Get a group of admin settings

Auth
Path Params
groupstring

Enum: access,auth,environment

GET /api/admin/settings/{group}
Copy
Responses
200

Successful Response

AdminSettingOutputarray[object]
idstring
namestring
groupstring

An enumeration.

Enum: access,auth,environment

subgroupstring
value
integerinteger
401

Not authorized

422

Validation Error

Response
Copy

Save Settings Group

Update group of admin settings

Auth
Path Params
groupstring

Enum: access,auth,environment

Request Body
Dataobject
*object
POST /api/admin/settings/{group}
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Get Auth Services

Get all external auth services settings

Auth
GET /api/admin/auth-services
Copy
Responses
200

Successful Response

No response body
401

Not authorized

Response
Copy

Save Auth Service

Update settings of external auth service

Auth
Request Body
SaveOAuthServicePayloadobject

Request model to save OAuth service

activeboolean
client_idstring
discovery_base_urlstring
discovery_pathstring
home_pagestring
keystring
namestring
orderstring
secretstring
auth_typestring

An enumeration.

Enum: oauth,saml

use_stateboolean
api_base_urlstring
api_typestring

Supported APIs for OAuth providers

Enum: microsoft_graph

should_map_groupsboolean
groups_maparray[object]
local_group_idstring
external_groupsarray[string]
POST /api/admin/auth-services
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Remove Auth Service

Remove external auth service settings

Auth
Path Params
servicestring
POST /api/admin/auth-services/{service}/remove
Copy
Responses
200

Successful Response

No response body
401

Not authorized

422

Validation Error

Response
Copy

Get Users

Get list of users.

Use filter parameter to find users by email or username. It will match in any part of a word. If ids parameter is specified, filter is ignored.

Auth
Query String
page

Default: 1

idsarray
filterstring
GET /api/admin/users
Copy
Responses
200

Successful Response

AdminUsersResponseobject

Customize admin response models

itemsarray[object]
idstring
account_idstring

Permanent id to use, say, in urls

emailstring
usernamestring

User nickname in system

groupsarray[string]

Groups user is a member of

confirmedboolean
activeboolean
created_datedate-time
last_login_datedate-time
count_uploadsinteger

Amount of user uploads

is_service_accountboolean

The account is used for automated services

total_countinteger
matched_countinteger
401

Not authorized

422

Validation Error

Response
Copy

Get Users Overview

Download basic users info as csv file

Auth
GET /api/admin/users/import
Copy
Responses
200

Successful Response

No response body
401

Not authorized

Response
Copy

Get User

Get user by user id

Auth
Path Params
user_idstring
GET /api/admin/users/{user_id}
Copy
Responses
200

Successful Response

AdminUserResponseobject
idstring
account_idstring

Permanent id to use, say, in urls

emailstring
usernamestring

User nickname in system

groupsarray[string]

Groups user is a member of

confirmedboolean
activeboolean
created_datedate-time
last_login_datedate-time
count_uploadsinteger

Amount of user uploads

is_service_accountboolean

The account is used for automated services

400

Bad request

401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Edit User

Edit user

Auth
Path Params
user_idstring
Request Body
EditUserRequestobject

Request model to edit user

activeboolean
confirmedboolean
groupsarray[string]
is_service_accountboolean
POST /api/admin/users/{user_id}
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Delete User

Delete a user

Auth
Path Params
user_idstring
DELETE /api/admin/users/{user_id}
Copy
Responses
200

Successful Response

No response body
401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Get User Uploads

Get user's uploads

Auth
Path Params
user_idstring
Query String
pageinteger

minimum: 1

Default: 1

page_size

Default: 10

GET /api/admin/users/{user_id}/uploads
Copy
Responses
200

Successful Response

UserUploadsResponseobject
itemsarray[object]
countinteger
timingarray[object]
methodstring

An enumeration.

Enum: or,and

count_search_paramsinteger
401

Not authorized

422

Validation Error

Get App Config

Get app basic config values

Auth
GET /api/admin/app-config
Copy
Responses
200

Successful Response

Response Get App Config Api Admin App Config Getobject
401

Not authorized

Get Services Stat

Get statistics of various running services

Auth
GET /api/admin/stat/services
Copy
Responses
200

Successful Response

ServicesStatResponseobject
queuesobject

Service Stat Response nested model

scanobject
redisobject

Service Stat Response nested model

infoobject
401

Not authorized

Response
Copy

Generate Invite Token

Generate invitation token for user

Auth
Request Body
AdminGenerateInviteLinkResponseobject
groupsarray[string]
POST /api/admin/invite
Copy
Responses
200

Successful Response

GenerateInviteTokenResponseobject
tokenstring
401

Not authorized

422

Validation Error

Response
Copy

Generate External Tokens Secret

Generate secret key to encript external auth tokens

Auth
GET /api/admin/generate-external-tokens-secret
Copy
Responses
200

Successful Response

No response body
401

Not authorized

Response
Copy

Get App Errors

Obtain saved errors

Params:

  • type - can be 'server' or 'client'
  • page - (default: 1)
  • filter - match the given string to error message
  • sort - can be 'date', 'count' or 'note'

Auth
Query String
type

Default: client

pageinteger

minimum: 1

Default: 1

filterstring
sortstring

Enum: date,count,note

GET /api/admin/errors
Copy
Responses
200

Successful Response

AdminAppErrorsResponseobject

Customize admin response models

itemsarray[object]
idstring
typestring

Type of application error that we can save

Enum: server,client

messagestring
urlstring
contextstring

Short description of error context

Enum: Scanning job,HTML/PDF report job,Scheduled job,Signin using external auth provider

tracestring
first_occurance_datedate-time
last_occurance_datedate-time
occurance_countinteger

How often error was noticed

Default: 1

is_signed_inboolean

If user was signed in during error

report_flow_idstring
report_flow_file_sha256string
report_idstring
report_file_sha256string
notestring
total_countinteger
matched_countinteger
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Remove App Errors

Remove saved errors matching filter

Params:

  • type - can be 'server' or 'client'
  • filter - match the given string to error message

Auth
Query String
type

Default: client

filterstring
DELETE /api/admin/errors
Copy
Responses
200

Successful Response

AdminAppErrorsRemovedResponseobject
removed_countinteger
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

App Error

Remove single saved error

Auth
Path Params
error_idstring
DELETE /api/admin/errors/{error_id}
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Edit App Error Note

Edit saved error note, to help memorize it's specifics

Auth
Path Params
error_idstring
Request Body
AdminAppErrorNotePayloadobject
notestring
POST /api/admin/errors/{error_id}/note
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Export Errors

Export application errors in a .csv format

Auth
GET /api/admin/errors/export
Copy
Responses
200

Successful Response

No response body
401

Not authorized

Response
Copy

Get Generic Logs

Obtain custom logs, usually aimed to trace problems

Params:

  • page - (default: 1)
  • filter - match the given string to the 'key' and the beginning of the 'related_url' and 'note' fields
  • sort - can be 'date' or 'note'

Auth
Query String
pageinteger

minimum: 1

Default: 1

filterstring
sortstring

Enum: date,note

GET /api/admin/logs
Copy
Responses
200

Successful Response

AdminGenericLogsResponseobject

Customize admin response models

itemsarray[object]
idstring
keystring
key_typestring

Type of key attribute for logging record

Enum: scan_init_id,new_search

notestring

Note describing log specifics

related_urlstring

Related site page, if it exists

saved_datedate-time

Date when logging record was created

total_countinteger
matched_countinteger
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Remove Generic Logs

Remove custom logs matching filter

Params:

  • filter - match the given string to the 'key' and the beginning of the 'related_url' and 'note' fields

Auth
Query String
filterstring
DELETE /api/admin/logs
Copy
Responses
200

Successful Response

AdminGenericLogsRemovedResponseobject
removed_countinteger
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Calculate Retention

Calculate affected number of reports by retention config changes

Auth
Query String
retention_period_maliciousinteger
retention_period_suspiciousinteger
retention_period_informationalinteger
retention_period_unknowninteger
retention_period_benigninteger
GET /api/admin/retention-calculation
Copy
Responses
200

Successful Response

AdminRetentionCalculationResponseobject

Customize admin response models

total_number_of_reportsinteger
affected_number_of_reportsobject
401

Not authorized

422

Validation Error

Response
Copy

Get Full Generic Log

Obtain full log record data

Auth
Path Params
log_idstring
GET /api/admin/logs/{log_id}
Copy
Responses
200

Successful Response

AdminGenericLogResponseobject
idstring
keystring
key_typestring

Type of key attribute for logging record

Enum: scan_init_id,new_search

notestring

Note describing log specifics

related_urlstring

Related site page, if it exists

saved_datedate-time

Date when logging record was created

400

Bad request

401

Not authorized

404

Item not found

422

Validation Error

Remove Generic Log

Remove single log record

Auth
Path Params
log_idstring
DELETE /api/admin/logs/{log_id}
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Edit Generic Log Note

Edit log note, to help memorize it's specifics

Auth
Path Params
log_idstring
Request Body
AdminGenericLogNotePayloadobject
notestring
POST /api/admin/logs/{log_id}/note
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Get Logos List

Get list of all available logos

Auth
GET /api/admin/logos
Copy
Responses
200

Successful Response

arrayarray[string]
401

Not authorized

Response
Copy

Select Logo

Select new logo

Auth
Request Body
Body_select_logo_api_admin_logos_select_postobject
filefile
namestring
typestring

Type of logo, representing it's usecase

Enum: main,top_menu,footer

themestring

All available themes

Enum: light,dark

POST /api/admin/logos/select
Copy
Responses
200

Successful Response

No response body
401

Not authorized

422

Validation Error

Response
Copy

Get Stat

Get app statistics

Auth
Query String
typesarray

Enum: count_reports,count_verdicts,count_iocs,count_yaras,count_users,count_active_users,count_users_uploads,count_reports_by_extension,count_malicious_reports_by_extension,count_malicious_reports_by_language,count_malicious_reports_by_country,count_malicious_ips,count_malicious_ips_ratio,frequent_tags,frequent_yara_tags,most_interesting,system_info,count_mitre_techniques,frequent_malware_tags

GET /api/admin/stat
Copy
Responses
200

Successful Response

AppStatResponsearray[object]
namestring
value
booleanboolean
updated_datedate-time
400

Bad request

401

Not authorized

403

Forbidden

422

Validation Error

Response
Copy

Get Daily Stat

Get app statistics, which is saved separately in daily stat collection

Auth
Query String
typesarray

Enum: count_verdicts_by_date,count_reports_by_date,count_uploads_by_date,count_initial_scan_jobs_by_date,count_rescan_jobs_by_date,count_reports_states_by_date,count_reports_extensions_by_date,count_users_signup_by_day,count_users_signin_by_day

date_fromstring
date_tostring
GET /api/admin/stat/daily
Copy
Responses
200

Successful Response

DateStatResponsearray[object]
datestring
namestring
value
booleanboolean
updated_datedate-time
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Get Jobs

Get all available jobs with some additional information

Auth
Query String
categorystring

Enum: statistics,scan,system,reports,patches

GET /api/admin/jobs
Copy
Responses
200

Successful Response

ScheduleTaskResponsearray[object]
namestring
categorystring

Job categories

Enum: statistics,scan,system,reports,patches

descriptionstring
configobject

Return job config to user

namestring
triggerstring

All available trigger types

Enum: once,date,interval,cron,calendarinterval

trigger_configobject
runtime_configobject
is_activeboolean
is_editableboolean
stateobject

Return job state to user

namestring
statestring
dataobject
updated_datedate-time
public_logarray
has_public_logboolean
401

Not authorized

422

Validation Error

Response
Copy

Get Jobs Config

Get jobs launch and runtime config

Auth
Query String
jobsarray
GET /api/admin/jobs/config
Copy
Responses
200

Successful Response

ScheduleTaskConfigarray[object]
namestring
triggerstring

All available trigger types

Enum: once,date,interval,cron,calendarinterval

trigger_configobject
runtime_configobject
is_subprocessboolean

Field to differ real scheduled jobs from custom ones

is_activeboolean

If job is available for running

Default: true

is_editableboolean

If user is allowed to edit this settings

Default: true

updated_datedate-time

Last time when schedual was updated by user

update_applied_datedate-time

Last date when updated schedual was applied to job

idstring
401

Not authorized

422

Validation Error

Response
Copy

Get Jobs Memory Peaks

Get peak jobs memory usage

Auth
GET /api/admin/jobs/memory/peaks
Copy
Responses
200

Successful Response

ScheduleTaskPeakMemoryResponsearray[object]
namestring
descriptionstring
memorynumber
is_killedboolean
is_unresponsiveboolean
401

Not authorized

Response
Copy

Get Job Memory Details

Get job memory usage details

Auth
Query String
job_namestring
GET /api/admin/jobs/memory
Copy
Responses
200

Successful Response

ScheduleTaskMemoryResponsearray[object]
namestring
resident_memorynumber
datedate-time
is_killedboolean
401

Not authorized

422

Validation Error

Response
Copy

Edit Job Config

Edit job config

Auth
Path Params
job_namestring
Request Body
ScheduleTaskConfigEditobject

Job edit input model

triggerstring

All available trigger types

Enum: once,date,interval,cron,calendarinterval

trigger_configobject
runtime_configobject
is_activeboolean
POST /api/admin/jobs/{job_name}
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

403

Forbidden

404

Item not found

422

Validation Error

Response
Copy

Get Job Log

Get job public log

Auth
Path Params
job_namestring
GET /api/admin/jobs/{job_name}/log
Copy
Responses
200

Successful Response

ScheduleTaskLogResponseobject

Job log response

statestring

Name of job state

Enum: succeeded,succeeded_with_errors,failed,running

logarray
401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Stop All Jobs

Stop all existing jobs

Auth
POST /api/admin/jobs/stop/all
Copy
Responses
200

Successful Response

No response body
401

Not authorized

Response
Copy

Enable All Jobs

Enable all existing jobs

Auth
POST /api/admin/jobs/enable/all
Copy
Responses
200

Successful Response

No response body
401

Not authorized

Response
Copy

Get Scan Jobs Health

Get health statistics about scan jobs queues

Auth
Query String
queue_namestring
check_typestring

Enum: long_run,new_run

date_fromstring
GET /api/admin/stat/scan/health
Copy
Responses
200

Successful Response

ScanHealthResponsearray[object]
datedate-time
valueinteger
401

Not authorized

422

Validation Error

Response
Copy

Get Scans States

Get statistics on scans progress

Auth
Query String
queue_namestring
statearray

Enum: created,queued,scanning,queued_cancelled,changed_priority,failed,running_timedout

date_fromstring
GET /api/admin/stat/scan/states
Copy
Responses
200

Successful Response

ScanStateStatResponsearray[object]
count_createdinteger
count_queuedinteger
count_scanninginteger
count_failedinteger
count_queued_cancelledinteger
count_changed_priorityinteger
count_running_timedoutinteger
datedate-time
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Get User Daily Stat

Get app statistics, which is saved separately in daily stat collection, available for ordinary users

Auth
Query String
typesarray

Enum: count_verdicts_by_date,count_reports_by_date,count_uploads_by_date

date_fromstring
date_tostring
GET /api/users/stat/daily
Copy
Responses
200

Successful Response

DateStatResponsearray[object]
datestring
namestring
value
booleanboolean
updated_datedate-time
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Get Emails History

Get history of sending mass emails

Auth
Query String
pageinteger

minimum: 1

Default: 1

GET /api/admin/emails
Copy
Responses
200

Successful Response

EmailHistoryResponseobject
itemsarray[object]
idstring
recipient_typestring

Recipient types of mass email sending

Enum: all_users,admins,selected_users

recipient_emailsarray[string]
subjectstring
contentstring
statestring

State of email queue item processing

Enum: created,queued,sending,succeeded,failed

created_datedate-time
completed_datedate-time
count_emails_sentinteger
errorobject
total_countinteger
401

Not authorized

422

Validation Error

Response
Copy

Add Email Queue Item

Add record to emails queue

Auth
Request Body
EmailQueueRequestobject

Email queue input model

recipient_typestring

Recipient types of mass email sending

Enum: all_users,admins,selected_users

recipient_emailsarray[string]
subjectstring
contentstring
POST /api/admin/emails
Copy
Responses
200

Successful Response

No response body
401

Not authorized

422

Validation Error

Response
Copy

Get Emails Templates

Get predefined email templates

Auth
GET /api/admin/emails/templates
Copy
Responses
200

Successful Response

EmailTemplatesResponseobject
terms_change
stringstring
401

Not authorized

Response
Copy

Get Files

Get list of files obtained from scan sources

Auth
Query String
pageinteger

minimum: 1

Default: 1

configstring
statestring

Enum: queued_for_download,downloading,queued_for_scan,scanning,scan_completed

verdictstring

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

GET /api/admin/scan-sources/files
Copy
Responses
200

Successful Response

AdminScanSourcesFilesResponseobject

Customize admin response models

itemsarray[object]
configobject
idstring
providerstring
namestring
source_typestring

An enumeration.

Enum: email:IMAP,s3

fileobject
namestring
hashstring
mime_typestring
statestring

All possible states of processing of file from remote scan source

Enum: queued_for_download,downloading,queued_for_scan,scanning,scan_completed

verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

folderstring

Unique path to file on source

id_on_sourceinteger

Unique id of file in its folder on source

flow_idstring

Id of scan flow record

created_datedate-time

Time of file record creation

created_date_on_sourcedate-time

Date of file creation on source

downloaded_datedate-time
total_countinteger
matched_countinteger
401

Not authorized

422

Validation Error

Response
Copy

Get Scan Sources Configs

Obtain scan sources config records

Auth
Query String
pageinteger

minimum: 1

Default: 1

GET /api/admin/scan-sources/config
Copy
Responses
200

Successful Response

401

Not authorized

422

Validation Error

Response
Copy

Edit Scan Source Config

Add or edit scan source config record

Auth
Request Body
POST /api/admin/scan-sources/config
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Remove Scan Sources Config

Remove scan sources configs records by id

Note: This will also remove scan source files from the database. The quick overview and verdicts of these files won't be available in the Admin Panel anymore. The scan results will only remain accessible from standard reports search.

Auth
Request Body
ScanSourcesConfigIdsobject
config_ids
stringstring
DELETE /api/admin/scan-sources/config
Copy
Responses
200

Successful Response

AdminScanSourcesRemoveResponseobject
remove_countinteger
422

Validation Error

Response
Copy

Check Scan Source Connection

Verify if scan source credentials are working ok

Auth
Path Params
config_idstring
GET /api/admin/scan-sources/{config_id}/check-connection
Copy
Responses
200

Successful Response

arrayarray[string]
401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Get Scan Sources Jobs State

Get state of scan sources handlers

Auth
Query String
pageinteger

minimum: 1

Default: 1

configstring
GET /api/admin/scan-sources/subjobs
Copy
Responses
200

Successful Response

AdminScanSourcesSubjobsResponseobject

Customize admin response models

itemsarray[object]
scan_source_configobject
idstring
providerstring
namestring
source_typestring

An enumeration.

Enum: email:IMAP,s3

configobject

Return job config to user

namestring
triggerstring

All available trigger types

Enum: once,date,interval,cron,calendarinterval

trigger_configobject
runtime_configobject
is_activeboolean
is_editableboolean
stateobject

Return job state to user

namestring
statestring
dataobject
updated_datedate-time
public_logarray
has_public_logboolean
total_countinteger
matched_countinteger
401

Not authorized

422

Validation Error

Response
Copy

Get Full Scan Source Subjob State

Obtain full scan source job record data

Auth
Path Params
job_idstring
GET /api/admin/scan-sources/subjobs/{job_id}
Copy
Responses
200

Successful Response

AdminScanSourceSubjobResponseobject

Customize admin response models

scan_source_configobject
idstring
providerstring
namestring
source_typestring

An enumeration.

Enum: email:IMAP,s3

configobject

Return job config to user

namestring
triggerstring

All available trigger types

Enum: once,date,interval,cron,calendarinterval

trigger_configobject
runtime_configobject
is_activeboolean
is_editableboolean
stateobject

Return job state to user

namestring
statestring
dataobject
updated_datedate-time
public_logarray
has_public_logboolean
400

Bad request

401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Audit-logger

Audit Logger

Get Audit Logs

Obtain saved audit logs

Auth
Query String
logger_typestring

Enum: admin,auth

log_level_filter

Default: all

pageinteger

minimum: 1

Default: 1

filterstring
GET /api/admin/audit-logs
Copy
Responses
200

Successful Response

AuditLogsResponseobject

Response model for getting audit logs

itemsarray[object]
total_countinteger
matched_countinteger
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Get prevalence of IOCs

Get prevalences of IOCs

Auth
Query String
exclude_report_idsarray
Request Body
IOCsPrevalenceSearchParamsobject

Params for IOCs' prevalence search

domainarray[string]

Default: []

iparray[string]

Default: []

urlarray[string]

Default: []

uuidarray[string]

Default: []

emailarray[string]

Default: []

registry_patharray[string]

Default: []

revision_save_idarray[string]

Default: []

sha1array[string]

Default: []

sha256array[string]

Default: []

sha512array[string]

Default: []

md5array[string]

Default: []

imphasharray[string]

Default: []

ssdeeparray[string]

Default: []

authentihasharray[string]

Default: []

fuzzyfsiohasharray[string]

Default: []

unc_patharray[string]

Default: []

daysinteger

Default: -1

POST /api/threatintel/get-prevalence
Responses
200

Successful Response

Response Get Ioc Prevalences Api Threatintel Get Prevalence Postobject
*object
*object

Prevalence response model

countsobject
*integer
reportsarray[object]
flow_idstring
report_idstring
fileobject

File name and hash

namestring
sha256string
verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

created_datedate-time
verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

400

Bad request

401

Not authorized

422

Validation Error

Modify verdict for a given report

Modify verdict for a given report

Auth
Request Body
ModifyVerdictPayloadobject

New verdict and report id

verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

report_idstring
POST /api/threatintel/modify-verdict
Copy
Responses
200

Successful Response

No response body
401

Not authorized

404

Item not found

422

Validation Error

Response
Copy

Get reports with the same special hashes (fuzzyfsio, imphash, ssdeep, authentihash)

Get reports with the same special hashes

Auth
Query String
exclude_report_idsarray
imphashstring
ssdeepstring
fuzzyfsiohashstring
authentihashstring
daysinteger

Default: -1

GET /api/threatintel/get-similars
Copy
Responses
200

Successful Response

Response Get Similar Reports Api Threatintel Get Similars Getobject
*object
*object

Prevalence response model

countsobject
*integer
reportsarray[object]
flow_idstring
report_idstring
fileobject

File name and hash

namestring
sha256string
verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

created_datedate-time
verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

400

Bad request

401

Not authorized

422

Validation Error

Get feeds with more data

Get advanced feed containing all IOCs and signatures compared to the basic feed

Auth
GET /api/threatintel/feed
Copy
Responses
200

Successful Response

No response body
401

Not authorized

Response
Copy

Download iocs of reports in csv format

Download iocs of all reports

Auth
Headers
pageinteger

minimum: 0

pageSizeinteger

minimum: 0

Query String
GET /api/threatintel/download-iocs
Copy
Responses
200

Successful Response

No response body
401

Not authorized

422

Validation Error

Response
Copy

Get similar reports based on the SHA256 hash, tags, threshold and verdict

Get similar reports

Auth
Query String
hashstring
min_similarityinteger

maximum: 100

minimum: 0

verdictstring

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

tagsarray
GET /api/similarity-search/similarity
Copy
Responses
200

Successful Response

400

Bad request

401

Not authorized

422

Validation Error

Backend

Backend wrapper

Get ReputationDeprecated

Wrapper for reputation api

Auth
Query String
sha256string

SHA256 digest as found in the response of submit or extracted resource in the report.

hashesarray

Array of one or more hashes

GET /api/backend/reputation
Copy
Responses
200

Successful Response

ReputationResponseobject

Response model for get_reputation()

processTimeinteger
reputationResultsobject

Model for reputationResults field

INTERNALobject

Model for INTERNAL field

processTimeinteger
whitelistedHashesarray
invalidHashesarray
422

Validation Error

500

Internal server error

Response
Copy

Get Reputation Hash

Get the reputation for one given hash

Auth
Query String
sha256string
GET /api/reputation/hash
Copy
Responses
200

Successful Response

ReputationResultHashobject
sha256string
overall_verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

fuzzyhashobject

Fuzzy hash verdict

hashstring
verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

mdcloudobject

Result of one multiscan

total_av_enginesinteger
detected_av_enginesinteger
scan_timedate-time
filescan_reportsarray[object]
verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

report_datestring
report_idstring
flow_idstring
400

Bad request

401

Not authorized

415

Unsupported media type

422

Validation Error

Response
Copy

Get Reputation Hash Bulk

Get the reputation for more hashes

Auth
Request Body
arrayarray[string]
POST /api/reputation/hash
Copy
Responses
200

Successful Response

ReputationResultHasharray[object]
sha256string
overall_verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

fuzzyhashobject

Fuzzy hash verdict

hashstring
verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

mdcloudobject

Result of one multiscan

total_av_enginesinteger
detected_av_enginesinteger
scan_timedate-time
filescan_reportsarray[object]
verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

report_datestring
report_idstring
flow_idstring
400

Bad request

401

Not authorized

415

Unsupported media type

422

Validation Error

Response
Copy

Get Reputation Ioc

Get the reputation for one given IOC

Auth
Path Params
ioc_typestring

Enum: domain,ip,url

Query String
ioc_valuestring
GET /api/reputation/{ioc_type}
Copy
Responses
200

Successful Response

ReputationResultIocobject
ioc_typestring
ioc_valuestring
overall_verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

mdcloudobject

Result of one lookup for IP, domain or URL

scan_timedate-time
detectedinteger
communityobject
vote_maliciousinteger
vote_benigninteger
filescan_reportsarray[object]
verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

report_datestring
report_idstring
flow_idstring
400

Bad request

401

Not authorized

415

Unsupported media type

422

Validation Error

Response
Copy

Get Reputation Ioc Bulk

Get the reputation for more IOCs

Auth
Path Params
ioc_typestring

Enum: domain,ip,url

Request Body
arrayarray[string]
POST /api/reputation/{ioc_type}
Copy
Responses
200

Successful Response

ReputationResultIocarray[object]
ioc_typestring
ioc_valuestring
overall_verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

mdcloudobject

Result of one lookup for IP, domain or URL

scan_timedate-time
detectedinteger
communityobject
vote_maliciousinteger
vote_benigninteger
filescan_reportsarray[object]
verdictstring

An enumeration.

Enum: unknown,benign,informational,no_threat,suspicious,likely_malicious,malicious

report_datestring
report_idstring
flow_idstring
400

Bad request

401

Not authorized

415

Unsupported media type

422

Validation Error

Get API Docs

Return API docs UI

Auth
GET /api/docs
Copy
Responses
200

Successful Response

Response Get Api Docs Api Docs Getstring
Response
Copy

Get OpenAPI Endpoint

Return API json data to be used by docs UI

Auth
GET /openapi.json
Copy
Responses
200

Successful Response

GetOpenApiJsonResponseobject

Response model for get_open_api_endpoint()

openapistring
infoobject
titlestring
versionstring
pathsobject
*object
componentsobject
schemasobject
*object
securitySchemesobject
apiKeyobject
typestring
instring
namestring
tagsarray[object]
namestring
descriptionstring
Response
Copy

Get API Doc Styles

Return styles for api docs

Auth
GET /api/docs/styles
Copy
Responses
200

Successful Response

Response Get Api Docs Styles Api Docs Styles Getstring
Response
Copy

Get Sitemap

Get sitemap xml

Auth
GET /api/docs/sitemap
Copy
Responses
200

Successful Response

No response body
Response
Copy

Ocm

OPSWAT Central Management (OCM)

Get Integration State

Get current state of OCM integration

Auth
GET /api/ocm/state
Copy
Responses
200

Successful Response

OcmIntegrationStateResponseobject
server_urlstring

Base url of OCM server

registration_codestring

Code used for obtaining API key for interaction with OCM

statestring

An enumeration.

Enum: not_enrolled,enrolled,unenrolled

disconnectedboolean

If we failed to establish connection with OCM

last_connection_datedate-time

Last time connection was done to OCM

last_connection_attempt_datedate-time

Last time we tried to edtablish connection with OCM

401

Not authorized

404

Item not found

Response
Copy

Enroll

Register product at OPSWAT Central Management

Auth
Request Body
OcmEnrollPayloadobject
server_urlstring

Base URL of OCM server

registration_codestring

Code to reveice API key to interact with OCM

POST /api/ocm/enroll
Copy
Responses
200

Successful Response

No response body
400

Bad request

401

Not authorized

422

Validation Error

Response
Copy

Unenroll

Unregister product at OPSWAT Central Management

Auth
Request Body
OcmUnenrollPayloadobject
forceboolean

Clear local enrollment data

POST /api/ocm/unenroll
Copy
Responses
200

Successful Response

No response body
401

Not authorized

422

Validation Error

Response
Copy

Get Ai Summary

Request AI summary for report

Auth
Query String
report_idstring
GET /api/ai/report/summary
Copy
Responses
200

Successful Response

AiReportDataobject

AI data, provided on some request to analyze some report data

source_idstring

Id of analyzed portion of report. Usually - the dataUUID property

data_typestring

Type of data we request from AI for report

Enum: summary,decompiled_disassembly_section

data

Data provided by AI. Not all data, but only portion of it that we need

AiReportDecompiledDataobject

Parsed data of decompiled disassembly section

functionsarray[string]

Extracted names of decompiled functions

summarystring

Generic summary on all functions

contentstring

Either only all functions with comments, or whole response if we failed to parse it

created_datedate-time

Date when AI data was received

400

Bad request

404

Item not found

422

Validation Error

Response
Copy

Decompile Disassembly Section

Request AI summary for report

Auth
Query String
report_idstring
section_id
GET /api/ai/report/decompile
Copy
Responses
200

Successful Response

AiReportDataobject

AI data, provided on some request to analyze some report data

source_idstring

Id of analyzed portion of report. Usually - the dataUUID property

data_typestring

Type of data we request from AI for report

Enum: summary,decompiled_disassembly_section

data

Data provided by AI. Not all data, but only portion of it that we need

AiReportDecompiledDataobject

Parsed data of decompiled disassembly section

functionsarray[string]

Extracted names of decompiled functions

summarystring

Generic summary on all functions

contentstring

Either only all functions with comments, or whole response if we failed to parse it

created_datedate-time

Date when AI data was received

400

Bad request

404

Item not found

422

Validation Error

Response
Copy