Updated on 2026-04-03 GMT+08:00

Creating a Custom Scan Policy

Function

This API is used to create a custom scan policy.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, no identity policy-based permission required for calling this API.

URI

POST /v5/{project_id}/antivirus/policy

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition

Project ID, which is used to specify the project that an asset belongs to. After the project ID is configured, you can query assets in the project using the project ID. For details about how to obtain it, see Obtaining a Project ID.

Constraints

N/A

Range

The value can contain 1 to 256 characters.

Default Value

N/A

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

enterprise_project_id

No

String

Definition

Enterprise project ID, which is used to filter assets in different enterprise projects. For details, see Obtaining an Enterprise Project ID.

To query assets in all enterprise projects, set this parameter to all_granted_eps.

Constraints

You need to set this parameter only after the enterprise project function is enabled.

Range

The value can contain 1 to 256 characters.

Default Value

0: default enterprise project.

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition

User token, which contains user identity and permissions. The token can be used for identity authentication when an API is called. For details about how to obtain the token, see Obtaining a User Token.

Constraints

N/A

Range

The value can contain 1 to 32,768 characters.

Default Value

N/A

Table 4 Request body parameters

Parameter

Mandatory

Type

Description

policy_name

Yes

String

Policy name

start_type

Yes

String

Definition

Startup mode.

Range

Its value can be:

  • now: Start now.

    • later: Start later.

    • period: Start periodically.

scan_period

No

String

Start type. Its value can be:

  • day: every day

  • week: weekly

  • month: every month

scan_type

No

String

Definition

Job type

Range

Its value can be:

  • quick: quick scan

  • full: full disk scan

  • custom: custom scan

scan_period_date

No

Integer

Scan period date. (1-28) When the scan period is week, 1-7 indicates Sunday to Saturday. When the scan period is month, 1-28 indicates the first day to 28th day of each month.

scan_time

No

Integer

Scan timestamp, in milliseconds. (This parameter is valid only when the startup type is later.)

scan_hour

No

Integer

Scan hours (The parameter is available only when the startup type is period.)

scan_minute

No

Integer

Scan minutes (This parameter is valid only when the startup type is period.)

timezone_offset

No

Integer

Time zone offset (unit: minute). This parameter is valid only when the start type is period.

file_types

Yes

Array of integers

File type. The options are as follows:

  • 0: all

  • 1: executable

  • 2: compression

  • 3: script

  • 4: document

  • 5: image

  • 6: audio and video

scan_dir

No

String

Scan directories. Use semicolons (;) to separate multiple directories.

ignore_dir

No

String

Excluded directories. Use semicolons (;) to separate multiple directories.

action

Yes

String

Definition

Action

Range

  • auto: automatic handling

  • manual: manual handling

whether_paid_task

Yes

Boolean

Whether the scan task is paid.

task_id

No

String

Definition

Task ID.

Range

The value can contain 1 to 64 characters.

host_ids

Yes

Array of strings

Policy management server list

Response Parameters

Status code: 200

Request succeeded.

None

Example Requests

Create a custom scan policy. Set the policy name to Custom scan-20250416174356, scan directory to /root, handling action to Auto handling, server list to 09724867-7b91-482d-9702-daf9113f1b62, and start type to Immediate. The scan task does not consume the pay-per-use quota.

{
  "policy_name" : "Custom scan - 20250416174356",
  "start_type" : "now",
  "file_types" : [ 1, 2, 3, 4 ],
  "scan_dir" : "/root",
  "action" : "auto",
  "whether_paid_task" : false,
  "host_ids" : [ "09724867-7b91-482d-9702-daf9113f1b62" ]
}

Example Responses

None

Status Codes

Status Code

Description

200

Request succeeded.

Error Codes

See Error Codes.