---
title: >-
  Resolve a GitHub owner/repo coordinate to an indexed source (read-only, no
  materialize)
description: >-
  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
---
# Resolve a GitHub owner/repo coordinate to an indexed source (read-only, no materialize)

`GET https://api.releases.sh/v1/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)`.

**Auth:** optional Bearer token.

**Parameters**

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `coordinate` | query | string | yes | GitHub coordinate, e.g. "honojs/hono" or "github:honojs/hono". |

**Responses**

- `200` Canonical home for the indexed repo
- `400` Missing `coordinate`, or not a parseable github owner/repo coordinate
- `404` No visible source matches the coordinate

Full request and response schemas: [OpenAPI 3.1 spec](https://api.releases.sh/v1/openapi.json).
