openapi: 3.2.0 info: title: Dovetail Public Search V2 API version: 0.0.1 description: The Dovetail Public API provides programmatic access to your Dovetail workspace. servers: - url: https://dovetail.com/api - url: https://dovetailapp.com/api security: - bearerAuth: [] tags: - name: SearchV2 paths: /v2/search: post: description: '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.' summary: Search V2 tags: - SearchV2 parameters: [] requestBody: description: Body content: application/json: schema: type: object properties: offset: default: 0 type: integer minimum: 0 description: The number of items to skip before starting to collect the result set. limit: default: 20 type: integer minimum: 1 maximum: 100 description: The number of items to return. options: type: object properties: types: default: - AGENT - CHANNEL - DASHBOARD - FOLDER - HIGHLIGHT - INSIGHT - NOTE - PERSON - PROJECT - TAG - THEME type: array items: type: string enum: - AGENT - CHANNEL - DASHBOARD - FOLDER - HIGHLIGHT - INSIGHT - NOTE - PERSON - PROJECT - TAG - THEME description: The types of objects to include in the search results. Defaults to all available types if not provided. query: default: '' type: string maxLength: 512 description: The search query string. Must be at most 512 characters long. location: default: method: LOCATED_IN value: [] type: object properties: method: type: string enum: - LOCATED_IN - NOT_LOCATED_IN value: type: array items: type: string description: Base62-encoded UUID (22 characters), as returned by other public API endpoints. required: - method - value description: Filter by location by project or folder IDs user: default: method: CONTRIBUTED_BY value: [] type: object properties: method: type: string enum: - CONTRIBUTED_BY - NOT_CONTRIBUTED_BY - CONTRIBUTOR_IDS - CREATED_BY - NOT_CREATED_BY value: type: array items: type: string description: Base62-encoded UUID (22 characters), as returned by other public API endpoints. aiContributed: type: boolean required: - method - value description: Filter by user who contributed or authored the object. tags: default: [] type: array items: type: object properties: method: type: string enum: - ALL - CONTAINS - IS_NOT_ONE_OF - IS_ALL_OF - IS_NOT_ALL_OF - IS_EMPTY - IS_NOT_EMPTY value: type: array items: type: string description: Base62-encoded UUID (22 characters), as returned by other public API endpoints. required: - method - value description: Filter by tag IDs. themes: default: [] type: array items: type: object properties: method: type: string enum: - ALL - CONTAINS - IS_NOT_ONE_OF - IS_ALL_OF - IS_NOT_ALL_OF - IS_EMPTY - IS_NOT_EMPTY value: type: array items: type: string description: Base62-encoded UUID (22 characters), as returned by other public API endpoints. required: - method - value description: Filter by theme IDs. people: default: method: CONTAINS value: [] type: object properties: method: type: string enum: - CONTAINS value: type: array items: type: string description: Base62-encoded UUID (22 characters), as returned by other public API endpoints. required: - method - value description: Filter by person IDs mentioned in the content. fields: default: [] type: array items: discriminator: propertyName: type oneOf: - type: object properties: id: type: string description: Base62-encoded UUID (22 characters), as returned by other public API endpoints. type: type: string enum: - TEXT method: type: string enum: - CONTAINS - NOT_CONTAINS value: type: array items: type: string required: - id - type - method - value - type: object properties: id: type: string description: Base62-encoded UUID (22 characters), as returned by other public API endpoints. type: type: string enum: - DATE method: type: string enum: - CONTAINS - NOT_CONTAINS value: oneOf: - type: object properties: option: type: string enum: - thisWeek - thisMonth - thisQuarter - thisYear - last7Days - last14Days - last28Days - last90Days - last180Days - allTimeNoRange required: - option - type: object properties: option: type: string enum: - custom range: type: object properties: from: {} to: {} required: - from - to required: - option - range required: - id - type - method - value - type: object properties: id: type: string description: Base62-encoded UUID (22 characters), as returned by other public API endpoints. type: type: string enum: - BOOLEAN method: type: string enum: - CONTAINS - NOT_CONTAINS value: type: boolean required: - id - type - method - value - type: object properties: id: type: string description: Base62-encoded UUID (22 characters), as returned by other public API endpoints. type: type: string enum: - NUMBER method: type: string enum: - EQUAL - NOT_EQUAL - GREATER_THAN - LESS_THAN value: type: number required: - id - type - method - value description: Filter by custom fields. date: default: method: CREATED value: option: allTimeNoRange type: object properties: method: type: string enum: - CREATED - UPDATED value: oneOf: - type: object properties: option: type: string enum: - thisWeek - thisMonth - thisQuarter - thisYear - last7Days - last14Days - last28Days - last90Days - last180Days - allTimeNoRange required: - option - type: object properties: option: type: string enum: - custom range: type: object properties: from: {} to: {} required: - from - to required: - option - range required: - method - value description: Filter by a date range. archived: default: false type: boolean description: Whether to include archived items in the results. sort: default: by: RELEVANCE direction: DESC type: object properties: by: type: string enum: - RELEVANCE - CREATED - UPDATED direction: type: string enum: - DESC - ASC required: - by - direction description: Sort the search results by a specific field and direction (ASC or DESC). required: - options additionalProperties: false responses: '200': description: '200' content: application/json: schema: type: object properties: data: type: object properties: url: type: string description: 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: type: number agents: type: array items: type: object properties: id: type: string url: type: - string - 'null' description: The URL of this resource in the Dovetail web app, or null if unavailable. This field is experimental and may change without notice. name: type: string created_at: type: string updated_at: type: string required: - id - name - created_at - updated_at highlights: type: array items: type: object properties: id: type: string url: type: - string - 'null' description: 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: type: - string - 'null' preview_text: type: - string - 'null' project_id: type: - string - 'null' project_title: type: - string - 'null' created_at: type: string updated_at: type: string tags: default: [] type: array items: type: object properties: title: type: - string - 'null' highlight_count: type: - number - 'null' required: - title - highlight_count required: - id - author_id - preview_text - project_id - project_title - created_at - updated_at tags: type: array items: type: object properties: id: type: string url: type: string description: The URL of this resource in the Dovetail web app. This field is experimental and may change without notice. author_id: type: - string - 'null' title: type: string color: type: - string - 'null' highlight_count: type: number created_at: type: string updated_at: type: string required: - id - author_id - title - color - highlight_count - created_at - updated_at notes: type: array items: type: object properties: id: type: string url: type: string description: The URL of this resource in the Dovetail web app. This field is experimental and may change without notice. title: type: string author_id: type: - string - 'null' preview_text: type: - string - 'null' project_id: type: - string - 'null' project_title: type: - string - 'null' created_at: type: string updated_at: type: string required: - id - title - author_id - preview_text - project_id - project_title - created_at - updated_at insights: type: array items: type: object properties: id: type: string url: type: string description: The URL of this resource in the Dovetail web app. This field is experimental and may change without notice. title: type: string preview_text: type: - string - 'null' author_id: type: - string - 'null' project_id: default: null type: - string - 'null' project_title: default: null type: - string - 'null' created_at: type: string updated_at: type: string required: - id - title - preview_text - author_id - created_at - updated_at channels: type: array items: type: object properties: id: type: string url: type: string description: The URL of this resource in the Dovetail web app. This field is experimental and may change without notice. author_id: type: - string - 'null' title: type: string created_at: type: string updated_at: type: string required: - id - author_id - title - created_at - updated_at dashboards: type: array items: type: object properties: id: type: string url: type: string description: The URL of this resource in the Dovetail web app. This field is experimental and may change without notice. title: type: string author_id: type: - string - 'null' created_at: type: string updated_at: type: string required: - id - title - author_id - created_at - updated_at themes: type: array items: type: object properties: id: type: string url: type: - string - 'null' description: 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: type: - string - 'null' title: type: - string - 'null' preview_text: type: - string - 'null' created_at: type: string updated_at: type: string required: - id - author_id - title - preview_text - created_at - updated_at projects: type: array items: type: object properties: id: type: string url: type: string description: The URL of this resource in the Dovetail web app. This field is experimental and may change without notice. author_id: type: - string - 'null' title: type: string created_at: type: string updated_at: type: string required: - id - author_id - title - created_at - updated_at folders: type: array items: type: object properties: id: type: string url: type: string description: The URL of this resource in the Dovetail web app. This field is experimental and may change without notice. author_id: type: - string - 'null' title: type: string created_at: type: string updated_at: type: string required: - id - author_id - title - created_at - updated_at people: type: array items: type: object properties: id: type: string url: type: string description: The URL of this resource in the Dovetail web app. This field is experimental and may change without notice. name: type: - string - 'null' author_id: type: - string - 'null' created_at: type: string updated_at: type: string required: - id - name - author_id - created_at - updated_at offset: type: number limit: type: number required: - total - agents - highlights - tags - notes - insights - channels - dashboards - themes - projects - folders - people - offset - limit required: - data '400': description: '400' content: application/json: schema: type: object properties: errors: type: array items: oneOf: - type: object properties: code: type: string enum: - InvalidOperation title: type: string message: type: string path: type: string required: - code - title - type: object properties: code: type: string enum: - ValidationError title: type: string enum: - Contract violation message: type: string path: type: string required: - code - title - message - path required: - errors '401': description: '401' content: application/json: schema: type: object properties: errors: type: array items: type: object properties: code: type: string enum: - Unauthorized title: type: string message: type: string required: - code - title required: - errors '403': description: '403' content: application/json: schema: type: object properties: errors: type: array items: oneOf: - type: object properties: code: type: string enum: - Forbidden title: type: string message: type: string required: - code - title - type: object properties: code: type: string enum: - IpNotAllowlisted title: type: string message: type: string decisionId: type: string description: Correlation id quoting this enforcement decision — include it when contacting support. required: - code - title - decisionId required: - errors '404': description: '404' content: application/json: schema: type: object properties: errors: type: array items: type: object properties: code: type: string enum: - NotFound title: type: string message: type: string required: - code - title required: - errors '422': description: '422' content: application/json: schema: type: object properties: errors: type: array items: type: object properties: code: type: string enum: - UnprocessableContent title: type: string message: type: string required: - code - title - message required: - errors '429': description: '429' content: application/json: schema: type: object properties: errors: type: array items: type: object properties: code: type: string enum: - TooManyRequests title: type: string message: type: string required: - code - title required: - errors '500': description: '500' content: application/json: schema: type: object properties: errors: type: array items: type: object properties: code: type: string enum: - InternalError title: type: string enum: - Internal server error message: type: string required: - code - title required: - errors operationId: postV2Search x-operation-id-source: derived components: securitySchemes: bearerAuth: type: http scheme: bearer x-provenance: method: searched source: https://developers.dovetail.com/reference harvested: '2026-10-14' tool: harvest-readme-openapi.py note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored. assembled_from: - https://developers.dovetail.com/reference/delete_v1-channels-channel-id.md - https://developers.dovetail.com/reference/delete_v1-channels-topic-topic-id.md - https://developers.dovetail.com/reference/delete_v1-contacts-contact-id.md - https://developers.dovetail.com/reference/delete_v1-data-data-id.md - https://developers.dovetail.com/reference/delete_v1-docs-doc-id-comments-comment-id.md - https://developers.dovetail.com/reference/delete_v1-docs-doc-id.md - https://developers.dovetail.com/reference/delete_v1-fields-field-id.md - https://developers.dovetail.com/reference/delete_v1-folders-folder-id.md - https://developers.dovetail.com/reference/delete_v1-insights-insight-id-comments-comment-id.md - https://developers.dovetail.com/reference/delete_v1-insights-insight-id.md - https://developers.dovetail.com/reference/delete_v1-notes-note-id.md - https://developers.dovetail.com/reference/delete_v1-projects-project-id-context-docs-doc-id.md - https://developers.dovetail.com/reference/delete_v1-projects-project-id-context-keywords.md - https://developers.dovetail.com/reference/delete_v1-projects-project-id.md - https://developers.dovetail.com/reference/get_v1-channels-channel-id-data.md - https://developers.dovetail.com/reference/get_v1-channels-channel-id-themes.md - https://developers.dovetail.com/reference/get_v1-channels-channel-id.md - https://developers.dovetail.com/reference/get_v1-channels-data-datum-id.md - https://developers.dovetail.com/reference/get_v1-channels.md - https://developers.dovetail.com/reference/get_v1-contacts-contact-id.md - https://developers.dovetail.com/reference/get_v1-contacts.md - https://developers.dovetail.com/reference/get_v1-data-data-id-export-type.md - https://developers.dovetail.com/reference/get_v1-data-data-id.md - https://developers.dovetail.com/reference/get_v1-data.md - https://developers.dovetail.com/reference/get_v1-docs-doc-id-comments-comment-id.md - https://developers.dovetail.com/reference/get_v1-docs-doc-id-comments.md - https://developers.dovetail.com/reference/get_v1-docs-doc-id-export-type.md - https://developers.dovetail.com/reference/get_v1-docs-doc-id.md - https://developers.dovetail.com/reference/get_v1-docs-user-user-id.md - https://developers.dovetail.com/reference/get_v1-docs.md - https://developers.dovetail.com/reference/get_v1-fields-field-id.md - https://developers.dovetail.com/reference/get_v1-fields.md - https://developers.dovetail.com/reference/get_v1-files-file-id-download.md - https://developers.dovetail.com/reference/get_v1-files-file-id.md - https://developers.dovetail.com/reference/get_v1-folders-folder-id-contents.md - https://developers.dovetail.com/reference/get_v1-folders-folder-id.md - https://developers.dovetail.com/reference/get_v1-folders.md - https://developers.dovetail.com/reference/get_v1-highlights-highlight-id.md - https://developers.dovetail.com/reference/get_v1-highlights.md - https://developers.dovetail.com/reference/get_v1-insights-insight-id-comments-comment-id.md - https://developers.dovetail.com/reference/get_v1-insights-insight-id-comments.md - https://developers.dovetail.com/reference/get_v1-insights-insight-id-export-type.md - https://developers.dovetail.com/reference/get_v1-insights-insight-id.md - https://developers.dovetail.com/reference/get_v1-insights-user-user-id.md - https://developers.dovetail.com/reference/get_v1-insights.md - https://developers.dovetail.com/reference/get_v1-notes-note-id-export-type.md - https://developers.dovetail.com/reference/get_v1-notes-note-id.md - https://developers.dovetail.com/reference/get_v1-notes.md - https://developers.dovetail.com/reference/get_v1-projects-project-id-context.md - https://developers.dovetail.com/reference/get_v1-projects-project-id.md - https://developers.dovetail.com/reference/get_v1-projects-templates.md - https://developers.dovetail.com/reference/get_v1-projects.md - https://developers.dovetail.com/reference/get_v1-tags-boards.md - https://developers.dovetail.com/reference/get_v1-tags-tag-id.md - https://developers.dovetail.com/reference/get_v1-tags.md - https://developers.dovetail.com/reference/get_v1-token-info.md - https://developers.dovetail.com/reference/get_v1-users-user-id.md - https://developers.dovetail.com/reference/get_v1-users.md - https://developers.dovetail.com/reference/get_v1-workspace-context.md - https://developers.dovetail.com/reference/patch_v1-channels-channel-id.md - https://developers.dovetail.com/reference/patch_v1-channels-topic-topic-id.md - https://developers.dovetail.com/reference/patch_v1-contacts-contact-id.md - https://developers.dovetail.com/reference/patch_v1-data-data-id.md - https://developers.dovetail.com/reference/patch_v1-docs-doc-id-comments-comment-id.md - https://developers.dovetail.com/reference/patch_v1-docs-doc-id.md - https://developers.dovetail.com/reference/patch_v1-fields-field-id.md - https://developers.dovetail.com/reference/patch_v1-folders-folder-id.md - https://developers.dovetail.com/reference/patch_v1-insights-insight-id-comments-comment-id.md - https://developers.dovetail.com/reference/patch_v1-insights-insight-id.md - https://developers.dovetail.com/reference/patch_v1-notes-note-id.md - https://developers.dovetail.com/reference/patch_v1-projects-project-id.md - https://developers.dovetail.com/reference/post_v1-channels-data.md - https://developers.dovetail.com/reference/post_v1-channels-topic.md - https://developers.dovetail.com/reference/post_v1-channels.md - https://developers.dovetail.com/reference/post_v1-contacts.md - https://developers.dovetail.com/reference/post_v1-data-import-file.md - https://developers.dovetail.com/reference/post_v1-data.md - https://developers.dovetail.com/reference/post_v1-dataset-dataset-id-data.md - https://developers.dovetail.com/reference/post_v1-docs-doc-id-comments-resolve.md - https://developers.dovetail.com/reference/post_v1-docs-doc-id-comments-unresolve.md - https://developers.dovetail.com/reference/post_v1-docs-doc-id-comments.md - https://developers.dovetail.com/reference/post_v1-docs-import-file.md - https://developers.dovetail.com/reference/post_v1-docs.md - https://developers.dovetail.com/reference/post_v1-fields.md - https://developers.dovetail.com/reference/post_v1-files.md - https://developers.dovetail.com/reference/post_v1-folders.md - https://developers.dovetail.com/reference/post_v1-highlights-highlight-id-tags.md - https://developers.dovetail.com/reference/post_v1-highlights.md - https://developers.dovetail.com/reference/post_v1-insights-import-file.md - https://developers.dovetail.com/reference/post_v1-insights-insight-id-comments-resolve.md - https://developers.dovetail.com/reference/post_v1-insights-insight-id-comments-unresolve.md - https://developers.dovetail.com/reference/post_v1-insights-insight-id-comments.md - https://developers.dovetail.com/reference/post_v1-insights.md - https://developers.dovetail.com/reference/post_v1-notes-import-file.md - https://developers.dovetail.com/reference/post_v1-notes.md - https://developers.dovetail.com/reference/post_v1-projects-project-id-context-docs.md - https://developers.dovetail.com/reference/post_v1-projects-project-id-context-keywords.md - https://developers.dovetail.com/reference/post_v1-projects-project-id-workspace-field-groups.md - https://developers.dovetail.com/reference/post_v1-projects.md - https://developers.dovetail.com/reference/post_v1-search.md - https://developers.dovetail.com/reference/post_v1-summarize.md - https://developers.dovetail.com/reference/post_v1-tags.md - https://developers.dovetail.com/reference/post_v1-transcripts-data-id-audio.md - https://developers.dovetail.com/reference/post_v1-transcripts-data-id-utterance.md - https://developers.dovetail.com/reference/post_v1-workspace-context-docs.md - https://developers.dovetail.com/reference/post_v2-files-file-id-large-upload-complete.md - https://developers.dovetail.com/reference/post_v2-files-file-id-upload-complete.md - https://developers.dovetail.com/reference/post_v2-files-large-upload.md - https://developers.dovetail.com/reference/post_v2-files-upload.md - https://developers.dovetail.com/reference/post_v2-search.md - https://developers.dovetail.com/reference/put_v1-transcripts-data-id.md merge: pages: 111 deduped: 110 conflicts_kept_first: 0