Skip to content
Try Gitea Cloud ☁️ for 30 days → Accelerate your Development & Deploys!
This is the documentation of 1.24.7, which is no longer the latest release. See the latest release.

Create a tag protections for a repository

POST
/repos/{owner}/{repo}/tag_protections
curl --request POST \
--url https://gitea.com/api/v1/repos/example/example/tag_protections \
--header 'Authorization: Basic <credentials>' \
--header 'Content-Type: application/json' \
--data '{ "name_pattern": "example", "whitelist_teams": [ "example" ], "whitelist_usernames": [ "example" ] }'
owner
required
string

Owner of the repo

repo
required
string

Name of the repo

Media typeapplication/json

CreateTagProtectionOption options for creating a tag protection

object
name_pattern
string
whitelist_teams
Array<string>
whitelist_usernames
Array<string>
Examplegenerated
{
"name_pattern": "example",
"whitelist_teams": [
"example"
],
"whitelist_usernames": [
"example"
]
}

TagProtection

Media typeapplication/json

TagProtection represents a tag protection

object
created_at
string format: date-time
id
integer format: int64
name_pattern
string
updated_at
string format: date-time
whitelist_teams
Array<string>
whitelist_usernames
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"
]
}

APIForbiddenError is a forbidden error response

Media typeapplication/json
message
string
url
string

APINotFound is a not found empty response

Media typeapplication/json

APIValidationError is error format response related to input validation

Media typeapplication/json
message
string
url
string

APIRepoArchivedError is an error that is raised when an archived repo should be modified

Media typeapplication/json
message
string
url
string