Skip to main content

We've recently moved some of the REST API documentation. If you can't find what you're looking for, you might try the new Branches, Collaborators, Commits, Deploy Keys, Deployments, GitHub Pages, Releases, Metrics, Webhooks REST API pages.

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. 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. 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. 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