Skip to main content

GitHub Actions Cache

The GitHub Actions Cache API allows you to query and manage the GitHub Actions cache for repositories.

About the Cache API

The GitHub Actions Cache API allows you to query and manage the GitHub Actions cache for repositories. You can also install a GitHub CLI extension to manage your caches from the command line. For more information, see "Caching dependencies to speed up workflows."

Get GitHub Actions cache usage for an enterprise

Works with GitHub Apps

Gets the total GitHub Actions cache usage for an enterprise. The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. You must authenticate using an access token with the admin:enterprise scope to use this endpoint.

Parameters

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

HTTP response status codes

Status codeDescription
200

OK

Code samples

get/enterprises/{enterprise}/actions/cache/usage
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/cache/usage

Response

Status: 200
{ "total_active_caches_size_in_bytes": 3344284, "total_active_caches_count": 5 }

Get GitHub Actions cache usage policy for an enterprise

Works with GitHub Apps

Gets the GitHub Actions cache usage policy for an enterprise. You must authenticate using an access token with the admin:enterprise scope to use this endpoint. GitHub Apps must have the enterprise_administration:write permission to use this endpoint.

Parameters

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

HTTP response status codes

Status codeDescription
200

OK

Code samples

get/enterprises/{enterprise}/actions/cache/usage-policy
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/cache/usage-policy

Response

Status: 200
{ "repo_cache_size_limit_in_gb": 10, "max_repo_cache_size_limit_in_gb": 15 }

Set GitHub Actions cache usage policy for an enterprise

Works with GitHub Apps

Sets the GitHub Actions cache usage policy for an enterprise. You must authenticate using an access token with the admin:enterprise scope to use this endpoint. GitHub Apps must have the enterprise_administration:write permission to use this endpoint.

Parameters

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

Body parameters
Name, Type, Description
repo_cache_size_limit_in_gbinteger

For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes.

max_repo_cache_size_limit_in_gbinteger

For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes.

HTTP response status codes

Status codeDescription
204

No Content

Code samples

patch/enterprises/{enterprise}/actions/cache/usage-policy
curl \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/cache/usage-policy \ -d '{"repo_cache_size_limit_in_gb":10,"max_repo_cache_size_limit_in_gb":15}'

Response

Status: 204

Get GitHub Actions cache usage for an organization

Works with GitHub Apps

Gets the total GitHub Actions cache usage for an organization. The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. You must authenticate using an access token with the read:org scope to use this endpoint. GitHub Apps must have the organization_admistration:read permission to use this endpoint.

Parameters

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
orgstringRequired

The organization name. The name is not case sensitive.

HTTP response status codes

Status codeDescription
200

OK

Code samples

get/orgs/{org}/actions/cache/usage
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/orgs/ORG/actions/cache/usage

Response

Status: 200
{ "total_active_caches_size_in_bytes": 3344284, "total_active_caches_count": 5 }

List repositories with GitHub Actions cache usage for an organization

Works with GitHub Apps

Lists repositories and their GitHub Actions cache usage for an organization. The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. You must authenticate using an access token with the read:org scope to use this endpoint. GitHub Apps must have the organization_admistration:read permission to use this endpoint.

Parameters

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
orgstringRequired

The organization name. The name is not case sensitive.

Query parameters
Name, Type, Description
per_pageinteger

The number of results per page (max 100).

Default: 30

pageinteger

Page number of the results to fetch.

Default: 1

HTTP response status codes

Status codeDescription
200

OK

Code samples

get/orgs/{org}/actions/cache/usage-by-repository
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/orgs/ORG/actions/cache/usage-by-repository

Response

Status: 200
{ "total_count": 2, "repository_cache_usages": [ { "full_name": "octo-org/Hello-World", "active_caches_size_in_bytes": 2322142, "active_caches_count": 3 }, { "full_name": "octo-org/server", "active_caches_size_in_bytes": 1022142, "active_caches_count": 2 } ] }

Get GitHub Actions cache usage for a repository

Works with GitHub Apps

Gets GitHub Actions cache usage for a repository. The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

Parameters

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

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

repostringRequired

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

HTTP response status codes

Status codeDescription
200

OK

Code samples

get/repos/{owner}/{repo}/actions/cache/usage
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/actions/cache/usage

Response

Status: 200
{ "full_name": "octo-org/Hello-World", "active_caches_size_in_bytes": 2322142, "active_caches_count": 3 }

Get GitHub Actions cache usage policy for a repository

Works with GitHub Apps

Gets GitHub Actions cache usage policy for a repository. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the actions:read permission to use this endpoint.

Parameters

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

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

repostringRequired

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

HTTP response status codes

Status codeDescription
200

OK

Code samples

get/repos/{owner}/{repo}/actions/cache/usage-policy
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/actions/cache/usage-policy

Response

Status: 200
{ "repo_cache_size_limit_in_gb": 14 }

Set GitHub Actions cache usage policy for a repository

Works with GitHub Apps

Sets GitHub Actions cache usage policy for a repository. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the actions:write permission to use this endpoint.

Parameters

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

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

repostringRequired

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

Body parameters
Name, Type, Description
repo_cache_size_limit_in_gbintegerRequired

The size limit for the sum of all caches, in gigabytes.

HTTP response status codes

Status codeDescription
204

No Content

Code samples

patch/repos/{owner}/{repo}/actions/cache/usage-policy
curl \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/actions/cache/usage-policy \ -d '{"repo_cache_size_limit_in_gb":14}'

Response

Status: 204