Skip to content

Create



POST /api/v1/data_query_rule/add

Overview

Create a single data access rule.

Body Request Parameters

Parameter Name Type Required Description
name string Y Name
Allow null: False
Allow empty string: False
Max length: 64
desc string Description
Example: Description1
Allow null: False
Allow empty string: True
Max length: 256
type string Y Type
Allow null: True
Allowed values: ['logging', 'rum', 'tracing', 'metric']
indexes array Logging type, this field is required. Index UUIDs, [""] means all.
Example: ['
']
Allow null: False
sources array Resource UUIDs, ["*"] means all.
Example: ['appid_96357a78f84041d28b5d7aaa6201a424']
Allow null: False
roleUUIDs array Y List of roles.
Example: []
Allow null: False
conditions string Filter search.
Example: search
Allow null: False
Allow empty string: True
extend json Extended fields.
Example: xxx
Allow null: False
logic string Logic field.
Example: or
Allow null: False
maskFields string Masking fields, multiple fields separated by commas.
Example: message,host
Allow null: False
Allow empty string: True
reExprs array Regular expressions.
Example: [{'name': 'jjj', 'reExpr': '', 'enable': 0}, {'name': 'lll', 'reExpr': '', 'enable': 1}]
Allow null: False

Parameter Supplementary Description

Data description.*

1. Role-based access description 1. Specified roles can only query data within the specified query scope. 2. If a user has multiple roles and one of their roles is not included in the rule's role list, this data access rule will not take effect for that user, meaning the query scope is not restricted. 3. The logical relationship between multiple logging data access rules within a workspace is OR.

2. Request parameter description

Parameter Name type Required Description
name string Y Name
desc String N Description
type String Y Type (logging, rum, tracing, metric)
indexes array Y Required when type is logging. For index authorization from non-workspace sources (must be authorized by the workspace), use workspace UUID:index UUID, e.g., ["wksp_111:lgim_222", "wksp_333:lgim_444"]
sources array Y Required when type is not logging. When type is rum, it is a list of application appIds. When type is tracing, it is a list of service names. When type is metric, it is a list of measurements.
roleUUIDs array Y List of role UUIDs
conditions string N Actual filter conditions for the data scope, e.g., "device IN ['PC'] and session_has_replay IN ['1']"
extend dict Y Extended fields, storing the structured content of conditions for frontend display, e.g.,
logic string N Logic field, and/or, used to connect filter conditions
maskFields string N Masking fields, multiple fields separated by commas
reExprs array N Regular expressions, e.g., [{"name":"1111","enable":true,"reExpr":"tkn_[\da-z]*"},{"name":"liuyltest","enable":true,"reExpr":"test"}]

Request Example

curl 'https://openapi.truewatch.com/api/v1/data_query_rule/add' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'DF-API-KEY: <DF-API-KEY>' \
--data-raw $'{"name":"rum test","desc":"","roleUUIDs":["role_a1e8215c25474f0bb3809f2d56749ed9"],"indexes":[],"sources":["*"],"extend":{"env":["front"]},"maskFields":"*","logic":"and","type":"rum","reExprs":[{"name":"IPv4 Address Scanning","reExpr":"\\\\b((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\\\\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])\\\\b","enable":true}],"conditions":"`env` IN [\'front\']"}' \
--compressed

Response

{
    "code": 200,
    "content": {
        "conditions": "`env` IN ['front']",
        "createAt": 1730532068,
        "creator": "wsak_cd83804176e24ac18a8a683260ab0746",
        "declaration": {
            "asd": "aa,bb,cc,1,True",
            "asdasd": "dawdawd",
            "business": "aaa",
            "dd": "dd",
            "fawf": "afawf",
            "organization": "64fe7b4062f74d0007b46676"
        },
        "deleteAt": -1,
        "desc": "",
        "extend": {
            "env": [
                "front"
            ]
        },
        "id": null,
        "indexes": [],
        "logic": "and",
        "maskFields": "*",
        "name": "rum test",
        "reExprs": [
            {
                "enable": true,
                "name": "IPv4 Address Scanning",
                "reExpr": "\\b((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])\\b"
            }
        ],
        "roleUUIDs": [
            "role_a1e8215c25474f0bb3809f2d56749ed9"
        ],
        "sources": [
            "*"
        ],
        "status": 0,
        "type": "rum",
        "updateAt": null,
        "updator": null,
        "uuid": "lqrl_dfe6330883ef4311afae5d380e2294a1",
        "workspaceUUID": "wksp_4b57c7bab38e4a2d9630f675dc20015d"
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-EF351570-B1E0-4263-87DC-85EE7E9345C5"
}