Armor Malware Configuration API

Malware configuration APIs. These APIs are only available for specific partners.

Documentation

Specifications

Other Resources

OpenAPI Specification

armor-malware-configuration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agent Management Malware Configuration API
  description: 'This API provides an interface for interacting with Armor''s agent

    management functionality.


    Base URL: `https://agent-management.api.secure-prod.services/`

    '
  version: 1.0.0
servers:
- url: https://agent-management.api.secure-dev.services
  description: Development
- url: https://agent-management.api.secure-stage.services
  description: Staging
- url: https://agent-management.api.secure-prod.services
  description: Production
security:
- OAuth2: []
- ApiKey: []
- FHAuth: []
tags:
- name: Malware Configuration
  description: 'Malware configuration APIs. These APIs are only available for specific partners.

    '
paths:
  /trend/exclusion-list:
    get:
      tags:
      - Malware Configuration
      summary: Get exclusion lists for account
      description: Get all exclusion lists for account ID, optionally filtered by type.
      operationId: getExclusionLists
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      - name: type
        in: query
        description: The type of exclusion list to fetch (FileList, FileExtension, DirectoryList).
        schema:
          type: string
          enum:
          - FileList
          - FileExtension
          - DirectoryList
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentManagementExclusionList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
    post:
      tags:
      - Malware Configuration
      summary: Create a new exclusion list
      description: Create a new exclusion list.
      operationId: createExclusionList
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentManagementExclusionCreate'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentManagementExclusion'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /trend/exclusion-list/{id}:
    put:
      tags:
      - Malware Configuration
      summary: Update an exclusion list
      description: Update an exclusion list.
      operationId: updateExclusionList
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      - name: id
        in: path
        required: true
        description: The id of the exclusion list.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentManagementExclusion'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentManagementExclusion'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    delete:
      tags:
      - Malware Configuration
      summary: Delete an exclusion list
      description: Delete an exclusion list.
      operationId: deleteExclusionList
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      - name: id
        in: path
        required: true
        description: The id of the exclusion list.
        schema:
          type: string
      - name: type
        in: query
        required: true
        description: The type of exclusion list to delete (FileList, FileExtension, DirectoryList).
        schema:
          type: string
          enum:
          - FileList
          - FileExtension
          - DirectoryList
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /trend/malware-exclusion-config:
    get:
      tags:
      - Malware Configuration
      summary: Get malware exclusion configs
      description: Get a list of malware exclusion configs for an account.
      operationId: getMalwareExclusionConfigs
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentManagementMalwareConfigRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    post:
      tags:
      - Malware Configuration
      summary: Create a new malware exclusion config
      description: 'Create a new malware exclusion config. To send a configuration where a list id is not provided

        for one or more list types, use the allowEmptyExclusionList flag.

        '
      operationId: createMalwareExclusionConfig
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentManagementMalwareConfigRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    put:
      tags:
      - Malware Configuration
      summary: Update a malware exclusion config
      description: 'Update a malware exclusion config. To send a configuration where a list id is not provided

        for one or more list types, use the allowEmptyExclusionList flag.

        '
      operationId: updateMalwareExclusionConfig
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentManagementMalwareConfigRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    delete:
      tags:
      - Malware Configuration
      summary: Delete a malware exclusion config
      description: Delete a malware exclusion config.
      operationId: deleteMalwareExclusionConfig
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentManagementMalwareConfigDeleteRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /trend/malware-exclusion-config/apply:
    put:
      tags:
      - Malware Configuration
      summary: Apply a malware exclusion config
      description: Apply a malware exclusion config.
      operationId: applyMalwareExclusionConfig
      parameters:
      - $ref: '#/components/parameters/AccountContext'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentManagementApplyMalwareExclusionConfig'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  responses:
    NotFound:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Message'
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Message'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Message'
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Message'
  schemas:
    AgentManagementExclusionList:
      type: object
      properties:
        TrendExclusions:
          type: array
          description: A list of exclusions.
          items:
            $ref: '#/components/schemas/AgentManagementExclusion'
    AgentManagementExclusion:
      type: object
      properties:
        id:
          type: integer
          description: The Id of the exclusion list.
        name:
          type: string
          description: The name of the exclusion list.
        type:
          type: string
          description: The type of exclusion list (FileList, FileExtension, DirectoryList).
        description:
          type: string
          description: The description of the exclusion list.
        items:
          type: array
          description: The list of excluded items (directories, files or extensions).
          items:
            type: string
    AgentManagementMalwareConfigRequest:
      type: object
      properties:
        trendRealTimeMalwareScanConfigId:
          type: integer
          description: The id of the real time malware scan config.
        trendManualScheduledMalwareScanConfigId:
          type: integer
          description: The id of the manual/scheduled malware scan config.
        name:
          type: string
          description: The name of the malware scan config.
        description:
          type: string
          description: Description of the malware exclusion config.
        excludedDirectoryListID:
          type: integer
          description: The id of the directory list.
        excludedFileExtensionListID:
          type: integer
          description: The id of the file extension list.
        excludedFileListID:
          type: integer
          description: The id of the file list.
        machineLearningEnabled:
          type: boolean
          description: Is machine learning enabled.
        scanActionForMachineLearning:
          type: string
          description: Determines the action taken when malware is found.
        behaviorMonitoringEnabled:
          type: boolean
          description: Is behavior monitoring enabled.
        scanActionForBehaviorMonitoring:
          type: string
          description: Determines the action taken when unusual behavior is found.
        allowEmptyExclusionList:
          type: boolean
          description: Optional property that allows for sending a list id of null or 0 when set to true. Default is false.
        configType:
          type: array
          description: Configuration type information.
          items:
            type: string
        assignedTo:
          type: array
          description: Policy information the Configuration assigned to.
          items:
            type: string
    Message:
      type: object
      properties:
        message:
          type: string
          description: Error or informational message
    AgentManagementApplyMalwareExclusionConfig:
      type: object
      properties:
        trendRealTimeMalwareScanConfigId:
          type: integer
          description: The id of the real time malware scan config.
        trendManualScheduledMalwareScanConfigId:
          type: integer
          description: The id of the manual/scheduled malware scan config.
        name:
          type: string
          description: The name of the malware scan config.
        operatingSystem:
          type: string
          description: Operating System of the VM.
        coreInstanceIdList:
          type: array
          description: List of CoreInstanceId to apply malware config.
          items:
            type: string
    AgentManagementMalwareConfigDeleteRequest:
      type: object
      properties:
        trendRealTimeMalwareScanConfigId:
          type: integer
          description: The id of the real time malware scan config.
        trendManualScheduledMalwareScanConfigId:
          type: integer
          description: The id of the manual/scheduled malware scan config.
        trendConfigName:
          type: string
          description: The name of the malware scan config.
    AgentManagementExclusionCreate:
      type: object
      properties:
        name:
          type: string
          description: The name of the exclusion list.
        type:
          type: string
          description: The type of exclusion list (FileList, FileExtension, DirectoryList).
        description:
          type: string
          description: The description of the exclusion list.
        items:
          type: array
          description: The list of excluded items (directories, files or extensions).
          items:
            type: string
  parameters:
    AccountContext:
      name: x-account-context
      in: header
      required: true
      description: Account context identifier
      schema:
        type: integer
      example: 4
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth 2.0 authentication with scopes
      flows:
        clientCredentials:
          tokenUrl: https://api.armor.com/auth/authorize
          scopes: {}
    ApiKey:
      type: apiKey
      description: API Key authentication
      name: x-api-key
      in: header
    FHAuth:
      type: apiKey
      description: FH Auth authentication
      name: Authorization
      in: header