Malwarebytes Reports API

The Reports API from Malwarebytes — 8 operation(s) for reports.

OpenAPI Specification

malwarebytes-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Malwarebytes Reports API
  version: 1.0.0
  description: 'Operations tagged Reports 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: Reports
paths:
  /nebula/v1/reports/change-owner:
    servers:
    - url: https://api.threatdown.com
    put:
      description: Change reports owner.
      summary: Change reports owner
      security:
      - client_credentials:
        - write
      - user_permissions:
        - reports.editOthers
      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:
              $schema: http://json-schema.org/draft-07/schema#
              title: Change reports owner
              description: Change reports owner
              type: object
              required:
              - owner
              - reports
              properties:
                owner:
                  type: string
                  description: New owner user ID
                  format: uuid
                reports:
                  type: array
                  minLength: 1
                  description: Reports IDs
                  items:
                    type: string
                    description: Report ID
                    format: uuid
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                type: object
                title: Allow list response
                examples:
                - success: true
                properties:
                  success:
                    title: Success
                    type: boolean
      tags:
      - Reports
      operationId: api.nebula.put.reports.change_owner
  /nebula/v1/reports/{id}:
    servers:
    - url: https://api.threatdown.com
    delete:
      description: Delete report by id.
      summary: Delete report by id
      security:
      - client_credentials:
        - write
      - user_permissions:
        - reports.deleteOwn
      status:
        outage:
        - auth
      parameters:
      - name: id
        required: true
        in: path
        description: Valid UUID (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: 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}$'
      responses:
        '200':
          description: Successful response
      tags:
      - Reports
      operationId: api.nebula.delete.reports
    get:
      description: Get report by id.
      summary: Get report by id
      security:
      - client_credentials:
        - read
      - user_permissions:
        - reports.viewOwn
      status:
        outage:
        - auth
      parameters:
      - name: id
        required: true
        in: path
        description: Valid UUID (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: 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: populate
        required: false
        in: query
        schema:
          type: string
          enum:
          - users
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                type: object
                title: Report
                required:
                - id
                - name
                - type
                - format
                - period
                - units
                - time_zone
                - created_by
                - owner
                - account_id
                - created_at
                properties:
                  id:
                    type: string
                    title: The Id of the report (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
                  account_id:
                    type: string
                    title: The account Id (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
                  name:
                    type: string
                    title: Name
                  type:
                    type: string
                    enum:
                    - Detections
                    - Quarantine
                    - Endpoints
                    - Assets
                    - Events
                    - Tasks
                    - Executive
                    - DeviceControl
                    - Vulnerabilities
                    - Cisa
                    - Updates
                    - Patch
                    - DNS
                    - CloudStorageDetections
                    - AppBlock
                    - Usage
                    - PatchHistory
                    - SoftwareUpdateHistory
                    - CveEvents
                    - EmailSecurity
                    - MssMetrics
                    - Firewall
                    - Itdr
                    - DriveEncryption
                    title: Report type
                  format:
                    type: string
                    enum:
                    - csv
                    - pdf
                    title: Report format
                  period:
                    type: integer
                    title: Period for the report data
                    description: Period for the report data. if 0 it must be selected when the report is manually generated
                    min: 0
                  units:
                    type: string
                    enum:
                    - Days
                    - Weeks
                    - Months
                    title: Unit for period
                  time_zone:
                    type: string
                    title: Time Zone
                  recurrence:
                    type:
                    - object
                    - 'null'
                    title: Recurrence details
                    properties:
                      days_of_month:
                        type: array
                        items:
                          type: integer
                          min: 1
                          max: 31
                      days_of_week:
                        type: array
                        items:
                          type: string
                          enum:
                          - Monday
                          - Tuesday
                          - Wednesday
                          - Thursday
                          - Friday
                          - Saturday
                          - Sunday
                      recur:
                        type: string
                        enum:
                        - Daily
                        - Weekly
                        - Monthly
                        title: Recurrence type
                  recipients:
                    type: array
                    title: Email addresses of recipients
                    items:
                      type: string
                      format: idn-email
                      title: Email of a recipient
                  email_subject:
                    type: string
                    title: Report email subject
                  notes:
                    type: string
                    title: Additional notes
                  meta:
                    type: object
                    properties:
                      subtype:
                        type: string
                        description: Report subtype for specific reports
                        enum:
                        - Executive
                        - Technical
                    additionalProperties: false
                  created_by:
                    type: string
                    title: Created by user Id (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
                  updated_by:
                    type: string
                    title: Updated by user Id (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
                  owner:
                    type: string
                    title: Owner user Id (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
                  created_by_username:
                    type: string
                    title: Created by username
                  created_by_email:
                    type: string
                    title: Created by email
                  owner_username:
                    type: string
                    title: Owner username
                  owner_email:
                    type: string
                    title: Owner email
                  updated_by_username:
                    type: string
                    title: Updated by username
                  updated_by_email:
                    type: string
                    title: Updated by email
                  created_at:
                    type: string
                    title: Created at
                    examples:
                    - '2021-03-16T15:31:48.241991Z'
                  updated_at:
                    type: string
                    title: Updated at
                    examples:
                    - '2021-03-16T15:34:54.805926Z'
                  last_generation_at:
                    type: string
                    title: Last generated at
                    examples:
                    - '2021-03-16T15:34:54.759098Z'
                  next_generation_at:
                    type:
                    - string
                    - 'null'
                    title: Next generation scheduled at
                    examples:
                    - '2021-03-16T15:34:54.759098Z'
      tags:
      - Reports
      operationId: api.nebula.get.reports
    put:
      description: Update report.
      summary: Update report
      security:
      - client_credentials:
        - write
      - user_permissions:
        - reports.editOwn
      status:
        outage:
        - auth
      parameters:
      - name: id
        required: true
        in: path
        description: Valid UUID (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: 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: Report Save
              description: Payload for creating a report
              additionalProperties: false
              required:
              - name
              - type
              - format
              - period
              - units
              - time_zone
              properties:
                name:
                  type: string
                  title: Name
                type:
                  type: string
                  enum:
                  - Detections
                  - Quarantine
                  - Endpoints
                  - Assets
                  - Events
                  - Tasks
                  - Executive
                  - DeviceControl
                  - Vulnerabilities
                  - Cisa
                  - Updates
                  - Patch
                  - DNS
                  - CloudStorageDetections
                  - AppBlock
                  - PatchHistory
                  - SoftwareUpdateHistory
                  - CveEvents
                  - EmailSecurity
                  - MssMetrics
                  - Firewall
                  - Itdr
                  - DriveEncryption
                  title: Report type
                period:
                  type: integer
                  title: Period for the report data
                  description: Period for the report data. if 0 it must be selected when the report is manually generated
                  min: 0
                units:
                  type: string
                  enum:
                  - Days
                  - Weeks
                  - Months
                  title: Unit for period
                format:
                  type: string
                  title: Format of report document
                  default: csv
                  enum:
                  - csv
                  - pdf
                owner:
                  type: string
                  title: owner user (nebula user ID)
                  pattern: '[\da-fA-F]{8}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{12}$'
                recurrence:
                  type:
                  - object
                  - 'null'
                  title: Recurrence details
                  properties:
                    days_of_month:
                      type: array
                      items:
                        type: integer
                        min: 1
                        max: 31
                    days_of_week:
                      type: array
                      items:
                        type: string
                        enum:
                        - Monday
                        - Tuesday
                        - Wednesday
                        - Thursday
                        - Friday
                        - Saturday
                        - Sunday
                    recur:
                      type: string
                      enum:
                      - Daily
                      - Weekly
                      - Monthly
                      title: Recurrence type
                time_zone:
                  type: string
                  title: Time zone
                recipients:
                  type: array
                  title: Email addresses of recipients
                  items:
                    type: string
                    format: idn-email
                    title: Email of a recipient
                email_subject:
                  type: string
                  title: Report email subject
                  maxLength: 60
                notes:
                  type: string
                  title: Additional notes
                  maxLength: 255
                meta:
                  type: object
                  properties:
                    subtype:
                      type: string
                      description: Report subtype for specific reports
                      enum:
                      - Executive
                      - Technical
                  additionalProperties: false
              allOf:
              - if:
                  properties:
                    type:
                      enum:
                      - Tasks
                      - DeviceControl
                      - Vulnerabilities
                      - Cisa
                      - Updates
                      - Patch
                      - DNS
                      - CloudStorageDetections
                      - AppBlock
                then:
                  properties:
                    format:
                      const: csv
              - if:
                  properties:
                    type:
                      enum:
                      - Endpoints
                      - Assets
                then:
                  properties:
                    period:
                      const: 0
              - if:
                  properties:
                    units:
                      const: Months
                then:
                  errorMessage: The maximum period is 3 months
                  properties:
                    period:
                      min: 0
                      max: 3
              - if:
                  properties:
                    units:
                      const: Weeks
                then:
                  errorMessage: The maximum period is 3 months
                  properties:
                    period:
                      min: 0
                      max: 13
              - if:
                  properties:
                    units:
                      const: Days
                then:
                  errorMessage: The maximum period is 3 months
                  properties:
                    period:
                      min: 0
                      max: 90
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                type: object
                title: Report
                required:
                - id
                - name
                - type
                - format
                - period
                - units
                - time_zone
                - created_by
                - owner
                - account_id
                - created_at
                properties:
                  id:
                    type: string
                    title: The Id of the report (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
                  account_id:
                    type: string
                    title: The account Id (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
                  name:
                    type: string
                    title: Name
                  type:
                    type: string
                    enum:
                    - Detections
                    - Quarantine
                    - Endpoints
                    - Assets
                    - Events
                    - Tasks
                    - Executive
                    - DeviceControl
                    - Vulnerabilities
                    - Cisa
                    - Updates
                    - Patch
                    - DNS
                    - CloudStorageDetections
                    - AppBlock
                    - Usage
                    - PatchHistory
                    - SoftwareUpdateHistory
                    - CveEvents
                    - EmailSecurity
                    - MssMetrics
                    - Firewall
                    - Itdr
                    - DriveEncryption
                    title: Report type
                  format:
                    type: string
                    enum:
                    - csv
                    - pdf
                    title: Report format
                  period:
                    type: integer
                    title: Period for the report data
                    description: Period for the report data. if 0 it must be selected when the report is manually generated
                    min: 0
                  units:
                    type: string
                    enum:
                    - Days
                    - Weeks
                    - Months
                    title: Unit for period
                  time_zone:
                    type: string
                    title: Time Zone
                  recurrence:
                    type:
                    - object
                    - 'null'
                    title: Recurrence details
                    properties:
                      days_of_month:
                        type: array
                        items:
                          type: integer
                          min: 1
                          max: 31
                      days_of_week:
                        type: array
                        items:
                          type: string
                          enum:
                          - Monday
                          - Tuesday
                          - Wednesday
                          - Thursday
                          - Friday
                          - Saturday
                          - Sunday
                      recur:
                        type: string
                        enum:
                        - Daily
                        - Weekly
                        - Monthly
                        title: Recurrence type
                  recipients:
                    type: array
                    title: Email addresses of recipients
                    items:
                      type: string
                      format: idn-email
                      title: Email of a recipient
                  email_subject:
                    type: string
                    title: Report email subject
                  notes:
                    type: string
                    title: Additional notes
                  meta:
                    type: object
                    properties:
                      subtype:
                        type: string
                        description: Report subtype for specific reports
                        enum:
                        - Executive
                        - Technical
                    additionalProperties: false
                  created_by:
                    type: string
                    title: Created by user Id (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
                  updated_by:
                    type: string
                    title: Updated by user Id (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
                  owner:
                    type: string
                    title: Owner user Id (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
                  created_by_username:
                    type: string
                    title: Created by username
                  created_by_email:
                    type: string
                    title: Created by email
                  owner_username:
                    type: string
                    title: Owner username
                  owner_email:
                    type: string
                    title: Owner email
                  updated_by_username:
                    type: string
                    title: Updated by username
                  updated_by_email:
                    type: string
                    title: Updated by email
                  created_at:
                    type: string
                    title: Created at
                    examples:
                    - '2021-03-16T15:31:48.241991Z'
                  updated_at:
                    type: string
                    title: Updated at
                    examples:
                    - '2021-03-16T15:34:54.805926Z'
                  last_generation_at:
                    type: string
                    title: Last generated at
                    examples:
                    - '2021-03-16T15:34:54.759098Z'
                  next_generation_at:
                    type:
                    - string
                    - 'null'
                    title: Next generation scheduled at
                    examples:
                    - '2021-03-16T15:34:54.759098Z'
      tags:
      - Reports
      operationId: api.nebula.put.reports
  /nebula/v1/reports:
    servers:
    - url: https://api.threatdown.com
    delete:
      description: Delete reports bulk.
      summary: Delete reports bulk
      security:
      - client_credentials:
        - write
      - user_permissions:
        - reports.deleteOwn
      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: report delete bulk
              required:
              - ids
              properties:
                ids:
                  type: array
                  items:
                    type: string
                  title: Report ids to delete
      responses:
        '200':
          description: Successful response
      tags:
      - Reports
      operationId: api.nebula.delete.reports.bulk
    get:
      description: Get all reports of the given account.
      summary: Get all reports
      security:
      - client_credentials:
        - read
      - user_permissions:
        - reports.viewOwn
      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: populate
        required: false
        in: query
        schema:
          type: string
          enum:
          - users
      - name: page_size
        required: false
        in: query
        description: The page_size Schema
        schema:
          type: string
          pattern: ^(?:[1-9][0-9]{0,2}|1[0-9]{3}|2000)$
      - 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
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                type: object
                title: Collection of records
                required:
                - reports
                properties:
                  reports:
                    type: array
                    title: Reports
                    items:
                      type: object
                      title: Report
                      required:
                      - id
                      - name
                      - type
                      - format
                      - period
                      - units
                      - time_zone
                      - created_by
                      - owner
                      - account_id
                      - created_at
                      properties:
                        id:
                          type: string
                          title: The Id of the report (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
                        account_id:
                          type: string
                          title: The account Id (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
                        name:
                          type: string
                          title: Name
                        type:
                          type: string
                          enum:
                          - Detections
                          - Quarantine
                          - Endpoints
                          - Assets
                          - Events
                          - Tasks
                          - Executive
                          - DeviceControl
                          - Vulnerabilities
                          - Cisa
                          - Updates
                          - Patch
                          - DNS
                          - CloudStorageDetections
                          - AppBlock
                          - Usage
                          - PatchHistory
                          - SoftwareUpdateHistory
                          - CveEvents
                          - EmailSecurity
                          - MssMetrics
                          - Firewall
                          - Itdr
                          - DriveEncryption
                          title: Report type
                        format:
                          type: string
                          enum:
                          - csv
                          - pdf
                          title: Report format
                        period:
                          type: integer
                          title: Period for the report data
                          description: Period for the report data. if 0 it must be selected when the report is manually generated
                          min: 0
                        units:
                          type: string
                          enum:
                          - Days
       

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