Skip to content

Connect a GitLab group

POST
/api/v1/scm/gitlab/connections
curl --request POST \
--url https://api.aletheia-ops.com/api/v1/scm/gitlab/connections \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "base_url": "example", "group_path": "example", "access_token": "example" }'
Media typeapplication/json

GitLab connect request

object
base_url
string
group_path
required
string
access_token
required
string
Examplegenerated
{
"base_url": "example",
"group_path": "example",
"access_token": "example"
}

Created

Media typeapplication/json

GitLab connect response: the connection plus the webhook URL + secret to configure on the GitLab group (shown once)

object
connection

Safe (secret-free) connection projection

object
id
string
provider
string
external_org_slug
string
base_url
string
status
string
last_synced_at
string format: date-time
last_error
string
created_at
string format: date-time
webhook_url
string
webhook_secret
string
Examplegenerated
{
"connection": {
"id": "example",
"provider": "example",
"external_org_slug": "example",
"base_url": "example",
"status": "example",
"last_synced_at": "2026-04-15T12:00:00Z",
"last_error": "example",
"created_at": "2026-04-15T12:00:00Z"
},
"webhook_url": "example",
"webhook_secret": "example"
}

The request is malformed or fails validation.

Media typeapplication/json
object
code
required

Stable, machine-readable identifier. Branch on this.

string
message
required

Human-readable explanation. Safe to display; do not parse.

string
Examples
{
"code": "validation_failed",
"message": "name: must not be blank"
}

No valid credential was presented, or it has expired.

Media typeapplication/json
object
code
required

Stable, machine-readable identifier. Branch on this.

string
message
required

Human-readable explanation. Safe to display; do not parse.

string
Examples
{
"code": "unauthorized",
"message": "authentication required"
}

Authenticated, but not permitted to perform this action.

Media typeapplication/json
object
code
required

Stable, machine-readable identifier. Branch on this.

string
message
required

Human-readable explanation. Safe to display; do not parse.

string
Examples
{
"code": "forbidden",
"message": "you do not have permission to perform this action"
}

The request conflicts with the current state.

Media typeapplication/json
object
code
required

Stable, machine-readable identifier. Branch on this.

string
message
required

Human-readable explanation. Safe to display; do not parse.

string
Examples
{
"code": "email_taken",
"message": "an account with this email already exists"
}

An unexpected failure. Diagnostic detail is logged server-side and deliberately not returned. Quote the X-Request-Id response header when reporting one.

Media typeapplication/json
object
code
required

Stable, machine-readable identifier. Branch on this.

string
message
required

Human-readable explanation. Safe to display; do not parse.

string
Examples
Exampleinternal_error
{
"code": "internal_error",
"message": "internal server error"
}

A dependency required for this request is not available.

Media typeapplication/json
object
code
required

Stable, machine-readable identifier. Branch on this.

string
message
required

Human-readable explanation. Safe to display; do not parse.

string
Examples
Exampleprovider_unavailable
{
"code": "provider_unavailable",
"message": "this source-control provider is not configured"
}