---
title: "Semantic search via the entire-api gateway (v4)"
method: GET
path: "/api/v1/search"
tags: ["Search"]
---

# Semantic search via the entire-api gateway (v4)

`GET /api/v1/search`

Proxies semantic search to entire-search through the entire-api gateway, resolving the session cookie to a jurisdictional JWT and repo slugs to storage ULIDs. `repo` may be omitted (cross-repo: all accessible repos) or repeated (multi-repo); both are gated on the semantic-search flag. Response shape matches the shared search results contract.

## Response `200`

Search results

## Other responses

- `400` — Missing q, blank repo, or more than 100 repos; also an invalid search parameter — upstream 4xx validation errors (e.g. an invalid `types` value) are forwarded as-is
- `401` — Unable to resolve authentication token (re-auth required)
- `403` — Semantic search (semantic-search) is not enabled for this user
- `404` — Repo not found or not accessible
- `501` — Cross-repo/multi-repo search with token auth (pending ENT-1055)
- `502` — Upstream search error (5xx) or repo could not be resolved
- `503` — Search or feature-flag service is not configured/available

---

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