---
title: "Resolve a GitHub owner/repo coordinate to an indexed source (read-only, no materialize)"
method: GET
path: "/lookups/source-by-coordinate"
tags: ["Lookups"]
---

# Resolve a GitHub owner/repo coordinate to an indexed source (read-only, no materialize)

`GET /lookups/source-by-coordinate`

Read-only counterpart to `POST /v1/lookups`: given `coordinate=owner/repo` (optionally `github:owner/repo`), returns the canonical org-scoped tuple `{ sourceId, sourceSlug, orgSlug }` for a matching **visible** catalog source, or 404 when the repo isn't indexed. Unlike the POST, it never probes GitHub or materializes a hidden stub. Matches `sources.url` case-insensitively; on a multi-row case collision it prefers the exact-case row, then the oldest by `(createdAt, id)`.

## Query parameters

- `coordinate` string, required

## Response `200`

Canonical home for the indexed repo

- object
  - `sourceId` string, required
  - `sourceSlug` string, required
  - `orgSlug` string, required

## Other responses

- `400` — Missing `coordinate`, or not a parseable github owner/repo coordinate
- `404` — No visible source matches the coordinate

---

[API](https://skmtc.net/releases/apis/releases-api.md) · [All operations](https://skmtc.net/releases/apis/releases-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/releases/releases-api/revisions/168e32061f53/schema)
