Gitlab
  1. application
Gitlab
  • GitLab API v4
    • Topics
      • Introduction
      • Authentication
    • Endpoints
      • access_requests
        • List access requests for a project
        • Requests access for the authenticated user to a project
        • Approves access for the authenticated user to a project
        • Denies a project access request for the given user
        • Denies a project access request for the given user
        • List access requests for a group
        • Requests access for the authenticated user to a group
        • Approves access for the authenticated user to a group
        • Denies a group access request for the given user
      • access_tokens
        • List access tokens for a project
        • Creates an access token for a project
        • Revokes an access token
      • Retrieve metadata information for this GitLab instance
      • Retrieve metadata information for this GitLab instance
  • application
    • Get the current application settings
      GET
    • Modify application settings
      PUT
  • ci
    • Validation of .gitlab-ci.yml content
      POST
  • deploy_keys
    • /v3/deploy_keys
      GET
  • dockerfiles
    • Get the list of the available template
      GET
    • Get the text for a specific template present in local filesystem
      GET
  • gitignores
    • Get the list of the available template
      GET
    • Get the text for a specific template present in local filesystem
      GET
  • gitlab_ci_ymls
    • Get the list of the available template
      GET
    • Get the text for a specific template present in local filesystem
      GET
  • groups
    • Get a groups list
      GET
    • Create a group. Available only for users who can create groups.
      POST
    • Get list of owned groups for authenticated user
      GET
    • Remove a group.
      DELETE
    • Get a single group, with containing projects.
      GET
    • Update a group. Available only for users who can administrate groups.
      PUT
    • Gets a list of access requests for a group.
      GET
    • Requests access for the authenticated user to a group.
      POST
    • Denies an access request for the given user.
      DELETE
    • Approves an access request for the given user.
      PUT
    • Get a list of group issues
      GET
    • Gets a list of group or project members viewable by the authenticated user.
      GET
    • Adds a member to a group or project.
      POST
    • Removes a user from a group or project.
      DELETE
    • Gets a member of a group or project.
      GET
    • Updates a member of a group or project.
      PUT
    • Get group level notification level settings, defaults to Global
      GET
    • Update group level notification level settings, defaults to Global
      PUT
    • Get a list of projects in this group.
      GET
    • Transfer a project to the group namespace. Available only for admin.
      POST
  • hooks
    • Get the list of system hooks
    • Create a new system hook
    • Delete a hook
    • Test a hook
  • internal
    • /v3/internal/allowed
    • /v3/internal/broadcast_message
    • /v3/internal/check
    • /v3/internal/discover
    • /v3/internal/lfs_authenticate
    • /v3/internal/merge_request_urls
    • /v3/internal/two_factor_recovery_codes
  • issues
    • Get currently authenticated user's issues
  • keys
    • Get single ssh key by id. Only available to admin users
  • licenses
    • Get the list of the available license template
    • Get the text for a specific license
  • namespaces
    • Get a namespaces list
  • notification_settings
    • Get global notification level settings and email, defaults to Participate
    • Update global notification level settings and email, defaults to Participate
  • projects
    • Get a projects list for authenticated user
    • Create new project
    • Get all projects for admin user
    • Fork new project for the current user or provided namespace.
    • Get an owned projects list for authenticated user
    • Search for projects the current user has access to
    • Gets starred project for the authenticated user
    • Create new project for a specified user. Only available to admin users.
    • Get a list of visible projects for authenticated user
    • Remove a project
    • Get a single project
    • Update an existing project
    • Trigger a GitLab project build
    • Gets a list of access requests for a project.
    • Requests access for the authenticated user to a project.
    • Denies an access request for the given user.
    • Approves an access request for the given user.
    • Archive a project
    • Get all project boards
    • Get the lists of a project board
    • Create a new board list
    • Delete a board list
    • Get a list of a project board
    • Moves a board list to a new position
    • Get a project builds
    • Download the artifacts file from build
    • Get a specific build of a project
    • Download the artifacts file from build
    • Keep the artifacts to prevent them from being deleted
    • Cancel a specific build of a project
    • Erase build (remove artifacts and build trace)
    • Trigger a manual build
    • Retry a specific build of a project
    • Get a trace of a specific build of a project
    • Get a specific project's deploy keys
    • Add new deploy key to currently authenticated user
    • Delete deploy key for a project
    • Get single deploy key
    • Disable a deploy key for a project
    • Enable a deploy key for a project
    • Get all deployments of the project
    • Gets a specific deployment
    • Get all environments of the project
    • Creates a new environment
    • Deletes an existing environment
    • Updates an existing environment
    • Get events for a single project
    • Remove a forked_from relationship
    • Mark this project as forked from another
    • Get project hooks
    • Add hook to project
    • Deletes project hook
    • Get a project hook
    • Update an existing project hook
    • Get a list of project issues
    • Create a new project issue
    • Delete a project issue
    • Get a single project issue
    • Update an existing issue
    • Add spent time for a project issue
    • Get a list of project +awardable+ award emoji
    • Award a new Emoji
    • Delete a +awardables+ award emoji
    • Get a specific award emoji
    • Move an existing issue
    • Get a list of project +awardable+ award emoji
    • Award a new Emoji
    • Delete a +awardables+ award emoji
    • Get a specific award emoji
    • Reset spent time for a project issue
    • Reset the time estimate for a project issue
    • Set a time estimate for a project issue
    • Show time stats for a project issue
    • Create a todo on an issuable
    • Get a list of project +noteable+ notes
    • Create a new +noteable+ note
    • Delete a +noteable+ note
    • Get a single +noteable+ note
    • Update an existing +noteable+ note
    • Unsubscribe from a resource
    • Subscribe to a resource
    • Get a specific project's deploy keys
    • Add new deploy key to currently authenticated user
    • Delete deploy key for a project
    • Get single deploy key
    • Disable a deploy key for a project
    • Enable a deploy key for a project
    • Delete an existing label
    • Get all labels of the project
    • Create a new label
    • Update an existing label. At least one optional parameter is required.
    • Unsubscribe from a resource
    • Subscribe to a resource
    • Gets a list of group or project members viewable by the authenticated user.
    • Adds a member to a group or project.
    • Removes a user from a group or project.
    • Gets a member of a group or project.
    • Updates a member of a group or project.
    • Get a single merge request
    • Update a merge request
    • Cancel merge if "Merge When Pipeline Succeeds" is enabled
    • Show the merge request changes
    • List issues that will be closed on merge
    • Get the comments of a merge request
    • Post a comment to a merge request
    • Get the commits of a merge request
    • Merge a merge request
    • Unsubscribe from a resource
    • Subscribe to a resource
    • List merge requests
    • Create a merge request
    • Delete a merge request
    • Get a single merge request
    • Update a merge request
    • Add spent time for a project merge_request
    • Get a list of project +awardable+ award emoji
    • Award a new Emoji
    • Delete a +awardables+ award emoji
    • Get a specific award emoji
    • Cancel merge if "Merge When Pipeline Succeeds" is enabled
    • Show the merge request changes
    • List issues that will be closed on merge
    • Get the comments of a merge request
    • Post a comment to a merge request
    • Get the commits of a merge request
    • Merge a merge request
    • Get a list of project +awardable+ award emoji
    • Award a new Emoji
    • Delete a +awardables+ award emoji
    • Get a specific award emoji
    • Reset spent time for a project merge_request
    • Reset the time estimate for a project merge_request
    • Set a time estimate for a project merge_request
    • Show time stats for a project merge_request
    • Create a todo on an issuable
    • Get a list of merge request diff versions
    • Get a single merge request diff version
    • Get a list of project +noteable+ notes
    • Create a new +noteable+ note
    • Delete a +noteable+ note
    • Get a single +noteable+ note
    • Update an existing +noteable+ note
    • Unsubscribe from a resource
    • Subscribe to a resource
    • Get a list of project milestones
    • Create a new project milestone
    • Get a single project milestone
    • Update an existing project milestone
    • Get all issues for a single project milestone
    • Get project level notification level settings, defaults to Global
    • Update project level notification level settings, defaults to Global
    • Create a new pipeline
    • Get all Pipelines of the project
    • Gets a specific pipeline for the project
    • Cancel all builds in the pipeline
    • Retry failed builds in the pipeline
    • Get an archive of the repository
    • Get a raw file contents
    • Get a project repository branches
    • Create branch
    • Delete a branch
    • Get a single branch
    • Protect a single branch
    • Unprotect a single branch
    • Get a project repository commits
    • Commit multiple file changes as one commit
    • Get a specific commit of a project
    • Get a raw file contents
    • Get builds for a specific commit of a project
    • Cherry pick commit into a branch
    • Get a commit's comments
    • Post comment to commit
    • Get the diff for a specific commit of a project
    • Get a commit's statuses
    • Compare two branches, tags, or commits
    • Get repository contributors
    • Delete an existing file in repository
    • Get a file from repository
    • Create new file in repository
    • Update existing file in repository
    • /v3/projects/{id}/repository/merged_branches
    • Get a raw blob contents by blob sha
    • Get a project repository tags
    • Create a new repository tag
    • Delete a repository tag
    • Get a single repository tag
    • Add a release note to a tag
    • Update a tag's release note
    • Get a project repository tree
    • Get runners available for project
    • Enable a runner for a project
    • Disable project's runner
    • Set asana service for project
    • Set assembla service for project
    • Set bamboo service for project
    • Set bugzilla service for project
    • Set buildkite service for project
    • Set builds-email service for project
    • Set campfire service for project
    • Set custom-issue-tracker service for project
    • Set drone-ci service for project
    • Set emails-on-push service for project
    • Set external-wiki service for project
    • Set flowdock service for project
    • Set gemnasium service for project
    • Set hipchat service for project
    • Set irker service for project
    • Set jira service for project
    • Set kubernetes service for project
    • Set mattermost service for project
    • Set mattermost-slash-commands service for project
    • Trigger a slash command for mattermost-slash-commands
    • Set pipelines-email service for project
    • Set pivotaltracker service for project
    • Set pushover service for project
    • Set redmine service for project
    • Set slack service for project
    • Set slack-slash-commands service for project
    • Trigger a slash command for slack-slash-commands
    • Set teamcity service for project
    • Delete a service for project
    • Get the service settings for project
    • Share the project with a group
    • /v3/projects/{id}/share/{group_id}
    • Get all project snippets
    • Create a new project snippet
    • Get a list of project +noteable+ notes
    • Create a new +noteable+ note
    • Delete a +noteable+ note
    • Get a single +noteable+ note
    • Update an existing +noteable+ note
    • Delete a project snippet
    • Get a single project snippet
    • Update an existing project snippet
    • Get a list of project +awardable+ award emoji
    • Award a new Emoji
    • Delete a +awardables+ award emoji
    • Get a specific award emoji
    • Get a list of project +awardable+ award emoji
    • Award a new Emoji
    • Delete a +awardables+ award emoji
    • Get a specific award emoji
    • Get a raw project snippet
    • Unstar a project
    • Star a project
    • Post status to a commit
    • Get triggers list
    • Create a trigger
    • Delete a trigger
    • Get specific trigger of a project
    • Unarchive a project
    • Upload a file
    • Get the users list of a project
    • Get project variables
    • Create a new variable in a project
    • Delete an existing variable from a project
    • Get a specific variable from a project
    • Update an existing variable from a project
  • runners
    • Get runners available for user
    • Get all runners - shared and specific
    • Remove a runner
    • Get runner's details
    • Update runner's details
  • session
    • Login to get token
  • sidekiq
    • Get the Sidekiq Compound metrics. Includes queue, process, and job statistics
    • Get the Sidekiq job statistics
    • Get the Sidekiq process metrics
    • Get the Sidekiq queue metrics
  • snippets
    • Get a snippets list for authenticated user
    • Create new snippet
    • List all public snippets current_user has access to
    • Remove snippet
    • Get a single snippet
    • Update an existing snippet
    • Get a raw snippet
  • templates
    • Get the list of the available template
    • Get the text for a specific template present in local filesystem
    • Get the list of the available template
    • Get the text for a specific template present in local filesystem
    • Get the list of the available template
    • Get the text for a specific template present in local filesystem
    • Get the list of the available license template
    • Get the text for a specific license
  • todos
    • Mark all todos as done
    • Get a todo list
    • Mark a todo as done
  • user
    • Get the currently authenticated user
    • Get the currently authenticated user's email addresses
    • Add new email address to the currently authenticated user
    • Delete an email address from the currently authenticated user
    • Get a single email address owned by the currently authenticated user
    • Get the currently authenticated user's SSH keys
    • Add a new SSH key to the currently authenticated user
    • Delete an SSH key from the currently authenticated user
    • Get a single key owned by currently authenticated user
  • users
    • Get the list of users
    • Create a user. Available only for admins.
    • Delete a user. Available only for admins.
    • Get a single user
    • Update a user. Available only for admins.
    • Block a user. Available only for admins.
    • Get the emails addresses of a specified user. Available only for admins.
    • Add an email address to a specified user. Available only for admins.
    • Delete an email address of a specified user. Available only for admins.
    • Get the contribution events of a specified user
    • Get the SSH keys of a specified user. Available only for admins.
    • Add an SSH key to a specified user. Available only for admins.
    • Delete an existing SSH key from a specified user. Available only for admins.
    • Unblock a user. Available only for admins.
  • version
    • Get the version information of the GitLab instance.
  1. application

Modify application settings

PUT
/v3/application/settings
application
Modify application settings
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request PUT 'https://gitlab.com/api/v3/application/settings' \
--data-urlencode 'domain_blacklist=' \
--data-urlencode 'two_factor_grace_period=' \
--data-urlencode 'shared_runners_text=' \
--data-urlencode 'metrics_host=' \
--data-urlencode 'metrics_port=' \
--data-urlencode 'metrics_pool_size=' \
--data-urlencode 'metrics_timeout=' \
--data-urlencode 'metrics_method_call_threshold=' \
--data-urlencode 'metrics_sample_interval=' \
--data-urlencode 'metrics_packet_size=' \
--data-urlencode 'sidekiq_throttling_queus=' \
--data-urlencode 'sidekiq_throttling_factor=' \
--data-urlencode 'recaptcha_site_key=' \
--data-urlencode 'recaptcha_private_key=' \
--data-urlencode 'akismet_api_key=' \
--data-urlencode 'sentry_dsn=' \
--data-urlencode 'koding_url=' \
--data-urlencode 'plantuml_url=' \
--data-urlencode 'housekeeping_bitmaps_enabled=' \
--data-urlencode 'housekeeping_incremental_repack_period=' \
--data-urlencode 'housekeeping_full_repack_period=' \
--data-urlencode 'housekeeping_gc_period='
Response Response Example
{
    "after_sign_out_path": "string",
    "after_sign_up_text": "string",
    "container_registry_token_expire_delay": "string",
    "created_at": "string",
    "default_branch_protection": "string",
    "default_group_visibility": "string",
    "default_project_visibility": "string",
    "default_projects_limit": "string",
    "default_snippet_visibility": "string",
    "domain_blacklist": "string",
    "domain_blacklist_enabled": "string",
    "domain_whitelist": "string",
    "gravatar_enabled": "string",
    "home_page_url": "string",
    "id": "string",
    "koding_enabled": "string",
    "koding_url": "string",
    "max_attachment_size": "string",
    "plantuml_enabled": "string",
    "plantuml_url": "string",
    "repository_storage": "string",
    "repository_storages": "string",
    "restricted_visibility_levels": "string",
    "session_expire_delay": "string",
    "sign_in_text": "string",
    "signin_enabled": "string",
    "signup_enabled": "string",
    "updated_at": "string",
    "user_oauth_applications": "string"
}

Request

Body Params application/x-www-form-urlencoded
default_branch_protection
integer 
optional
Determine if developers can push to master
default_project_visibility
integer 
optional
The default project visibility
default_snippet_visibility
integer 
optional
The default snippet visibility
default_group_visibility
integer 
optional
The default group visibility
restricted_visibility_levels
array[string]
optional
Selected levels cannot be used by non-admin users for projects or snippets. If the public level is restricted, user profiles are only visible to logged in users.
import_sources
array[string]
optional
Enabled sources for code import during project creation. OmniAuth must be configured for GitHub, Bitbucket, and GitLab.com
disabled_oauth_sign_in_sources
array[string]
optional
Disable certain OAuth sign-in sources
enabled_git_access_protocol
string 
optional
Allow only the selected protocols to be used for Git access.
gravatar_enabled
string 
optional
Flag indicating if the Gravatar service is enabled
default_projects_limit
integer 
optional
The maximum number of personal projects
max_attachment_size
integer 
optional
Maximum attachment size in MB
session_expire_delay
integer 
optional
Session duration in minutes. GitLab restart is required to apply changes.
user_oauth_applications
string 
optional
Allow users to register any application to use GitLab as an OAuth provider
user_default_external
string 
optional
Newly registered users will by default be external
signup_enabled
string 
optional
Flag indicating if sign up is enabled
send_user_confirmation_email
string 
optional
Send confirmation email on sign-up
domain_whitelist
string 
optional
ONLY users with e-mail addresses that match these domain(s) will be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: domain.com, *.domain.com
domain_blacklist_enabled
string 
optional
Enable domain blacklist for sign ups
domain_blacklist
string 
required
Users with e-mail addresses that match these domain(s) will NOT be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: domain.com, *.domain.com
after_sign_up_text
string 
optional
Text shown after sign up
signin_enabled
string 
optional
Flag indicating if sign in is enabled
require_two_factor_authentication
string 
optional
Require all users to setup Two-factor authentication
two_factor_grace_period
integer 
required
Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication
home_page_url
string 
optional
We will redirect non-logged in users to this page
after_sign_out_path
string 
optional
We will redirect users to this page after they sign out
sign_in_text
string 
optional
The sign in text of the GitLab application
help_page_text
string 
optional
Custom text displayed on the help page
shared_runners_enabled
string 
optional
Enable shared runners for new projects
shared_runners_text
string 
required
Shared runners text
max_artifacts_size
integer 
optional
Set the maximum file size each build's artifacts can have
container_registry_token_expire_delay
integer 
optional
Authorization token duration (minutes)
metrics_enabled
string 
optional
Enable the InfluxDB metrics
metrics_host
string 
required
The InfluxDB host
metrics_port
integer 
required
The UDP port to use for connecting to InfluxDB
metrics_pool_size
integer 
required
The amount of InfluxDB connections to open
metrics_timeout
integer 
required
The amount of seconds after which an InfluxDB connection will time out
metrics_method_call_threshold
integer 
required
A method call is only tracked when it takes longer to complete than the given amount of milliseconds.
metrics_sample_interval
integer 
required
The sampling interval in seconds
metrics_packet_size
integer 
required
The amount of points to store in a single UDP packet
sidekiq_throttling_enabled
string 
optional
Enable Sidekiq Job Throttling
sidekiq_throttling_queus
array[string]
required
Choose which queues you wish to throttle
sidekiq_throttling_factor
number 
required
The factor by which the queues should be throttled. A value between 0.0 and 1.0, exclusive.
recaptcha_enabled
string 
optional
Helps prevent bots from creating accounts
recaptcha_site_key
string 
required
Generate site key at http://www.google.com/recaptcha
recaptcha_private_key
string 
required
Generate private key at http://www.google.com/recaptcha
akismet_enabled
string 
optional
Helps prevent bots from creating issues
akismet_api_key
string 
required
Generate API key at http://www.akismet.com
admin_notification_email
string 
optional
Abuse reports will be sent to this address if it is set. Abuse reports are always available in the admin area.
sentry_enabled
string 
optional
Sentry is an error reporting and logging tool which is currently not shipped with GitLab, get it here: https://getsentry.com
sentry_dsn
string 
required
Sentry Data Source Name
repository_storage
string 
optional
Storage paths for new projects
repository_checks_enabled
string 
optional
GitLab will periodically run 'git fsck' in all project and wiki repositories to look for silent disk corruption issues.
koding_enabled
string 
optional
Enable Koding
koding_url
string 
required
The Koding team URL
plantuml_enabled
string 
optional
Enable PlantUML
plantuml_url
string 
required
The PlantUML server URL
version_check_enabled
string 
optional
Let GitLab inform you when an update is available.
email_author_in_body
string 
optional
Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead.
html_emails_enabled
string 
optional
By default GitLab sends emails in HTML and plain text formats so mail clients can choose what format to use. Disable this option if you only want to send emails in plain text format.
housekeeping_enabled
string 
optional
Enable automatic repository housekeeping (git repack, git gc)
housekeeping_bitmaps_enabled
string 
required
Creating pack file bitmaps makes housekeeping take a little longer but bitmaps should accelerate 'git clone' performance.
housekeeping_incremental_repack_period
integer 
required
Number of Git pushes after which an incremental 'git repack' is run.
housekeeping_full_repack_period
integer 
required
Number of Git pushes after which a full 'git repack' is run.
housekeeping_gc_period
integer 
required
Number of Git pushes after which 'git gc' is run.

Responses

🟢200Modify application settings
application/json
Body
Modify application settings
after_sign_out_path
string 
optional
after_sign_up_text
string 
optional
container_registry_token_expire_delay
string 
optional
created_at
string 
optional
default_branch_protection
string 
optional
default_group_visibility
string 
optional
default_project_visibility
string 
optional
default_projects_limit
string 
optional
default_snippet_visibility
string 
optional
domain_blacklist
string 
optional
domain_blacklist_enabled
string 
optional
domain_whitelist
string 
optional
gravatar_enabled
string 
optional
home_page_url
string 
optional
id
string 
optional
koding_enabled
string 
optional
koding_url
string 
optional
max_attachment_size
string 
optional
plantuml_enabled
string 
optional
plantuml_url
string 
optional
repository_storage
string 
optional
repository_storages
string 
optional
restricted_visibility_levels
string 
optional
session_expire_delay
string 
optional
sign_in_text
string 
optional
signin_enabled
string 
optional
signup_enabled
string 
optional
updated_at
string 
optional
user_oauth_applications
string 
optional
Previous
Get the current application settings
Next
Validation of .gitlab-ci.yml content
Built with