---
title: "List one page of the projects in a GitLab group and its subgroups that a PAT can read"
method: POST
path: "/workspaces/gitlab/projects"
tags: ["git-lab-preflight"]
---

# List one page of the projects in a GitLab group and its subgroups that a PAT can read

`POST /workspaces/gitlab/projects`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/workspaces/gitlab/projects`
- Auth: HTTP bearer

## Query parameters

- `page` integer
- `search` string

## Request body

- GitLabPreflightRequest: Request to validate a GitLab PAT or list accessible groups before workspace creation
  - `groupFullPath` string: GitLab group full path, used to validate the token against the group when /api/v4/user refuses it
  - `personalAccessToken` string, required: GitLab Personal Access Token to validate
  - `serverUrl` string: The default GitLab instance this server reads from, which is also used when omitted; any other instance is refused.

## Response `200`

One page of projects; nextPage is absent on the last page

- GitLabProjectPage: One page of the projects of a GitLab group that the provided PAT can read
  - `nextPage` integer: The page that follows this one; absent on the last page
  - `projects` GitLabProject[], required: Projects on this page, ordered by path
    - `fullPath` string, required: Full project path including its groups
    - `id` integer, required: GitLab project numeric ID
    - `name` string, required: Project display name
    - `webUrl` string: Project web URL

## Changes

- **2026-10-21** `b0e5ca0cac64`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hephaestus-build/apis/hephaestus-api/changes/workspaces/gitlab/projects/post.md)

---

[API](https://skmtc.dev/hephaestus-build/apis/hephaestus-api.md) · [All operations](https://skmtc.dev/hephaestus-build/apis/hephaestus-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hephaestus-build/apis/hephaestus-api/revisions/3592ab716973?raw)
