Skip to content

Methods for Administrator

These methods work only with 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 project archives and files is available (true) or not (false)
pullRepoFromAnonUserIsEnabled Boolean Pulling public repositories by an anonymous user 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 validation by domain is enabled (true) or not (false)
enableWhiteList Boolean Validation by whitelist is enabled (true) or by 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 a confirmed email (true) or not (false)
enableApiLimit Boolean Limit on the number of API requests per hour is enabled (true) or not (false)
userApiCountLimit Integer Maximum number of API requests per hour
enableCustomSshPort Boolean SSH port is displayed in the project remote URL for all instances (true) or not (false)
sshPort Integer SSH port displayed in the project remote URL for all instances
globalRegistryAnonymousAccess Boolean Anonymous users can view packages uploaded to the global package registry (true) or not (false)
publicRepositoryAutoPermission Boolean All users can create public projects (true) or not (false)
projectUpdateLag Integer Allowed update frequency for 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 an 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 The ability to report projects, teams, and companies is available (true) or not (false)
lockUserAccountIfLoginAttemptsHasBeenExceeded Boolean The ability to lock account login if the number of login attempts has been exceeded is available (true) or not (false)
maxUserArchivedPasswords Integer Number of archived passwords
timeToLockUser Integer Lockout duration after exceeding login attempts (in minutes)
timeToCountFailUserLoginAttempts Integer Time to count the number of 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

Adding an SSH key to a 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 JSON format

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 successfully added:

Response example
    
        {
            "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 for the request.

STATUS 422 - This key is already in use.


Getting a 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.

Response example
    
        {
            "_embedded": {
                "userPublicSshKeyModelList": [
                    {
                        "uuid": "b9c4e55a-aaaa-aaaa-aaaa-fb8dc25d9e3f",
                        "publicKey": "ssh-ed25519 AAAAB3NzaC1yc2EAAAADAQABAAABgQDB1AxIDFJr0mBl2MTeY2TOpUz0hDz7Fm5GzU= Mikhail@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 for the request.


Getting a 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.

Response example
    
        {
            "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 for the request.


Deleting a 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 successfully deleted.

STATUS 403 - No access rights.

STATUS 404 - Data not found for the request.


Methods for working with user data

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

The request returns a list of users found by the specified parameters, with the ability to configure the number of objects displayed per page

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

Responses

STATUS 200 - example JSON:

Response example
    
{
    "_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 for the request.


Creating a user

POST /user

The request returns information about the created user.

Request

Supported JSON format

POST request body structure:

Parameter Description
email E-mail of the user being created
password Password of the user being created
alias Alias of the user being created

Example JSON object

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

Responses

STATUS 200 - example JSON:

Response example
    
{
    "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 - User with such data already exists or invalid data entered.


Changing 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 JSON format

POST request body structure:

Parameter Description
email User's new e-mail

Example JSON object

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

Responses

STATUS 200 - User email successfully changed.

STATUS 403 - No access rights.

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


Changing 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 User's new alias

Example JSON object

{
    "username": "adminuser"
}

Responses

STATUS 200 - User alias successfully changed.

STATUS 403 - No access rights.

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


Changing 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 User's new password
passwordConfirm Password confirmation

Example JSON object

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

Responses

STATUS 200 - User password successfully changed.

STATUS 403 - No access rights.

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


Methods for working with agents

Getting registration information for an agent at the 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.

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

STATUS 403 - No access rights.

STATUS 404 - Data not found for the request.


Resetting the token for registering an agent at the service level

POST /admin/runners/reset-registration-token

The request resets the token for registering an agent at the service level.

Responses

STATUS 200 - Token successfully reset.

STATUS 403 - No access rights.

STATUS 404 - Data not found for the request.


Getting a list of agents

GET /admin/runners {#runnerAll}

The request returns a list of agents registered in the service, with the ability to configure the number of objects displayed per page

Responses

STATUS 200 - example JSON:

Response example
    
{
    "_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 for the request.


Getting an agent by its 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:

Response example
    
{
    "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 for the request.


Getting a list of project agents

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

The request returns a list of agents for the specified project, with the ability to configure the number of objects displayed per page

Path Variable Type Description
ownerAlias String Project owner alias
projectAlias String Project alias

Responses

STATUS 200 - example JSON:

Response example
    
{
    "_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 for the request.


Getting a list of company agents

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

The request returns a list of agents for the specified company, with the ability to configure the number of objects displayed per page

Path Variable Type Description
companyAlias String Company alias

Responses

STATUS 200 - example JSON:

Response example
    
{
    "_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 for the request.


Getting tasks of all service agents

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

The request returns information about tasks performed by all agents registered at the entire service level

Responses

STATUS 200 - example JSON:

Response example
    
{
    "_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 for the request.


Getting tasks of a service agent with the specified UUID

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

The request returns information about tasks performed by the agent with the specified UUID, registered at the entire service level

Path Variable Type Description
runnerUuid String Agent UUID

Responses

STATUS 200 - example JSON:

Response example
    
{
    "_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 for the request.


Method to shut down an agent by its 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 for the request.


Editing a company agent

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

The request edits the agent with the specified UUID and returns information about it

Path Variable Type Description
runnerUuid String Agent UUID

Request

Supported JSON format

POST request body structure:

Parameters Type Description
name String Agent name
description String Agent description
isActive Boolean Active agent (true) or not (false)
maxTimeoutInSec Integer Maximum job wait time in seconds
tags Object Object containing a list of tags. The agent will only work for the specified tags
runUntagged Boolean Whether this agent can pick up jobs without tags (true) or not (false)
isLocked Boolean Agent is locked (true) or not (false). A locked agent cannot be assigned to other projects
isProtected Boolean Agent runs 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:

Response example
    
{
    "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 for the request.


Deleting an 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 for the request.


Methods for working with service settings

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

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


Changing registration availability in the service

POST /admin/settings/registration

The request changes the possibility of registering new accounts via LDAP, SAML, or email.

Request

Supported JSON format

POST request body structure:

Parameter Type Description
disableLdapAuth Boolean Whether registration of new accounts via LDAP is available (false) or disabled (true)
disableSamlAuth Boolean Whether registration of new accounts via SAML is available (false) or disabled (true)
disableOidcAuth Boolean Whether registration of new accounts via OIDC is available (false) or disabled (true)
disableMailAuth Boolean Whether registration of new accounts via email is available (false) or disabled (true)

Example JSON object

{
    "disableLdapAuth" : "false",
    "disableSamlAuth" : "false",
    "disableOidcAuth" : "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.


Changing the availability of downloading archives and files in a project

POST /admin/settings/download

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

Request

Supported JSON format

POST request body structure:

Parameter Type Description
fileDownload Boolean Whether downloading project 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.


Changing the 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 JSON format

POST request body structure:

Parameter Type Description
pullRepoFromAnonUser Boolean Whether 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.


Changing the availability of downloading release files by anonymous users

POST /admin/settings/download-release

The request changes the availability of downloading release files by anonymous users.

Request

Supported JSON format

POST request body structure:

Parameter Type Description
downloadFromAnonUserEnable Boolean Whether downloading release files by anonymous users is available (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.


Changing the ability for new users to automatically register with a confirmed email

POST /admin/settings/auto-confirm

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

Request

Supported JSON format

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.


Changing email validation

POST /admin/settings/email-validation

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

Request

Supported JSON format

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.


Changing email validation by domain

POST /admin/settings/domain-validation

The request changes the settings for email validation by domain.

Request

Supported JSON format

POST request body structure:

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

The content of the blackListDomains and whiteListDomains parameters overwrites 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.


Changing the limit on the number of API requests per hour

POST /admin/settings/api-limit

The request changes the limit on the number of API requests per hour.

Request

Supported JSON format

POST request body structure:

Parameter Type Description
disableApiLimit Boolean Whether the limit on the number of requests is available (false) or not (true)
userApiCountLimit Long Number of API requests that can be sent 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.


Changing the SSH port in the project remote URL for all instances

POST /admin/settings/ssh-port

The request enables or disables the display of the SSH port in the project clone URL via SSH for all instances. Additionally, the request can specify the displayed SSH port number.

Request

Supported JSON format

POST request body structure:

Parameter Type Description
enableCustomSshPort Boolean SSH port is displayed in the project remote URL (true) or not (false)
sshPort Integer SSH port number. This parameter can be passed if the enableCustomSshPort parameter 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.


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

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

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

Request

Supported JSON format

POST request body structure:

Parameter Type Description
anonymousGlobalRegistryAccess Boolean Whether viewing packages in the global registry is available to anonymous users (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.


Changing the ability for all users to create public projects

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

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

Request

Supported JSON format

POST request body structure:

Parameter Type Description
enabled Boolean 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.


Changing the update frequency of a mirror project by a user

POST /admin/settings/mirror-update-lag

The request changes the frequency of updating a mirror project by a user. The time is specified in minutes.

Request

Supported JSON format

POST request body structure:

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

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.


Changing session duration

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

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

Request

Supported JSON format

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.


Changing the mirror update interval

POST /admin/settings/mirror-update-interval

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

Request

Supported JSON format

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.


Changing the ability to create projects, companies, and teams

POST /admin/settings/create-permissions

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

Request

Supported JSON format

POST request body structure:

Parameter Type Description
enableCreateProject Boolean Whether project creation is available (true) or not (false)
enableCreateTeam Boolean Whether team creation is available (true) or not (false)
enableCreateCompany Boolean Whether company creation is available (true) or not (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.


Changing the ability to enable two-factor authentication

POST rest-api/admin/settings/2factor

The request changes the ability to enable two-factor authentication for logging into an account.

Request

Supported JSON format

POST request body structure:

Parameter Type Description
enableTwoFactor Boolean Whether using two-factor authentication for logging into an account 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.


Changing the ability to enable basic authentication for obtaining an API token

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

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

Request

Supported JSON format

POST request body structure:

Parameter Type Description
enableBasicAuth Boolean Whether using 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.


Changing the default authorization page

POST /admin/settings/login-page

The request changes the set of possible entry points and also sets the default authentication page.

Request

Supported JSON format

POST request body structure:

Parameter Type Description
loginPageUrl String Default authentication page. Accepts the following values: BASIC, SAML, LDAP and 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.


Changing the ability to submit reports

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

The request changes the ability to submit reports on projects, teams, or companies.

Request

Supported JSON format

POST request body structure:

Parameter Type Description
enableReport Boolean Whether the ability to submit reports is available (true) or not (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.


Changing the ability to lock account login if the number of login attempts has been exceeded

POST /admin/settings/lock-account

The request changes the settings for the rule to lock account login if the number of login attempts has been exceeded.

Request

Supported JSON format

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 Lockout duration after exceeding login attempts (in minutes)
timeToCountFailUserLoginAttempts Integer Time to count the number of 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.


Changing the ability to use an archived password when changing it

POST /admin/settings/archive-password

The request changes the ability to use an archived password.

Request

Supported JSON format

POST request body structure:

Parameter Type Description
enableArchiveUserPasswords Boolean Whether using archived passwords is prohibited (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.


Methods for working with SAML connections

The described methods allow working with SAML SSO connections via REST-API

Description of the JSON object structure describing a SAML connection

Field Type Description
uuid String SAML connection UUID
name String Display name of the SAML connection
idpMetadataUrl String Url for retrieving SAML xml metadata of the identity provider (IDP metadata)
idpIssuer String Unique, immutable issuerId of the identity provider (IDP issuerId)
cert String x509 certificate of the identity provider (IDP certificate)
idpInitiatedSsoUrl String URL for logging in via the identity provider from the GitFlic authorization page

Method for getting SAML connections

GET /admin/saml

The request returns a list of SAML connections, with the ability to configure the number of objects displayed per page

Responses

STATUS 200 example JSON:

Response example
    
{
    "_embedded": {
        "samlAdminApiModelList": [
            {
                "uuid": "ebe95df1-aaaa-aaaa-aaaa-1419e9eae965",
                "name": "Keycloack",
                "idpMetadataUrl": "https://example.com",
                "idpIssuer": "login-app",
                "cert": "cert-cert-cert-cert-cert=",
                "idpInitiatedSsoUrl": "https://example.com"
            },
            {
                "uuid": "136d6402-aaaa-aaaa-aaaa-5afacc9ced10",
                "name": "Gitflic",
                "idpMetadataUrl": "https://example.com",
                "idpIssuer": "Gitflic",
                "cert": "cert-cert-cert-cert-cert",
                "idpInitiatedSsoUrl": "https://example.com"
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 2,
        "totalPages": 1,
        "number": 0
    }
}
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found for the request.


Method for creating a SAML connection

POST /admin/saml

The request creates a SAML connection and returns information about it.

Request

Supported JSON format

POST request body structure:

JSON Variable Type Description
name String Display name of the SAML connection
idpMetadataUrl String Url for retrieving SAML xml metadata of the identity provider (IDP metadata)
idpIssuer String Unique, immutable issuerId of the identity provider (IDP issuerId)
idpInitiatedSsoUrl String URL for logging in via the identity provider from the GitFlic authorization page
cert String x509 certificate of the identity provider (IDP certificate)

Example JSON object

{
    "name":"SAML connection",
    "idpMetadataUrl":"https://example.com",
    "idpIssuer":"Gitflic",
    "idpInitiatedSsoUrl": "https://example.com",
    "cert": "MIIFdzCCA14gaaaaaaaaaaaa1PgmIrUvdp7o"
}

Responses

STATUS 200 example JSON:

Response example
    
{
    "uuid": "136d6402-aaaa-aaaa-aaaa-5afacc9ced10",
    "name": "SAML connection",
    "idpMetadataUrl": "https://example.com",
    "idpIssuer": "Gitflic",
    "cert": "MIIFdzCCA14gaaaaaaaaaaaa1PgmIrUvdp7o",
    "idpInitiatedSsoUrl": "https://example.com"
}
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found for the request.


Method for editing an existing SAML connection

PUT /admin/saml/{samlUuid}

The request edits an existing SAML connection and returns information about it.

Path Variable Type Description
samlUuid String SAML connection UUID

Request

Supported JSON format

PUT request body structure:

JSON Variable Type Description
name String Display name of the SAML connection
idpMetadataUrl String Url for retrieving SAML xml metadata of the identity provider (IDP metadata)
idpIssuer String Unique, immutable issuerId of the identity provider (IDP issuerId)
idpInitiatedSsoUrl String URL for logging in via the identity provider from the GitFlic authorization page
cert String x509 certificate of the identity provider (IDP certificate)

Example JSON object

{
    "name":"SAML connection",
    "idpMetadataUrl":"https://example.com",
    "idpIssuer":"Gitflic",
    "idpInitiatedSsoUrl": "https://example.com",
    "cert": "MIIFdzCCA14gaaaaaaaaaaaa1PgmIrUvdp7o"
}

Responses

STATUS 200 example JSON:

Response example
    
{
    "uuid": "136d6402-aaaa-aaaa-aaaa-5afacc9ced10",
    "name": "SAML connection",
    "idpMetadataUrl": "https://example.com",
    "idpIssuer": "Gitflic",
    "cert": "MIIFdzCCA14gaaaaaaaaaaaa1PgmIrUvdp7o",
    "idpInitiatedSsoUrl": "https://example.com"
}
    
  

STATUS 403 - No access rights.

STATUS 404 - Data not found for the request.


Method for enabling or disabling a SAML connection

PUT /admin/saml/{samlUuid}change-status/?isEnabled={samlStatus}

The request enables or disables a SAML connection

Path Variable Type Description
samlUuid String SAML connection UUID
samlStatus Boolean SAML connection enabled (true) or disabled (false)

Responses

STATUS 200 - SAML connection status successfully changed.

STATUS 403 - No access rights.

STATUS 404 - Data not found for the request.

Automatic Translation!

This page has been translated by automatic means. The text may contain inaccuracies.