Malwarebytes Quarantine API

When a harmful file is found on a device, it can be neutralized and placed in quarantine, preventing it from posing a threat. You can utilize the Quarantine APIs to export or check data for the existence of quarantined threats across your environments.

OpenAPI Specification

malwarebytes-quarantine-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Malwarebytes Quarantine API
  version: 1.0.0
  description: 'Operations tagged Quarantine across 2 of this provider''s published API definitions: malwarebytes-threatdown-nebula-openapi.json, malwarebytes-threatdown-oneview-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.threatdown.com
tags:
- name: Quarantine
  description: When a harmful file is found on a device, it can be neutralized and placed in quarantine, preventing it from posing a threat. You can utilize the Quarantine APIs to export or check data for the existence of quarantined threats across your environments.
paths:
  /nebula/v1/quarantine/export:
    servers:
    - url: https://api.threatdown.com
    post:
      description: "Export quarantine data. Specify your interested fields and the output format.\n\n\n\nSupported output formats: csv, xlsx, json.\n\n\n\n## Settings\n\n\n\n| Name | Description |\n|------|-------------|\n|ids | List of quarantine ids selected for exporting |\n| groups | List of queries. The constraints accepted can be found on the route schema |\n| download | If set to true, the server will set the `Content-Disposition` header using the `filename` and `format` |\n| select | Which fields to select, and which field name to map to. See request schema for allowed values |\n| type | Output encoding (for `csv` and `json` format) |\n| filename | Name of the file to be set in `Content-Disposition` header if `download` = true |\n\n\n## Examples\n\n\n\n\n\n### Download xlsx file\n\n\n\nA request with this body sent by a browser will download a file called `report.xlxs`, displaying a table with columns: `Threat Name`, `Date`, `Location`, `Type`, `Category`, `Endpoint` for all quarantines with `Category` set to Malware :\n\n\n\n```json\n{\n   \"download\":true,\n   \"format\":\"xlsx\",\n   \"filename\": \"Report\",\n   \"select\":[\n      {\n         \"field\":\"threat_name\",\n         \"newField\":\"Threat name\"\n      },\n      {\n         \"field\":\"scanned_at\",\n         \"newField\":\"Date\"\n      },\n      {\n         \"field\":\"path\",\n         \"newField\":\"Location\"\n      },\n      {\n         \"field\":\"type\",\n         \"newField\":\"Type\"\n      },\n      {\n         \"field\":\"category\",\n         \"newField\":\"Category\"\n      },\n      {\n         \"field\":\"machine_name\",\n         \"newField\":\"Endpoint\"\n      }\n   ],\n   \"type\":\"base64\",\n   \"groups\": [{\n      \"category\":\"malware\"\n   }]\n}\n```\n\n\n\n### Get JSON with all ids for programmatic usage\n\n\nA request with this body sent will return a JSON object containing containing info for: `Quarantine ID`, `Threat Name`, `Date`, `Location`, `Type`, `Endpoint` for all quarantines with `Category` set to PUP :\n\n```json\n{\n   \"format\":\"json\",\n   \"select\":[\n      {\n         \"field\":\"id\",\n         \"newField\":\"Quarantine ID\"\n      },\n      {\n         \"field\":\"threat_name\",\n         \"newField\":\"Threat name\"\n      },\n      {\n         \"field\":\"scanned_at\",\n         \"newField\":\"Date\"\n      },\n      {\n         \"field\":\"path\",\n         \"newField\":\"Location\"\n      },\n      {\n         \"field\":\"type\",\n         \"newField\":\"Type\"\n      },\n      {\n         \"field\":\"machine_name\",\n         \"newField\":\"Endpoint\"\n      }\n   ],\n   \"type\":\"string\",\n   \"groups\":[\n      {\n         \"category\":\"PUP\"\n      }\n   ]\n}\n```\n\n\n\n*Example response*\n\n```\n[\n   {\n      \"Threat name\":\"PUP.Optional\",\n      \"Date\":\"2021-02-27T02:50:44.000Z\",\n      \"Location\":\"C:\\\\USERS\\\\ADMIN\\\\DESKTOP\\\\TEST_PUP.1.EXE\",\n      \"Type\":\"file\",\n      \"Category\":\"PUP\",\n      \"Endpoint\":\"DESKTOP-MB\"\n   },\n   {\n      \"Threat name\":\"PUP.Optional\",\n      \"Date\":\"2021-02-13T01:56:39.000Z\",\n      \"Location\":\"C:\\\\Users\\\\admin\\\\Desktop\\\\Test_PUP.exe\",\n      \"Type\":\"file\",\n      \"Category\":\"PUP\",\n      \"Endpoint\":\"DESKTOP-MB\"\n   }\n]\n```\n"
      summary: Export quarantines
      security:
      - client_credentials:
        - read
      - user_permissions:
        - detections.view
      status:
        outage:
        - auth
      parameters:
      - name: authorization
        required: true
        in: header
        description: Authorization token
        schema:
          type: string
      - name: accountid
        required: true
        in: header
        description: Your Nebula account id (Ex. "9256034b-7967-4253-a5d9-260663e4fa4f")
        schema:
          type: string
          pattern: '[\da-fA-F]{8}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{12}$'
      - name: next_cursor
        required: false
        in: query
        description: The pagination cursor for next set of results. For further documentation, check Pagination section.
        schema:
          type: string
      - name: name
        required: false
        in: query
        description: Search with quarantine threat name.
        schema:
          type: string
      - name: category
        required: false
        in: query
        description: Search with quarantine category.
        schema:
          type: string
      - name: type
        required: false
        in: query
        description: Search with quarantine type
        schema:
          type: string
      - name: since
        required: false
        in: query
        description: Timestamp to filter since quarantine scan times.
        schema:
          type: string
      - name: until
        required: false
        in: query
        description: Timestamp to filter until quarantine scan times.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              title: Export request
              required:
              - select
              - format
              anyOf:
              - required:
                - groups
              - required:
                - ids
              properties:
                groups:
                  type: array
                  items:
                    type: object
                    anyOf:
                    - type: object
                      title: Search for quarantines
                      properties:
                        ids:
                          type: array
                          title: IDs of quarantines to filter by
                          items:
                            type: string
                            title: 'IDs of quarantine to filter by (Ex. "9256034b-7967-4253-a5d9-260663e4fa4f") '
                            pattern: '[\da-fA-F]{8}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{12}$'
                            examples:
                            - 9256034b-7967-4253-a5d9-260663e4fa4f
                        machine_id:
                          type: string
                          title: ID of the endpoint
                          examples:
                          - 2d2dd661-486e-463d-8065-16340eabfa96
                        category:
                          type: string
                          title: Category name of the quarantine.
                          examples:
                          - Malware
                        type:
                          type: array
                          title: Type of the quarantine.
                          items:
                            type: string
                          examples:
                          - - file
                        since:
                          type: string
                          title: Timestamp to filter since quarantine scan times.
                          format: date-time
                          formatMinimum: '1970-01-01T00:00:00Z'
                        until:
                          type: string
                          title: Timestamp to filter until quarantine scan times.
                          format: date-time
                          formatMinimum: '1970-01-01T00:00:00.000'
                    - type: object
                      properties:
                        constraints:
                          type: array
                          title: Quarantine constraints
                          items:
                            title: Quarantine Constraints
                            type: object
                            oneOf:
                            - title: String (Equals, Not Equals) Constraints
                              required:
                              - operator
                              - value
                              properties:
                                field:
                                  type: string
                                  oneOf:
                                  - type: string
                                    title: Quarantine UID String Fields
                                    enum:
                                    - id
                                    - scan_id
                                    - machine_id
                                    - detection_id
                                    - parent_detection_id
                                    - account_id
                                  - title: Quarantine Simple String Fields
                                    type: string
                                    enum:
                                    - correlation_hash
                                    - threat_name
                                    - machine_name
                                    - path
                                    - md5
                                    - sha256
                                    - scanned_at_offset_seconds
                                    - trace_id
                                    - rule_id
                                  - type: string
                                    title: Quarantine Enum String Fields
                                    enum:
                                    - type
                                    - category
                                operator:
                                  type: string
                                  description: Operator to apply to the constraint
                                  enum:
                                  - equals
                                  - not_equals
                                value:
                                  type:
                                  - string
                                  - array
                                  title: Value to search
                                  items:
                                    type: string
                                case_insensitive:
                                  type: boolean
                                  default: false
                              if:
                                properties:
                                  field:
                                    type: string
                                    title: Quarantine UID String Fields
                                    enum:
                                    - id
                                    - scan_id
                                    - machine_id
                                    - detection_id
                                    - parent_detection_id
                                    - account_id
                              then:
                                properties:
                                  value:
                                    type:
                                    - string
                                    - array
                                    format: uuid
                                    items:
                                      type: string
                                      format: uuid
                            - title: String (Contains, Not Contains) Constraints
                              required:
                              - operator
                              - value
                              properties:
                                field:
                                  title: Quarantine Simple String Fields
                                  type: string
                                  enum:
                                  - correlation_hash
                                  - threat_name
                                  - machine_name
                                  - path
                                  - md5
                                  - sha256
                                  - scanned_at_offset_seconds
                                  - trace_id
                                  - rule_id
                                operator:
                                  type: string
                                  description: Operator to apply to the constraint
                                  enum:
                                  - contains
                                  - not_contains
                                value:
                                  type: string
                                  title: Value to search
                                case_insensitive:
                                  type: boolean
                                  default: false
                            - title: Boolean (Equals) Constraints
                              required:
                              - operator
                              - value
                              properties:
                                field:
                                  type: string
                                  oneOf:
                                  - type: string
                                    title: Quarantine Boolean Fields
                                    enum:
                                    - is_rtp_stream_event
                                operator:
                                  type: string
                                  description: Operator to apply to the constraint
                                  enum:
                                  - equals
                                value:
                                  title: Value to search. Must be true or false
                                  type: boolean
                            - title: Date (start, end) Constraints
                              properties:
                                field:
                                  type: string
                                  title: Quarantine Date Fields
                                  enum:
                                  - scanned_at
                                  - reported_at
                                  - cleaned_at
                                  - updated_at
                                  - resource_created_at
                                  - resource_modified_at
                                  - auto_removal_at
                              oneOf:
                              - minProperties: 1
                                title: Specify Date Range
                                not:
                                  anyOf:
                                  - required:
                                    - operator
                                  - required:
                                    - value
                                properties:
                                  start:
                                    type: string
                                    format: date-time
                                    title: Start Date
                                  end:
                                    type: string
                                    format: date-time
                                    title: End Date
                              - title: Specify Exact Date
                                not:
                                  anyOf:
                                  - required:
                                    - start
                                  - required:
                                    - end
                                required:
                                - operator
                                - value
                                properties:
                                  operator:
                                    type: string
                                    enum:
                                    - equals
                                  value:
                                    type:
                                    - string
                                    - array
                                    format: date-time
                                    title: Value to search
                                    items:
                                      format: date-time
                format:
                  type: string
                  title: The output file
                  enum:
                  - csv
                  - xlsx
                  - html
                  - ods
                  - txt
                  - rtf
                  - json
                download:
                  type: boolean
                  title: Whether to instruct the client to download the response as a file. Only clients like browsers are supported
                filename:
                  type: string
                  title: The name of the output file if download is set to true
                ids:
                  type: array
                  title: IDs of quarantines to filter by (Ex. "9256034b-7967-4253-a5d9-260663e4fa4f")
                  items:
                    type: string
                    title: IDs of quarantine to filter by (Ex. "9256034b-7967-4253-a5d9-260663e4fa4f")
                    pattern: '[\da-fA-F]{8}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{12}$'
                    examples:
                    - 9256034b-7967-4253-a5d9-260663e4fa4f
                type:
                  type: string
                  title: The encoding of the output
                  enum:
                  - string
                  - base64
                  - binary
                  default: string
                select:
                  type: array
                  title: Which fields to select from the response
                  items:
                    type: object
                    title: Field
                    properties:
                      newField:
                        type: string
                        title: the new value
                      field:
                        type: string
                        title: The response field to map to a new value
                        enum:
                        - id
                        - type
                        - scan_id
                        - machine_id
                        - machine_name
                        - group_id
                        - detection_id
                        - scanned_at
                        - scanned_at_local
                        - reported_at
                        - resource_created_at
                        - resource_modified_at
                        - threat_name
                        - path
                        - category
                        - ip_address
                        - url
                        - port
                        - device.disk_model
      responses: {}
      tags:
      - Quarantine
      operationId: api.nebula.export.quarantine
  /nebula/v1/quarantine:
    servers:
    - url: https://api.threatdown.com
    get:
      description: Get all the quarantined items. Refer to Jobs apis to restore and delete items from quarantine
      summary: Get all quarantined items
      security:
      - client_credentials:
        - read
      - user_permissions:
        - detections.view
      status:
        outage:
        - auth
      parameters:
      - name: authorization
        required: true
        in: header
        description: Authorization token
        schema:
          type: string
      - name: accountid
        required: true
        in: header
        description: Your Nebula account id (Ex. "9256034b-7967-4253-a5d9-260663e4fa4f")
        schema:
          type: string
          pattern: '[\da-fA-F]{8}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{12}$'
      - name: next_cursor
        required: false
        in: query
        description: The pagination cursor for next set of results. For further documentation, check Pagination section.
        schema:
          type: string
      - name: name
        required: false
        in: query
        description: Search with quarantine threat name.
        schema:
          type: string
      - name: category
        required: false
        in: query
        description: Search with quarantine category.
        schema:
          type: string
      - name: type
        required: false
        in: query
        description: Search with quarantine type
        schema:
          type: string
      - name: since
        required: false
        in: query
        description: Timestamp to filter since quarantine scan times.
        schema:
          type: string
      - name: until
        required: false
        in: query
        description: Timestamp to filter until quarantine scan times.
        schema:
          type: string
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema
                type: object
                title: The get quearantines response
                description: Get quarantine for a given machine
                examples:
                - quarantined_threats:
                  - id: 957fc464-9ee1-473c-8f49-d89d2da1d5d8
                    scan_id: 00000000-0000-0000-0000-000000000000
                    machine_id: 0ac6eb75-3b3d-49ea-86ea-4349465d32bf
                    machine_name: EndpointDetections
                    group_id: 999a0d78-a983-44fc-a302-995cdfb39da3
                    detection_id: 1491ac5b-60fc-439c-acd3-4e5e1881337f
                    scanned_at: '2020-05-20T13:21:21Z'
                    scanned_at_local: '2020-05-20T13:21:21Z'
                    reported_at: '2020-05-20T13:21:23.114719Z'
                    threat_name: ransomware.script
                    type:
                    - file
                    stauts: quarantined
                    path: C:\Deploy\RealTime\ransomware.exe
                    category: arw
                    ip_address: ''
                    url: ''
                    port: ''
                  total_count: 1
                  next_cursor: ''
                required:
                - quarantined_threats
                - total_count
                - next_cursor
                properties:
                  quarantined_threats:
                    type: array
                    title: List of quearantine threats
                    description: List of quarantined threats.
                    items:
                      type: object
                      title: Get detection by id
                      additionalProperties: true
                      required:
                      - id
                      - scan_id
                      - machine_id
                      - detection_id
                      - scanned_at
                      - scanned_at_local
                      - reported_at
                      - status
                      - type
                      - path
                      - category
                      properties:
                        id:
                          type: string
                          title: The ID of the detection (Ex. "9256034b-7967-4253-a5d9-260663e4fa4f")
                          pattern: '[\da-fA-F]{8}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{12}$'
                          examples:
                          - 9256034b-7967-4253-a5d9-260663e4fa4f
                        scan_id:
                          type: string
                          title: Scan ID this detection belongs to (Ex. "9256034b-7967-4253-a5d9-260663e4fa4f")
                          pattern: '[\da-fA-F]{8}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{12}$'
                          examples:
                          - 9256034b-7967-4253-a5d9-260663e4fa4f
                        machine_id:
                          type: string
                          title: Endpoint ID this detection belongs to (Ex. "9256034b-7967-4253-a5d9-260663e4fa4f")
                          pattern: '[\da-fA-F]{8}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{12}$'
                          examples:
                          - 9256034b-7967-4253-a5d9-260663e4fa4f
                        machine_name:
                          type: string
                          title: Machine name
                        group_id:
                          type: string
                          title: Group ID the endpoint has (Ex. "9256034b-7967-4253-a5d9-260663e4fa4f")
                          pattern: '[\da-fA-F]{8}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{12}$'
                          examples:
                          - 9256034b-7967-4253-a5d9-260663e4fa4f
                        group_name:
                          type: string
                          title: Group name the endpoint has
                        policy_id:
                          type: string
                          title: The ID of the policy associated to the machine where this detection happened (Ex. "9256034b-7967-4253-a5d9-260663e4fa4f")
                          pattern: '[\da-fA-F]{8}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{12}$'
                          examples:
                          - 9256034b-7967-4253-a5d9-260663e4fa4f
                        policy_name:
                          type: string
                          title: Policy name
                        detection_id:
                          type: string
                          title: Detection id from endpoint
                        scanned_at:
                          type: string
                          title: Scanned at time (Ex. "2020-03-23T17:23:17.860482Z")
                          pattern: ^\d{4}-[0-1]\d-[0-3]\d[(t|T)\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:(z|Z)|[+-]\d{2}:\d{2})$
                          examples:
                          - '2020-03-23T17:23:17.860482Z'
                        scanned_at_local:
                          type: string
                          title: Scanned at local time (Ex. "2020-03-23T17:23:17.860482Z")
                          pattern: ^\d{4}-[0-1]\d-[0-3]\d[(t|T)\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:(z|Z)|[+-]\d{2}:\d{2})$
                          examples:
                          - '2020-03-23T17:23:17.860482Z'
                        reported_at:
                          type: string
                          title: Detection reported at time (Ex. "2020-03-23T17:23:17.860482Z")
                          pattern: ^\d{4}-[0-1]\d-[0-3]\d[(t|T)\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:(z|Z)|[+-]\d{2}:\d{2})$
                          examples:
                          - '2020-03-23T17:23:17.860482Z'
                        resource_created_at:
                          type: string
                          title: The creation timestamp of the original quarantined file
                          format: date-time
                        resource_modified_at:
                          type: string
                          title: The modification timestamp of the original quarantined file
                          format: date-time
                        status:
                          type: string
                          title: Status
                        action_taken:
                          type: string
                          title: Action Taken
                          examples:
                          - unknown
                          - failed
                          - noActionByUser
                          - quarantined
                          - replaced
                          - deleteOnReboot
                          - replaceOnReboot
                          - blocked
                          - whitelisted
                          - unquarantined
                        threat_name:
                          type: string
                          title: Threat name
                        type:
                          type: array
                          title: Type
                          items:
                            type: string
                            title: Items
                        path:
                          type: string
                          title: Path
                        category:
                          type: string
                          title: Category
                        ip_address:
                          type: string
                          title: IP address
                        url:
                          type: string
                          title: Url
                        port:
                          type: string
                          title: Port
                        affected_application:
                          type: string
                          title: Affected application
                        md5:
                          type: string
                          title: Md5
                        process_name:
                          type: string
                          title: Process name
                        auto_removal_at:
                          type:
                          - string
                          - 'null'
                          title: Automatic removal timestamp
                          description: When the quarantined item will be automatically removed.
                          format: date-time
                          examples:
                          - '2020-03-23T17:23:17.860482Z'
                  total_count:
                    type: integer
                    title: Total count of items
                    description: Total count of items
                    default: 0
                    examples:
                    - 1
                  next_cursor:
                    type: string
                    title: The pagination cursor for next set of results. For further documentation, check Pagination section.
                    examples:
                    - eyJzdGFydF9pbmRleCI6MTAwfQ==
      tags:
      - Quarantine
      operationId: api.nebula.get.quarantine-all
  /nebula/v1/quarantine/action:
    servers:
    - url: https://api.threatdown.com
    post:
      description: Issue Delete/Restore all quarantines job to a machine with machine id
      summary: Bulk quarantine action
      security:
      - client_credentials:
        - execute
      - user_permissions:
        - detections.performActions
        - detections.delete
      status:
        outage:
        - auth
      parameters:
      - name: authorization
        required: true
        in: header
        description: Authorization token
        schema:
          type: string
      - name: accountid
        required: true
        in: header
        description: Your Nebula account id (Ex. "9256034b-7967-4253-a5d9-260663e4fa4f")
        schema:
          type: string
          pattern: '[\da-fA-F]{8}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{12}$'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              title: The Post Issue Jobs With Machine ID
              required:
              - endpoints
              - command
              properties:
                command:
                  type: string
                  title: Command
                  enum:
                  - command.threat.quarantine.restore
                  - command.threat.quarantine.remove
                endpoints:
                  type: array
                  title: Machine IDs
                  items:
                    type: object
                    title: Machine IDs items
                    required:
                    - id
                    properties:
                      id:
                        type: string
       

# --- truncated at 32 KB (109 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/malwarebytes/refs/heads/main/openapi/malwarebytes-quarantine-api-openapi.yml