Edit a tag protections for a repository. Only fields that are set will be changed
PATCH
/repos/{owner}/{repo}/tag_protections/{id}
const url = 'https://gitea.com/api/v1/repos/example/example/tag_protections/1';const options = { method: 'PATCH', headers: {Authorization: 'Basic <credentials>', 'Content-Type': 'application/json'}, body: '{"name_pattern":"example","whitelist_teams":["example"],"whitelist_usernames":["example"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://gitea.com/api/v1/repos/example/example/tag_protections/1 \ --header 'Authorization: Basic <credentials>' \ --header 'Content-Type: application/json' \ --data '{ "name_pattern": "example", "whitelist_teams": [ "example" ], "whitelist_usernames": [ "example" ] }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”owner
required
string
Owner of the repo
repo
required
string
Name of the repo
id
required
integer
Id of protected tag
Request Body
Section titled “Request Body”Media typeapplication/json
EditTagProtectionOption options for editing a tag protection
object
name_pattern
The pattern to match tag names for protection
string
whitelist_teams
List of team names allowed to create/delete protected tags
Array<string>
whitelist_usernames
List of usernames allowed to create/delete protected tags
Array<string>
Examplegenerated
{ "name_pattern": "example", "whitelist_teams": [ "example" ], "whitelist_usernames": [ "example" ]}Responses
Section titled “Responses”TagProtection
Media typeapplication/json
TagProtection represents a tag protection
object
created_at
string format: date-time
id
The unique identifier of the tag protection
integer format: int64
name_pattern
The pattern to match tag names for protection
string
updated_at
string format: date-time
whitelist_teams
List of team names allowed to create/delete protected tags
Array<string>
whitelist_usernames
List of usernames allowed to create/delete protected tags
Array<string>
Examplegenerated
{ "created_at": "2026-04-15T12:00:00Z", "id": 1, "name_pattern": "example", "updated_at": "2026-04-15T12:00:00Z", "whitelist_teams": [ "example" ], "whitelist_usernames": [ "example" ]}APINotFound is a not found empty response
APIValidationError is error format response related to input validation
Headers
Section titled “Headers”message
string
url
string
APIRepoArchivedError is an error that is raised when an archived repo should be modified
Headers
Section titled “Headers”message
string
url
string