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
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 |
acceptstringSetting to |
| Path parameters |
| Name, Type, Description |
enterprisestringRequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
HTTP response status codes
| Status code | Description |
|---|---|
200 | OK |
Code samples
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token <TOKEN>" \
https://api.github.com/enterprises/ENTERPRISE/actions/cache/usageResponse
Status: 200{
"total_active_caches_size_in_bytes": 3344284,
"total_active_caches_count": 5
}Get GitHub Actions cache usage for an organization
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 |
acceptstringSetting to |
| Path parameters |
| Name, Type, Description |
orgstringRequiredThe organization name. The name is not case sensitive. |
HTTP response status codes
| Status code | Description |
|---|---|
200 | OK |
Code samples
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token <TOKEN>" \
https://api.github.com/orgs/ORG/actions/cache/usageResponse
Status: 200{
"total_active_caches_size_in_bytes": 3344284,
"total_active_caches_count": 5
}List repositories with GitHub Actions cache usage for an organization
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 |
acceptstringSetting to |
| Path parameters |
| Name, Type, Description |
orgstringRequiredThe organization name. The name is not case sensitive. |
| Query parameters |
| Name, Type, Description |
per_pageintegerThe number of results per page (max 100). Default: |
pageintegerPage number of the results to fetch. Default: |
HTTP response status codes
| Status code | Description |
|---|---|
200 | OK |
Code samples
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token <TOKEN>" \
https://api.github.com/orgs/ORG/actions/cache/usage-by-repositoryResponse
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
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 |
acceptstringSetting to |
| Path parameters |
| Name, Type, Description |
ownerstringRequiredThe account owner of the repository. The name is not case sensitive. |
repostringRequiredThe name of the repository. The name is not case sensitive. |
HTTP response status codes
| Status code | Description |
|---|---|
200 | OK |
Code samples
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token <TOKEN>" \
https://api.github.com/repos/OWNER/REPO/actions/cache/usageResponse
Status: 200{
"full_name": "octo-org/Hello-World",
"active_caches_size_in_bytes": 2322142,
"active_caches_count": 3
}List GitHub Actions caches for a repository
Lists the GitHub Actions caches 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 |
acceptstringSetting to |
| Path parameters |
| Name, Type, Description |
ownerstringRequiredThe account owner of the repository. The name is not case sensitive. |
repostringRequiredThe name of the repository. The name is not case sensitive. |
| Query parameters |
| Name, Type, Description |
per_pageintegerThe number of results per page (max 100). Default: |
pageintegerPage number of the results to fetch. Default: |
refstringThe Git reference for the results you want to list. The |
keystringAn explicit key or prefix for identifying the cache |
sortstringThe property to sort the results by. Default: Can be one of: |
directionstringThe direction to sort the results by. Default: Can be one of: |
HTTP response status codes
| Status code | Description |
|---|---|
200 | OK |
Code samples
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token <TOKEN>" \
https://api.github.com/repos/OWNER/REPO/actions/cachesResponse
Status: 200{
"total_count": 1,
"actions_caches": [
{
"id": 505,
"ref": "refs/heads/main",
"key": "Linux-node-958aff96db2d75d67787d1e634ae70b659de937b",
"version": "73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0",
"last_accessed_at": "2019-01-24T22:45:36.000Z",
"created_at": "2019-01-24T22:45:36.000Z",
"size_in_bytes": 1024
}
]
}Delete GitHub Actions caches for a repository (using a cache key)
Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref.
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 |
acceptstringSetting to |
| Path parameters |
| Name, Type, Description |
ownerstringRequiredThe account owner of the repository. The name is not case sensitive. |
repostringRequiredThe name of the repository. The name is not case sensitive. |
| Query parameters |
| Name, Type, Description |
keystringRequiredA key for identifying the cache. |
refstringThe Git reference for the results you want to list. The |
HTTP response status codes
| Status code | Description |
|---|---|
200 | OK |
Code samples
curl \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token <TOKEN>" \
https://api.github.com/repos/OWNER/REPO/actions/cachesResponse
Status: 200{
"total_count": 1,
"actions_caches": [
{
"id": 505,
"ref": "refs/heads/main",
"key": "Linux-node-958aff96db2d75d67787d1e634ae70b659de937b",
"version": "73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0",
"last_accessed_at": "2019-01-24T22:45:36.000Z",
"created_at": "2019-01-24T22:45:36.000Z",
"size_in_bytes": 1024
}
]
}Delete a GitHub Actions cache for a repository (using a cache ID)
Deletes a GitHub Actions cache for a repository, using a cache ID.
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 |
acceptstringSetting to |
| Path parameters |
| Name, Type, Description |
ownerstringRequiredThe account owner of the repository. The name is not case sensitive. |
repostringRequiredThe name of the repository. The name is not case sensitive. |
cache_idintegerRequiredThe unique identifier of the GitHub Actions cache. |
HTTP response status codes
| Status code | Description |
|---|---|
204 | No Content |
Code samples
curl \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token <TOKEN>" \
https://api.github.com/repos/OWNER/REPO/actions/caches/CACHE_IDResponse
Status: 204