|  | :linkattrs: | 
|  | = Gerrit Code Review - Quota | 
|  |  | 
|  | Gerrit does not provide out of the box quota enforcement. However, it does | 
|  | support an extension mechanism for plugins to hook into to provide this | 
|  | functionality. The most prominent plugin is the | 
|  | link:https://gerrit.googlesource.com/plugins/quota/[Quota Plugin,role=external,window=_blank]. | 
|  |  | 
|  | This documentation is intended to be read by plugin developers. It contains all | 
|  | quota requests implemented in Gerrit-core as well as the metadata that they have | 
|  | associated. | 
|  |  | 
|  | == Quota Groups | 
|  |  | 
|  | The following quota groups are defined in core Gerrit: | 
|  |  | 
|  | === REST API | 
|  | [[rest-api]] | 
|  |  | 
|  | The REST API enforces quota after the resource was parsed (if applicable) and before the | 
|  | endpoint's logic is executed. This enables quota enforcer implementations to throttle calls | 
|  | to specific endpoints while knowing the general context (user and top-level entity such as | 
|  | change, project or account). | 
|  |  | 
|  | If the quota enforcer wants to throttle HTTP requests, they should use | 
|  | link:quota.html#http-requests[HTTP Requests] instead. | 
|  |  | 
|  | The quota groups used for checking follow the exact definition of the endoint in the REST | 
|  | API, but remove all IDs. The schema is: | 
|  |  | 
|  | /restapi/<ENDPOINT>:<HTTP-METHOD> | 
|  |  | 
|  | Examples: | 
|  |  | 
|  | [options="header",cols="1,6"] | 
|  | |======================= | 
|  | |HTTP call                                 |Quota Group                    |Metadata | 
|  | |GET /a/changes/1/revisions/current/detail |/changes/revisions/detail:GET  |CurrentUser, Change.Id, Project.NameKey | 
|  | |POST /a/changes/                          |/changes/:POST                 |CurrentUser | 
|  | |GET /a/accounts/self/detail               |/accounts/detail:GET           |CurrentUser, Account.Id | 
|  | |======================= | 
|  |  | 
|  | The user provided in the check's metadata is always the calling user (having the | 
|  | impersonation bit and real user set in case the user is impersonating another user). | 
|  |  | 
|  | GERRIT | 
|  | ------ | 
|  | Part of link:index.html[Gerrit Code Review] | 
|  |  | 
|  | SEARCHBOX | 
|  | --------- |