Malwarebytes Preferences API

The Preferences APIs allow you to enable or disable all notifications of a specific type (email, webhook, slack, teams, admin app), without needing to modify or delete multiple notifications.

OpenAPI Specification

malwarebytes-preferences-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Malwarebytes Preferences API
  version: 1.0.0
  description: 'Operations tagged Preferences 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: Preferences
  description: 'The Preferences APIs allow you to enable or disable all notifications of a specific type (email, webhook, slack, teams, admin app), without needing to modify or delete multiple notifications. '
paths:
  /nebula/v1/preferences/notifications:
    servers:
    - url: https://api.threatdown.com
    get:
      description: Get notifications delivery preferences
      summary: Get notifications preferences
      security:
      - client_credentials:
        - read
      - user_permissions:
        - notifications.viewOthers
      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}$'
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                title: Notifications options
                type: object
                properties:
                  webhook:
                    title: Webhook
                    type: boolean
                    default: true
                  email:
                    title: Email
                    type: boolean
                    default: true
                  slack:
                    title: Slack
                    type: boolean
                    default: true
                  teams:
                    title: Teams
                    type: boolean
                    default: true
                  mobile:
                    title: Mobile App (for Nebula only)
                    type: boolean
                    default: true
      tags:
      - Preferences
      operationId: api.nebula.get.preferences.notifications
    put:
      description: Update notifications delivery preferences
      summary: Update notifications preferences
      security:
      - client_credentials:
        - read
        - write
      - user_permissions:
        - notifications.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: Notifications options
              type: object
              properties:
                webhook:
                  title: Webhook
                  type: boolean
                  default: true
                email:
                  title: Email
                  type: boolean
                  default: true
                slack:
                  title: Slack
                  type: boolean
                  default: true
                teams:
                  title: Teams
                  type: boolean
                  default: true
                mobile:
                  title: Mobile App (for Nebula only)
                  type: boolean
                  default: true
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                title: Notifications options
                type: object
                properties:
                  webhook:
                    title: Webhook
                    type: boolean
                    default: true
                  email:
                    title: Email
                    type: boolean
                    default: true
                  slack:
                    title: Slack
                    type: boolean
                    default: true
                  teams:
                    title: Teams
                    type: boolean
                    default: true
                  mobile:
                    title: Mobile App (for Nebula only)
                    type: boolean
                    default: true
      tags:
      - Preferences
      operationId: api.nebula.put.preferences.notifications
  /nebula/v1/preferences/threatdown-ai:
    servers:
    - url: https://api.threatdown.com
    get:
      description: Get ThreatDown AI preferences
      summary: Get ThreatDown AI preferences
      security:
      - client_credentials:
        - read
      - user_permissions:
        - account.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}$'
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                type: object
                properties:
                  enabled:
                    type: boolean
                required:
                - enabled
      tags:
      - Preferences
      operationId: api.nebula.get.preferences.threatdown-ai
    put:
      description: Update ThreatDown AI preferences
      summary: Update ThreatDown AI preferences
      security:
      - client_credentials:
        - write
      - user_permissions:
        - threatdownAI.enable
      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
              properties:
                enabled:
                  type: boolean
              required:
              - enabled
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                type: object
                properties:
                  enabled:
                    type: boolean
                required:
                - enabled
      tags:
      - Preferences
      operationId: api.nebula.put.preferences.threatdown-ai
  /oneview/v1/accounts/{account_id}/preferences/account_logo:
    servers:
    - url: https://api.threatdown.com
    get:
      description: Get account logo preferences
      summary: Get account logo preferences
      security:
      - client_credentials:
        - read
      - user_permissions:
        - account.view
      status:
        outage:
        - auth
      parameters:
      - name: account_id
        required: true
        in: path
        description: 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: authorization
        required: true
        in: header
        description: Authorization token
        schema:
          type: string
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                type: object
                title: Get account logo preferences response
                required:
                - reports
                - emails
                properties:
                  emails:
                    type: boolean
                    title: Include account logo in emails
                  reports:
                    type: boolean
                    title: Include account logo in reports
      tags:
      - Preferences
      operationId: api.rmm.get.preferences.account.logo
    put:
      description: Put account logo preferences
      summary: Put account logo preferences
      security:
      - client_credentials:
        - write
      - user_permissions:
        - account.manage
      status:
        outage:
        - auth
      parameters:
      - name: account_id
        required: true
        in: path
        description: 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: authorization
        required: true
        in: header
        description: Authorization token
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              title: Get account logo preferences response
              required:
              - reports
              - emails
              properties:
                emails:
                  type: boolean
                  title: Include account logo in emails
                reports:
                  type: boolean
                  title: Include account logo in reports
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                type: object
                title: Get account logo preferences response
                required:
                - reports
                - emails
                properties:
                  emails:
                    type: boolean
                    title: Include account logo in emails
                  reports:
                    type: boolean
                    title: Include account logo in reports
      tags:
      - Preferences
      operationId: api.rmm.put.preferences.account.logo
  /oneview/v1/accounts/{account_id}/preferences/notifications:
    servers:
    - url: https://api.threatdown.com
    get:
      description: Get notification delivery preferences.
      summary: Get notifications preferences
      security:
      - client_credentials:
        - read
      - user_permissions:
        - notifications.viewOthers
      status:
        outage:
        - auth
      parameters:
      - name: account_id
        required: true
        in: path
        description: 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: authorization
        required: true
        in: header
        description: Authorization token
        schema:
          type: string
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                title: Notifications options
                type: object
                properties:
                  webhook:
                    title: Webhook
                    type: boolean
                    default: true
                  email:
                    title: Email
                    type: boolean
                    default: true
                  slack:
                    title: Slack
                    type: boolean
                    default: true
                  teams:
                    title: Teams
                    type: boolean
                    default: true
                  mobile:
                    title: Mobile App (for Nebula only)
                    type: boolean
                    default: true
      tags:
      - Preferences
      operationId: api.rmm.get.preferences.notifications
    put:
      description: Modify notification delivery preferences.
      summary: Put notifications preferences
      security:
      - client_credentials:
        - read
        - write
      - user_permissions:
        - notifications.editOthers
      status:
        outage:
        - auth
      parameters:
      - name: account_id
        required: true
        in: path
        description: 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: authorization
        required: true
        in: header
        description: Authorization token
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              title: Notifications options
              type: object
              properties:
                webhook:
                  title: Webhook
                  type: boolean
                  default: true
                email:
                  title: Email
                  type: boolean
                  default: true
                slack:
                  title: Slack
                  type: boolean
                  default: true
                teams:
                  title: Teams
                  type: boolean
                  default: true
                mobile:
                  title: Mobile App (for Nebula only)
                  type: boolean
                  default: true
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                title: Notifications options
                type: object
                properties:
                  webhook:
                    title: Webhook
                    type: boolean
                    default: true
                  email:
                    title: Email
                    type: boolean
                    default: true
                  slack:
                    title: Slack
                    type: boolean
                    default: true
                  teams:
                    title: Teams
                    type: boolean
                    default: true
                  mobile:
                    title: Mobile App (for Nebula only)
                    type: boolean
                    default: true
      tags:
      - Preferences
      operationId: api.rmm.put.preferences.notifications
components:
  securitySchemes:
    client_credentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /token
          scopes:
            read: Read data of your Nebula account
            write: Write data, such as groups, policies, exclusions. Create Webhook subscriptions
            execute: Issue jobs on your endpoints, like Scan, Reboot or Isolate.
    user_permissions:
      type: http
      scheme: bearer
x-refined-from:
- malwarebytes-threatdown-nebula-openapi.json
- malwarebytes-threatdown-oneview-openapi.json