---
title: "Search Folders"
method: POST
path: "/v1/folders/search"
tags: ["Folders"]
---

# Search Folders

`POST /v1/folders/search`

Retrieves information about folders the authenticated user has at least read-only access to. Admin requests using the `Lucid-Request-As: admin` header return all account folders; this capability is exclusive to Enterprise Shield accounts. Results are sorted by creation date and paginated. Rate limited to 300 requests per 5 seconds per account.

## Headers

- `Lucid-Request-As` string, required

## Request body

- object
  - `type` 'folder' | 'team' — * folder - Folders can live in other folders, team folders, or the root of a user’s folder manager ("My Documents"). A folder in "My Documents" will have a null parent field. * team - Team folders can never live in another folder and are always located in the "Team Folders" section of a user's folder manager. Team folders will not have a parent field. Learn more
  - `userIds` number[] — If provided, limit the search to folders that at least one specified user can access. Without a list, the system searches the entire account (admin-level) or only folders the authenticated user can access (user-level).
  - `ownedByUsers` boolean — When true, search results will only include folders owned by users specified by userIds. Ignored if no userIds are provided.
  - `keywords` string — Keywords to search against folder content and titles. This field is truncated to 400 characters. When provided, results will be sorted by relevance to keyword search.
  - `appFolder` boolean — When set to `true`, restricts search results to folders within the OAuth2 client's app project folder. Required when using a `document.app.folder` scope without a `folder:readonly` scope.

## Response `200`

OK with an array of Folder Resource objects containing information about folders the authenticated user has access to.

- Folder[]
  - `id` number, required — Unique ID of the folder
  - `type` 'folder' | 'team', required — * folder - Folders can live in other folders, team folders, or the root of a user’s folder manager ("My Documents"). A folder in "My Documents" will have a null parent field. * team - Team folders can never live in another folder and are always located in the "Team Folders" section of a user's folder manager. Team folders will not have a parent field. Learn more
  - `name` string, required — Name of the folder
  - `parent` number, nullable — ID of the parent folder.
  - `created` string, date-time, required — Date and time of when the folder was created
  - `trashed` string, date-time — Date and time of when the folder was trashed
  - `attributes` FolderAttribute[] — An array of attributes assigned to the folder. Can be null or empty.
    - `name` string — Name of the attribute
    - `value` string — Value of the attribute. Can be any type, but attributes with the same name will always have the same type.

## Other responses

- `400` — Bad Request. * The request does not contain a body. * When using a `document.app.folder` scope, `appFolder` must be set to `true`.
- `403` — Forbidden. * User requests with admin scope and without Lucid-Request-As=admin header. * User requests without an admin scope and includes Lucid-Request-As=admin header. * Account does not have access to the API. * When using a `document.app.folder` scope without setting `appFolder` to `true`.
- `429` — Too Many Requests if the account makes more than 300 requests in 5 seconds.

---

[API](https://skmtc.net/lucid/apis/lucid-rest-api.md) · [All operations](https://skmtc.net/lucid/apis/lucid-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lucid/lucid-rest-api/versions/6a32cb9e1aa7/schema)
