Skip to content

Methods for Administrator

These methods work only if you have administrator rights.


Description of the JSON object structure describing service settings

Field Type Description
disableLdapAuth Boolean Registration of new accounts via LDAP is available false or not true
disableSamlAuth Boolean Registration of new accounts via SAML is available false or not true
disableMailAuth Boolean Registration of new accounts via email is available false or not true
fileDownloadIsEnabled Boolean Downloading archives and files in the project is available true or not false
pullRepoFromAnonUserIsEnabled Boolean Pulling public repositories by anonymous users is available true or not false
downloadReleaseFromAnonUserIsEnabled Boolean Downloading releases by anonymous users is available true or not false
enableEmailValidation Boolean General email validation is enabled true or not false
enableDomainValidation Boolean Email domain validation is enabled true or not false
enableWhiteList Boolean Whitelist validation is enabled true or blacklist false
whiteListDomains Set (String) Array containing domains in the whitelist
blackListDomains Set (String) Array containing domains in the blacklist
userAutoConfirm Boolean New users are automatically registered with confirmed email true or not false
enableApiLimit Boolean API request limit per hour is enabled true or not false
userApiCountLimit Integer Maximum number of API requests per hour
enableCustomSshPort Boolean SSH port is shown in remote url of projects for all instances true or not false
sshPort Integer SSH port shown in remote url of projects for all instances
globalRegistryAnonymousAccess Boolean Anonymous users can view uploaded packages in the global package registry true or not false
publicRepositoryAutoPermission Boolean All users can create public projects true or not false
projectUpdateLag Integer Available frequency for updating mirror projects
sessionMaxInactiveIntervalMinutes Integer Maximum time in minutes a user can remain inactive before the session is automatically terminated
pullMirrorUpdateIntervalMinutes Integer Interval in minutes for updating PULL mirrors
pushMirrorUpdateIntervalMinutes Integer Interval in minutes for updating PUSH mirrors
projectCreatePermission Boolean Project creation is available to all users true or configured separately false
teamCreatePermission Boolean Team creation is available to all users true or configured separately false
companyCreatePermission Boolean Company creation is available to all users true or configured separately false
enableTwoFactor Boolean Two-factor authentication is available for login true or not false
enableBasicAuth Boolean Basic authentication for obtaining API token is available true or not false
defaultLoginPage String Default authentication page. Possible values: BASIC, SAML, and LDAP
enableBasicLoginPage Boolean Standard authentication page is available true or not false
enableLdapLoginPage Boolean LDAP authentication page is available true or not false
enableSamlLoginPage Boolean SAML authentication page is available true or not false
enableOidcLoginPage Boolean OIDC authentication page is available true or not false
enableReports Boolean Ability to submit complaints about projects, teams, and companies is available true or not false
lockUserAccountIfLoginAttemptsHasBeenExceeded Boolean Ability to lock account if the number of login attempts is exceeded is available true or not false
maxUserArchivedPasswords Integer Number of archived passwords
timeToLockUser Integer Lock duration after exceeding login attempts (in minutes)
timeToCountFailUserLoginAttempts Integer Time to count failed login attempts (in seconds)
archiveUserPasswordsIsEnabled Boolean Use of archived passwords is available true or not false
maxAttemptsToLoginIntoAccount Integer Maximum number of failed password attempts after which all subsequent attempts will be rejected

Methods for working with SSH keys

Add SSH key to user

POST /admin/user/{userAlias}/key/create

The request adds an SSH key to the user

Path variable Type Description
userAlias string User alias

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
publicKey string User's ssh key
title string Name for the user's ssh key
expiresAt string Key expiration date in ISO format

Example JSON object

{
    "publicKey" : "ssh-ed25519 AAAAC3NzaC1lZFHNRPTE5AAAAIDkxja/2VmTEsJDTtf3bI4XYDpb58fvKfSjy7/u8EZeI your_email@gitflic.ru",
    "title": "Key name",
    "expiresAt" : "2020-10-10"
}

Responses

STATUS 200 - SSH key added successfully:

Example response
    
        {
            "uuid":"089cdbe3-aaaa-aaaa-aaaa-b0edde8eda6d"
            "publicKey":"ssh-ed25519 AAAAC3NzaC1lZFHNRPTE5AAAAIDkxja/2VmTEsJDTtf3bI4XYDpb58fvKfSjy7/u8EZeI your_email@gitflic.ru"
            "title":"Key name"
            "expiresAt": "2020-10-10"
            "userUuid":"f1a94466-aaaa-aaaa-aaaa-744ec3bbd60c"
        }
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found.

STATUS 422 - This key is already in use.


Get list of user's SSH keys

GET /admin/user/{userAlias}/key

The request returns a list of all user's SSH keys

Path variable Type Description
userAlias string User alias

Responses

STATUS 200 - Information successfully retrieved.

Example response
    
        {
            "_embedded": {
                "userPublicSshKeyModelList": [
                    {
                        "uuid": "b9c4e55a-aaaa-aaaa-aaaa-fb8dc25d9e3f",
                        "publicKey": "ssh-ed25519 AAAAB3NzaC1yc2EAAAADAQABAAABgQDB1AxIDFJr0mBl2MTeY2TOpUz0hDz7Fm5GzU= Михаил@DESKTOP-EPMR5HD\r\n",
                        "title": "Key1",
                        "expiresAt": null,
                        "userUuid": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
                    },
                    {
                        "uuid": "05e9982b-aaaa-aaaa-aaaa-ddc9bb0ec3d7",
                        "publicKey": "ssh-ed25519 AAAAC3NzaC1lZVF1NTE5AAAAIDkxja/2VmTEsIMRtf3bI4XYDpb5f8vLfSjy7/u8EZeI your_email@gitflic.ru\r\n",
                        "title": "Key2",
                        "expiresAt": null,
                        "userUuid": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
                    }
                ]
            },
            "page": {
                "size": 10,
                "totalElements": 2,
                "totalPages": 1,
                "number": 0
            }
        }
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Get user's SSH key

GET admin/user/{userAlias}/key/{keyUuid}

The request returns information about the user's SSH key

Path variable Type Description
userAlias string User alias
keyUuid string User key ID

Responses

STATUS 200 - Information successfully retrieved.

Example response
    
        {
            "uuid":"0dee836e-aaaa-aaaa-aaaa-65318059de1f"
            "publicKey":"ssh-ed25519 AAAAC3NzaC1lZFHNRPTE5AAAAIDkxja/2VmTEsJDTtf3bI4XYDpb58fvKfSjy7/u8EZeI your_email@gitflic.ru"
            "title":"Key name"
            "expiresAt":"2020-10-10T10-10-10Z"
            "userUuid":"f1a94466-aaaa-aaaa-aaaa-744ec3bbd60c"
        }
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Delete user's SSH key

DELETE admin/user/{userAlias}/key/delete/{keyUuid}

The request deletes the user's SSH key

Path variable Type Description
userAlias string User alias
keyUuid string User key ID

Responses

STATUS 200 - Key deleted successfully.

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Methods for working with user data

Search users

GET admin/user?email={email}&username={userAlias}

The request returns a list of users found by the specified parameters. You can configure the number of objects displayed per page

Query parameter Type Description
email string Optional. User's email
userAlias string Optional. User alias

Responses

STATUS 200 - example JSON:

Example response
    
{
    "_embedded": {
        "restUserAdminModelList": [
            {
                "id": "2cd3dd9e-aaaa-aaaa-aaaa-9799ce223f67",
                "username": "adminuser",
                "email": adminuser@admin.local,
                "name": "admin",
                "surname": "user",
                "fullName": "admin user",
                "avatar": "https://gitflic.ru/upload/img/b0ea82d9-aaaa-aaaa-aaaa-d75b4da79a67.png",
                "cover": "/upload/img/f7f442e1-aaaa-aaaa-aaaa-fb963ac02506.jpg",
                "confirmed": true
            },
            {
                "id": "4fd50abd-aaaa-aaaa-aaaa-87186e8a5b67",
                "username": "us",
                "email": user@test.ru,
                "name": "Ivan",
                "surname": "Ivanov",
                "fullName": "Ivan Ivanov",
                "avatar": "https://rccw.gitflic.tech/upload/img/20b2f481-aaaa-aaaa-aaaa-ccf26df448e8.png",
                "cover": "/upload/img/ff3gv3e1-aaaa-aaaa-aaaa1-5u963ak0f506.jpg",
                "confirmed": true
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Create user

POST /user

The request returns information about the created user.

Request

Supported format: JSON

POST request body structure:

Parameter Description
email Email of the created user
password Password of the created user
alias Alias of the created user

Example JSON object

{
    "email": "email@local.ru",
    "password": "password",
    "alias": "alias"
}

Responses

STATUS 200 - example JSON:

Example response
    
{
    "id":"f3657c3c-aaaa-aaaa-aaaa-917acb676944"
    "username":"alias"
    "name":null
    "surname":null
    "fullName":null
    "avatar":"http://localhost:8080/upload/img/5c10b16d-aaaa-aaaa-aaaa-76443bc44055.png"
    "cover":null
}
    
  

STATUS 403 - No access rights.

STATUS 422 - A user with such data already exists or invalid data entered.


Change user's email

PUT /admin/user/{userAlias}/change-email

The request changes the user's email

Path variable Type Description
userAlias string User alias

Request

Supported format: JSON

POST request body structure:

Parameter Description
email New user's email

Example JSON object

{
    "email": "email@local.ru"
}

Responses

STATUS 200 - User's email changed successfully.

STATUS 403 - No access rights.

STATUS 422 - A user with such data already exists or invalid data entered.


Change user's alias

PUT /admin/user/{userAlias}/change-username

The request changes the user's alias

Path variable Type Description
userAlias string User alias

Request

Supported format: JSON

POST request body structure:

Parameter Description
username New user's alias

Example JSON object

{
    "username": "adminuser"
}

Responses

STATUS 200 - User's alias changed successfully.

STATUS 403 - No access rights.

STATUS 422 - A user with such data already exists or invalid data entered.


Change user's password

PUT /admin/user/{userAlias}/change-password

Path variable Type Description
userAlias string User alias

The request changes the user's password.

Request

Supported format: JSON

POST request body structure:

Parameter Description
password New user's password
passwordConfirm Password confirmation

Example JSON object

{
    "password": "qwerty123",
    "passwordConfirm" : "qwerty123"
}

Responses

STATUS 200 - User's password changed successfully.

STATUS 403 - No access rights.

STATUS 422 - A user with such data already exists or invalid data entered.


Methods for working with agents

Get registration info for agent at service level

GET /admin/runners/registration-info

The request returns the necessary information for registering an agent at the service level - URL and token.

Responses

STATUS 200 - Information successfully retrieved.

Example response
    
      {
        "id":"1"
        "registrationUrl":"http://localhost:8080/-/runner/registration"
        "registrationToken":"0d949a3a-aaaa-aaaa-aaaa-5fa8c3953e70"
      }
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Reset registration token for agent at service level

POST /admin/runners/reset-registration-token

The request resets the registration token for the agent at the service level.

Responses

STATUS 200 - Token reset successfully.

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Get list of agents

GET /admin/runners {#runnerAll}

The request returns a list of agents registered in the service. You can configure the number of objects displayed per page

Responses

STATUS 200 - example JSON:

Example response
    
{
    "_embedded": {
        "restPipelineRunnerModelList": [
            {
                "id": "74af2044-aaaa-aaaa-aaaa-47d0ef20639a",
                "description": "Agent description for company",
                "connectedAt": "2024-06-03T08:37:21.33104",
                "active": false,
                "name": "Gloin",
                "platform": "Linux",
                "architecture": "amd64",
                "ipAddress": "127.0.0.1",
                "tags": [
                    "4.4",
                    "4.5",
                    "4.6"
                ],
                "ownerType": "COMPANY",
                "ownerId": 4,
                "runUntagged": true,
                "locked": true,
                "maxTimeoutInSec": 100,
                "protected": true
            },
            {
                "id": "c5c48d5f-aaaa-aaaa-aaaa-01aa12228f2d",
                "description": "Agent description for project",
                "connectedAt": "2024-06-17T09:06:37.966851",
                "active": true,
                "name": "The Lord of the Eagles",
                "platform": "Linux",
                "architecture": "amd64",
                "ipAddress": "127.0.0.1",
                "tags": [
                    "3.2.1",
                    "3.2.2",
                    "3.2.3"
                ],
                "ownerType": "PROJECT",
                "ownerId": 84,
                "runUntagged": false,
                "locked": false,
                "maxTimeoutInSec": 100,
                "protected": false
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Get agent by UUID

GET /admin/runners/{runnerUuid} {#runnerUuid}

The request returns information about the agent

Path variable Type Description
runnerUuid String Agent UUID

Responses

STATUS 200 - example JSON:

Example response
    
{
    "id": "74af2044-aaaa-aaaa-aaaa-47d0ef20639a",
    "description": "Agent description",
    "connectedAt": "2024-06-03T08:37:21.33104",
    "active": true,
    "name": "Gloin",
    "platform": "Linux",
    "architecture": "amd64",
    "ipAddress": "127.0.0.1",
    "tags": [
        "4.4",
        "4.5",
        "4.6"
    ],
    "ownerType": "COMPANY",
    "ownerId": 4,
    "runUntagged": false,
    "locked": false,
    "maxTimeoutInSec": 100,
    "protected": true
}
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Get list of project agents

GET /admin/runners/project/{ownerAlias}/{projectAlias} {#runnerProjectAll}

The request returns a list of agents for the specified project. You can configure the number of objects displayed per page.

Path variable Type Description
ownerAlias String Project owner's alias
projectAlias String Project alias

Responses

STATUS 200 - example JSON:

Example response
    
{
    "_embedded": {
        "restPipelineRunnerModelList": [
            {
                "id": "c5c48d5f-aaaa-aaaa-aaaa-01aa12228f2d",
                "description": "Agent description",
                "connectedAt": "2024-06-17T09:06:37.966851",
                "active": true,
                "name": "The Lord of the Eagles",
                "platform": "Linux",
                "architecture": "amd64",
                "ipAddress": "127.0.0.1",
                "tags": [
                    "3.2.1",
                    "3.2.2",
                    "3.2.3"
                ],
                "ownerType": "PROJECT",
                "ownerId": 84,
                "runUntagged": false,
                "locked": false,
                "maxTimeoutInSec": 100,
                "protected": true
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 1,
        "totalPages": 1,
        "number": 0
    }
}
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Get list of company agents

GET /admin/runners/company/{companyAlias} {#runnerCompanyAll}

The request returns a list of agents for the specified company. You can configure the number of objects displayed per page.

Path variable Type Description
companyAlias String Company alias

Responses

STATUS 200 - example JSON:

Example response
    
{
    "_embedded": {
        "restPipelineRunnerModelList": [
            {
                "id": "74af2044-aaaa-aaaa-aaaa-47d0ef20639a",
                "description": "Agent description",
                "connectedAt": "2024-06-03T08:37:21.33104",
                "active": true,
                "name": "Gloin",
                "platform": "Linux",
                "architecture": "amd64",
                "ipAddress": "127.0.0.1",
                "tags": [
                    "4.4",
                    "4.5",
                    "4.6"
                ],
                "ownerType": "COMPANY",
                "ownerId": 4,
                "runUntagged": false,
                "locked": false,
                "maxTimeoutInSec": 100,
                "protected": true
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 1,
        "totalPages": 1,
        "number": 0
    }
}
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Get jobs of all service agents

GET /admin/runners/all/jobs?jobStatus {#runnerJob}

The request returns information about jobs executed by all agents registered at the service level.

Responses

STATUS 200 - example JSON:

Example response
    
{
    "_embedded": {
        "restPipelineJobModelList": [
            {
                "id": "c0f4ce7a-aaaa-aaaa-aaaa-f75d22415acc",
                "localId": 2,
                "finishedAt": "2024-06-21T11:38:15.229604Z",
                "startedAt": null,
                "name": "job 1",
                "stageName": "test",
                "tag": false,
                "ref": "master",
                "erasedAt": null,
                "artifactsExpireAt": null,
                "status": "SUCCESS",
                "pipelineLocalId": 2
            },
            {
                "id": "9bd6e1c7-aaaa-aaaa-aaaa-384e89f5e770",
                "localId": 205,
                "finishedAt": "2024-06-21T11:38:35.449307Z",
                "startedAt": null,
                "name": "job 2",
                "stageName": "build",
                "tag": false,
                "ref": "master",
                "erasedAt": null,
                "artifactsExpireAt": null,
                "status": "SUCCESS",
                "pipelineLocalId": 36
            }
        ]
    },
    "page": {
        "size": 2,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Get jobs of a service agent by UUID

GET /admin/runners/{runnerUuid}/jobs?jobStatus {#runnerJobUuid}

The request returns information about jobs executed by the agent with the specified UUID, registered at the service level.

Path variable Type Description
runnerUuid String Agent UUID

Responses

STATUS 200 - example JSON:

Example response
    
{
    "_embedded": {
        "restPipelineJobModelList": [
            {
                "id": "c0f4ce7a-aaaa-aaaa-aaaa-f75d22415acc",
                "localId": 2,
                "finishedAt": "2024-06-21T11:38:15.229604Z",
                "startedAt": null,
                "name": "job 1",
                "stageName": "test",
                "tag": false,
                "ref": "master",
                "erasedAt": null,
                "artifactsExpireAt": null,
                "status": "SUCCESS",
                "pipelineLocalId": 2
            },
            {
                "id": "9bd6e1c7-aaaa-aaaa-aaaa-384e89f5e770",
                "localId": 205,
                "finishedAt": "2024-06-21T11:38:35.449307Z",
                "startedAt": null,
                "name": "job 2",
                "stageName": "build",
                "tag": false,
                "ref": "master",
                "erasedAt": null,
                "artifactsExpireAt": null,
                "status": "SUCCESS",
                "pipelineLocalId": 36
            }
        ]
    },
    "page": {
        "size": 2,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Shutdown agent by UUID

POST /admin/runners/{runnerUuid}/shutdown {#runnerShutdownUuid}

The request shuts down the agent with the specified UUID.

Path variable Type Description
runnerUuid String Agent UUID

Responses

STATUS 200 - Agent shut down.

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Edit company agent

POST /admin/runners/{runnerUuid}/edit {#runnerEdit}

The request edits the agent with the specified UUID and returns its information.

Path variable Type Description
runnerUuid String Agent UUID

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
name String Agent name
description String Agent description
isActive Boolean Agent is active true or not false
maxTimeoutInSec Integer Maximum job timeout in seconds
tags Object Object containing a list of tags. The agent will only work for the specified tags
runUntagged Boolean Can this agent pick up untagged jobs true or not false
isLocked Boolean Agent is locked true or not false. A locked agent cannot be attached to other projects
isProtected Boolean Agent works only on protected branches true or not false

Example JSON object

{
    "name": "Gloin",
    "description": "Agent description",
    "isActive": true,
    "maxTimeoutInSec": 100,
    "ipAddress": "127.0.0.1",
    "tags": ["4.4","4.5", "4.6"],
    "runUntagged": false,
    "isLocked": false,
    "isProtected": true
}

Responses

STATUS 200 - example JSON:

Example response
    
{
    "id": "74af2044-aaaa-aaaa-aaaa-47d0ef20639a",
    "description": "Agent description",
    "connectedAt": "2024-06-03T08:37:21.33104",
    "active": true,
    "name": "Gloin",
    "platform": "Linux",
    "architecture": "amd64",
    "ipAddress": "127.0.0.1",
    "tags": [
        "4.4",
        "4.5",
        "4.6"
    ],
    "ownerType": "COMPANY",
    "ownerId": 4,
    "runUntagged": false,
    "locked": false,
    "maxTimeoutInSec": 100,
    "protected": true
}
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Delete agent

DELETE /admin/runners/{runnerUuid} {#runnerDeleteUuid}

The request deletes the agent with the specified UUID.

Path variable Type Description
runnerUuid String Agent UUID

Responses

STATUS 204 - Agent deleted.

STATUS 403 - No access rights.

STATUS 404 - Data not found.


Methods for working with service settings

All methods in this section return a JSON object describing the service settings.

Get service settings

GET /admin/settings

The request returns an object with all service settings.

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change registration availability in the service

POST /admin/settings/registration

The request changes the ability to register new accounts via LDAP, SAML, or email.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
disableLdapAuth Boolean Registration via LDAP is available (false) or disabled (true)
disableSamlAuth Boolean Registration via SAML is available (false) or disabled (true)
disableMailAuth Boolean Registration via email is available (false) or disabled (true)

Example JSON object

{
    "disableLdapAuth" : "false",
    "disableSamlAuth" : "false",
    "disableMailAuth" : "false"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change availability of downloading archives and files in the project

POST /admin/settings/download

The request changes the availability of downloading archives and files in the project for all users.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
fileDownload Boolean Downloading archives and files is available (true) or not (false)

Example JSON object

{
    "fileDownload" : "true"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change availability of pulling public repositories by anonymous users

POST /admin/settings/pull

The request changes the availability of pulling public repositories by anonymous users.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
pullRepoFromAnonUser Boolean Pulling public repositories by anonymous users is available (true) or not (false)

Example JSON object

{
    "pullRepoFromAnonUser" : "true"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change the availability of release file downloads for anonymous users

POST /admin/settings/download-release

This request changes the availability of downloading release files for anonymous users.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
downloadFromAnonUserEnable Boolean Whether anonymous users can download release files (true) or not (false)

Example JSON object

{
    "downloadFromAnonUserEnable" : "false"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change the ability for new users to be automatically registered with a confirmed email

POST /admin/settings/auto-confirm

This request changes the ability to register with a confirmed email.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
autoConfirm Boolean New users are automatically registered with a confirmed email (true) or not (false)

Example JSON object

{
    "autoConfirm" : "false"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change email validation

POST /admin/settings/email-validation

This request enables or disables general email validation—by top-level domain and mailbox name.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
enableEmailValidation Boolean General email validation is enabled (true) or disabled (false)

Example JSON object

{
    "enableEmailValidation" : "true"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change email domain validation settings

POST /admin/settings/domain-validation

This request changes the email domain validation settings.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
enableDomainValidation Boolean Whether email domain validation is enabled (true) or not (false)
enableWhiteList Boolean Whether whitelist validation is enabled (true) or blacklist (false)
blackListDomains Set (String) Array containing domains to be added to the blacklist
whiteListDomains Set (String) Array containing domains to be added to the whitelist

The contents of blackListDomains and whiteListDomains overwrite all previously saved domains.

Example JSON object

{
    "enableDomainValidation" : "false",
    "enableWhiteList" : "true",
    "blackListDomains" : [""],
    "whiteListDomains" : ["local.ru"]
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change the API request limit per hour

POST /admin/settings/api-limit

This request changes the API request limit per hour.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
disableApiLimit Boolean Whether the API request limit is enabled (false) or not (true)
userApiCountLimit Long Number of API requests allowed per hour

Example JSON object

{
    "disableApiLimit" : "true",
    "userApiCountLimit" : "400"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change SSH port in remote URL for all instances

POST /admin/settings/ssh-port

This request enables or disables displaying the SSH port in the remote URL for all project instances. You can also specify the SSH port number.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
enableCustomSshPort Boolean Whether the SSH port is shown in the remote URL (true) or not (false)
sshPort Integer SSH port number. Can be provided if enableCustomSshPort is set to true

Example JSON object

{
    "enableCustomSshPort" : "true",
    "sshPort" : "1122"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change the ability for anonymous users to view uploaded packages in the global package registry

POST /admin/settings/anonymous-global-registry-access

This request changes the ability for anonymous users to view uploaded packages in the global package registry.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
anonymousGlobalRegistryAccess Boolean Whether anonymous users can view packages in the global registry (true) or not (false)

Example JSON object

{
    "anonymousGlobalRegistryAccess" : "false"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change the ability for all users to create public projects

This request changes the ability for all users to create public projects.

POST /admin/settings/public-repository-auto-permission

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
enabled Boolean Whether all users can create public projects (true) or not (false)

Example JSON object

{
    "enabled" : "true"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change the frequency of mirror project updates by user

POST /admin/settings/mirror-update-lag

This request changes how often a user can update a mirror project. The time is specified in minutes.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
projectUpdateLag Integer Time interval in minutes during which a user can update a mirror project only once

Example JSON object

{
    "projectUpdateLag" : "60"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change session duration

POST /admin/settings/session-max-inactive-interval

This request changes the maximum time in minutes a user can remain inactive before the session is automatically terminated.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
sessionMaxInactiveIntervalMinutes Integer Maximum session time in minutes

Example JSON object

{
    "sessionMaxInactiveIntervalMinutes" : "60"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change mirror update interval

POST /admin/settings/mirror-update-interval

This request changes the update interval for PUSH and PULL mirrors.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
pushMirrorUpdateIntervalMinutes Integer PUSH mirror update interval in minutes
pullMirrorUpdateIntervalMinutes Integer PULL mirror update interval in minutes

Example JSON object

{
    "pushMirrorUpdateIntervalMinutes": 30,
    "pullMirrorUpdateIntervalMinutes": 30
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change the ability to create projects, companies, and teams

POST /admin/settings/create-permissions

This request changes the ability for all users to create projects, companies, or teams in the service.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
enableCreateProject Boolean Whether project creation is available (true/false)
enableCreateTeam Boolean Whether team creation is available (true/false)
enableCreateCompany Boolean Whether company creation is available (true/false)

Example JSON object

{
    "enableCreateProject" : "true",
    "enableCreateTeam" : "true",
    "enableCreateCompany" : "true"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change the ability to enable two-factor authentication

POST rest-api/admin/settings/2factor

This request changes the ability to enable two-factor authentication for account login.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
enableTwoFactor Boolean Whether two-factor authentication for account login is available (true) or not (false)

Example JSON object

{
    "enableTwoFactor" : "true"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change the ability to enable basic authentication for obtaining API token

POST rest-api/admin/settings/basic-auth

This request changes the ability to enable basic authentication for obtaining an API token.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
enableBasicAuth Boolean Whether basic authentication for obtaining an API token is available (true) or not (false)

Example JSON object

{
    "enableBasicAuth" : "true"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change default login page

POST /admin/settings/login-page

This request changes the set of available entry points and sets the default authentication page.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
loginPageUrl String Default authentication page. Accepts: BASIC, SAML, LDAP, OIDC
isEnableBasic Boolean Whether the standard authentication page is available (true) or not (false)
isEnableLdap Boolean Whether the LDAP authentication page is available (true) or not (false)
isEnableSaml Boolean Whether the SAML authentication page is available (true) or not (false)
isEnableOidc Boolean Whether the OIDC authentication page is available (true) or not (false)

Example JSON object

{
    "loginPageUrl" : "OIDC",
    "isEnableBasic" : "true",
    "isEnableLdap" : "false",
    "isEnableSaml" : "false",
    "isEnableOIDC" : "true"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change the ability to submit complaints

POST rest-api/admin/settings/project-report

This request changes the ability to submit complaints about projects, teams, or companies.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
enableReport Boolean Whether submitting complaints is available (true/false)

Example JSON object

{
    "enableReport" : "true"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change the ability to lock account after exceeding login attempts

POST /admin/settings/lock-account

This request changes the settings for locking an account after exceeding the allowed number of login attempts.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
lockUser Boolean Whether the number of login attempts is limited (true) or not (false)
maxAttempts Integer Maximum number of failed password attempts after which all subsequent attempts will be rejected
timeToLockUser Integer Lock duration after exceeding login attempts (in minutes)
timeToCountFailUserLoginAttempts Integer Time to count failed login attempts (in seconds)

Example JSON object

{
    "lockUser" : "false",
    "maxAttempts" : "6",
    "timeToLockUser" : "30",
    "timeToCountFailUserLoginAttempts" : "10"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.


Change the ability to use archived passwords when changing password

POST /admin/settings/archive-password

This request changes the ability to use archived passwords.

Request

Supported format: JSON

POST request body structure:

Parameter Type Description
enableArchiveUserPasswords Boolean Whether using archived passwords is forbidden (true) or not (false)
maxUserArchivedPasswords Integer Number of archived passwords

Example JSON object

{
    "enableArchiveUserPasswords" : "true",
    "maxUserArchivedPasswords" : "4"
}

Responses

STATUS 200 example JSON:

Example JSON body
    
{
    "disableLdapAuth": false,
    "disableSamlAuth": false,
    "disableMailAuth": false,
    "fileDownloadIsEnabled": true,
    "pullRepoFromAnonUserIsEnabled": true,
    "downloadReleaseFromAnonUserIsEnabled": false,
    "enableEmailValidation": true,
    "enableDomainValidation": false,
    "enableWhiteList": true,
    "whiteListDomains": [
        "local.ru"
    ],
    "blackListDomains": [],
    "userAutoConfirm": false,
    "enableApiLimit": false,
    "userApiCountLimit": 400,
    "enableCustomSshPort": true,
    "sshPort": 1121,
    "globalRegistryAnonymousAccess": false,
    "publicRepositoryAutoPermission": false,
    "projectUpdateLag": 60,
    "sessionMaxInactiveIntervalMinutes": 60,
    "pullMirrorUpdateIntervalMinutes": 30,
    "pushMirrorUpdateIntervalMinutes": 30,
    "projectCreatePermission": true,
    "teamCreatePermission": true,
    "companyCreatePermission": true,
    "enableTwoFactor": true,
    "enableBasicAuth": true,
    "defaultLoginPage": "OIDC",
    "enableBasicLoginPage": true,
    "enableLdapLoginPage": false,
    "enableSamlLoginPage": false,
    "enableOidcLoginPage": true,
    "enableReports": true,
    "lockUserAccountIfLoginAttemptsHasBeenExceeded": false,
    "maxUserArchivedPasswords": 4,
    "timeToLockUser": 30,
    "timeToCountFailUserLoginAttempts": 10,
    "archiveUserPasswordsIsEnabled": true,
    "maxAttemptsToLoginIntoAccount": 6
}
    
  

STATUS 403 - No access rights.

Automated translation!

This page was translated using automatic translation tools. The text may contain inaccuracies.