---
title: "Search Projects"
method: GET
path: "/api/v1/projects/search"
tags: ["Projects"]
---

# Search Projects

`GET /api/v1/projects/search`

Search active user projects by name.

This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination.

## Query parameters

- `query` string, required — Search query to match project names. Matching is case-insensitive. Queries are matched literally unless `*` (wildcard) is included. Use `\*` for literal asterisk and `\\` for literal backslash.
- `cursor` string, nullable — An opaque string used as the cursor for pagination. Must be used with the same parameters from the previous request
- `limit` integer — The number of objects to return in a page

## Response `200`

Successful Response

- PaginatedListAnyProjectSyncViewResponse
  - `results` AnyProjectSyncViewResponse[], required — Objects in the current page of results.
    - union — Can be either a personal or a workspace project.
      - PersonalProjectSyncView — A representation of a Personal Project Sync View, extending the base ProjectSync View, to be returned to clients in a sync (or sync-like) response.
        - `id` string, required — String ID of the project.
        - `can_assign_tasks` boolean, required — Whether the current user can assign tasks in the project.
        - `can_comment` boolean, required — Whether the current user can comment in the project.
        - `child_order` integer, required — Position of the project among sibling projects.
        - `order_key` string, nullable, required — Fractional-indexing order key among sibling projects, or `null` until assigned (backfill in progress). Always `null` for workspace projects, which are ordered via folders instead.
        - `is_collapsed` boolean, required — Whether the project is collapsed in the user's view.
        - `color` string, required — Project color name.
        - `creator_uid` string, nullable, required — String ID of the user who created the project.
        - `created_at` string, date-time, nullable, required — Date and time when the project was created, or `null` if unknown.
        - `is_archived` boolean, required — Whether the project is archived.
        - `is_deleted` boolean, required — Whether the project is deleted.
        - `is_favorite` boolean, required — Whether the project is marked as a favorite.
        - `is_frozen` boolean, required — Whether the project is frozen and cannot be modified.
        - `name` string, required — Project name.
        - `is_shared` boolean, required — Whether the project is shared with other users.
        - `updated_at` string, date-time, nullable, required — Date and time when the project was last updated, or `null` if unknown.
        - `view_style` string, required — Project view style.
        - `default_order` integer, required — Default order of the project in team views.
        - `description` string, required — Project description.
        - `public_key` string, required — Public access key for the project, or an empty string when public access is disabled.
        - `access` ProjectAccessView, required — Contains the details on who can view a project.
          - `visibility` 'restricted' | 'team' | 'public', required — Indicates who can see a project
          - `configuration` union, required — Configuration for the selected visibility level.
            - RestrictedProjectConfiguration — Configuration specific to restricted projects.
            - TeamProjectConfiguration — Configuration specific to team projects.
            - PublicProjectConfiguration — Configuration specific to public projects.
              - …
        - `role` string, nullable, required — Current user's role in the project.
        - `parent_id` string, nullable, required — String ID of the parent project, or `null` for root projects.
        - `inbox_project` boolean, required — Whether this project is the user's Inbox project.
      - WorkspaceProjectSyncView — A representation of a Workspace Project Sync View, extending the base ProjectSync View, to be returned to clients in a sync (or sync-like) response.
        - `id` string, required — String ID of the project.
        - `can_assign_tasks` boolean, required — Whether the current user can assign tasks in the project.
        - `can_comment` boolean, required — Whether the current user can comment in the project.
        - `child_order` integer, required — Position of the project among sibling projects.
        - `order_key` string, nullable, required — Fractional-indexing order key among sibling projects, or `null` until assigned (backfill in progress). Always `null` for workspace projects, which are ordered via folders instead.
        - `is_collapsed` boolean, required — Whether the project is collapsed in the user's view.
        - `color` string, required — Project color name.
        - `creator_uid` string, nullable, required — String ID of the user who created the project.
        - `created_at` string, date-time, nullable, required — Date and time when the project was created, or `null` if unknown.
        - `is_archived` boolean, required — Whether the project is archived.
        - `is_deleted` boolean, required — Whether the project is deleted.
        - `is_favorite` boolean, required — Whether the project is marked as a favorite.
        - `is_frozen` boolean, required — Whether the project is frozen and cannot be modified.
        - `name` string, required — Project name.
        - `is_shared` boolean, required — Whether the project is shared with other users.
        - `updated_at` string, date-time, nullable, required — Date and time when the project was last updated, or `null` if unknown.
        - `view_style` string, required — Project view style.
        - `default_order` integer, required — Default order of the project in team views.
        - `description` string, required — Project description.
        - `public_key` string, required — Public access key for the project, or an empty string when public access is disabled.
        - `access` ProjectAccessView, required — Contains the details on who can view a project.
          - `visibility` 'restricted' | 'team' | 'public', required — Indicates who can see a project
          - `configuration` union, required — Configuration for the selected visibility level.
            - RestrictedProjectConfiguration — Configuration specific to restricted projects.
            - TeamProjectConfiguration — Configuration specific to team projects.
            - PublicProjectConfiguration — Configuration specific to public projects.
              - …
        - `role` string, nullable, required — Current user's role in the project.
        - `collaborator_role_default` string, required — Default collaborator role for the workspace project.
        - `folder_id` string, nullable, required — String ID of the folder that contains the project, or `null`.
        - `is_invite_only` boolean, nullable, required — Whether joining the workspace project requires an invitation.
        - `is_link_sharing_enabled` boolean, required — Whether invitation links are enabled for the project.
        - `status` 'PLANNED' | 'IN_PROGRESS' | 'PAUSED' | 'COMPLETED' | 'CANCELED', required — Project status. At the moment, this is for workspace projects only.
        - `workspace_id` string, required — String ID of the workspace that contains the project.
        - `is_pending_default_collaborator_invites` boolean, required — Whether default collaborator invitations are still being created in the background.
        - `is_project_insights_enabled` boolean, required — Whether project insights are enabled for the project.
        - `parent_id` unknown
  - `next_cursor` string, nullable, required — Cursor for the next page of results, or `null` when there are no more results.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/todoist/apis/todoist-api.md) · [All operations](https://skmtc.net/todoist/apis/todoist-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/todoist/todoist-api/revisions/69a962f1578f/schema)
