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

Modifying Repository Inheritance Settings

Function

This API is used to modify repository inheritance 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}/inherit-setting

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

data

No

Array of RepositoryInheritSettingUpdateBodyDto objects

Definition:

Inheritance settings.

Constraints:

N/A.

Value range:

N/A.

Default value:

N/A.

Table 4 RepositoryInheritSettingUpdateBodyDto

Parameter

Mandatory

Type

Description

name

No

String

Definition:

Source type.

Constraints:

N/A.

Value range:

  • protected_branches: Protected branch settings.

  • protected_tags: Protected tag settings.

  • repository_settings: Repository settings.

  • push_rules: Commit rule settings.

  • merge_requests: Merge request settings.

  • e2e_settings: E2E settings.

  • watermark: Watermark settings.

Default value:

N/A.

Enumeration values:

  • protected_branches

  • protected_tags

  • repository_settings

  • push_rules

  • merge_requests

  • e2e_settings

  • watermark

inherit_mod

No

String

Definition:

Inheritance settings.

Constraints:

N/A.

Value range:

  • inherit: Inherit the upper-level configuration.

  • custom: Use the current repository configuration.

Default value:

N/A.

Enumeration values:

  • inherit

  • custom

Response Parameters

Status code: 200

Table 5 Response body parameters

Parameter

Type

Description

[items]

Array of RepositoryInheritSettingDto objects

Repository inheritance setting list.

Table 6 RepositoryInheritSettingDto

Parameter

Type

Description

name

String

Definition:

Source type.

Value range:

  • protected_branches: Protected branch settings.

  • protected_tags: Protected tag settings.

  • repository_settings: Repository settings.

  • push_rules: Commit rule settings.

  • merge_requests: Merge request settings.

  • e2e_settings: E2E settings.

  • watermark: Watermark settings.

Enumeration values:

  • protected_branches

  • protected_tags

  • repository_settings

  • push_rules

  • merge_requests

  • e2e_settings

  • watermark

inherit_mod

String

Definition:

Inheritance settings.

Value range:

  • inherit: Inherit the upper-level configuration.

  • custom: Use the current repository configuration.

  • force_inherit: Inherit upper-level configuration forcibly.

Enumeration values:

  • inherit

  • custom

  • force_inherit

Example Requests

This API is used to modify repository inheritance settings.

PUT /v4/repositories/123/inherit-setting

{
  "data" : [ {
    "name" : "protected_branches",
    "inherit_mod" : "inherit"
  }, {
    "name" : "protected_tags",
    "inherit_mod" : "inherit"
  }, {
    "name" : "repository_settings",
    "inherit_mod" : "inherit"
  }, {
    "name" : "push_rules",
    "inherit_mod" : "inherit"
  }, {
    "name" : "merge_requests",
    "inherit_mod" : "inherit"
  }, {
    "name" : "e2e_settings",
    "inherit_mod" : "inherit"
  }, {
    "name" : "watermark",
    "inherit_mod" : "inherit"
  } ]
}

Example Responses

Status code: 200

Repository inheritance setting list.

[ {
  "name" : "protected_branches",
  "inherit_mod" : "custom"
}, {
  "name" : "protected_tags",
  "inherit_mod" : "custom"
}, {
  "name" : "repository_settings",
  "inherit_mod" : "inherit"
}, {
  "name" : "push_rules",
  "inherit_mod" : "inherit"
}, {
  "name" : "merge_requests",
  "inherit_mod" : "inherit"
}, {
  "name" : "e2e_settings",
  "inherit_mod" : "inherit"
}, {
  "name" : "watermark",
  "inherit_mod" : "inherit"
} ]

Status Codes

Status Code

Description

200

Repository inheritance setting list.

Error Codes

See Error Codes.