Add GitLab Identity Provider​
Add GitLab Identity Provider
application/json
application/grpc
application/grpc-web+proto
Request Body required
name GitLab will be used as default, if no name is provided
GitLab will be used as default, if no name is provided
clientId string
Client id generated by GitLab
clientSecret string
Client secret generated by GitLab
scopes string[]
The scopes requested by ZITADEL during the request to GitLab
providerOptions object
Request Body required
name GitLab will be used as default, if no name is provided
GitLab will be used as default, if no name is provided
clientId string
Client id generated by GitLab
clientSecret string
Client secret generated by GitLab
scopes string[]
The scopes requested by ZITADEL during the request to GitLab
providerOptions object
Request Body required
name GitLab will be used as default, if no name is provided
GitLab will be used as default, if no name is provided
clientId string
Client id generated by GitLab
clientSecret string
Client secret generated by GitLab
scopes string[]
The scopes requested by ZITADEL during the request to GitLab
providerOptions object
Responses
- 200
- default
A successful response.
application/json
application/grpc
application/grpc-web+proto
Schema
Example (from schema)
Schema
details object
id string
{
"details": {
"sequence": "2",
"creationDate": "2024-03-27T10:05:51.442Z",
"changeDate": "2024-03-27T10:05:51.442Z",
"resourceOwner": "69629023906488334"
},
"id": "string"
}
Schema
Example (from schema)
Schema
details object
id string
{
"details": {
"sequence": "2",
"creationDate": "2024-03-27T10:05:51.442Z",
"changeDate": "2024-03-27T10:05:51.442Z",
"resourceOwner": "69629023906488334"
},
"id": "string"
}
Schema
Example (from schema)
Schema
details object
id string
{
"details": {
"sequence": "2",
"creationDate": "2024-03-27T10:05:51.442Z",
"changeDate": "2024-03-27T10:05:51.442Z",
"resourceOwner": "69629023906488334"
},
"id": "string"
}
An unexpected error response.
application/json
application/grpc
application/grpc-web+proto
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
POST /idps/gitlab
Authorization
name: OAuth2type: oauth2scopes:openid,urn:zitadel:iam:org:project:id:zitadel:aud
flows: { "authorizationCode": { "authorizationUrl": "$CUSTOM-DOMAIN/oauth/v2/authorize", "tokenUrl": "$CUSTOM-DOMAIN/oauth/v2/token", "scopes": { "openid": "openid", "urn:zitadel:iam:org:project:id:zitadel:aud": "urn:zitadel:iam:org:project:id:zitadel:aud" } } }
Request
Request
curl / cURL
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
python / requests
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
go / native
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
nodejs / axios
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
ruby / Net::HTTP
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
csharp / RestSharp
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
php / cURL
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
java / OkHttp
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
powershell / RestMethod
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'