---
title: "Per-repo code-search index readiness"
method: GET
path: "/api/v1/code-search/index-status"
tags: ["Code Search"]
---

# Per-repo code-search index readiness

`GET /api/v1/code-search/index-status`

## Request

- Base URL: `https://entire.io` (the document declares no server; this is the origin it was published from)
- URL: `https://entire.io/api/v1/code-search/index-status`
- Auth: none declared

Probes peregrine's repo status for each requested repo. `status` is `indexed` (first index build complete), `indexing` (repo known to core but not yet in the search index), or `unknown` (unresolvable repo, placement not ready, or the probe failed). Each `repo` is a storage ULID or a forge-qualified `gh/owner/repo` | `et/owner/repo` slug. Resolution mirrors /code-search/stream: the full directory index, with slug misses point-resolved so public repos outside the caller's directory still answer.

## Query parameters

- `repo` string[], required

## Response `200`

Per-repo index status, in request order

## Other responses

- `400`: Missing, bare (forge-less), or too many repo params
- `401`: Not authenticated
- `502`: Could not list or resolve repos from entire-core
- `503`: entire-api is not configured

## Changes

- **2026-10-28** `f1e39780914d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/entire/apis/entire-api/changes/api/v1/code-search/index-status/get.md)

---

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