---
title: "Resolve an upstream repo URL, owner/name, or artifact id through the stable v1 alias."
method: GET
path: "/api/v1/resolve"
tags: ["Artifacts", "Agent Docs"]
---

# Resolve an upstream repo URL, owner/name, or artifact id through the stable v1 alias.

`GET /api/v1/resolve`

## Request

- Base URL: `https://huggingbay.xyz`
- URL: `https://huggingbay.xyz/api/v1/resolve`
- Auth: none declared

Stable alias of /api/resolve with identical bounded, fail-closed response semantics.

**Inputs.** Path, query and header fields are listed below. No request body is required.

**Outputs.** See each status below for its media type, schema and headers. A missing record or unavailable capability is not a successful empty result.

**Errors.** API JSON failures use the documented response schema. Read code, message and next; retry only when the response allows it. Auth, invalid input and missing records need a caller change.

**Rate limits.** Public read budgets apply by client IP and route group. This operation can have a smaller route-specific budget. Read Retry-After on 429 or retryable 503 responses.

## Query parameters

- `repo` string
- `url` string
- `q` string
- `source` 'huggingface' | 'modelscope' | 'github' | 'zenodo' | 'arxiv' | 'openml' | 'dataverse' | 'datacite' | 'paperswithcode' | 'opendatalab' | 'opencompass'
- `compat` 'containment'

## Response `200`

Resolved artifact (status found or found_stale).

- ResolveArtifact
  - `schemaVersion` 'hugging-bay.resolve.v1', required
  - `generatedAt` string, required
  - `input` string, required
  - `normalized` object, required
    - `raw` string, required
    - `source` string, required
    - `repo` string, required
    - `owner` string
    - `name` string
    - `repoType` string
    - `kind` string
    - `supported` boolean, required
    - `reason` string
  - `status` 'found' | 'found_stale' | 'missing' | 'unsupported', required
  - `artifactId` string, nullable: Alias of artifact.id — the resolved artifact id, or null when unresolved. Use the same id against /api/v1/artifacts/{id}/download-plan.
  - `artifact` ArtifactSummary (unresolved $ref)
  - `hostedDownloads` object
    - `count` number
    - `rows` DownloadableFileRow[] (unresolved $ref)
  - `fallback` object
    - `searchUrl` string
    - `rows` ArtifactSummary[] (unresolved $ref)
  - `actions` object, required
  - `guidance` string[], required

## Other responses

- `400`: invalid_query: empty, malformed, or unsupported reference (resolution: unsupported). The body keeps normalized, fallback.searchUrl, and guidance.
- `404`: not_found: well-formed reference with no catalog match (resolution: missing). The body keeps fallback.searchUrl and actions.requestSource / actions.requestMirror.
- `default`: Request failed; legacy extra fields are preserved.

---

[API](https://skmtc.dev/huggingbay/apis/hugging-bay-public-api.md) · [All operations](https://skmtc.dev/huggingbay/apis/hugging-bay-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/huggingbay/apis/hugging-bay-public-api/revisions/63c474bf0fe4?raw)
