Wallarm Rules API

Security rules and virtual patch management

OpenAPI Specification

wallarm-rules-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Wallarm Applications Rules API
  description: The Wallarm API provides programmatic access to the Wallarm API Security Platform. It enables management of attacks, incidents, vulnerabilities, security rules, IP lists, filter nodes, users, integrations, and triggers. The API is available on both US Cloud and EU Cloud endpoints and uses API token authentication.
  version: 4.0.0
  termsOfService: https://www.wallarm.com/terms-of-service
  contact:
    name: Wallarm Support
    url: https://docs.wallarm.com/
    email: support@wallarm.com
  license:
    name: Proprietary
    url: https://www.wallarm.com/terms-of-service
servers:
- url: https://us1.api.wallarm.com
  description: Wallarm US Cloud API
- url: https://api.wallarm.com
  description: Wallarm EU Cloud API
security:
- ApiTokenAuth: []
tags:
- name: Rules
  description: Security rules and virtual patch management
paths:
  /v1/objects/hint:
    post:
      operationId: listRules
      summary: List Security Rules
      description: Retrieve all security rules (hints) configured for the client. Rules include virtual patches, rate limits, and custom detection rules.
      tags:
      - Rules
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectQueryRequest'
      responses:
        '200':
          description: List of rules returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuleListResponse'
        '401':
          description: Unauthorized
  /v1/objects/hint/create:
    post:
      operationId: createRule
      summary: Create Security Rule
      description: Create a new security rule such as a virtual patch to block specific attack vectors on defined path patterns.
      tags:
      - Rules
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRuleRequest'
      responses:
        '200':
          description: Rule created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuleResponse'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
  /v1/objects/hint/delete:
    post:
      operationId: deleteRule
      summary: Delete Security Rule
      description: Delete an existing security rule by its ID.
      tags:
      - Rules
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteRuleRequest'
      responses:
        '200':
          description: Rule deleted successfully
        '401':
          description: Unauthorized
        '404':
          description: Rule not found
  /v1/objects/action:
    post:
      operationId: listRuleConditions
      summary: List Rule Conditions
      description: Retrieve the conditions associated with configured security rules.
      tags:
      - Rules
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectQueryRequest'
      responses:
        '200':
          description: Rule conditions returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionListResponse'
        '401':
          description: Unauthorized
components:
  schemas:
    RuleListResponse:
      type: object
      properties:
        status:
          type: integer
        body:
          type: array
          items:
            $ref: '#/components/schemas/Rule'
    CreateRuleRequest:
      type: object
      required:
      - type
      - action
      properties:
        clientid:
          type: integer
          description: Client ID
        type:
          type: string
          description: Rule type (vpatch, regex, etc.)
        action:
          type: array
          description: Rule conditions (domain, path, application)
          items:
            type: object
        point:
          type: array
          description: Attack vector specification
        enabled:
          type: boolean
          default: true
    Rule:
      type: object
      properties:
        id:
          type: integer
          description: Rule identifier
        type:
          type: string
          description: Rule type (vpatch, regex, etc.)
        action:
          type: object
          description: Rule conditions and scope
        point:
          type: array
          description: Attack point specification
        enabled:
          type: boolean
          description: Whether the rule is currently active
        created:
          type: integer
          description: Unix timestamp of rule creation
    DeleteRuleRequest:
      type: object
      required:
      - id
      - clientid
      properties:
        id:
          type: integer
          description: Rule ID to delete
        clientid:
          type: integer
          description: Client ID
    ObjectQueryRequest:
      type: object
      properties:
        clientid:
          type: integer
          description: Client ID
        filter:
          type: object
          description: Filter criteria
        limit:
          type: integer
          default: 50
          description: Maximum number of results to return
        offset:
          type: integer
          default: 0
          description: Pagination offset
        order_by:
          type: string
          description: Field to sort results by
        order_desc:
          type: boolean
          default: true
          description: Sort in descending order
    RuleResponse:
      type: object
      properties:
        status:
          type: integer
        body:
          $ref: '#/components/schemas/Rule'
    ActionListResponse:
      type: object
      properties:
        status:
          type: integer
        body:
          type: array
          items:
            type: object
  securitySchemes:
    ApiTokenAuth:
      type: apiKey
      in: header
      name: X-WallarmApi-Token
      description: API token obtained from Wallarm Console under Settings → API Tokens.