Help Center/ CodeArts Repo/ API Reference/ APIs/ V4/ Repository/ Modifying Repository Notification Settings
Updated on 2026-01-27 GMT+08:00

Modifying Repository Notification Settings

Function

This API is used to modify repository notification 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

PUT https://{hostURL}/v4/repositories/{repository_id}/notification-subscriptions/subscription

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

type

Yes

String

Definition

Notification type.

Range

  • internal_message: indicates intra-site messages.

  • email: indicates emails.

  • qyweixin: indicates WeCom.

  • feishu: indicates Feishu.

  • dingding: indicates DingTalk.

Enumeration values:

  • internal_message

  • email

  • qyweixin

  • feishu

  • dingding

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

Table 4 Request body parameters

Parameter

Mandatory

Type

Description

enabled

No

Boolean

Definition

Enable notifications.

config_source

No

String

Definition

Configuration source.

Enumeration values:

  • repo

  • product

webhook_config

No

UpdateRepoWebHookSubscriptionDto object

Definition

Webhook configurations.

waring_repo_usage_rate

No

Integer

Definition

Repository usage alarm threshold (%).

Enumeration values:

  • 60

  • 80

  • 90

subscript_events

No

Array of RepoSubscriptionEventDto objects

Definition

Notification event.

Table 5 UpdateRepoWebHookSubscriptionDto

Parameter

Mandatory

Type

Description

url

No

String

Definition

URL of the webhook (Base64 encoding is required).

token

No

String

Definition:

Key

mention_users

No

String

Definition

User ID list. Tag a member: Mention a specified member in the group with max. 1,000 characters and max. 100 characters for each mention. Mentions should be separated by semicolons (;).

mention_phone

No

String

Definition

Mobile phone number list (Base64 encoding required). Tag a member: Mention the member corresponding to the mobile phone number in the group with max. 1,000 characters and max. 30 characters for each mention. Mentions should be separated by semicolons (;).

Table 6 RepoSubscriptionEventDto

Parameter

Mandatory

Type

Description

resource_type

No

String

Definition

Resource type.

  • repo: repository.

  • mr: merge request (MR).

  • member: member.

  • note: review comment.

Enumeration values:

  • repo

  • mr

  • member

  • note

action

No

String

Definition

Event name.

  • create: indicates creation.

  • open: indicates open.

  • update: indicates update.

  • delete: indicates deletion.

  • merge: indicates merge.

  • review: indicates review.

  • approve: indicates approving.

  • create_note: indicates comment creation.

  • resolve_note: indicates comment resolution.

  • mention: indicates being mentioned.

Enumeration values:

  • create

  • open

  • update

  • delete

  • merge

  • review

  • approve

  • create_note

  • resolve_note

  • capacity_warning

  • mention

enabled

No

Boolean

Definition

Enable event notification.

role_ids

No

Array of strings

Definition

ID list of roles to be notified.

role_names

No

Array of strings

Definition

List of roles to be notified.

  • creator: indicates creator.

  • assignee: indicates merger.

  • reviewer: indicates scorer.

  • scorer: indicates approver.

  • approver: indicates reviewer.

Enumeration values:

  • creator

  • assignee

  • reviewer

  • scorer

  • approver

Response Parameters

Status code: 200

Table 7 Response body parameters

Parameter

Type

Description

repository_id

Integer

Definition

Repository ID.

Value range:

1~2147483647

enabled

Boolean

Definition

Enable notifications.

config_source

String

Definition

Configuration source.

Enumeration values:

  • repo

  • product

webhook_config

RepoWebHookSubscriptionDto object

Definition

Webhook configurations.

waring_repo_usage_rate

Integer

Definition

Repository usage alarm threshold (%).

Enumeration values:

  • 60

  • 80

  • 90

subscript_events

Array of RepoSubscriptionEventDto objects

Definition

Notification event.

Table 8 RepoWebHookSubscriptionDto

Parameter

Type

Description

url

String

Definition

Webhook URL.

mention_users

String

Definition

User ID list. Tag a member: Mention a specified member in the group with max. 1,000 characters and max. 100 characters for each mention. Mentions should be separated by semicolons (;).

mention_phone

String

Definition

Mobile phone number list. Tag a member: Mention the member corresponding to the mobile phone number in the group with max. 1,000 characters and max. 30 characters for each mention. Mentions should be separated by semicolons (;).

has_token

Boolean

Definition

Whether a token is set.

Table 9 RepoSubscriptionEventDto

Parameter

Type

Description

resource_type

String

Definition

Resource type.

  • repo: repository.

  • mr: merge request (MR).

  • member: member.

  • note: review comment.

Enumeration values:

  • repo

  • mr

  • member

  • note

action

String

Definition

Event name.

  • create: indicates creation.

  • open: indicates open.

  • update: indicates update.

  • delete: indicates deletion.

  • merge: indicates merge.

  • review: indicates review.

  • approve: indicates approving.

  • create_note: indicates comment creation.

  • resolve_note: indicates comment resolution.

  • mention: indicates being mentioned.

Enumeration values:

  • create

  • open

  • update

  • delete

  • merge

  • review

  • approve

  • create_note

  • resolve_note

  • capacity_warning

  • mention

enabled

Boolean

Definition

Enable event notification.

role_ids

Array of strings

Definition

ID list of roles to be notified.

role_names

Array of strings

Definition

List of roles to be notified.

  • creator: indicates creator.

  • assignee: indicates merger.

  • reviewer: indicates scorer.

  • scorer: indicates approver.

  • approver: indicates reviewer.

Enumeration values:

  • creator

  • assignee

  • reviewer

  • scorer

  • approver

Status code: 401

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Status code: 403

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Status code: 404

Table 12 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Example Requests

Modify repository notification settings

PUT /v4/repositories/123/notification-subscriptions/subscription

{
  "enabled" : true,
  "config_source" : "repo",
  "waring_repo_usage_rate" : 60,
  "webhook_config" : {
    "url" : "aHR0cHM6Ly9xeWFwaS53ZWl4aW4ucXEuY29tL2NnaS1iaW4vd2ViaG9vay9zZW5kP2tleT02MDEyMTgxYS1lMzRmLTQ2NDUtYjU2MS01N2FiNGIzY2Q1NjY=",
    "token" : "YXNkZmFzZGYyQDEyMw==",
    "mention_users" : "1;2",
    "mention_phone" : "MTc4MTIzNDEyMzQ7MTg1MTIzNDEyMzQ7MTY3MTIzNDU2Nzg="
  },
  "subscript_events" : [ {
    "resource_type" : "repo",
    "action" : "delete",
    "enabled" : true
  }, {
    "resource_type" : "repo",
    "action" : "capacity_warning",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "open",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "update",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "merge",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "review",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "approve",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "create_note",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "resolve_note",
    "enabled" : true
  } ]
}

Example Responses

Status code: 200

Notification details.

{
  "repository_id" : 2111978605,
  "enabled" : true,
  "config_source" : "repo",
  "webhook_config" : {
    "url" : "https://example.com/cgi-bin/webhook/send?key=xxxx",
    "mention_users" : "1;2",
    "mention_phone" : "17812341234;18512341234;16712345678"
  },
  "waring_repo_usage_rate" : 60,
  "subscript_events" : [ {
    "resource_type" : "mr",
    "action" : "open",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "mr",
    "action" : "update",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "mr",
    "action" : "merge",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "mr",
    "action" : "review",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "mr",
    "action" : "approve",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "mr",
    "action" : "create_note",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "mr",
    "action" : "resolve_note",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "repo",
    "action" : "delete",
    "enabled" : true,
    "role_ids" : [ "" ],
    "role_names" : null
  }, {
    "resource_type" : "repo",
    "action" : "capacity_warning",
    "enabled" : true,
    "role_ids" : [ "" ],
    "role_names" : null
  } ]
}

Status code: 401

Unauthorized

{
  "error_code" : "CH.00000001",
  "error_msg" : "User authentication info not found."
}

Status code: 403

Bad Request

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

Status code: 404

Not Found

{
  "error_code" : "CH.00402000",
  "error_msg" : "The repository does not exist. Check and try again."
}

Status Codes

Status Code

Description

200

Notification details.

401

Unauthorized

403

Bad Request

404

Not Found

Error Codes

See Error Codes.