---
title: "Search V2"
method: POST
path: "/v2/search"
tags: ["SearchV2"]
---

# Search V2

`POST /v2/search`

Perform an advanced search across your entire Dovetail workspace. This is the recommended search endpoint, supporting all content types: agents, highlights, data (notes), insights, channels, dashboards, tags, themes, projects, folders, and people (contacts).

**Filtering options:**

- **`types`** — Restrict results to specific content types (defaults to all types).
- **`query`** — Full-text search string matched against titles and content.
- **`location`** — Scope results to specific projects or folders using their IDs.
- **`user`** — Filter by contributor or author.
- **`tags`** / **`themes`** — Filter by tag or theme IDs.
- **`people`** — Filter by contacts (people) mentioned in content.
- **`fields`** — Filter by custom field values.
- **`date`** — Filter by creation date range.
- **`archived`** — Include archived items (default: `false`).

Results can be sorted by relevance (default) or other criteria, and are paginated using `offset` and `limit` (default 20, max 100). Each content type is returned in its own array within the response.

## Request body

- object
  - `offset` integer — The number of items to skip before starting to collect the result set.
  - `limit` integer — The number of items to return.
  - `options` object, required
    - `types` string[] — The types of objects to include in the search results. Defaults to all available types if not provided.
    - `query` string — The search query string.
    - `location` object — Filter by location by project or folder IDs
      - `method` 'LOCATED_IN' | 'NOT_LOCATED_IN', required
      - `value` string[], required
    - `user` object — Filter by user who contributed or authored the object.
      - `method` 'CONTRIBUTED_BY' | 'NOT_CONTRIBUTED_BY' | 'CREATED_BY' | 'NOT_CREATED_BY', required
      - `value` string[], required
      - `aiContributed` boolean
    - `tags` object[] — Filter by tag IDs.
      - `method` 'ALL' | 'CONTAINS' | 'IS_NOT_ONE_OF' | 'IS_ALL_OF' | 'IS_NOT_ALL_OF' | 'IS_EMPTY' | 'IS_NOT_EMPTY', required
      - `value` string[], required
    - `themes` object[] — Filter by theme IDs.
      - `method` 'ALL' | 'CONTAINS' | 'IS_NOT_ONE_OF' | 'IS_ALL_OF' | 'IS_NOT_ALL_OF' | 'IS_EMPTY' | 'IS_NOT_EMPTY', required
      - `value` string[], required
    - `people` object — Filter by person IDs mentioned in the content.
      - `method` 'CONTAINS', required
      - `value` string[], required
    - `fields` union[] — Filter by custom fields.
      - union
        - object
          - `id` string, required — Base62-encoded UUID (22 characters), as returned by other public API endpoints.
          - `type` 'TEXT', required
          - `method` 'CONTAINS' | 'NOT_CONTAINS', required
          - `value` string[], required
        - object
          - `id` string, required — Base62-encoded UUID (22 characters), as returned by other public API endpoints.
          - `type` 'DATE', required
          - `method` 'CONTAINS' | 'NOT_CONTAINS', required
          - `value` union, required
            - object
              - …
            - object
              - …
        - object
          - `id` string, required — Base62-encoded UUID (22 characters), as returned by other public API endpoints.
          - `type` 'BOOLEAN', required
          - `method` 'CONTAINS' | 'NOT_CONTAINS', required
          - `value` boolean, required
        - object
          - `id` string, required — Base62-encoded UUID (22 characters), as returned by other public API endpoints.
          - `type` 'NUMBER', required
          - `method` 'EQUAL' | 'NOT_EQUAL' | 'GREATER_THAN' | 'LESS_THAN', required
          - `value` number, required
    - `date` object — Filter by a date range.
      - `method` 'CREATED' | 'UPDATED', required
      - `value` union, required
        - object
          - `option` 'thisWeek' | 'thisMonth' | 'thisQuarter' | 'thisYear' | 'last7Days' | 'last14Days' | 'last28Days' | 'last90Days' | 'last180Days' | 'allTimeNoRange', required
        - object
          - `option` 'custom', required
          - `range` object, required
            - `from` unknown, required
            - `to` unknown, required
    - `archived` boolean — Whether to include archived items in the results.
    - `sort` object — Sort the search results by a specific field and direction (ASC or DESC).
      - `by` 'RELEVANCE' | 'CREATED' | 'UPDATED', required
      - `direction` 'DESC' | 'ASC', required

## Response `200`

200

- object
  - `data` object, required
    - `url` string — The URL of this search in the Dovetail web app (the Explore page pre-filled with the query), so the results can be opened directly. This field is experimental and may change without notice.
    - `total` number, required
    - `agents` object[], required
      - `id` string, required
      - `url` string, nullable — The URL of this resource in the Dovetail web app, or null if unavailable. This field is experimental and may change without notice.
      - `name` string, required
      - `created_at` string, required
      - `updated_at` string, required
    - `highlights` object[], required
      - `id` string, required
      - `url` string, nullable — The URL of the parent note containing this highlight in the Dovetail web app. This field is experimental and may change without notice.
      - `author_id` string, nullable, required
      - `preview_text` string, nullable, required
      - `project_id` string, nullable, required
      - `project_title` string, nullable, required
      - `created_at` string, required
      - `updated_at` string, required
      - `tags` object[]
        - `title` string, nullable, required
        - `highlight_count` number, nullable, required
    - `tags` object[], required
      - `id` string, required
      - `url` string — The URL of this resource in the Dovetail web app. This field is experimental and may change without notice.
      - `author_id` string, nullable, required
      - `title` string, required
      - `color` string, nullable, required
      - `highlight_count` number, required
      - `created_at` string, required
      - `updated_at` string, required
    - `notes` object[], required
      - `id` string, required
      - `url` string — The URL of this resource in the Dovetail web app. This field is experimental and may change without notice.
      - `title` string, required
      - `author_id` string, nullable, required
      - `preview_text` string, nullable, required
      - `project_id` string, nullable, required
      - `project_title` string, nullable, required
      - `created_at` string, required
      - `updated_at` string, required
    - `insights` object[], required
      - `id` string, required
      - `url` string — The URL of this resource in the Dovetail web app. This field is experimental and may change without notice.
      - `title` string, required
      - `preview_text` string, nullable, required
      - `author_id` string, nullable, required
      - `project_id` string, nullable
      - `project_title` string, nullable
      - `created_at` string, required
      - `updated_at` string, required
    - `channels` object[], required
      - `id` string, required
      - `url` string — The URL of this resource in the Dovetail web app. This field is experimental and may change without notice.
      - `author_id` string, nullable, required
      - `title` string, required
      - `created_at` string, required
      - `updated_at` string, required
    - `dashboards` object[], required
      - `id` string, required
      - `url` string — The URL of this resource in the Dovetail web app. This field is experimental and may change without notice.
      - `title` string, required
      - `author_id` string, nullable, required
      - `created_at` string, required
      - `updated_at` string, required
    - `themes` object[], required
      - `id` string, required
      - `url` string, nullable — The URL of this resource in the Dovetail web app, or null if unavailable. This field is experimental and may change without notice.
      - `author_id` string, nullable, required
      - `title` string, nullable, required
      - `preview_text` string, nullable, required
      - `created_at` string, required
      - `updated_at` string, required
    - `projects` object[], required
      - `id` string, required
      - `url` string — The URL of this resource in the Dovetail web app. This field is experimental and may change without notice.
      - `author_id` string, nullable, required
      - `title` string, required
      - `created_at` string, required
      - `updated_at` string, required
    - `folders` object[], required
      - `id` string, required
      - `url` string — The URL of this resource in the Dovetail web app. This field is experimental and may change without notice.
      - `author_id` string, nullable, required
      - `title` string, required
      - `created_at` string, required
      - `updated_at` string, required
    - `people` object[], required
      - `id` string, required
      - `url` string — The URL of this resource in the Dovetail web app. This field is experimental and may change without notice.
      - `name` string, nullable, required
      - `author_id` string, nullable, required
      - `created_at` string, required
      - `updated_at` string, required
    - `offset` number, required
    - `limit` number, required

## Other responses

- `400` — 400
- `401` — 401
- `403` — 403
- `404` — 404
- `422` — 422
- `429` — 429
- `500` — 500

---

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