Use this API to retrieve and change the application limits of a subscription plan.

The available plans depend on the GitLab edition. In the Community Edition, only the default plan exists. The Enterprise Edition has additional plans.

These endpoints require administrator access to the instance.

Get current plan limits

GET /api/v4/application/plan_limits

List the current limits of a plan on the GitLab instance.

Parameters

NameTypeDescription
plan_name
Query
StringName of the plan to get the limits from. Default: default
Allowed values: default
Default: default

Responses

CodeDescriptionSchema
200OKAPIEntitiesPlanLimit
400Bad Request—
401Unauthorized—
403Forbidden—

Change plan limits

PUT /api/v4/application/plan_limits

Modify the limits of a plan on the GitLab instance.

Request body (application/json)

PropertyTypeDescription
cargo_max_file_sizeIntegerMaximum Cargo package file size in bytes
ci_active_jobsIntegerTotal number of jobs in currently active pipelines
ci_instance_level_variablesIntegerMaximum number of Instance-level CI/CD variables that can be defined
ci_needs_size_limitIntegerMaximum number of needs dependencies that a job can have
ci_pipeline_schedulesIntegerMaximum number of pipeline schedules
ci_pipeline_sizeIntegerMaximum number of jobs in a single pipeline
ci_project_subscriptionsIntegerMaximum number of pipeline subscriptions to and from a project
ci_registered_group_runnersIntegerMaximum number of runners created or active in a group during the past seven days
ci_registered_project_runnersIntegerMaximum number of runners created or active in a project during the past seven days
conan_max_file_sizeIntegerMaximum Conan package file size in bytes
dotenv_sizeIntegerMaximum size of a dotenv artifact in bytes
dotenv_variablesIntegerMaximum number of variables in a dotenv artifact
enforcement_limitIntegerMaximum storage size for the root namespace enforcement in MiB
generic_packages_max_file_sizeIntegerMaximum generic package file size in bytes
helm_max_file_sizeIntegerMaximum Helm chart file size in bytes
maven_max_file_sizeIntegerMaximum Maven package file size in bytes
max_pipelines_per_merge_trainIntegerMaximum number of parallel pipelines per merge train
notification_limitIntegerMaximum storage size for the root namespace notifications in MiB
npm_max_file_sizeIntegerMaximum NPM package file size in bytes
nuget_max_file_sizeIntegerMaximum NuGet package file size in bytes
pipeline_hierarchy_sizeIntegerMaximum number of downstream pipelines in a pipeline’s hierarchy tree
plan_name
Required
StringName of the plan to update
Allowed values: default
Minimum length: 1
pypi_max_file_sizeIntegerMaximum PyPI package file size in bytes
service_desk_outbound_emails_per_dayIntegerMaximum number of outbound Service Desk emails per day, per top-level namespace. 0 for unlimited
service_desk_outbound_emails_per_hourIntegerMaximum number of outbound Service Desk emails per hour, per top-level namespace. 0 for unlimited
storage_size_limitIntegerMaximum storage size for the root namespace in MiB
terraform_module_max_file_sizeIntegerMaximum Terraform Module package file size in bytes
web_hook_callsIntegerMaximum number of times a webhook can be called per minute, per top-level namespace. 0 for unlimited
web_hook_calls_lowIntegerMaximum number of times a webhook can be called per minute, per top-level namespace. 0 for unlimited (GitLab.com only)
web_hook_calls_midIntegerMaximum number of times a webhook can be called per minute, per top-level namespace. 0 for unlimited (GitLab.com only)

Responses

CodeDescriptionSchema
200OKAPIEntitiesPlanLimit
400Bad request—
401Unauthorized—
403Forbidden—

Schemas

Objects returned by the operations above and objects nested in their request bodies.

APIEntitiesPlanLimit

PropertyTypeDescription
cargo_max_file_sizeIntegerExample: 5.36870912e+09
ci_active_jobsIntegerExample: 0
ci_instance_level_variablesIntegerExample: 25
ci_needs_size_limitIntegerExample: 50
ci_pipeline_schedulesIntegerExample: 10
ci_pipeline_sizeIntegerExample: 0
ci_project_subscriptionsIntegerExample: 2
ci_registered_group_runnersIntegerExample: 1000
ci_registered_project_runnersIntegerExample: 1000
conan_max_file_sizeIntegerExample: 3.221225472e+09
dotenv_sizeIntegerExample: 5120
dotenv_variablesIntegerExample: 20
enforcement_limitIntegerExample: 15000
generic_packages_max_file_sizeIntegerExample: 5.36870912e+09
helm_max_file_sizeIntegerExample: 5.24288e+06
limits_historyObjectExample: {"enforcement_limit":[{"timestamp":1686909124,"user_id":1,"username":"x","value":5}],"notification_limit":[{"timestamp":1686909124,"user_id":2,"username":"y","value":7}]}
maven_max_file_sizeIntegerExample: 3.221225472e+09
max_pipelines_per_merge_trainIntegerExample: 20
notification_limitIntegerExample: 15000
npm_max_file_sizeIntegerExample: 5.24288e+08
nuget_max_file_sizeIntegerExample: 5.24288e+08
pipeline_hierarchy_sizeIntegerExample: 1000
pypi_max_file_sizeIntegerExample: 3.221225472e+09
service_desk_outbound_emails_per_dayIntegerExample: 700
service_desk_outbound_emails_per_hourIntegerExample: 100
storage_size_limitIntegerExample: 15000
terraform_module_max_file_sizeIntegerExample: 1.073741824e+09
web_hook_callsIntegerExample: 500
web_hook_calls_lowIntegerExample: 500
web_hook_calls_midIntegerExample: 500