REST API endpoints for GitHub Actions cache

Use the REST API to interact with the cache for repositories in GitHub Actions.

About the cache in GitHub Actions

You can use the REST API to query and manage the cache for repositories in GitHub Actions. You can also install a GitHub CLI extension to manage your caches from the command line. For more information, see Dependency caching reference.

Note

Most endpoints use Authorization: Bearer <YOUR-TOKEN> and Accept: application/vnd.github+json headers, plus X-GitHub-Api-Version: 2026-03-10. Curl examples below omit these standard headers for brevity.

Get GitHub Actions cache retention limit for an enterprise

GET /enterprises/{enterprise}/actions/cache/retention-limit

Gets GitHub Actions cache retention limit for an enterprise. All organizations and repositories under this
enterprise may not set a higher cache retention limit.
OAuth tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.
Note

The "Enterprise administration" fine-grained permission is not available to callers. To use this API, you must use an OAuth app token or a personal access token (classic).

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/enterprises/ENTERPRISE/actions/cache/retention-limit

Response schema (Status: 200):

Set GitHub Actions cache retention limit for an enterprise

PUT /enterprises/{enterprise}/actions/cache/retention-limit

Sets GitHub Actions cache retention limit for an enterprise. All organizations and repositories under this
enterprise may not set a higher cache retention limit.
OAuth tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.
Note

The "Enterprise administration" fine-grained permission is not available to callers. To use this API, you must use an OAuth app token or a personal access token (classic).

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X PUT \
  https://api.github.com/enterprises/ENTERPRISE/actions/cache/retention-limit \
  -d '{
  "max_cache_retention_days": 80
}'

Response schema (Status: 204):

Get GitHub Actions cache storage limit for an enterprise

GET /enterprises/{enterprise}/actions/cache/storage-limit

Gets GitHub Actions cache storage limit for an enterprise. All organizations and repositories under this
enterprise may not set a higher cache storage limit.
OAuth tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.
Note

The "Enterprise administration" fine-grained permission is not available to callers. To use this API, you must use an OAuth app token or a personal access token (classic).

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/enterprises/ENTERPRISE/actions/cache/storage-limit

Response schema (Status: 200):

Set GitHub Actions cache storage limit for an enterprise

PUT /enterprises/{enterprise}/actions/cache/storage-limit

Sets GitHub Actions cache storage limit for an enterprise. All organizations and repositories under this
enterprise may not set a higher cache storage limit.
OAuth tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.
Note

The "Enterprise administration" fine-grained permission is not available to callers. To use this API, you must use an OAuth app token or a personal access token (classic).

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X PUT \
  https://api.github.com/enterprises/ENTERPRISE/actions/cache/storage-limit \
  -d '{
  "max_cache_size_gb": 150
}'

Response schema (Status: 204):

Get GitHub Actions cache retention limit for an organization

GET /organizations/{org}/actions/cache/retention-limit

Gets GitHub Actions cache retention limit for an organization. All repositories under this
organization may not set a higher cache retention limit.
OAuth tokens and personal access tokens (classic) need the admin:organization scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/organizations/ORG/actions/cache/retention-limit

Response schema (Status: 200):

Same response schema as Get GitHub Actions cache retention limit for an enterprise.

Set GitHub Actions cache retention limit for an organization

PUT /organizations/{org}/actions/cache/retention-limit

Sets GitHub Actions cache retention limit for an organization. All repositories under this
organization may not set a higher cache retention limit.
OAuth tokens and personal access tokens (classic) need the admin:organization scope to use this endpoint.

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X PUT \
  https://api.github.com/organizations/ORG/actions/cache/retention-limit \
  -d '{
  "max_cache_retention_days": 80
}'

Response schema (Status: 204):

Get GitHub Actions cache storage limit for an organization

GET /organizations/{org}/actions/cache/storage-limit

Gets GitHub Actions cache storage limit for an organization. All repositories under this
organization may not set a higher cache storage limit.
OAuth tokens and personal access tokens (classic) need the admin:organization scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/organizations/ORG/actions/cache/storage-limit

Response schema (Status: 200):

Same response schema as Get GitHub Actions cache storage limit for an enterprise.

Set GitHub Actions cache storage limit for an organization

PUT /organizations/{org}/actions/cache/storage-limit

Sets GitHub Actions cache storage limit for an organization. All organizations and repositories under this
organization may not set a higher cache storage limit.
OAuth tokens and personal access tokens (classic) need the admin:organization scope to use this endpoint.

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X PUT \
  https://api.github.com/organizations/ORG/actions/cache/storage-limit \
  -d '{
  "max_cache_size_gb": 150
}'

Response schema (Status: 204):

Get GitHub Actions cache usage for an organization

GET /orgs/{org}/actions/cache/usage

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.
OAuth tokens and personal access tokens (classic) need the read:org scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/orgs/ORG/actions/cache/usage

Response schema (Status: 200):

List repositories with GitHub Actions cache usage for an organization

GET /orgs/{org}/actions/cache/usage-by-repository

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.
OAuth tokens and personal access tokens (classic) need the read:org scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/orgs/ORG/actions/cache/usage-by-repository

Response schema (Status: 200):

Get GitHub Actions cache retention limit for a repository

GET /repos/{owner}/{repo}/actions/cache/retention-limit

Gets GitHub Actions cache retention limit for a repository. This determines how long caches will be retained for, if
not manually removed or evicted due to size constraints.
OAuth tokens and personal access tokens (classic) need the admin:repository scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/actions/cache/retention-limit

Response schema (Status: 200):

Same response schema as Get GitHub Actions cache retention limit for an enterprise.

Set GitHub Actions cache retention limit for a repository

PUT /repos/{owner}/{repo}/actions/cache/retention-limit

Sets GitHub Actions cache retention limit for a repository. This determines how long caches will be retained for, if
not manually removed or evicted due to size constraints.
OAuth tokens and personal access tokens (classic) need the admin:repository scope to use this endpoint.

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X PUT \
  https://api.github.com/repos/OWNER/REPO/actions/cache/retention-limit \
  -d '{
  "max_cache_retention_days": 80
}'

Response schema (Status: 204):

Get GitHub Actions cache storage limit for a repository

GET /repos/{owner}/{repo}/actions/cache/storage-limit

Gets GitHub Actions cache storage limit for a repository. This determines the maximum size of caches that can be
stored before eviction occurs.
OAuth tokens and personal access tokens (classic) need the admin:repository scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/actions/cache/storage-limit

Response schema (Status: 200):

Same response schema as Get GitHub Actions cache storage limit for an enterprise.

Set GitHub Actions cache storage limit for a repository

PUT /repos/{owner}/{repo}/actions/cache/storage-limit

Sets GitHub Actions cache storage limit for a repository. This determines the maximum size of caches that can be
stored before eviction occurs.
OAuth tokens and personal access tokens (classic) need the admin:repository scope to use this endpoint.

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X PUT \
  https://api.github.com/repos/OWNER/REPO/actions/cache/storage-limit \
  -d '{
  "max_cache_size_gb": 150
}'

Response schema (Status: 204):

Get GitHub Actions cache usage for a repository

GET /repos/{owner}/{repo}/actions/cache/usage

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, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/actions/cache/usage

Response schema (Status: 200):

List GitHub Actions caches for a repository

GET /repos/{owner}/{repo}/actions/caches

Lists the GitHub Actions caches for a repository.
OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/actions/caches

Response schema (Status: 200):

Delete GitHub Actions caches for a repository (using a cache key)

DELETE /repos/{owner}/{repo}/actions/caches

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.
OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X DELETE \
  "https://api.github.com/repos/OWNER/REPO/actions/caches?key=Linux-node-958aff96db2d75d67787d1e634ae70b659de937b"

Response schema (Status: 200):

Same response schema as List GitHub Actions caches for a repository.

Delete a GitHub Actions cache for a repository (using a cache ID)

DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}

Deletes a GitHub Actions cache for a repository, using a cache ID.
OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X DELETE \
  https://api.github.com/repos/OWNER/REPO/actions/caches/CACHE_ID

Response schema (Status: 204):