---
title: "List the repo registry (lean, no cell fill)"
method: GET
path: "/api/v1/repos"
tags: ["Repositories"]
---

# List the repo registry (lean, no cell fill)

`GET /api/v1/repos`

A JSON passthrough of entire-core's `GET /repos` index: identity, facts, placements, permission, and candidate metadata, keyset-paginated. Unlike `/repos/stream`, this never fans out to cells for content — callers get the registry row set only. Query params `q`, `hasCheckpoints`, `org`, and `sort` forward to core's fact filters/sort; `pageToken`/`pageSize` (core's own default when omitted, max 100) drive pagination; `scope` defaults to `onboarded`.

## Query parameters

- `q` string
- `hasCheckpoints` 'true' | 'false'
- `org` string
- `sort` string
- `scope` 'onboarded' | 'all'
- `pageToken` string
- `pageSize` integer

## Response `200`

One page of the repo registry

- object
  - `items` object[], required
    - `id` string
    - `name` string, required
    - `full_name` string, required
    - `visibility` string, required
    - `provider` 'github' | 'entire'
    - `org` string
    - `placements` object[]
      - `id` string, required
      - `jurisdiction` string, required
      - `cell` string, required
      - `clusterSlug` string, required
      - `mirror` boolean, required
      - `status` 'processing' | 'ready' | 'failed' | 'suspended', required
    - `candidate` object
      - `access` 'read' | 'write' | 'admin', required
      - `onboardable` boolean, required
  - `nextPageToken` string

## Other responses

- `400` — Invalid pageSize, sort spec, or pageToken cursor
- `401` — Not authenticated, or entire-core rejected the login JWT
- `403` — entire-core denied access to this scope
- `502` — Could not list repos from entire-core
- `503` — entire-core is not configured

---

[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)
