---
title: "Import GitLab issues"
method: POST
path: "/gitlab-integration/import-issues"
tags: ["GitLab"]
---

# Import GitLab issues

`POST /gitlab-integration/import-issues`

## Request

- Base URL: `https://cloud.kaneo.app/api`
- URL: `https://cloud.kaneo.app/api/gitlab-integration/import-issues`
- Auth: HTTP bearer

Import the linked project's open issues as tasks. Issues that already have a task are refreshed rather than duplicated. Requires task:create and task:update permissions.

## Request body

- object
  - `projectId` string, required

## Response `200`

Import summary

- GitlabImportResult
  - `imported` number, required
  - `updated` number, required: Existing tasks that were refreshed from their issue.
  - `skipped` number, required
  - `errors` string[]

## Other responses

- `400`: projectId is required
- `401`: Missing or invalid credentials
- `403`: No access to the project, or missing task:create or task:update permission
- `404`: Project not found
- `429`: The API key exceeded its rate limit or usage quota. Wait the number of seconds in Retry-After before retrying. The X-RateLimit headers are sent only when the rate limit was hit.

## Changes

- **2026-10-08** `c7b8a842601b`: 4 breaking, 5 info
  - removed the media type `text/plain` for the response with the status `400`
  - removed the media type `text/plain` for the response with the status `403`
  - removed the media type `text/plain` for the response with the status `404`
  - removed the media type `text/plain` for the response with the status `429`
  - …5 more
- **2026-10-08** `2ed51b8af657`: 4 breaking, 4 info
  - removed the media type `application/json` for the response with the status `400`
  - removed the media type `application/json` for the response with the status `401`
  - removed the media type `application/json` for the response with the status `403`
  - removed the media type `application/json` for the response with the status `404`
  - …4 more
- **2026-10-07** `df1439c724ee`: 3 breaking, 4 info
  - removed the media type `text/plain` for the response with the status `400`
  - removed the media type `text/plain` for the response with the status `403`
  - removed the media type `text/plain` for the response with the status `404`
  - added the media type `application/json` for the response with the status `400`
  - …3 more
- **2026-09-26** `cfcd17ccaa21`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usekaneo/apis/kaneo-api/changes/gitlab-integration/import-issues/post.md)

---

[API](https://skmtc.dev/usekaneo/apis/kaneo-api.md) - [All operations](https://skmtc.dev/usekaneo/apis/kaneo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/usekaneo/apis/kaneo-api/revisions/93f78789100c?raw)
