---
title: "Palette search index"
method: GET
path: "/v1/home/search-index"
tags: ["Home", "Search"]
---

# Palette search index

`GET /v1/home/search-index`

## Request

- Base URL: `https://shareout.site`
- URL: `https://shareout.site/v1/home/search-index`
- Auth: HTTP bearer

Compact index of everything the signed-in user can find by name in the scope (pages, folders, people), ranked locally by the Cmd+K palette. Same visibility as `/v1/search`; a non-member of `workspace` gets empty lists. Rows are positional arrays. Revalidate with `If-None-Match` for a `304`. `Server-Timing` carries `idx_build` and `idx_etag`.

## Query parameters

- `workspace` string

## Headers

- `If-None-Match` string

## Response `200`

The index

- object
  - `v` integer: Format version (1).
  - `truncated` boolean: More than 3,000 pages; older ones are left to deep search.
  - `artifacts` array[]: [id, slug, name, type ('' = html), folderId, tags (newline-joined), updatedSec, description (80 chars), flags (1 private, 2 thumbnail), ownerIdx, wsIdx]
    - unknown[]
      - unknown
  - `folders` array[]: [id, name, parentId ('' = top level), pageCount]
    - unknown[]
      - unknown
  - `people` array[]: [userId, name, email, picture, role]
    - string[]
  - `owners` array[]: [name, picture]
    - string[]
  - `workspaces` array[]: [id, name] when searching across workspaces
    - string[]
  - `recent` string[]: Ids of pages the user opened last, newest first.

## Other responses

- `304`: Unchanged since the ETag in `If-None-Match`.
- `401`: Authentication required

## Changes

- **2026-10-17** `08f935e1d035`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/shareout/apis/shareout-rest-api/changes/v1/home/search-index/get.md)

---

[API](https://skmtc.dev/shareout/apis/shareout-rest-api.md) - [All operations](https://skmtc.dev/shareout/apis/shareout-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/shareout/apis/shareout-rest-api/revisions/1e3f7fd34f6d?raw)
