Malwarebytes OS Patches API
The OS Patches API from Malwarebytes — 8 operation(s) for os patches.
The OS Patches API from Malwarebytes — 8 operation(s) for os patches.
openapi: 3.2.0
info:
title: Malwarebytes OS Patches API
version: 1.0.0
description: 'Operations tagged OS Patches 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: OS Patches
paths:
/nebula/v1/os-patches/export:
servers:
- url: https://api.threatdown.com
post:
description: "Export OS Patch data. You can export across multiple accounts. Specify your interested fields and the output format.\n\nSupported output formats: csv, xlsx, json.\n\n## Settings\n\n| Name | Description |\n|------|-------------|\n| groups | List of queries. The constraints accepted are the same accepted by the search os patches route. Refer to [Search OS Patches API](#operation/api.nebula.search.os-patches) for more information about the constraints accepted. |\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## Examples\n\n### Download HTML file\n\nA request with this body sent by a browser will download a file called `nameofthefile.html`, displaying a table with columns: `KB Id`, `Category`, `Description` for all detections on `windows` endpoints:\n\n```json\n\t{\n\t\t\"groups\": [{\n\t\t\t\"os_info.os_platform\": \"Windows\"\n\t\t}],\n\t\t\"format\": \"html\",\n\t\t\"type\": \"string\",\n\t\t\"filename\": \"nameofthefile\",\n\t\t\"download\": true,\n\t\t\"select\": [\n {\"field\": \"patch_id\", \"newField\": \"KB Id\"},\n {\"field\": \"category\", \"newField\": \"Category\"},\n {\"field\": \"description\", \"newField\": \"Description\"}\n ]\n\t}\n```\n\n\n"
summary: Export OS Patches
security:
- client_credentials:
- execute
- user_permissions:
- patchManagement.view
status:
outage:
- auth
- search_stateless
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: Export request
required:
- groups
- select
- format
properties:
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
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
required:
- field
- newField
properties:
newField:
type: string
title: the new value
field:
type: string
title: The response field to map to a new value
enum:
- account_id
- account_name
- parent_account_id
- machine_id
- group_id
- root_group_id
- group_name
- object_guid
- host_name
- fully_qualified_host_name
- domain_name
- display_name
- vendor
- product
- os_info.os_type
- os_info.os_version
- os_info.os_platform
- os_info.os_architecture
- os_info.os_release_name
- severity
- title
- description
- category
- security_update_id
- patch_id
- kb_id
- created_at
- released_at
- reboot_required
- preview_patch
- size
- group.name
- group.policy_id
- group.policy_name
- endpoint.last_day_seen
- endpoint.last_user
- alias
- ignored_until
- ignore_rule_ids
- active_directory.user.display_name
- active_directory.user.sam_account_name
- active_directory.user.ou
- active_directory.machine.display_name
- active_directory.machine.sam_account_name
- active_directory.machine.ou
groups:
type: array
title: List of queries
items:
type: object
title: Query to fetch endpoints
allOf:
- type: object
title: Search assets software request. Leading wildcards are not supported for constraint fields without '.keyword' suffix.
properties:
machine_id:
type: string
title: Filter the search by machine_id. Search for an exact match
machine_id.keyword:
type: string
title: Filter the search by machine_id.keyword. Search for the matches that contain the value
not.machine_id:
type: string
title: Filter the search by not.machine_id. Search for the matches that are not equal to the value
not.machine_id.keyword:
type: string
title: Filter the search by not.machine_id.keyword. Search for the matches that do not contain the value
group_id:
type: string
title: Filter the search by group_id. Search for an exact match
group_id.keyword:
type: string
title: Filter the search by group_id.keyword. Search for the matches that contain the value
not.group_id:
type: string
title: Filter the search by not.group_id. Search for the matches that are not equal to the value
not.group_id.keyword:
type: string
title: Filter the search by not.group_id.keyword. Search for the matches that do not contain the value
root_group_id:
type: string
title: Filter the search by root_group_id. Search for an exact match
root_group_id.keyword:
type: string
title: Filter the search by root_group_id.keyword. Search for the matches that contain the value
not.root_group_id:
type: string
title: Filter the search by not.root_group_id. Search for the matches that are not equal to the value
not.root_group_id.keyword:
type: string
title: Filter the search by not.root_group_id.keyword. Search for the matches that do not contain the value
group_name:
type: string
title: Filter the search by group_name. Search for an exact match
group_name.keyword:
type: string
title: Filter the search by group_name.keyword. Search for the matches that contain the value
not.group_name:
type: string
title: Filter the search by not.group_name. Search for the matches that are not equal to the value
not.group_name.keyword:
type: string
title: Filter the search by not.group_name.keyword. Search for the matches that do not contain the value
object_guid:
type: string
title: Filter the search by object_guid. Search for an exact match
object_guid.keyword:
type: string
title: Filter the search by object_guid.keyword. Search for the matches that contain the value
not.object_guid:
type: string
title: Filter the search by not.object_guid. Search for the matches that are not equal to the value
not.object_guid.keyword:
type: string
title: Filter the search by not.object_guid.keyword. Search for the matches that do not contain the value
host_name:
type: string
title: Filter the search by host_name. Search for an exact match
host_name.keyword:
type: string
title: Filter the search by host_name.keyword. Search for the matches that contain the value
not.host_name:
type: string
title: Filter the search by not.host_name. Search for the matches that are not equal to the value
not.host_name.keyword:
type: string
title: Filter the search by not.host_name.keyword. Search for the matches that do not contain the value
fully_qualified_host_name:
type: string
title: Filter the search by fully_qualified_host_name. Search for an exact match
fully_qualified_host_name.keyword:
type: string
title: Filter the search by fully_qualified_host_name.keyword. Search for the matches that contain the value
not.fully_qualified_host_name:
type: string
title: Filter the search by not.fully_qualified_host_name. Search for the matches that are not equal to the value
not.fully_qualified_host_name.keyword:
type: string
title: Filter the search by not.fully_qualified_host_name.keyword. Search for the matches that do not contain the value
domain_name:
type: string
title: Filter the search by domain_name. Search for an exact match
domain_name.keyword:
type: string
title: Filter the search by domain_name.keyword. Search for the matches that contain the value
not.domain_name:
type: string
title: Filter the search by not.domain_name. Search for the matches that are not equal to the value
not.domain_name.keyword:
type: string
title: Filter the search by not.domain_name.keyword. Search for the matches that do not contain the value
display_name:
type: string
title: Filter the search by display_name. Search for an exact match
display_name.keyword:
type: string
title: Filter the search by display_name.keyword. Search for the matches that contain the value
not.display_name:
type: string
title: Filter the search by not.display_name. Search for the matches that are not equal to the value
not.display_name.keyword:
type: string
title: Filter the search by not.display_name.keyword. Search for the matches that do not contain the value
vendor:
type: string
title: Filter the search by vendor. Search for an exact match
vendor.keyword:
type: string
title: Filter the search by vendor.keyword. Search for the matches that contain the value
not.vendor:
type: string
title: Filter the search by not.vendor. Search for the matches that are not equal to the value
not.vendor.keyword:
type: string
title: Filter the search by not.vendor.keyword. Search for the matches that do not contain the value
product:
type: string
title: Filter the search by product. Search for an exact match
product.keyword:
type: string
title: Filter the search by product.keyword. Search for the matches that contain the value
not.product:
type: string
title: Filter the search by not.product. Search for the matches that are not equal to the value
not.product.keyword:
type: string
title: Filter the search by not.product.keyword. Search for the matches that do not contain the value
os_info.os_type:
type: string
title: Filter the search by os_info.os_type. Search for an exact match
os_info.os_type.keyword:
type: string
title: Filter the search by os_info.os_type.keyword. Search for the matches that contain the value
not.os_info.os_type:
type: string
title: Filter the search by not.os_info.os_type. Search for the matches that are not equal to the value
not.os_info.os_type.keyword:
type: string
title: Filter the search by not.os_info.os_type.keyword. Search for the matches that do not contain the value
os_info.os_version:
type: string
title: Filter the search by os_info.os_version. Search for an exact match
os_info.os_version.keyword:
type: string
title: Filter the search by os_info.os_version.keyword. Search for the matches that contain the value
not.os_info.os_version:
type: string
title: Filter the search by not.os_info.os_version. Search for the matches that are not equal to the value
not.os_info.os_version.keyword:
type: string
title: Filter the search by not.os_info.os_version.keyword. Search for the matches that do not contain the value
os_info.os_platform:
type: string
title: Filter the search by os_info.os_platform. Search for an exact match
os_info.os_platform.keyword:
type: string
title: Filter the search by os_info.os_platform.keyword. Search for the matches that contain the value
not.os_info.os_platform:
type: string
title: Filter the search by not.os_info.os_platform. Search for the matches that are not equal to the value
not.os_info.os_platform.keyword:
type: string
title: Filter the search by not.os_info.os_platform.keyword. Search for the matches that do not contain the value
os_info.os_architecture:
type: string
title: Filter the search by os_info.os_architecture. Search for an exact match
os_info.os_architecture.keyword:
type: string
title: Filter the search by os_info.os_architecture.keyword. Search for the matches that contain the value
not.os_info.os_architecture:
type: string
title: Filter the search by not.os_info.os_architecture. Search for the matches that are not equal to the value
not.os_info.os_architecture.keyword:
type: string
title: Filter the search by not.os_info.os_architecture.keyword. Search for the matches that do not contain the value
os_info.os_release_name:
type: string
title: Filter the search by os_info.os_release_name. Search for an exact match
os_info.os_release_name.keyword:
type: string
title: Filter the search by os_info.os_release_name.keyword. Search for the matches that contain the value
not.os_info.os_release_name:
type: string
title: Filter the search by not.os_info.os_release_name. Search for the matches that are not equal to the value
not.os_info.os_release_name.keyword:
type: string
title: Filter the search by not.os_info.os_release_name.keyword. Search for the matches that do not contain the value
severity:
type: string
title: Filter the search by severity. Search for an exact match
severity.keyword:
type: string
title: Filter the search by severity.keyword. Search for the matches that contain the value
not.severity:
type: string
title: Filter the search by not.severity. Search for the matches that are not equal to the value
not.severity.keyword:
type: string
title: Filter the search by not.severity.keyword. Search for the matches that do not contain the value
title:
type: string
title: Filter the search by title. Search for an exact match
title.keyword:
type: string
title: Filter the search by title.keyword. Search for the matches that contain the value
not.title:
type: string
title: Filter the search by not.title. Search for the matches that are not equal to the value
not.title.keyword:
type: string
title: Filter the search by not.title.keyword. Search for the matches that do not contain the value
description:
type: string
title: Filter the search by description. Search for an exact match
description.keyword:
type: string
title: Filter the search by description.keyword. Search for the matches that contain the value
not.description:
type: string
title: Filter the search by not.description. Search for the matches that are not equal to the value
not.description.keyword:
type: string
title: Filter the search by not.description.keyword. Search for the matches that do not contain the value
category:
type: string
title: Filter the search by category. Search for an exact match
category.keyword:
type: string
title: Filter the search by category.keyword. Search for the matches that contain the value
not.category:
type: string
title: Filter the search by not.category. Search for the matches that are not equal to the value
not.category.keyword:
type: string
title: Filter the search by not.category.keyword. Search for the matches that do not contain the value
security_update_id:
type: string
title: Filter the search by security_update_id. Search for an exact match
security_update_id.keyword:
type: string
title: Filter the search by security_update_id.keyword. Search for the matches that contain the value
not.security_update_id:
type: string
title: Filter the search by not.security_update_id. Search for the matches that are not equal to the value
not.security_update_id.keyword:
type: string
title: Filter the search by not.security_update_id.keyword. Search for the matches that do not contain the value
patch_id:
type: string
title: Filter the search by patch_id. Search for an exact match
patch_id.keyword:
type: string
title: Filter the search by patch_id.keyword. Search for the matches that contain the value
not.patch_id:
type: string
title: Filter the search by not.patch_id. Search for the matches that are not equal to the value
not.patch_id.keyword:
type: string
title: Filter the search by not.patch_id.keyword. Search for the matches that do not contain the value
kb_id:
type: string
title: Filter the search by kb_id. Search for an exact match
kb_id.keyword:
type: string
title: Filter the search by kb_id.keyword. Search for the matches that contain the value
not.kb_id:
type: string
title: Filter the search by not.kb_id. Search for the matches that are not equal to the value
not.kb_id.keyword:
type: string
title: Filter the search by not.kb_id.keyword. Search for the matches that do not contain the value
reboot_required:
type: boolean
title: Filter the search by reboot_required
preview_patch:
type: boolean
title: Filter the search by preview_patch
not.preview_patch:
type: boolean
title: Filter the search by not.preview_patch
size:
type: integer
title: Filter the search by exact size
size_lt:
type: integer
title: Filter the search by size_lt. Search for the documents that are less than the value
size_lte:
type: integer
title: Filter the search by size_lte. Search for the documents that are less than the value
size_gt:
type: integer
title: Filter the search by size_gt. Search for the documents that are greater than the value
size_gte:
type: integer
title: Filter the search by size_gte. Search for the documents that are greater than the value
created_at_after:
type: string
title: Filter search with created_at_after ISO date string (Ex. "2020-03-23T17:23:17.860482Z")
pattern: ^([0-9]+)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])[Tt]([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(([Zz])|([\+|\-]([01][0-9]|2[0-3]):[0-5][0-9]))$
examples:
- '2020-02-01T17:23:17.860482Z'
created_at_before:
type: string
title: Filter search with created_at_before ISO date string (Ex. "2020-03-23T17:23:17.860482Z")
pattern: ^([0-9]+)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])[Tt]([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(([Zz])|([\+|\-]([01][0-9]|2[0-3]):[0-5][0-9]))$
examples:
- '2020-03-23T17:23:17.860482Z'
released_at_after:
type: string
title: Filter search with released_at_after ISO date string (Ex. "2020-03-23T17:23:17.860482Z")
pattern: ^([0-9]+)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])[Tt]([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(([Zz])|([\+|\-]([01][0-9]|2[0-3]):[0-5][0-9]))$
examples:
- '2020-03-23T17:23:17.860482Z'
released_at_before:
type: string
title: Filter search with released_at_before ISO date string (Ex. "2020-03-23T17:23:17.860482Z")
pattern: ^([0-9]+)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])[Tt]([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(([Zz])|([\+|\-]([01][0-9]|2[0-3]):[0-5][0-9]))$
examples:
- '2020-03-23T17:23:17.860482Z'
update_ignored:
type: boolean
title: Filter the search by update_ignored os patches
exists:
type: array
title: Filter the results for records that have these fields
items:
type: string
enum:
- domain_name
- product_signature
not.exists:
type: array
title: Filter the results for records that do not have these fields
items:
type: string
enum:
- domain_name
- product_signature
sort_field:
type: string
title: Sort field
enum:
- account_id
- account_name
- parent_account_id
- machine_id
- group_id
- root_group_id
- object_guid
- host_name
- fully_qualified_host_name
- display_name
- vendor
- product
- os_info.os_type
- os_info.os_version
- os_info.os_platform
- os_info.os_architecture
- os_info.os_release_name
- severity
- title
- description
- category
- security_update_id
- patch_id
- kb_id
- created_at
- released_at
- reboot_required
- preview_patch
- size
- domain_name
- active_directory.user.display_name
- active_directory.machine.display_name
- active_directory.user.ou
- active_directory.machine.ou
- active_directory.user.sam_account_name
- active_directory.machine.sam_account_name
- ignored_until
sort_order:
type: string
title: Sorting direction
default: asc
enum:
- asc
- desc
populate:
type: object
title: The populate object Schema
properties:
group:
type: boolean
title: Populates group data (group name, policy name, policy id)
endpoint:
type: boolean
title: Populate with the endpoint data (last day seen, last user)
page_size:
type: number
title: The size of the page. If you only need aggregations, set it to 0
minimum: 0
default: 50
maximum: 2000
aggregations:
type: array
title: The Aggregations Schema
items:
type: string
title: Aggregations
default: []
# --- truncated at 32 KB (373 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/malwarebytes/refs/heads/main/openapi/malwarebytes-os-patches-api-openapi.yml