Plan limits API
Introduced in GitLab 13.10.
The plan limits API allows you to maintain the application limits for the existing subscription plans.
The existing plans depend on the GitLab edition. In the Community Edition, only the plan default
is available. In the Enterprise Edition, additional plans are available as well.
Administrator access is required to use this API.
Get current plan limits
List the current limits of a plan on the GitLab instance.
GET /application/plan_limits
Attribute | Type | Required | Description |
---|---|---|---|
plan_name | string | no | Name of the plan to get the limits from. Default: default . |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/application/plan_limits"
Example response:
{
"ci_pipeline_size": 0,
"ci_active_jobs": 0,
"ci_project_subscriptions": 2,
"ci_pipeline_schedules": 10,
"ci_needs_size_limit": 50,
"ci_registered_group_runners": 1000,
"ci_registered_project_runners": 1000,
"conan_max_file_size": 3221225472,
"enforcement_limit": 10000,
"generic_packages_max_file_size": 5368709120,
"helm_max_file_size": 5242880,
"notification_limit": 10000,
"maven_max_file_size": 3221225472,
"npm_max_file_size": 524288000,
"nuget_max_file_size": 524288000,
"pypi_max_file_size": 3221225472,
"terraform_module_max_file_size": 1073741824,
"storage_size_limit": 15000
}
Change plan limits
Modify the limits of a plan on the GitLab instance.
PUT /application/plan_limits
Attribute | Type | Required | Description |
---|---|---|---|
plan_name | string | yes | Name of the plan to update. |
ci_pipeline_size | integer | no | Maximum number of jobs in a single pipeline. Introduced in GitLab 15.0. |
ci_active_jobs | integer | no | Total number of jobs in currently active pipelines. Introduced in GitLab 15.0. |
ci_project_subscriptions | integer | no | Maximum number of pipeline subscriptions to and from a project. Introduced in GitLab 15.0. |
ci_pipeline_schedules | integer | no | Maximum number of pipeline schedules. Introduced in GitLab 15.0. |
ci_needs_size_limit | integer | no | Maximum number of DAG dependencies that a job can have. Introduced in GitLab 15.0. |
ci_registered_group_runners | integer | no | Maximum number of runners registered per group. Introduced in GitLab 15.0. |
ci_registered_project_runners | integer | no | Maximum number of runners registered per project. Introduced in GitLab 15.0. |
conan_max_file_size | integer | no | Maximum Conan package file size in bytes. |
enforcement_limit | integer | no | Maximum storage size for root namespace limit enforcement in MiB. |
generic_packages_max_file_size | integer | no | Maximum generic package file size in bytes. |
helm_max_file_size | integer | no | Maximum Helm chart file size in bytes. |
maven_max_file_size | integer | no | Maximum Maven package file size in bytes. |
notification_limit | integer | no | Maximum storage size for root namespace limit notifications in MiB. |
npm_max_file_size | integer | no | Maximum NPM package file size in bytes. |
nuget_max_file_size | integer | no | Maximum NuGet package file size in bytes. |
pypi_max_file_size | integer | no | Maximum PyPI package file size in bytes. |
terraform_module_max_file_size | integer | no | Maximum Terraform Module package file size in bytes. |
storage_size_limit | integer | no | Maximum storage size for the root namespace in MiB. |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/application/plan_limits?plan_name=default&conan_max_file_size=3221225472"
Example response:
{
"ci_pipeline_size": 0,
"ci_active_jobs": 0,
"ci_project_subscriptions": 2,
"ci_pipeline_schedules": 10,
"ci_needs_size_limit": 50,
"ci_registered_group_runners": 1000,
"ci_registered_project_runners": 1000,
"conan_max_file_size": 3221225472,
"generic_packages_max_file_size": 5368709120,
"helm_max_file_size": 5242880,
"maven_max_file_size": 3221225472,
"npm_max_file_size": 524288000,
"nuget_max_file_size": 524288000,
"pypi_max_file_size": 3221225472,
"terraform_module_max_file_size": 1073741824
}