---
title: "List projects in an import source"
method: POST
path: "/import/projects"
tags: ["Import"]
---

# List projects in an import source

`POST /import/projects`

## Request

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

Sign in to PLANKA, Plane, Linear, Jira, Trello or another Kaneo instance and list the projects that can be imported. The credentials are used only for this request; they are never stored, logged, or returned.

## Request body

- object
  - `workspaceId` string, required
  - `connection` union, required: Where to import from and how to sign in. Credentials are used only for this request and the import it starts; they are never stored, logged, or returned.
    - PlankaImportConnection
      - `source` 'planka', required
      - `url` string, required: Address of the PLANKA instance.
      - `apiKey` string: A PLANKA API key. Send it, or username and password. Used only for this import and never stored or logged.
      - `username` string: Username or email of a PLANKA account, used with password when no API key is sent.
      - `password` string: Password of that PLANKA account. Used only for this import and never stored or logged.
    - PlaneImportConnection
      - `source` 'plane', required
      - `url` string, required: Address of the Plane instance, e.g. https://app.plane.so for Plane Cloud.
      - `apiKey` string, required: A Plane personal access token. Used only for this import and never stored or logged.
      - `workspaceSlug` string: Slug of the Plane workspace to read. Optional when the URL already names it.
    - LinearImportConnection
      - `source` 'linear', required
      - `apiKey` string, required: A Linear personal API key. Used only for this import and never stored or logged.
    - JiraImportConnection
      - `source` 'jira', required
      - `url` string, required: Address of the Jira site, e.g. https://your-site.atlassian.net for Jira Cloud, or your own domain for Jira Data Center.
      - `email` string: Email of the Atlassian account the API token belongs to. Required for Jira Cloud; leave it out for Jira Data Center.
      - `apiToken` string, required: A Jira Cloud API token, sent with email, or a Jira Data Center personal access token, sent without email. Used only for this import and never stored or logged.
    - TrelloImportConnection
      - `source` 'trello', required
      - `token` string, required: A Trello token authorized for this Kaneo instance. Used only for this import and never stored or logged.
      - `apiKey` string: Trello API key, a public app identifier. Defaults to the server's TRELLO_API_KEY.
    - KaneoImportConnection
      - `source` 'kaneo', required
      - `url` string, required: Address of the Kaneo instance to import from.
      - `apiKey` string, required: An API key from that Kaneo instance. Used only for this import and never stored or logged.

## Response `200`

Projects available in the source

- ImportSourceProjectList
  - `projects` ImportSourceProject[], required
    - `id` string, required
    - `name` string, required
    - `detail` string: Extra context shown next to the name, such as the source workspace or team.

## Other responses

- `400`: Invalid body, credentials the source rejected, or a destination this server may not reach
- `401`: Missing or invalid credentials
- `402`: Workspace plan has expired
- `403`: Missing workspace:manage_settings or project:create permission
- `404`: Workspace 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.
- `502`: The source could not be reached or answered with an error

## Changes

- **2026-10-11** `269feaac2cc4`: 1 info
  - endpoint added
- **2026-10-11** `4cb086e51a1a`: 1 breaking
  - api path removed without deprecation
- **2026-10-11** `f701bf7cf2d9`: 2 info
  - added `jira` discriminator mapping keys to the `connection` request property
  - added `#/components/schemas/JiraImportConnection` to the `connection` request property `oneOf` list
- **2026-10-11** `ec2dabb1d0cc`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usekaneo/apis/kaneo-api/changes/import/projects/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/741a49dfb347?raw)
