Skip to content

Create a Default Type Index



POST /api/v1/log_index_cfg/add

Overview

Create a default storage type index configuration.

Body Request Parameters

Parameter Type Required Description
name string Y Index name
Example: xxx
Allow empty: False
Max length: 256
desc string Index description
Example: xxx
Allow empty: False
Allow empty string: True
Max length: 1024
extend json Frontend custom data
Allow empty: True
duration string Data retention duration
Allow empty: False
Example: 7d
storagePolicy json Long-term storage policy. For logs, only workspaces with scopedb storage are allowed to enable this; pay, enterprise, and unlimited support long-term log storage, with enterprise/unlimited logging capped at 1800d; enterprise/unlimited rp supports custom long-term storage duration (maximum 3600d); unlimited supports only the metric_point_total billing type when BossAccountSet is enabled, and is processed as metric_point_total when disabled; includes longStorageEnabled and longStorageDuration
Example: {'longStorageEnabled': True, 'longStorageDuration': '180d'}
Allow empty: False
directIndex boolean Native direct write index, default false, newly added in the 2025-06-25 iteration
Allow empty: False
isFullLineIndex int Whether it is a full-line index; supports integer 0/1 or boolean false/true; Scopedb new indexes default to and only support 1/true, while other log storage keeps the original default of 0 and does not support setting it to 1
Allow empty: False
setting json Related configuration information
Allow empty: False
setting.hot_retention int Volcengine storage, standard storage - hot storage
Allow empty: False
setting.cold_retention int Volcengine storage, infrequent access storage - cold data
Allow empty: False
setting.archive_retention int Volcengine storage, archive storage - archived data
Allow empty: False

Additional Parameter Notes

1. Request parameter description

Parameter type Required Description
name String Required Index name
desc String Index description
extend Json Extension information used for frontend echo
duration Json Index total storage duration, example: 60d
directIndex Boolean Native direct write index, default false, newly added in the 2025-06-25 iteration
setting Json Index configuration information when logs use Volcengine storage

2. Parameters in setting

Parameter type Required Description
hot_retention int Required Standard storage - hot data, must be a whole number of days in hours. Unit: hour (h)
cold_retention int Infrequent access storage - cold data, must be a whole number of days in hours. Unit: hour (h)
archive_retention int Archive storage - archived data, must be a whole number of days in hours. Unit: hour (h)

2.1 Volcengine storage duration limits:
Standard storage: hot data storage, range: 1-1800 days. If infrequent access storage is configured, the range is 7-1800 days; if archive storage is configured, the range is 30-1800 days.
Infrequent access storage: cold data storage, range: 30-1800 days.
Archive storage: archived data storage, range: 60-1800 days.
2.2 Volcengine storage duration limits:
Total storage duration (standard storage + infrequent access storage + archive storage) cannot exceed 1800 days.


3. Parameters in extend

Parameter type Required Description
matchMode String Matching mode, optional values: basic, advanced; defaults to basic when omitted
filters Array[dict] Normal matching filter condition list. Not required for native direct write indexes; an empty array is recommended in advanced mode
advancedFilter Dict Advanced matching condition tree, effective when matchMode=advanced
extendFields Array Index extended field information
extendFields[*].tag String Yes Key field name
extendFields[*].alias String Key field alias
services String Matched service

4. Structure of extend.filters

Parameter type Required Description
condition string Relationship with the previous filter condition, optional values: and, or; default: and
name string Field name to be filtered
operation string Operator, optional values: in, not_in
value array Value list
value[#] string/int/boolean Can be string/numeric/boolean type

5. Structure of extend.advancedFilter

Parameter type Required Description
type string Yes Root node is fixed to group
condition string Yes Relationship among child nodes in the current group, optional values: and, or
filters array Yes Child node list, elements can be rule or group
filters[#].type string Yes Node type, optional values: rule, group
filters[#].name string Required for rule Log field name
filters[#].operation string Required for rule Operator, optional values: =, !=, in, not_in, match, not_match, wildcard, not_wildcard, regexp, not_regexp, >, <, >=, <=, exist, not_exist
filters[#].value array Required for rule Value list; exist / not_exist use an empty array

When matchMode=advanced, the backend generates conditions in DQL where style, e.g., IN, NOT IN, = match('xxx'), = wildcard('xxx'); regular filters still maintain the historical generation format.


Request Example

curl 'https://openapi.guance.com/api/v1/log_index_cfg/add' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: zh' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'DF-API-KEY: <DF-API-KEY>' \
--data-raw '{"name":"test_index","duration":"14d","isFullLineIndex":1,"extend":{"filters":[{"condition":"and","name":"host","operation":"in","value":["custom_host1"]}]}}' \
--compressed

Response

{
    "code": 200,
    "content": {
        "conditions": "{  `host` in [ 'custom_host1' ] }",
        "createAt": 1698751853,
        "creator": "xxx",
        "deleteAt": -1,
        "duration": "14d",
        "extend": {
            "filters": [
                {
                    "condition": "and",
                    "name": "host",
                    "operation": "in",
                    "value": [
                        "custom_host1"
                    ]
                }
            ]
        },
        "exterStoreName": "",
        "exterStoreProject": "",
        "externalResourceAccessCfgUUID": "",
        "id": null,
        "isBindCustomStore": 0,
        "isFullLineIndex": 1,
        "isPublicNetworkAccess": 0,
        "name": "test_index",
        "queryType": "logging",
        "region": "",
        "setting": {},
        "sortNo": 3,
        "status": 0,
        "storeType": "",
        "updateAt": 1698751853,
        "updator": "xxx",
        "uuid": "lgim_xxxx32",
        "workspaceUUID": "wksp_xxxx32"
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-600346C3-6C89-4391-9CA3-2152D10149D8"
} 

Feedback

Is this page helpful?