Skip to main content

This version of GitHub Enterprise Server was discontinued on 2023-09-25. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise Server. For help with the upgrade, contact GitHub Enterprise support.

After a site administrator upgrades your Enterprise Server instance to Enterprise Server 3.9 or later, the REST API will be versioned. To learn how to find your instance's version, see "About versions of GitHub Docs". For more information, see "About API versioning."

Repository tags

Use the REST API to manage tags for a repository.

List tag protection states for a repository

Works with GitHub Apps

This returns the tag protection states of a repository.

This information is only available to repository administrators.

Parameters for "List tag protection states for a repository"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
owner string Required

The account owner of the repository. The name is not case sensitive.

repo string Required

The name of the repository without the .git extension. The name is not case sensitive.

HTTP response status codes for "List tag protection states for a repository"

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

Code samples for "List tag protection states for a repository"

get/repos/{owner}/{repo}/tags/protection
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/tags/protection

Response

Status: 200
[ { "id": 2, "pattern": "v1.*" } ]

Create a tag protection state for a repository

Works with GitHub Apps

This creates a tag protection state for a repository. This endpoint is only available to repository administrators.

Parameters for "Create a tag protection state for a repository"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
owner string Required

The account owner of the repository. The name is not case sensitive.

repo string Required

The name of the repository without the .git extension. The name is not case sensitive.

Body parameters
Name, Type, Description
pattern string Required

An optional glob pattern to match against when enforcing tag protection.

HTTP response status codes for "Create a tag protection state for a repository"

Status codeDescription
201

Created

403

Forbidden

404

Resource not found

Code samples for "Create a tag protection state for a repository"

post/repos/{owner}/{repo}/tags/protection
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/tags/protection \ -d '{"pattern":"v1.*"}'

Response

Status: 201
{ "enabled": true }

Delete a tag protection state for a repository

Works with GitHub Apps

This deletes a tag protection state for a repository. This endpoint is only available to repository administrators.

Parameters for "Delete a tag protection state for a repository"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
owner string Required

The account owner of the repository. The name is not case sensitive.

repo string Required

The name of the repository without the .git extension. The name is not case sensitive.

tag_protection_id integer Required

The unique identifier of the tag protection.

HTTP response status codes for "Delete a tag protection state for a repository"

Status codeDescription
204

No Content

403

Forbidden

404

Resource not found

Code samples for "Delete a tag protection state for a repository"

delete/repos/{owner}/{repo}/tags/protection/{tag_protection_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/tags/protection/TAG_PROTECTION_ID

Response

Status: 204