Help Center/ CodeArts Repo/ API Reference/ APIs/ V4/ MergeRequest/ Obtaining the Merge Request Approver List
Updated on 2026-01-27 GMT+08:00

Obtaining the Merge Request Approver List

Function

This API is used to obtain the approver list of an MR.

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:getMergeRequest

Read

-

-

-

-

URI

GET https://{hostURL}/v4/repositories/{repository_id}/merge-requests/approval-approvers

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

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

target_branch

No

String

Definition

Target branch. Branch to which the code is to be merged when an MR is created.

source_branch

No

String

Definition

Target branch. Branch to which the changed code belongs when an MR is created.

merge_request_iid

No

Integer

Definition

MR IID.

Value range:

1~2147483647

target_repository_id

No

String

Definition

Target repository ID. Repository to which the code is to be merged when an MR is created.

search

No

String

Definition

Query keyword for fuzzy match, such as username, user alias, and tenant name.

offset

No

Integer

Definition

Offset, which starts from 0.

Value range:

0~2147483647

Default value:

0

limit

No

Integer

Definition

Number of returned records.

Value range:

1~100

Default value:

20

Request Parameters

Table 3 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

Response Parameters

Status code: 200

Table 4 Response header parameters

Parameter

Type

Description

X-Total

String

Definition

Total number of approvers that can be selected.

Table 5 Response body parameters

Parameter

Type

Description

required_approvers_list

Array of UserBasicDto objects

Definition

List of mandatory approvers.

Range

N/A.

optional_approvers_list

Array of UserBasicDto objects

Definition

List of optional approvers.

Range

N/A.

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

GET https://{endpoint}/v4/projects/a642c851d4dc4853b595e5c8a5e56df7/merge-requests/approval-approvers

Example Responses

Status code: 200

OK

[ {
  "optional_approvers_list" : [ {
    "id" : 9124,
    "name" : "dev_test",
    "username" : "c369c68f1ff84679b5a8ed904d8bff1c",
    "state" : "active",
    "avatar_url" : "",
    "avatar_path" : "",
    "email" : "",
    "name_cn" : "dev_test",
    "web_url" : "",
    "nick_name" : "dev",
    "tenant_name" : "test_tenant",
    "error_message" : ""
  }, {
    "id" : 9125,
    "name" : "dev_test1",
    "username" : "c369c68f1ff84679b5a8ed904d8bff11",
    "state" : "active",
    "avatar_url" : "",
    "avatar_path" : "",
    "email" : "",
    "name_cn" : "dev_test1",
    "web_url" : "",
    "nick_name" : "dev1",
    "tenant_name" : "test_tenant1",
    "error_message" : ""
  } ]
}, {
  "required_approvers_list" : [ {
    "id" : 9126,
    "name" : "dev_test2",
    "username" : "c369c68f1ff84679b5a8ed904d8bff12",
    "state" : "active",
    "avatar_url" : "",
    "avatar_path" : "",
    "email" : "",
    "name_cn" : "dev_test2",
    "web_url" : "",
    "nick_name" : "dev2",
    "tenant_name" : "test_tenant2",
    "error_message" : ""
  }, {
    "id" : 9127,
    "name" : "dev_test3",
    "username" : "c369c68f1ff84679b5a8ed904d8bff13",
    "state" : "active",
    "avatar_url" : "",
    "avatar_path" : "",
    "email" : "",
    "name_cn" : "dev_test3",
    "web_url" : "",
    "nick_name" : "dev3",
    "tenant_name" : "test_tenant3",
    "error_message" : ""
  } ]
} ]

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

200

OK

401

Unauthorized

403

Bad Request

Error Codes

See Error Codes.