Skip to main content

ACUBETotal API (0.1.0)

Download OpenAPI specification:Download

Submission

Download the results of a submission

path Parameters
id
required
number

Submission ID

key
required
string

Output key from execution status (e.g., floss-result, cape-report-json, file)

query Parameters
downloadToken
string

Optional token for tracking download completion (used for polling)

zipPassword
string

Password to encrypt the downloaded file in a ZIP archive

Responses

Get submission execution status

Returns the current execution state of a submission's pipeline

path Parameters
id
required
number

Submission ID

Responses

Response samples

Content type
application/json
{
  • "state": { },
  • "error": "string"
}

Get submission file chunk

Retrieve a portion of the submitted file by offset and size

path Parameters
id
required
number

Submission ID

query Parameters
size
required
number

Number of bytes to read

offset
required
number

Starting byte offset

Responses

Extract and submit file from submission

Extract a portion of the submitted file and create a new submission

path Parameters
id
required
number

Submission ID

query Parameters
size
required
number

Number of bytes to extract

offset
required
number

Starting byte offset

Request Body schema: multipart/form-data
fileName
string

Name for the extracted file

modules
string

Comma-delimited list of modules to run

capeOptions
string

JSON format CAPE options

organizations
string

Comma-delimited list of organizations

tags
string

Comma-delimited list of tags

Responses

Get submission info

Get specified informnation of a submission

path Parameters
id
required
number

Submission ID

Responses

Response samples

Content type
application/json
{
  • "key": 131,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "filename": "wannacry.exe",
  • "filetype": "string",
  • "size": 3514368,
  • "sha256": "0a73291ab5607aef7db23863cf8e72f55bcb3c273bb47f00edf011515aeb5894",
  • "md5": "5a89aac6c8259abbba2fa2ad3fcefc6e",
  • "capeOptions": {
    },
  • "mobsfOptions": {
    },
  • "organizations": "IMDA,Govtech",
  • "tags": "case 1,case 2,case 3",
  • "submitter": "Bobby Chan",
  • "cape": { },
  • "mobsf": { },
  • "correlation": { },
  • "floss": { },
  • "capa": { },
  • "dynamicCapa": { },
  • "olevba": { },
  • "peInfo": { },
  • "detectItEasy": { },
  • "elfparser": { },
  • "peepdf": { },
  • "opencti": { }
}

Update submission

Update tags, access control, or rerun modules

path Parameters
id
required
number

Submission ID

Request Body schema: multipart/form-data
pre_script
string <binary>

Pre-script for dynamic analysis

during_script
string <binary>

During-script for dynamic analysis

C2docker
string <binary>

C2 docker script for dynamic analysis

organizations
string

Comma-delimited list of organizations to associate the submission with

tags
string

Comma-delimited list of tags to associate the submission with

object

JSON format cape options. Possible values for "machine" property may be retrieved from /api/cape/machines

category
string
Enum: "none" "failed" "all"

Modules to rerun

Responses

Get submission state data

Retrieve pipeline state data for a specific key (e.g., module results)

path Parameters
id
required
number

Submission ID

key
required
string

State key name (e.g., module name or "_metadata")

query Parameters
multiple
boolean

Whether to return multiple files matching the key pattern

Responses

Get paginated list of submission details

query Parameters
page
number
rows
number
orgs
string

Comma-delimited list of organizations to filter the list of submissions with

submitter
string

Responses

Response samples

Content type
application/json
{
  • "page": 2,
  • "totalPages": 12,
  • "perPage": 10,
  • "total": 120,
  • "data": [
    ]
}

Create submission

Submit binary files and run tools on them.

Request Body schema: multipart/form-data
files
Array of strings <binary>

Files to submit

modules
string

Comma-delimited list of modules to run. Available options: floss, capa, capev2, opencti, correlation

organizations
string

Comma-delimited list of organizations to associate the submission with

tags
string

Comma-delimited list of tags to associate the submission with

object

JSON format cape options. Possible values for "machine" property may be retrieved from /api/cape/machines

object

JSON format MobSF options

object

JSON format zip options

pre_script
string <binary>

Pre-script for dynamic analysis

during_script
string <binary>

During-script for dynamic analysis

C2docker
string <binary>

C2 docker script for dynamic analysis

object

JSON format file type options

object

JSON format single submission options for multi-file analysis

Responses

Get user's submission tags

Returns a list of unique tags from all submissions by the current user

Responses

Response samples

Content type
application/json
[
  • "malware",
  • "phishing",
  • "case-123"
]

Pipeline

Get available pipeline modules

Returns the dependency tree of available analysis modules and their relationships

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Cape

Get list of VMs

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Account

Regenerate API Key

Responses

Get Profile

Get Profile

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "organizations": [
    ],
  • "apiKey": "00000000-0000-0000-0000-000000000000",
  • "name": "Bob",
  • "email": "bob@gmail.com",
  • "expiry": "2019-08-24T14:15:22Z",
  • "accounts": [
    ]
}

Update Profile

Update user profile information (name and/or password)

Request Body schema: application/json
name
string

New display name

password
string

New password (will be hashed)

Responses

Request samples

Content type
application/json
{
  • "name": "Bob",
  • "password": "newSecurePassword123"
}

Search

Search submissions

Search submissions using Elasticsearch with support for filters and pagination

query Parameters
query
string

Search query with optional filters. Supported filters: file: (filename/hash), from: (submitter/org), tag:, before: (YYYY-MM-DD), after: (YYYY-MM-DD), string: (FLOSS strings), import:, export:, network:, detections:, ttp:. Example: file:malware.exe tag:ransomware

from
number

Pagination offset (default 0)

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "resultSize": 0
}

System

Update system banner

Updates the system banner message displayed to users

Request Body schema: application/json
isEnabled
boolean

Whether the banner should be displayed

title
string

Banner title

body
string

Banner message content

Responses

Request samples

Content type
application/json
{
  • "isEnabled": true,
  • "title": "string",
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "message": "Update successful"
}

Check authentication status

Verifies if the current session or API key is valid

Responses

Get system banner

Returns the current system banner message for display to users

Responses

Response samples

Content type
application/json
{
  • "isEnabled": true,
  • "title": "string",
  • "body": "string"
}

View user feedback

path Parameters
email
required
string

Email of user

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all feedback (admin only)

Returns all feedback submissions from all users. Requires admin privileges.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Submit feedback

Request Body schema: application/json
title
string
feedback
string

Responses

Request samples

Content type
application/json
{
  • "title": "Bug in submission page",
  • "feedback": "The button on the submission page doesn't work"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "userId": 1,
  • "title": "Bug in submission system",
  • "feedback": "The button on the submission page doesn't work",
  • "createdAt": "2019-08-24"
}