Repository files API rate limits
- Tier: Free, Premium, Ultimate
- Offering: GitLab Self-Managed, GitLab Dedicated
The Repository files API enables you to fetch, create, update, and delete files in your repository. To improve the security and durability of your web application, you can enforce rate limits on this API. Any rate limits you create for the Files API override the general user and IP rate limits.
Define Files API rate limits
Rate limits for the Files API are disabled by default. When enabled, they supersede the general user and IP rate limits for requests to the Repository files API. You can keep any general user and IP rate limits already in place, and increase or decrease the rate limits for the Files API. No other new features are provided by this override.
Prerequisites:
- You must have administrator access to the instance.
To override the general user and IP rate limits for requests to the Repository files API:
- In the upper-right corner, select Admin.
- In the left sidebar, select Settings > Network.
- Expand Files API Rate Limits.
- Select the checkboxes for the types of rate limits you want to enable:
- Unauthenticated API request rate limit
- Authenticated API request rate limit
- If you selected unauthenticated:
- Select the Max unauthenticated API requests per period per IP.
- Select the Unauthenticated API rate limit period in seconds.
- If you selected authenticated:
- Select the Max authenticated API requests per period per user.
- Select the Authenticated API rate limit period in seconds.
Configure file blame rate limits
The file blame endpoint
and the GraphQL blame field on RepositoryBlob share these rate limits. For GraphQL, each blob in a query counts as one request.
These limits apply in addition to the Files API rate limits, and are enabled by default.
| Request type | Default limit | Applies to | Application setting |
|---|---|---|---|
| Authenticated | 400 requests every minute | Each user and project | project_repositories_blame_limit |
| Unauthenticated | 400 requests every minute | Each IP address | project_repositories_blame_unauthenticated_limit |
To change a limit, use the application settings API.
Set a limit to 0 to disable it.