---
title: "Create GitLab App"
method: POST
path: "/gitlab-apps"
tags: ["GitLab Apps"]
---

# Create GitLab App

`POST /gitlab-apps`

Create a new GitLab app (OAuth source). Credentials may be supplied later via the UI or update endpoint.

## Request body

- object
  - `name` string, required — Name of the GitLab app.
  - `html_url` string, required — GitLab instance URL (e.g., https://gitlab.com).
  - `api_url` string — GitLab API URL (defaults to {html_url}/api/v4).
  - `custom_user` string — Custom user for SSH access (default: git).
  - `custom_port` integer — Custom port for SSH access (default: 22).
  - `group_name` string, nullable — Optional comma-separated group names to filter repositories.
  - `client_id` string, nullable — GitLab OAuth Application ID.
  - `client_secret` string, nullable — GitLab OAuth Application Secret.
  - `webhook_token` string, nullable — Webhook secret token (auto-generated when omitted).
  - `redirect_uri` string, nullable — OAuth redirect URI registered in GitLab.
  - `is_system_wide` boolean — Is this app system-wide (non-cloud instances only).

## Response `201`

GitLab app created successfully.

- object
  - `id` integer
  - `uuid` string
  - `name` string
  - `api_url` string
  - `html_url` string
  - `custom_user` string
  - `custom_port` integer
  - `client_id` string, nullable
  - `group_name` string, nullable
  - `redirect_uri` string, nullable
  - `is_system_wide` boolean
  - `team_id` integer

## Other responses

- `400` — Invalid token.
- `401` — Unauthenticated.
- `422` — Validation error.

---

[API](https://skmtc.net/coollabsio/apis/coolify.md) · [All operations](https://skmtc.net/coollabsio/apis/coolify/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/coollabsio/coolify/revisions/789e6ad3796c/schema)
