Palette search index
const url = 'https://shareout.site/v1/home/search-index';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://shareout.site/v1/home/search-index \ --header 'Authorization: Bearer <token>'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.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Workspace id; omit for everything the user can see.
Header Parameters
Section titled “Header Parameters”ETag from a previous response.
Responses
Section titled “Responses”The index
object
Format version (1).
More than 3,000 pages; older ones are left to deep search.
[id, slug, name, type (‘’ = html), folderId, tags (newline-joined), updatedSec, description (80 chars), flags (1 private, 2 thumbnail), ownerIdx, wsIdx]
[id, name, parentId (‘’ = top level), pageCount]
[userId, name, email, picture, role]
[name, picture]
[id, name] when searching across workspaces
Ids of pages the user opened last, newest first.
Examplegenerated
{ "v": 1, "truncated": true, "artifacts": [ [ "example" ] ], "folders": [ [ "example" ] ], "people": [ [ "example" ] ], "owners": [ [ "example" ] ], "workspaces": [ [ "example" ] ], "recent": [ "example" ]}Headers
Section titled “Headers”Weak ETag of this user’s index for this scope.
Unchanged since the ETag in If-None-Match.
Authentication required
object
Human-readable message.
Machine-readable error code.
Correlation id (also the X-Request-Id header). Quote it in support tickets.
Finer cause under code. For UNAUTHORIZED: missing, invalid, revoked or expired.
What to do next, in plain words.
The request field at fault.
Doc page for this error.
Present on 5xx — how to reach a human.
object
Example
{ "success": false, "support": { "how": "POST /v1/support/tickets", "include": [ "request_id" ] }}