Help Center/ CodeArts Repo/ API Reference/ APIs/ V4/ MergeRequest/ Creating MR Approving Settings
Updated on 2026-01-27 GMT+08:00

Creating MR Approving Settings

Function

This API is used to create MR approving settings.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

Authorization Information

Each account root user has all the permissions required to call all APIs, but IAM users must be assigned the following required identity policy-based permissions. For details about the required permissions, see Permissions Policies and Supported Actions.

Action

Access Level

Resource Type (*: required)

Condition Key

Alias

Dependencies

codeartsrepo:repository:setRepository

Write

-

-

-

-

URI

POST https://{hostURL}/v4/repositories/{repository_id}/approver-settings

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

repository_id

Yes

Integer

Definition

You can query the project list to obtain the repository ID by calling the API used to query user's all repositories.

Constraints

N/A

Default Value

N/A

Value range:

1~2147483647

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition

User token. Obtain one by calling the IAM API Obtaining a User Token. The value of X-Subject-Token in the response header is a token.

Constraints

N/A

Range

1–100,000 characters.

Default Value

N/A

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

id

No

String

Definition

Primary key ID.

target

No

String

Definition

Branch. The asterisk () can be used as a wildcard. For example, dev indicates all branches starting with dev.

target_type

No

String

Setting type. Currently, only the branch type is available.

Enumeration values:

  • branch

  • file

  • binary

is_use_approval

No

Boolean

Approval mode or not. Approval mode: true; score mode: false

approval_required_reviewers

No

Integer

Minimum number of reviewers

approval_required_approvers

No

Integer

Minimum number of approvers

reset_approvals_on_push

No

Boolean

Whether to reset approving gate status during push

reset_reviewers_on_push

No

Boolean

Whether to reset review gate status during push

approvers_from_project

No

Boolean

Whether to add approvers or reviewers only from the following

append_reviewer_ids

No

Array of integers

ID list of reviewers to be added

append_reviewers

No

Array of UserBasicDto objects

Entity list of reviewers to be added

append_approver_ids

No

Array of integers

ID list of approvers to be added

append_approvers

No

Array of UserBasicDto objects

Entity list of approvers to be added

only_merge_when_pipeline_pass

No

Boolean

Whether to enable the pipeline gate

assignee_ids

No

Array of integers

Merger ID list

assignees

No

Array of UserBasicDto objects

Merger entity list

approver_ids

No

Array of integers

Approver ID list

approvers

No

Array of UserBasicDto objects

Approver entity list

reviewer_ids

No

Array of integers

Reviewer ID list

reviewers

No

Array of UserBasicDto objects

Reviewer entity list

Table 4 UserBasicDto

Parameter

Mandatory

Type

Description

id

No

Integer

Definition

User ID.

Value range:

1~2147483647

name

No

String

Definition

Username.

username

No

String

Definition

Username.

state

No

String

Definition:

User status

Value range:

  • active: available account

  • blocked: locked user

  • error: The user is not found

Enumeration values:

  • active

  • blocked

  • error

service_license_status

No

Integer

Service-level permission status. 0: disabled; 1: enabled

avatar_url

No

String

User profile picture URL

avatar_path

No

String

User profile picture path

email

No

String

User email

name_cn

No

String

Username (CN)

web_url

No

String

User homepage

nick_name

No

String

User alias

tenant_name

No

String

Tenant name

error_message

No

String

Definition

When some query APIs detect that the user permission in the transfer parameter is insufficient or the user does not exist, the user is returned but the field is not empty for information.

Response Parameters

Status code: 201

Table 5 Response body parameters

Parameter

Type

Description

id

String

Definition

Primary key ID.

target

String

Definition

Branch. The asterisk () can be used as a wildcard. For example, dev indicates all branches starting with dev.

target_type

String

Setting type. Currently, only the branch type is available.

Enumeration values:

  • branch

  • file

  • binary

is_use_approval

Boolean

Approval mode or not. Approval mode: true; score mode: false

approval_required_reviewers

Integer

Minimum number of reviewers

approval_required_approvers

Integer

Minimum number of approvers

reset_approvals_on_push

Boolean

Whether to reset approving gate status during push

reset_reviewers_on_push

Boolean

Whether to reset review gate status during push

approvers_from_project

Boolean

Whether to add approvers or reviewers only from the following

append_reviewer_ids

Array of integers

ID list of reviewers to be added

append_reviewers

Array of UserBasicDto objects

Entity list of reviewers to be added

append_approver_ids

Array of integers

ID list of approvers to be added

append_approvers

Array of UserBasicDto objects

Entity list of approvers to be added

only_merge_when_pipeline_pass

Boolean

Whether to enable the pipeline gate

assignee_ids

Array of integers

Merger ID list

assignees

Array of UserBasicDto objects

Merger entity list

approver_ids

Array of integers

Approver ID list

approvers

Array of UserBasicDto objects

Approver entity list

reviewer_ids

Array of integers

Reviewer ID list

reviewers

Array of UserBasicDto objects

Reviewer entity list

Table 6 UserBasicDto

Parameter

Type

Description

id

Integer

Definition

User ID.

Value range:

1~2147483647

name

String

Definition

Username.

username

String

Definition

Username.

state

String

Definition:

User status

Value range:

  • active: available account

  • blocked: locked user

  • error: The user is not found

Enumeration values:

  • active

  • blocked

  • error

service_license_status

Integer

Service-level permission status. 0: disabled; 1: enabled

avatar_url

String

User profile picture URL

avatar_path

String

User profile picture path

email

String

User email

name_cn

String

Username (CN)

web_url

String

User homepage

nick_name

String

User alias

tenant_name

String

Tenant name

error_message

String

Definition

When some query APIs detect that the user permission in the transfer parameter is insufficient or the user does not exist, the user is returned but the field is not empty for information.

Status code: 401

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Status code: 403

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Example Requests

POST https://{endpoint}/v4/repositories/2561032/approver-settings

{
  "id" : 330,
  "target_type" : "branch",
  "target" : "dev",
  "approval_required_approvers" : 0,
  "approval_required_reviewers" : 0,
  "reset_approvals_on_push" : true,
  "reset_reviewers_on_push" : true,
  "approvers_from_project" : false,
  "append_reviewer_ids" : [ ],
  "append_reviewers" : [ ],
  "append_approver_ids" : [ ],
  "append_approvers" : [ ],
  "only_merge_when_pipeline_pass" : true,
  "assignee_ids" : [ ],
  "assignees" : [ ],
  "approver_ids" : [ ],
  "approvers" : [ ],
  "reviewer_ids" : [ ],
  "reviewers" : [ ]
}

Example Responses

Status code: 201

OK

{
  "id" : 330,
  "target_type" : "branch",
  "target" : "dev",
  "approval_required_approvers" : 0,
  "approval_required_reviewers" : 0,
  "reset_approvals_on_push" : true,
  "reset_reviewers_on_push" : true,
  "approvers_from_project" : false,
  "append_reviewer_ids" : [ ],
  "append_reviewers" : [ ],
  "append_approver_ids" : [ ],
  "append_approvers" : [ ],
  "only_merge_when_pipeline_pass" : true,
  "assignee_ids" : [ ],
  "assignees" : [ ],
  "approver_ids" : [ ],
  "approvers" : [ ],
  "reviewer_ids" : [ ],
  "reviewers" : [ ]
}

Status code: 401

Unauthorized

{
  "error_code" : "DEV.00000003",
  "error_msg" : "Authentication information expired."
}

Status code: 403

Bad Request

{
  "error_code" : "CH.004403",
  "error_msg" : "Insufficient permissions. Apply for the required permissions and try again."
}

Status Codes

Status Code

Description

201

OK

401

Unauthorized

403

Bad Request

Error Codes

See Error Codes.