Chaitin Tech rule API

The rule API from Chaitin Tech — 3 operation(s) for rule.

Operations 6

GET /open/policy list customized rule
POST /open/policy create customized rule
PUT /open/policy update customized rule
DELETE /open/policy delete customized rule
GET /open/policy/detail get customized rule detail
PUT /open/policy/switch enable/disable customized rule

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/chaitin-rule-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

chaitin-rule-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: APISec Management account Rule API
  version: '26.05'
  description: Generated from APISec skyview APIView classes.
servers:
- url: https://docs.waf.chaitin.com
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: rule
paths:
  /open/policy:
    get:
      produces:
      - application/json
      tags:
      - rule
      summary: list customized rule
      parameters:
      - maximum: 3
        minimum: -1
        type: integer
        name: action
        in: query
        x-cli-description: 动作类型:0-放行 1-阻断 2-挑战 3-认证防护 4-混淆 5-等待室
      - minimum: 1
        type: integer
        name: page
        in: query
        x-cli-description: 页码
      - maximum: 100
        minimum: 1
        type: integer
        name: page_size
        in: query
        x-cli-description: 每页数量
      responses:
        '200':
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/response.JSONBody'
            - type: object
              properties:
                data:
                  $ref: '#/definitions/policy.ListPolicyRes'
      x-cli-summary: 获取自定义规则列表
    post:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - rule
      summary: create customized rule
      parameters:
      - description: request params
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/policy.PostPolicyReq'
      responses:
        '200':
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/response.JSONBody'
            - type: object
              properties:
                data:
                  type: integer
      x-cli-summary: 创建自定义规则
    put:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - rule
      summary: update customized rule
      parameters:
      - description: request params
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/policy.PutPolicyReq'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/response.JSONBody'
      x-cli-summary: 更新自定义规则
    delete:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - rule
      summary: delete customized rule
      parameters:
      - description: request params
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/policy.DeletePolicyReq'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/response.JSONBody'
      x-cli-summary: 删除自定义规则
  /open/policy/detail:
    get:
      produces:
      - application/json
      tags:
      - rule
      summary: get customized rule detail
      parameters:
      - type: integer
        name: id
        in: query
        x-cli-description: 资源 ID
      responses:
        '200':
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/response.JSONBody'
            - type: object
              properties:
                data:
                  $ref: '#/definitions/policy.GetPolicyRes'
      x-cli-summary: 获取自定义规则详情
  /open/policy/switch:
    put:
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - rule
      summary: enable/disable customized rule
      parameters:
      - description: request params
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/policy.PutPolicySwitchReq'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/response.JSONBody'
      x-cli-summary: 启用/禁用自定义规则
definitions:
  policy.GetPolicyRes:
    type: object
    properties:
      action:
        description: 0 -> allow, 1 -> deny
        allOf:
        - $ref: '#/definitions/model.PolicyAction'
      auth_callback:
        type: string
      auth_rule:
        type: integer
      auth_source_ids:
        type: array
        items:
          type: integer
      black_rule:
        type: integer
      builtin:
        type: boolean
      captcha_rule:
        type: integer
      cloud_id:
        type: integer
      cloud_total:
        type: integer
      compatible:
        type: integer
      created_at:
        type: string
      expire:
        type: integer
      id:
        type: integer
      is_enabled:
        type: boolean
      level:
        type: integer
      log:
        type: boolean
      name:
        type: string
      negate:
        type: boolean
      pass_count:
        type: integer
      pattern:
        type: array
        items:
          type: array
          items:
            $ref: '#/definitions/model.RulePattern'
      replay:
        type: boolean
      req_count:
        type: integer
      review:
        $ref: '#/definitions/model.PolicyReview'
      tfa_enabled:
        type: boolean
      updated_at:
        type: string
      white_rule:
        type: integer
  response.JSONBody:
    type: object
    properties:
      data: {}
      err:
        type: string
      msg:
        type: string
  policy.DeletePolicyReq:
    type: object
    properties:
      id:
        type: integer
  policy.PostPolicyReq:
    type: object
    properties:
      action:
        $ref: '#/definitions/model.PolicyAction'
      expire:
        type: integer
      is_enabled:
        type: boolean
      level:
        type: integer
      log:
        type: boolean
      name:
        type: string
      pattern:
        type: array
        items:
          type: array
          items:
            $ref: '#/definitions/model.RulePattern'
  model.PolicyReview:
    type: integer
    enum:
    - 0
    - 1
    x-enum-varnames:
    - PolicyReviewRequired
    - PolicyReviewNone
  model.RulePattern:
    type: object
    properties:
      k:
        type: string
      op:
        type: string
      sub_k:
        type: string
      v:
        type: array
        items:
          type: string
  policy.PutPolicySwitchReq:
    type: object
    properties:
      id:
        type: integer
      is_enabled:
        type: boolean
  model.PolicyAction:
    type: integer
    enum:
    - 0
    - 1
    - 2
    - 3
    - 4
    - 5
    - 999
    - 999
    x-enum-varnames:
    - PolicyActionAllow
    - PolicyActionDeny
    - PolicyActionChallenge
    - PolicyActionAuthDefense
    - PolicyActionChaos
    - PolicyActionWaitingRoom
    - PolicyActionMix
    - PolicyActionMax
  policy.ListPolicyRes:
    type: object
    properties:
      data:
        type: array
        items:
          $ref: '#/definitions/policy.GetPolicyRes'
      total:
        type: integer
  policy.PutPolicyReq:
    type: object
    properties:
      action:
        $ref: '#/definitions/model.PolicyAction'
      expire:
        type: integer
      id:
        type: integer
      is_enabled:
        type: boolean
      level:
        type: integer
      log:
        type: boolean
      name:
        type: string
      pattern:
        type: array
        items:
          type: array
          items:
            $ref: '#/definitions/model.RulePattern'