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
andwhiteListDomains
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.