---
title: "Create saved search"
method: POST
path: "/v1/projects/{projectSlug}/searches"
tags: ["Saved Searches"]
---

# Create saved search

`POST /v1/projects/{projectSlug}/searches`

Creates a saved search within the project. At least one of `query` or `filters` must be set. The slug is derived from `name`. OAuth-authenticated only.

## Path parameters

- `projectSlug` string, required — Project slug (human-readable identifier)

## Request body

- CreateSavedSearchBody
  - `name` string, required — Human-readable name. Used to derive the slug.
  - `query` string, nullable — Free-text semantic query. `null` (default) when the search is filter-only. At least one of `query` or `filters` must be set.
  - `filters` object — Structured filter set. Defaults to `{}` (no filters). At least one of `query` or `filters` must be set.

## Response `201`

Saved search created

- SavedSearch
  - `id` string, required — Stable saved-search identifier.
  - `organizationId` string, required — Organization that owns this saved search.
  - `projectId` string, required — Project this saved search belongs to.
  - `slug` string, required — URL-safe slug derived from `name`. Regenerated when the name changes in a way that affects the slug.
  - `name` string, required — Human-readable name.
  - `query` string, nullable, required — Free-text semantic query applied alongside `filters`. `null` when the search is filter-only. At least one of `query` or `filters` must be set.
  - `filters` object, required — Structured filter set applied alongside `query`. Empty object means filter-free. At least one of `query` or `filters` must be set.
  - `deletedAt` string, nullable, required — ISO-8601 timestamp at which the search was deleted. `null` while active.
  - `createdAt` string, required — ISO-8601 timestamp of creation.
  - `updatedAt` string, required — ISO-8601 timestamp of the last update.

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `404` — Not found

## Changes

- **2026-06-05** `7564f2e9f4e7` — 2 breaking, 1 warning
  - removed the required property `assignedUserId` from the response with the `201` status
  - removed the required property `createdByUserId` from the response with the `201` status
  - removed the request property `assignedUserId`

[Change history](https://skmtc.dev/latitude-dev/apis/latitude/changes/v1/projects/:projectSlug/searches/post.md)

---

[API](https://skmtc.dev/latitude-dev/apis/latitude.md) · [All operations](https://skmtc.dev/latitude-dev/apis/latitude/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/latitude-dev/latitude/revisions/a0bf72a85607/schema)
