# Hugging Bay complete agent and API reference > Complete machine-facing reference for https://huggingbay.xyz: 343 REST operations, 160 component schemas, canonical citation pages, MCP, crawl, security, OAuth, and x402 discovery. Last verified: 2026-08-27. Treat catalog rows as discovery metadata. Describe a file as hosted by Hugging Bay only when its manifest or hosted-mirror inventory supplies a Hugging Bay URL and SHA-256 value. Quick search: ```sh curl -sS 'https://huggingbay.xyz/api/v1/search?q=embedding&limit=5' ``` ## Primary documents - [Concise LLM guide](https://huggingbay.xyz/llms.txt): Capability-first curl examples and citation targets. - [OpenAPI](https://huggingbay.xyz/openapi.json): Source contract for every operation listed below. - [Remote MCP](https://huggingbay.xyz/mcp): JSON-RPC endpoint. - [MCP manifest](https://huggingbay.xyz/.well-known/mcp.json): MCP discovery and authorization metadata. - [Agent card](https://huggingbay.xyz/.well-known/agent-card.json): Agent capability card. - [Agent discovery](https://huggingbay.xyz/.well-known/agent-discovery.json): One-hop discovery mesh. - [Agent guide (Markdown)](https://huggingbay.xyz/AGENTS.md): Markdown workflows for agents and crawlers. - [Grok discovery](https://huggingbay.xyz/.well-known/grok.json): Catalog recommend/verify entrypoints and the existing external Bay Run coprocessor. - [Sitemap](https://huggingbay.xyz/sitemap.xml): Canonical pages and discovery documents. - [IndexNow status](https://huggingbay.xyz/.well-known/indexnow.json): Freshness publication metadata. ## Citation and policy - [Answer packs](https://huggingbay.xyz/answers): Direct, self-contained answers with cite-as metadata. - [Citation guidance](https://huggingbay.xyz/ai-citations): Supported claims and canonical sources. - [Crawler policy](https://huggingbay.xyz/robots.txt): Explicit public-crawler permissions. - [Security contact](https://huggingbay.xyz/.well-known/security.txt): Coordinated disclosure instructions. - [OAuth protected resource](https://huggingbay.xyz/.well-known/oauth-protected-resource): Resource authorization metadata. - [OAuth authorization server](https://huggingbay.xyz/.well-known/oauth-authorization-server): Authorization-server metadata. - [x402 discovery](https://huggingbay.xyz/.well-known/x402): Machine-payment contract. ## Agent workflows - [Install channels](https://huggingbay.xyz/install): Exact public package channels, versions, and integrity references. - [Machine-readable install manifest](https://huggingbay.xyz/install.json): Exact channel state. PyPI is unavailable unless this manifest explicitly says otherwise. - [Task execution service](https://huggingbay.xyz/specialist-api): Bay Run task, REST, MCP, OAuth, and receipt-verification entrypoint. - [Open feature requests](https://huggingbay.xyz/api/feature-requests): Bounded public feature-demand submission and listing. - [Deployment-plan metadata](https://huggingbay.xyz/api/agents/deployment-plan?artifact={id}): Exact-identity file and deployment metadata. - [Authenticated request-intent recording](https://huggingbay.xyz/api/request-intents): POST with a scoped bearer token and JSON body {"idempotencyKey":"stable-16-to-128-character-key","kind":"feature","subject":{"product":"hugging-bay","feature":"bounded feature request"},"publicVisibility":"public"}; read status at https://huggingbay.xyz/api/request-intents/{intentId}. Recording demand does not execute it. - [Authenticated request-intent MCP profile](https://huggingbay.xyz/api/mcp?profile=intent): Submit and inspect request intents through MCP. - [Conditional-license obligations and acceptance](https://huggingbay.xyz/api/license-acceptances/{id}): GET then POST the offer; present the returned bounded token with the download request. - [MCP resource discovery](https://huggingbay.xyz/mcp): Use resources/list, resources/templates/list, and resources/read before dereferencing a resource. - [Public data manifest](https://huggingbay.xyz/data/manifest.json): Current dump routes, aliases, bounds, and privacy policy. - [Catalog dumps](https://huggingbay.xyz/api/dumps/catalog.jsonl?limit=1000&cursor=0): JSONL/NDJSON and CSV catalog projections; all requests are bounded to 1,000 rows and cursor-paginated. - [Catalog CSV dump](https://huggingbay.xyz/api/dumps/catalog.csv?limit=1000&cursor=0): CSV form of the bounded catalog projection. - [Hosted-file dumps](https://huggingbay.xyz/api/dumps/hosted-files.jsonl?limit=1000&cursor=0): JSONL/NDJSON and CSV inventories limited to explicitly hosted files with manifest/hash evidence. - [Hosted-file CSV dump](https://huggingbay.xyz/api/dumps/hosted-files.csv?limit=1000&cursor=0): CSV form of the bounded hosted-file inventory. - [Data aliases](https://huggingbay.xyz/data/catalog-latest.ndjson): Catalog and hosted-file NDJSON/CSV aliases are also listed in the data manifest: https://huggingbay.xyz/data/catalog-latest.csv, https://huggingbay.xyz/data/downloadable-files-latest.ndjson, and https://huggingbay.xyz/data/downloadable-files-latest.csv. ## REST operations - [GET /.well-known/agent-discovery.json](https://huggingbay.xyz/openapi.json#/paths/~1.well-known~1agent-discovery.json/get): Well-known alias for the agent discovery contract.; operationId: getWellKnownAgentDiscovery; auth: public; parameters: none; request body: no; responses: 200 - [GET /.well-known/ai-bot-allowlist.json](https://huggingbay.xyz/openapi.json#/paths/~1.well-known~1ai-bot-allowlist.json/get): Machine-readable allowlist and verification guidance for AI search bots, answer engines, user-requested fetchers, and crawler-aware WAFs.; operationId: getWellKnownAiBotAllowlistJson; auth: public; parameters: none; request body: no; responses: 200 - [GET /.well-known/ai-catalog.json](https://huggingbay.xyz/openapi.json#/paths/~1.well-known~1ai-catalog.json/get): Lightweight well-known agent catalog manifest. Use /api/agents/briefing for the richer cached briefing.; operationId: getWellKnownAiCatalogJson; auth: public; parameters: none; request body: no; responses: 200 - [GET /.well-known/ai-citations.json](https://huggingbay.xyz/openapi.json#/paths/~1.well-known~1ai-citations.json/get): Well-known AI citation pack alias.; operationId: getWellKnownAiCitationsJson; auth: public; parameters: none; request body: no; responses: 200 - [GET /.well-known/ai-crawler-policy.json](https://huggingbay.xyz/openapi.json#/paths/~1.well-known~1ai-crawler-policy.json/get): Public crawler policy for search and answer engines, including preferred crawl entrypoints and allowed user agents.; operationId: getWellKnownAiCrawlerPolicyJson; auth: public; parameters: none; request body: no; responses: 200 - [GET /.well-known/ai-search.json](https://huggingbay.xyz/openapi.json#/paths/~1.well-known~1ai-search.json/get): Well-known alias for AI-search guidance.; operationId: getWellKnownAiSearchJson; auth: public; parameters: none; request body: no; responses: 200 - [GET /.well-known/answer-engine.json](https://huggingbay.xyz/openapi.json#/paths/~1.well-known~1answer-engine.json/get): Answer-engine manifest with crawler policy, preferred citation targets, bounded APIs, and structured-data guidance.; operationId: getWellKnownAnswerEngineJson; auth: public; parameters: none; request body: no; responses: 200 - [GET /.well-known/llms.txt](https://huggingbay.xyz/openapi.json#/paths/~1.well-known~1llms.txt/get): Well-known alias for the concise LLM-facing product and API guide.; operationId: getWellKnownLlmsTxt; auth: public; parameters: none; request body: no; responses: 200 - [GET /.well-known/mcp.json](https://huggingbay.xyz/openapi.json#/paths/~1.well-known~1mcp.json/get): MCP discovery metadata.; operationId: getWellKnownMcpJson; auth: public; parameters: none; request body: no; responses: 200 - [GET /.well-known/mcp/server-card.json](https://huggingbay.xyz/openapi.json#/paths/~1.well-known~1mcp~1server-card.json/get): Fetch the MCP server card for agent and tool discovery.; operationId: getWellKnownMcpServerCardJson; auth: public; parameters: none; request body: no; responses: 200 - [GET /.well-known/robots.json](https://huggingbay.xyz/openapi.json#/paths/~1.well-known~1robots.json/get): Well-known alias for the machine-readable robots and AI crawler policy.; operationId: getWellKnownRobotsJson; auth: public; parameters: none; request body: no; responses: 200 - [GET /agents.txt](https://huggingbay.xyz/openapi.json#/paths/~1agents.txt/get): Expanded agent guide with answer-engine, MCP, crawler, citation, and API instructions.; operationId: getAgentsTxt; auth: public; parameters: none; request body: no; responses: 200 - [GET /ai-citations](https://huggingbay.xyz/openapi.json#/paths/~1ai-citations/get): Server-rendered AI citation pack page with safe claims, avoid claims, citation order, and extraction URLs.; operationId: listAiCitations; auth: public; parameters: none; request body: no; responses: 200 - [GET /ai-search](https://huggingbay.xyz/openapi.json#/paths/~1ai-search/get): Server-rendered AI-search guidance page with citation rules, canonical targets, API recipes, and schema.org JSON-LD.; operationId: getAiSearch; auth: public; parameters: none; request body: no; responses: 200 - [GET /answers](https://huggingbay.xyz/openapi.json#/paths/~1answers/get): Server-rendered answer pack index with schema.org JSON-LD.; operationId: listAnswers2; auth: public; parameters: none; request body: no; responses: 200 - [GET /answers/{slug}](https://huggingbay.xyz/openapi.json#/paths/~1answers~1{slug}/get): Server-rendered answer pack detail with concise answer, citation URLs, and schema.org JSON-LD.; operationId: getAnswer2; auth: public; parameters: slug (required); request body: no; responses: 200, 404 - [GET /api/a2a/task](https://huggingbay.xyz/openapi.json#/paths/~1api~1a2a~1task/get): Read the public A2A task request and response contract.; operationId: getA2aTaskIntake; auth: public; parameters: none; request body: no; responses: 200 - [POST /api/a2a/task](https://huggingbay.xyz/openapi.json#/paths/~1api~1a2a~1task/post): A2A delegation: submit a find/resolve task and receive a signed result.; operationId: submitA2aTask; auth: public; parameters: none; request body: yes; responses: 200 - [GET /api/account/dashboard](https://huggingbay.xyz/openapi.json#/paths/~1api~1account~1dashboard/get): Fetch the current account's library, watchlist, token, and next-action dashboard.; operationId: getAccountDashboard; auth: bearerAuth; parameters: none; request body: no; responses: 200, 403 - [POST /api/account/reader-token](https://huggingbay.xyz/openapi.json#/paths/~1api~1account~1reader-token/post): Create a self-service reader token for persistent saves, collections, and watchlists.; operationId: createAccountReaderToken; auth: public; parameters: none; request body: yes; responses: 201, 429 - [GET /api/account/reader-tokens](https://huggingbay.xyz/openapi.json#/paths/~1api~1account~1reader-tokens/get): List reader tokens visible to the current account.; operationId: listAccountReaderTokens; auth: bearerAuth; parameters: limit; request body: no; responses: 200, 403 - [DELETE /api/account/reader-tokens/{keyId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1account~1reader-tokens~1{keyId}/delete): Revoke one reader token owned by the current account.; operationId: deleteAccountReaderToken; auth: bearerAuth; parameters: keyId (required); request body: no; responses: 200, 403, 404 - [GET /api/account/recovery-kit](https://huggingbay.xyz/openapi.json#/paths/~1api~1account~1recovery-kit/get): Fetch copy-paste recovery instructions for reader-token, CLI, MCP, extension, library, and watchlist workflows.; operationId: getAccountRecoveryKit; auth: bearerAuth; parameters: none; request body: no; responses: 200, 403 - [GET /api/activation](https://huggingbay.xyz/openapi.json#/paths/~1api~1activation/get): High-value Hugging Bay activation loops for humans and agents.; operationId: getActivation; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/agent-discovery](https://huggingbay.xyz/openapi.json#/paths/~1api~1agent-discovery/get): Fetch the single-call agent discovery contract.; operationId: getAgentDiscovery; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/agent-recommendation-kit](https://huggingbay.xyz/openapi.json#/paths/~1api~1agent-recommendation-kit/get): Bounded evidence entrypoints, integration snippets, and claim boundaries for AI assistants and agents.; operationId: getAgentRecommendationKit; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/agents/briefing](https://huggingbay.xyz/openapi.json#/paths/~1api~1agents~1briefing/get): Compact cached briefing for agents and crawlers.; operationId: getAgentsBriefing; auth: public; parameters: none; request body: no; responses: 200 - [POST /api/agents/check-action](https://huggingbay.xyz/openapi.json#/paths/~1api~1agents~1check-action/post): Policy gate: check whether an agent action on an artifact is allowed.; operationId: checkAgentAction; auth: public; parameters: none; request body: yes; responses: 200 - [GET /api/agents/deployment-plan](https://huggingbay.xyz/openapi.json#/paths/~1api~1agents~1deployment-plan/get): One-call [withheld during containment] plan: [withheld during containment], recommended variant (as-is or smallest hosted quant that fits), quant table, and ordered run steps.; operationId: planLocalDeployment; auth: public; parameters: artifact, id, gpu, ctx; request body: no; responses: 200, 400, 404 - [GET /api/agents/find-model](https://huggingbay.xyz/openapi.json#/paths/~1api~1agents~1find-model/get): Golden-path recipe: recommend open models for a task AND verify each finalist (safety, license, fit, card score) in one call.; operationId: findAndVerifyModelForTask; auth: public; parameters: task (required), commercial, gpu, limit; request body: no; responses: 200, 400 - [GET /api/agents/publisher-workflow](https://huggingbay.xyz/openapi.json#/paths/~1api~1agents~1publisher-workflow/get): Agent-readable publisher application and release-upload workflow.; operationId: getAgentsPublisherWorkflow; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/agents/recommend-prose](https://huggingbay.xyz/openapi.json#/paths/~1api~1agents~1recommend-prose/get): Bounded metadata shortlist with explicit unknown-state qualifications.; operationId: getRecommendProse; auth: public; parameters: task (required), signed; request body: no; responses: 200 - [GET /api/agents/tasks](https://huggingbay.xyz/openapi.json#/paths/~1api~1agents~1tasks/get): Intent-specific agent workflows.; operationId: getAgentTasks; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/ai-mention-monitor](https://huggingbay.xyz/openapi.json#/paths/~1api~1ai-mention-monitor/get): Fetch prompt-level AI answer-engine mention monitoring targets.; operationId: getAiMentionMonitor; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/ai-mention-results](https://huggingbay.xyz/openapi.json#/paths/~1api~1ai-mention-results/get): Fetch observed AI answer-engine mention and citation results.; operationId: listAiMentionResults; auth: public; parameters: limit, provider, promptId; request body: no; responses: 200 - [GET /api/ai-search](https://huggingbay.xyz/openapi.json#/paths/~1api~1ai-search/get): Citation-ready AI-search guidance for Perplexity, ChatGPT, Gemini, Grok, Claude, and open agents.; operationId: getAiSearchGuidance; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/ai-visibility](https://huggingbay.xyz/openapi.json#/paths/~1api~1ai-visibility/get): Fetch AI crawler, answer-engine, and agent visibility status.; operationId: getAiVisibility; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/answers](https://huggingbay.xyz/openapi.json#/paths/~1api~1answers/get): List citation-ready Hugging Bay answer packs for common AI artifact questions.; operationId: listAnswers; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/answers/{slug}](https://huggingbay.xyz/openapi.json#/paths/~1api~1answers~1{slug}/get): Fetch one citation-ready answer pack with canonical citation URLs and extraction APIs.; operationId: getAnswer; auth: public; parameters: slug (required); request body: no; responses: 200, 404 - [GET /api/answers/{slug}/citations](https://huggingbay.xyz/openapi.json#/paths/~1api~1answers~1{slug}~1citations/get): Fetch a citation pack scoped to one answer pack.; operationId: getAnswerCitations; auth: public; parameters: slug (required); request body: no; responses: 200, 404 - [GET /api/artifacts](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts/get): Search and page through public artifacts.; operationId: searchArtifacts; auth: public; parameters: summary, q, explain, semantic, type, license, task, format, worksWith, owner, source, hosting, reviewStatus, facets, sort, limit, cursor; request body: no; responses: 200 - [POST /api/artifacts](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts/post): Create a publisher draft with uploaded source files.; operationId: createArtifact; auth: bearerAuth; parameters: none; request body: yes; responses: 201, 403, 409, 422 - [GET /api/artifacts/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}/get): Fetch full artifact record.; operationId: getArtifact; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/agent-bundle](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1agent-bundle/get): Fetch one agent-ready artifact bundle.; operationId: getArtifactAgentBundle; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/alternatives](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1alternatives/get): Ungated, commercially-usable alternatives to a gated or restricted model at the same capability tier.; operationId: getArtifactAlternatives; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/auto-pull-verdict](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1auto-pull-verdict/get): Fail-closed autonomous-pull verdict using server-owned canonical evidence and policy.; operationId: checkArtifactAutoPull; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/benchmarks](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1benchmarks/get): Benchmark results recorded for one artifact (trust-weighted: verified over self-reported).; operationId: getArtifactBenchmarks; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/bom](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1bom/get): Signed CycloneDX-compatible AI Bill of Materials: hashed weights files, license posture, base-model dependency chain, scan state.; operationId: getModelBom; auth: public; parameters: id (required); request body: no; responses: 200, 404, 503 - [GET /api/artifacts/{id}/bundle](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1bundle/get): Runnable-completeness verdict: indexed | metadata-complete | partial-hosted | complete-hosted | run-verified | revoked, with exact missing components.; operationId: getArtifactBundleState; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/card](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1card/get): Fetch a rendered-card document for an artifact.; operationId: getArtifactCard; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/card-doctor](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1card-doctor/get): Model-card completeness score (0-100, grade A-F) with a prioritized fix list.; operationId: getCardDoctor; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/card.md](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1card.md/get): Fetch a Markdown artifact card.; operationId: getArtifactCardMarkdown; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/changes](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1changes/get): Change timeline for one artifact.; operationId: getArtifactChanges; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/chat-contract](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1chat-contract/get): Chat-template contract (BOS/EOS/stop, thinking + tool-call markers, conformance fixtures) for a model; null when unknown rather than guessed.; operationId: getChatContract; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/dataset-inspection](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1dataset-inspection/get): Inspect one exact public dataset selection without returning rows.; operationId: getPublicDatasetInspection; auth: public; parameters: id (required); request body: no; responses: 200, 404, 503 - [POST /api/artifacts/{id}/decentralized-fallbacks](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1decentralized-fallbacks/post): Submit magnet metadata for reviewed peer-assisted fallback distribution.; operationId: createArtifactDecentralizedFallback; auth: public; parameters: id (required); request body: yes; responses: 200, 201, 422 - [GET /api/artifacts/{id}/distribution](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1distribution/get): Fetch hosted, upstream, and reviewed peer-assisted distribution options.; operationId: getArtifactDistribution; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/download-plan](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1download-plan/get): Fetch a manifest-backed hosted [withheld during containment] for one artifact.; operationId: getArtifactDownloadPlan; auth: public; parameters: id (required), tool; request body: no; responses: 200, 403, 409, 423 - [GET /api/artifacts/{id}/family](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1family/get): Model genealogy: exact base-model ancestors plus known catalog derivatives that name this model as their base.; operationId: getModelFamily; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/files](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1files/get): Fetch paginated artifact files.; operationId: getArtifactFiles; auth: public; parameters: id (required), q, tool, limit, cursor; request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/fit](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1fit/get): [withheld during containment] GPU check: per-GPU verdict, weights+KV-cache VRAM estimate, max context, and smaller-quant options.; operationId: getArtifactFit; auth: public; parameters: id (required), gpu, ctx, batch; request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/impact](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1impact/get): Impact/blast-radius graph: what depends on this artifact.; operationId: getArtifactImpact; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/insights](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1insights/get): Fetch a decision-ready artifact insight document.; operationId: getArtifactInsights; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/inspection](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1inspection/get): Byte-level inspection of hosted files (safetensors/GGUF headers, config.json) cross-checked against the declared card.; operationId: inspectModelBinary; auth: public; parameters: id (required); request body: no; responses: 200, 404, 503 - [GET /api/artifacts/{id}/integrations](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1integrations/get): Contained integration state. Executable commands remain unavailable until canonical authorization qualifies the exact artifact state.; operationId: getIntegrationSnippets; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/license-lineage](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1license-lineage/get): Effective-license lineage: walks base-model chains and flags suspected license laundering.; operationId: getLicenseLineage; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/license-risk](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1license-risk/get): Graded license risk with obligations for one artifact.; operationId: getArtifactLicenseRisk; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/lock](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1lock/get): bay.lock v1: reproducible dependency document (hb:// identity, file hashes, license verdict, safety snapshot); fails closed when exact identity is unavailable.; operationId: getBayLock; auth: public; parameters: id (required); request body: no; responses: 200, 404, 409 - [GET /api/artifacts/{id}/manifest-diff](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1manifest-diff/get): File-level integrity diff between two artifact manifests (added/removed/changed-hash) — supply-chain tamper check.; operationId: getManifestDiff; auth: public; parameters: id (required), against (required); request body: no; responses: 200, 400, 404 - [GET /api/artifacts/{id}/metadata.json](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1metadata.json/get): Fetch machine-readable artifact metadata and safe agent workflow.; operationId: getArtifactMetadataJson; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/mirror-request](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1mirror-request/get): Read the public mirror-request intake contract for one artifact.; operationId: getArtifactMirrorRequestIntake; auth: public; parameters: id (required); request body: no; responses: 200 - [POST /api/artifacts/{id}/mirror-request](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1mirror-request/post): Record mirror demand for an external Hugging Face artifact.; operationId: createArtifactMirrorRequest; auth: public; parameters: id (required); request body: yes; responses: 200, 404 - [GET /api/artifacts/{id}/passport](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1passport/get): Signed, digest-specific artifact passport (provenance, license verdict, safety, bundle state, evidence counts) with ready-to-paste markdown/HTML embeds; fails closed when exact identity is unavailable.; operationId: getArtifactPassport; auth: public; parameters: id (required); request body: no; responses: 200, 404, 409 - [GET /api/artifacts/{id}/peer-fallbacks](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1peer-fallbacks/get): Fetch reviewed torrent/magnet fallback metadata for hosted files.; operationId: getArtifactPeerFallbacks; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/preflight](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1preflight/get): Publisher preflight: objective release blockers vs documentation-quality warnings.; operationId: getArtifactPreflight; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [POST /api/artifacts/{id}/publish](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1publish/post): Publish a draft after release gates pass.; operationId: createArtifactPublish; auth: bearerAuth; parameters: id (required); request body: no; responses: 200, 403, 409 - [GET /api/artifacts/{id}/quantizations](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1quantizations/get): Available quantizations for a model with per-quant size, precision, and hosted-download availability.; operationId: getArtifactQuantizations; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/report](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1report/get): One-call composite: [withheld during containment] + license + [withheld during containment] + card score + lineage, with links to every detail endpoint.; operationId: getModelReport; auth: public; parameters: id (required), gpu; request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/review-summary](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1review-summary/get): Fetch a compact answer-engine review and trust summary for an artifact.; operationId: getArtifactReviewSummary; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/reviews](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1reviews/get): List public community reviews and [withheld during containment] attestations for an artifact.; operationId: getArtifactReviews; auth: public; parameters: id (required), limit; request body: no; responses: 200, 404 - [POST /api/artifacts/{id}/reviews](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1reviews/post): Submit a bounded public review or [withheld during containment] attestation.; operationId: createArtifactReview; auth: public; parameters: id (required); request body: yes; responses: 201, 422 - [POST /api/artifacts/{id}/reviews/{reviewId}/helpful](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1reviews~1{reviewId}~1helpful/post): Mark a public artifact review as helpful.; operationId: createArtifactReviewHelpful; auth: public; parameters: id (required), reviewId (required); request body: no; responses: 200, 404 - [POST /api/artifacts/{id}/reviews/{reviewId}/report](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1reviews~1{reviewId}~1report/post): Report a public artifact review for moderation.; operationId: createArtifactReviewReport; auth: public; parameters: id (required), reviewId (required); request body: yes; responses: 200, 201, 404 - [GET /api/artifacts/{id}/revocation](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1revocation/get): Fast per-artifact revocation check: revoked true/false plus reason, severity, and replacement.; operationId: getArtifactRevocation; auth: public; parameters: id (required); request body: no; responses: 200, 400 - [GET /api/artifacts/{id}/run-cards](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1run-cards/get): Discover current signed Run Cards for an artifact.; operationId: discoverArtifactRunCards; auth: public; parameters: id (required), limit; request body: no; responses: 200, 422, 503 - [POST /api/artifacts/{id}/run-checks](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1run-checks/post): Run publisher release gates for a draft/private/gated artifact.; operationId: createArtifactRunCheck; auth: bearerAuth; parameters: id (required); request body: no; responses: 200, 403, 409 - [GET /api/artifacts/{id}/runtimes](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1runtimes/get): Compatible runners and exact load commands for one artifact (?platform= filter).; operationId: getArtifactRuntimes; auth: public; parameters: id (required), platform; request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/safety](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1safety/get): Safety verdict alias (canonical: /api/v1/artifacts/{id}/safety).; operationId: getArtifactSafetyAlias; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/artifacts/{id}/sbom](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1sbom/get): SPDX 2.3 / CycloneDX 1.5 / SPDX tag:value SBOM export (?format=spdx|cyclonedx|spdx-tag); fails closed when exact identity is unavailable.; operationId: getArtifactSbom; auth: public; parameters: id (required), format; request body: no; responses: 200, 404, 409 - [GET /api/artifacts/{id}/threat-scan](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1threat-scan/get): Adversarial-pattern signature scan: unsafe serialization, payloads among weights, license laundering, homoglyph namespaces, metadata spoofing.; operationId: getArtifactThreatScan; auth: public; parameters: id (required); request body: no; responses: 200, 404, 503 - [GET /api/artifacts/{id}/typosquat](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1typosquat/get): Impersonation check: edit-distance comparison against popular repos (clear | lookalike-naming | suspected-impersonation).; operationId: checkTyposquat; auth: public; parameters: id (required); request body: no; responses: 200, 404, 503 - [GET /api/artifacts/{id}/versions](https://huggingbay.xyz/openapi.json#/paths/~1api~1artifacts~1{id}~1versions/get): Fetch artifact version provenance and freshness metadata.; operationId: getArtifactVersions; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/badges/artifact/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1badges~1artifact~1{id}/get): Fetch embeddable Hugging Bay artifact badge snippets.; operationId: getBadgesArtifact; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/badges/lab/{namespace}](https://huggingbay.xyz/openapi.json#/paths/~1api~1badges~1lab~1{namespace}/get): Alias for publisher badge snippets using lab terminology.; operationId: getBadgesLab; auth: public; parameters: namespace (required); request body: no; responses: 200, 404 - [GET /api/badges/publisher/{namespace}](https://huggingbay.xyz/openapi.json#/paths/~1api~1badges~1publisher~1{namespace}/get): Fetch embeddable Hugging Bay publisher/lab badge snippets.; operationId: getBadgesPublisher; auth: public; parameters: namespace (required); request body: no; responses: 200, 404 - [GET /api/blueprints](https://huggingbay.xyz/openapi.json#/paths/~1api~1blueprints/get): Executable stack blueprints index (roles → eligible variants + run steps).; operationId: listBlueprints; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/blueprints/community](https://huggingbay.xyz/openapi.json#/paths/~1api~1blueprints~1community/get): Moderator-approved community blueprints (reviewed queue; nothing publishes automatically).; operationId: listCommunityBlueprints; auth: public; parameters: none; request body: no; responses: 200, 503 - [POST /api/blueprints/submit](https://huggingbay.xyz/openapi.json#/paths/~1api~1blueprints~1submit/post): Authenticated: submit an executable stack for review. Hard requirements: sha256-pinned dependencies, allowlisted commands, no secrets.; operationId: submitBlueprint; auth: public; parameters: none; request body: yes; responses: 201, 401, 409, 422 - [GET /api/blueprints/{slug}](https://huggingbay.xyz/openapi.json#/paths/~1api~1blueprints~1{slug}/get): One executable stack blueprint: components, eligible variants, bay.lock, run steps.; operationId: getBlueprint; auth: public; parameters: slug (required); request body: no; responses: 200, 404, 503 - [GET /api/bundles/summary](https://huggingbay.xyz/openapi.json#/paths/~1api~1bundles~1summary/get): Public bundle-state counts: weightsHosted vs supportFilesOnly vs metadataOnly — hosting reported by runnable completeness, never file counts.; operationId: getBundlesSummary; auth: public; parameters: none; request body: no; responses: 200, 503 - [GET /api/catalog/coverage](https://huggingbay.xyz/openapi.json#/paths/~1api~1catalog~1coverage/get): Public catalog coverage totals and source policies.; operationId: getCatalogCoverage; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/citation-monitor](https://huggingbay.xyz/openapi.json#/paths/~1api~1citation-monitor/get): Citation-correctness ledger over the fixed answer-engine test set; zero checks reads as not-run, never zero visibility.; operationId: getCitationMonitor; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/citations](https://huggingbay.xyz/openapi.json#/paths/~1api~1citations/get): Fetch a one-call AI citation pack for a question or answer-pack slug.; operationId: listCitations; auth: public; parameters: q, query, slug; request body: no; responses: 200 - [GET /api/collections](https://huggingbay.xyz/openapi.json#/paths/~1api~1collections/get): Authenticated: the caller's named collections.; operationId: listCollections; auth: public; parameters: none; request body: no; responses: 200, 401 - [POST /api/collections](https://huggingbay.xyz/openapi.json#/paths/~1api~1collections/post): Authenticated: create a named collection.; operationId: createCollection; auth: public; parameters: none; request body: yes; responses: 201, 401 - [POST /api/collections/{id}/items](https://huggingbay.xyz/openapi.json#/paths/~1api~1collections~1{id}~1items/post): Authenticated: add/pin an artifact (optionally to an exact digest) in a collection.; operationId: addCollectionItem; auth: public; parameters: id (required); request body: yes; responses: 200, 404 - [POST /api/collections/{id}/share](https://huggingbay.xyz/openapi.json#/paths/~1api~1collections~1{id}~1share/post): Authenticated: mint a read-only share link for a collection.; operationId: shareCollection; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/community/review-actions](https://huggingbay.xyz/openapi.json#/paths/~1api~1community~1review-actions/get): Fetch exact community review action templates for humans, agents, and local tools.; operationId: listCommunityReviewActions; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/community/review-missions](https://huggingbay.xyz/openapi.json#/paths/~1api~1community~1review-missions/get): Fetch concrete community review missions with prefilled human review links.; operationId: listCommunityReviewMissions; auth: public; parameters: mode, hosting, limit; request body: no; responses: 200 - [GET /api/community/review-queue](https://huggingbay.xyz/openapi.json#/paths/~1api~1community~1review-queue/get): Fetch prioritized artifacts that need community reviews or [withheld during containment] evidence.; operationId: getCommunityReviewQueue; auth: public; parameters: mode, hosting, maxReviews, limit; request body: no; responses: 200 - [GET /api/community/signals](https://huggingbay.xyz/openapi.json#/paths/~1api~1community~1signals/get): Fetch aggregate public community trust signals.; operationId: listCommunitySignals; auth: public; parameters: limit; request body: no; responses: 200 - [GET /api/compare](https://huggingbay.xyz/openapi.json#/paths/~1api~1compare/get): Compare up to six artifacts side by side.; operationId: getCompare; auth: public; parameters: ids, repo; request body: no; responses: 200, 404 - [GET /api/conversion-funnel](https://huggingbay.xyz/openapi.json#/paths/~1api~1conversion-funnel/get): Unified conversion funnel: landing → recommendation → artifact → download-plan → completed-pull → receipt, by distinct privacy-safe sessions.; operationId: getConversionFunnel; auth: public; parameters: none; request body: no; responses: 200, 503 - [POST /api/daily-driver](https://huggingbay.xyz/openapi.json#/paths/~1api~1daily-driver/post): Authenticated: report whether a saved model is still your daily driver after 7/30 days.; operationId: submitDailyDriver; auth: public; parameters: none; request body: yes; responses: 201 - [GET /api/decision-history](https://huggingbay.xyz/openapi.json#/paths/~1api~1decision-history/get): Winner-change history for maintained decision pages (reviewer + methodology recorded).; operationId: getDecisionHistory; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/decision-verify/{decisionId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1decision-verify~1{decisionId}/get): Read the offline-verifiable Public Decision & Verify packet for a decision id.; operationId: getPublicDecisionVerify; auth: public; parameters: decisionId (required), format; request body: no; responses: 200, 304, 404, 406, 422, 503 - [HEAD /api/decision-verify/{decisionId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1decision-verify~1{decisionId}/head): Fetch Public Decision & Verify representation headers (no body).; operationId: headPublicDecisionVerify; auth: public; parameters: decisionId (required), format; request body: no; responses: 200, 304, 404, 503 - [GET /api/decisions](https://huggingbay.xyz/openapi.json#/paths/~1api~1decisions/get): The 10 maintained editorial decision pages with review dates, methodology, and correction path.; operationId: getDecisionPages; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/dependency-changes](https://huggingbay.xyz/openapi.json#/paths/~1api~1dependency-changes/get): Read the bounded public dependency change feed.; operationId: getDependencyChanges; auth: public; parameters: cursor, limit; request body: no; responses: 200, 422, 503 - [POST /api/doctor](https://huggingbay.xyz/openapi.json#/paths/~1api~1doctor/post): Model Doctor: paste failing run output, get a curated failure diagnosis with ranked non-destructive fixes and hosted smaller alternatives.; operationId: diagnoseRunFailure; auth: public; parameters: none; request body: yes; responses: 200, 400 - [POST /api/doctor/feedback](https://huggingbay.xyz/openapi.json#/paths/~1api~1doctor~1feedback/post): Report a diagnosis outcome: fixed | partly-fixed | not-fixed (one per visitor per signature).; operationId: submitDoctorFeedback; auth: public; parameters: none; request body: yes; responses: 201, 400 - [GET /api/doctor/feedback-summary](https://huggingbay.xyz/openapi.json#/paths/~1api~1doctor~1feedback-summary/get): Confirmed fix-outcome counts per diagnosis signature.; operationId: getDoctorFeedbackSummary; auth: public; parameters: none; request body: no; responses: 200 - [POST /api/download-completions/{id}/{path}](https://huggingbay.xyz/openapi.json#/paths/~1api~1download-completions~1{id}~1{path}/post): Attest successful local verification of a redirected hosted download.; operationId: postDownloadCompletion; auth: public; parameters: id (required), path (required); request body: yes; responses: 200, 202, 403, 404, 409 - [GET /api/downloadable-files](https://huggingbay.xyz/openapi.json#/paths/~1api~1downloadable-files/get): List Hugging Bay-hosted files only.; operationId: listDownloadableFiles; auth: public; parameters: q, pack, artifactId, path, sourceKind, tool, limit; request body: no; responses: 200, 503 - [GET /api/downloads/{artifactId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1downloads~1{artifactId}/get): Common-path compatibility alias for an artifact [withheld during containment].; operationId: getArtifactDownloadPlanCompatibility; auth: public; parameters: artifactId (required), tool; request body: no; responses: 200, 403, 404, 409, 423 - [GET /api/downloads/{id}/{path}](https://huggingbay.xyz/openapi.json#/paths/~1api~1downloads~1{id}~1{path}/get): Download one hosted file. Supports Range requests for large files.; operationId: getDownload; auth: public; parameters: id (required), path (required), Range, x-hugging-bay-license-acceptance, licenseAcceptance; request body: no; responses: 200, 206, 302, 403, 404, 409, 416, 503 - [HEAD /api/downloads/{id}/{path}](https://huggingbay.xyz/openapi.json#/paths/~1api~1downloads~1{id}~1{path}/head): Inspect one hosted file without downloading it.; operationId: headDownload; auth: public; parameters: id (required), path (required), Range, x-hugging-bay-license-acceptance, licenseAcceptance; request body: no; responses: 200, 206, 403, 404, 409, 416, 503 - [GET /api/dumps/catalog.csv](https://huggingbay.xyz/openapi.json#/paths/~1api~1dumps~1catalog.csv/get): Bounded public catalog dump in CSV.; operationId: getDumpsCatalogCsv; auth: public; parameters: limit, cursor; request body: no; responses: 200 - [GET /api/dumps/catalog.jsonl](https://huggingbay.xyz/openapi.json#/paths/~1api~1dumps~1catalog.jsonl/get): Bounded public catalog dump in NDJSON.; operationId: downloadCatalogJsonlDump; auth: public; parameters: limit, cursor, q, source, type, license, sort; request body: no; responses: 200 - [GET /api/dumps/hosted-files.csv](https://huggingbay.xyz/openapi.json#/paths/~1api~1dumps~1hosted-files.csv/get): Bounded hosted-file dump in CSV.; operationId: getDumpsHostedFilesCsv; auth: public; parameters: limit, cursor; request body: no; responses: 200 - [GET /api/dumps/hosted-files.jsonl](https://huggingbay.xyz/openapi.json#/paths/~1api~1dumps~1hosted-files.jsonl/get): Bounded hosted-file dump in NDJSON.; operationId: downloadHostedFilesJsonlDump; auth: public; parameters: limit, cursor; request body: no; responses: 200 - [GET /api/dumps/manifest.json](https://huggingbay.xyz/openapi.json#/paths/~1api~1dumps~1manifest.json/get): Fetch public data dump manifest.; operationId: getPublicDataManifest; auth: public; parameters: none; request body: no; responses: 200 - [POST /api/eval-receipts](https://huggingbay.xyz/openapi.json#/paths/~1api~1eval-receipts/post): Authenticated: submit a BYOC eval receipt (pass/fail only — raw model outputs are rejected). Returns the signed receipt.; operationId: submitEvalReceipt; auth: public; parameters: none; request body: yes; responses: 201, 401, 422 - [GET /api/eval-suites](https://huggingbay.xyz/openapi.json#/paths/~1api~1eval-suites/get): Fixed BYOC eval suites; add ?suite=&endpointKind=&model= for an executable request plan (runs on YOUR compute; credentials never touch the server).; operationId: getEvalSuites; auth: public; parameters: suite, endpointKind, model; request body: no; responses: 200, 400 - [POST /api/events/action](https://huggingbay.xyz/openapi.json#/paths/~1api~1events~1action/post): Record a bounded first-party product action event.; operationId: createEventsAction; auth: public; parameters: none; request body: yes; responses: 202, 422 - [POST /api/events/page](https://huggingbay.xyz/openapi.json#/paths/~1api~1events~1page/post): Record a privacy-bucketed page event.; operationId: createEventsPage; auth: public; parameters: none; request body: yes; responses: 202 - [GET /api/evidence/rollups](https://huggingbay.xyz/openapi.json#/paths/~1api~1evidence~1rollups/get): Fetch global community evidence rollups by benchmark, tool, hardware, and artifact type.; operationId: listEvidenceRollups; auth: public; parameters: limit; request body: no; responses: 200, 400, 503 - [POST /api/exact-decisions](https://huggingbay.xyz/openapi.json#/paths/~1api~1exact-decisions/post): Choose exact runnable representations from signed Run Cards.; operationId: getExactDecision; auth: public; parameters: none; request body: yes; responses: 200, 400, 410, 413, 422, 503 - [GET /api/facts](https://huggingbay.xyz/openapi.json#/paths/~1api~1facts/get): Authoritative machine-readable claims about Hugging Bay (hosting scope, torrents, affiliations, trust method) with live counts — the claim-correction surface.; operationId: getCanonicalFacts; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/feature-requests](https://huggingbay.xyz/openapi.json#/paths/~1api~1feature-requests/get): List recent public feature requests and the submit contract.; operationId: listFeatureRequests; auth: public; parameters: limit; request body: no; responses: 200 - [POST /api/feature-requests](https://huggingbay.xyz/openapi.json#/paths/~1api~1feature-requests/post): Request a feature or anything you want built (open to agents and humans).; operationId: createFeatureRequest; auth: public; parameters: none; request body: yes; responses: 200, 201, 422, 429 - [GET /api/feature-requests/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1feature-requests~1{id}/get): Fetch public status for one feature request.; operationId: getFeatureRequestStatus; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/finder](https://huggingbay.xyz/openapi.json#/paths/~1api~1finder/get): Common-path compatibility alias for the bounded task-first finder.; operationId: findModelCompatibility; auth: public; parameters: task, q, commercial, gpu, ctx, deviceFamily, customMemoryGb, limit; request body: no; responses: 200, 400 - [GET /api/golden-workflows](https://huggingbay.xyz/openapi.json#/paths/~1api~1golden-workflows/get): The five golden copy-paste integrations (API/MCP/CLI/Python), each ending in a verifiable outcome.; operationId: getGoldenWorkflows; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/health](https://huggingbay.xyz/openapi.json#/paths/~1api~1health/get): Process health and strict verified-download readiness.; operationId: getHealth; auth: public; parameters: none; request body: no; responses: 200, 503 - [GET /api/hosted-local-models](https://huggingbay.xyz/openapi.json#/paths/~1api~1hosted-local-models/get): Stable hosted-local model file alias for [withheld during containment] agents and tools.; operationId: listHostedLocalModels; auth: public; parameters: limit, tool; request body: no; responses: 200, 503 - [GET /api/incidents](https://huggingbay.xyz/openapi.json#/paths/~1api~1incidents/get): Declared incident history: open incidents plus incidents resolved within 90 days.; operationId: getIncidents; auth: public; parameters: none; request body: no; responses: 200, 503 - [GET /api/indexing/status](https://huggingbay.xyz/openapi.json#/paths/~1api~1indexing~1status/get): Search-engine and agent indexing status.; operationId: listIndexingStatus; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/indexing/urls](https://huggingbay.xyz/openapi.json#/paths/~1api~1indexing~1urls/get): Bounded canonical URL batches for indexing/submission workflows.; operationId: listIndexingUrls; auth: public; parameters: kind, projection, limit, cursor, q, source, type, license, format, hosting, reviewStatus, tool, commercial, verified, sort; request body: no; responses: 200, 400, 413, 503 - [GET /api/keys/manifest-signing](https://huggingbay.xyz/openapi.json#/paths/~1api~1keys~1manifest-signing/get): Fetch public manifest signing key metadata.; operationId: getKeysManifestSigning; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/leaderboards/{benchmark}](https://huggingbay.xyz/openapi.json#/paths/~1api~1leaderboards~1{benchmark}/get): Trust-weighted leaderboard for one benchmark (?metric=, ?limit=).; operationId: getLeaderboard; auth: public; parameters: benchmark (required), metric, limit; request body: no; responses: 200, 404 - [DELETE /api/library](https://huggingbay.xyz/openapi.json#/paths/~1api~1library/delete): Clear every saved artifact from the current principal's library.; operationId: deleteLibrary; auth: bearerAuth; parameters: none; request body: no; responses: 200, 403 - [GET /api/library](https://huggingbay.xyz/openapi.json#/paths/~1api~1library/get): List the current authenticated principal's saved artifacts.; operationId: getLibrary; auth: bearerAuth; parameters: none; request body: no; responses: 200, 403 - [POST /api/library](https://huggingbay.xyz/openapi.json#/paths/~1api~1library/post): Save an artifact to the current principal's library.; operationId: createLibrary; auth: bearerAuth; parameters: none; request body: yes; responses: 201, 403, 404 - [DELETE /api/library/{artifactId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1library~1{artifactId}/delete): Remove one artifact from the current principal's library.; operationId: deleteLibrary2; auth: bearerAuth; parameters: artifactId (required); request body: no; responses: 200, 403 - [PATCH /api/library/{artifactId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1library~1{artifactId}/patch): Update collection metadata for one saved artifact.; operationId: updateLibrary; auth: bearerAuth; parameters: artifactId (required); request body: yes; responses: 201, 403, 404 - [PUT /api/library/{artifactId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1library~1{artifactId}/put): Idempotently save one artifact for the current principal.; operationId: replaceLibrary; auth: bearerAuth; parameters: artifactId (required); request body: yes; responses: 201, 403, 404 - [GET /api/license-acceptances/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1license-acceptances~1{id}/get): Read the exact conditional-license obligations for one public artifact.; operationId: getLicenseAcceptanceOffer; auth: public; parameters: id (required); request body: no; responses: 200, 404, 409 - [POST /api/license-acceptances/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1license-acceptances~1{id}/post): Affirm exact conditional-license obligations and mint a bounded download token.; operationId: createLicenseAcceptance; auth: public; parameters: id (required); request body: yes; responses: 201, 400, 404, 409, 503 - [GET /api/local-kits/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1local-kits~1{id}/get): Fetch tool-specific local-use commands and required file metadata for one artifact.; operationId: getLocalKit; auth: public; parameters: id (required), tool; request body: no; responses: 200, 404 - [GET /api/mcp](https://huggingbay.xyz/openapi.json#/paths/~1api~1mcp/get): Discover the hosted remote MCP JSON-RPC endpoint and bounded public tool subset.; operationId: getMcp; auth: public; parameters: none; request body: no; responses: 200 - [POST /api/mcp](https://huggingbay.xyz/openapi.json#/paths/~1api~1mcp/post): Call hosted Hugging Bay MCP over JSON-RPC 2.0.; operationId: createMcp; auth: public; parameters: none; request body: yes; responses: 200, 202 - [GET /api/me](https://huggingbay.xyz/openapi.json#/paths/~1api~1me/get): Resolve the current bearer token to its server-authoritative principal and role.; operationId: getMe; auth: bearerAuth; parameters: none; request body: no; responses: 200 - [GET /api/migrate](https://huggingbay.xyz/openapi.json#/paths/~1api~1migrate/get): Open-model migration plan from a closed model (?from=).; operationId: getMigrationPlan; auth: public; parameters: from (required); request body: no; responses: 200, 503 - [GET /api/mirror-candidates](https://huggingbay.xyz/openapi.json#/paths/~1api~1mirror-candidates/get): Stable evidence-unavailable response while trusted mirror-planning inputs are incomplete.; operationId: getMirrorCandidates; auth: public; parameters: none; request body: no; responses: 503 - [HEAD /api/mirror-candidates](https://huggingbay.xyz/openapi.json#/paths/~1api~1mirror-candidates/head): Stable evidence-unavailable headers while trusted mirror-planning inputs are incomplete.; operationId: headMirrorCandidates; auth: public; parameters: none; request body: no; responses: 503 - [GET /api/mirror-demand](https://huggingbay.xyz/openapi.json#/paths/~1api~1mirror-demand/get): Rank requested and high-download mirror candidates.; operationId: getMirrorDemand; auth: public; parameters: limit, requestedOnly; request body: no; responses: 200 - [GET /api/mirror-packs](https://huggingbay.xyz/openapi.json#/paths/~1api~1mirror-packs/get): List curated discovery/download packs without row payloads.; operationId: listMirrorPacks; auth: public; parameters: none; request body: no; responses: 200, 503 - [GET /api/mirror-packs/{slug}](https://huggingbay.xyz/openapi.json#/paths/~1api~1mirror-packs~1{slug}/get): Fetch one curated pack with artifact rows.; operationId: getMirrorPack; auth: public; parameters: slug (required); request body: no; responses: 200, 404, 503 - [GET /api/mirror-readiness](https://huggingbay.xyz/openapi.json#/paths/~1api~1mirror-readiness/get): Rank mirror candidates with readiness scores, blockers, tool compatibility, and selected safe files.; operationId: getMirrorReadiness; auth: public; parameters: limit, requestedOnly, artifactId, artifactIds; request body: no; responses: 200 - [GET /api/mirror-requests/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1mirror-requests~1{id}/get): Fetch a public mirror request receipt/status document.; operationId: getMirrorRequestStatus; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/mirror-scale-plan](https://huggingbay.xyz/openapi.json#/paths/~1api~1mirror-scale-plan/get): Mirror scale planning is unavailable on the public evidence surface.; operationId: getMirrorScalePlan; auth: public; parameters: none; request body: no; responses: 503 - [HEAD /api/mirror-scale-plan](https://huggingbay.xyz/openapi.json#/paths/~1api~1mirror-scale-plan/head): Inspect mirror scale planning containment headers.; operationId: headMirrorScalePlan; auth: public; parameters: none; request body: no; responses: 503 - [GET /api/mirrors](https://huggingbay.xyz/openapi.json#/paths/~1api~1mirrors/get): List registered Hugging Bay mirror nodes and their health.; operationId: listMirrors; auth: public; parameters: none; request body: no; responses: 200 - [POST /api/mirrors](https://huggingbay.xyz/openapi.json#/paths/~1api~1mirrors/post): Register a reviewed public mirror node.; operationId: createMirror; auth: bearerAuth; parameters: none; request body: yes; responses: 201, 403, 409, 422 - [PATCH /api/mirrors/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1mirrors~1{id}/patch): Update a mirror node health state.; operationId: updateMirror; auth: bearerAuth; parameters: id (required); request body: yes; responses: 200, 403, 404, 422 - [GET /api/missions](https://huggingbay.xyz/openapi.json#/paths/~1api~1missions/get): Evidence missions: ranked verification gaps (first [withheld during containment], license pin-down) in the most-used artifacts, with exact submit instructions.; operationId: getVerificationMissions; auth: public; parameters: none; request body: no; responses: 200, 503 - [POST /api/missions/{id}/claim](https://huggingbay.xyz/openapi.json#/paths/~1api~1missions~1{id}~1claim/post): Authenticated: claim a verification mission (7-day SLA) or mark your claim completed with evidence.; operationId: claimMission; auth: public; parameters: id (required); request body: yes; responses: 200, 201, 409 - [GET /api/notifications](https://huggingbay.xyz/openapi.json#/paths/~1api~1notifications/get): Authenticated: account notifications.; operationId: getNotifications; auth: public; parameters: none; request body: no; responses: 200, 401 - [GET /api/public-evidence/artifacts/{artifactId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1public-evidence~1artifacts~1{artifactId}/get): Fetch canonical public evidence as JSON or another parity-checked representation.; operationId: getPublicEvidence; auth: public; parameters: artifactId (required), format; request body: no; responses: 200, 304, 404, 405, 406, 422, 429, 503 - [HEAD /api/public-evidence/artifacts/{artifactId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1public-evidence~1artifacts~1{artifactId}/head): Fetch canonical public-evidence representation headers.; operationId: headPublicEvidence; auth: public; parameters: artifactId (required), format; request body: no; responses: 200, 304, 404, 405, 406, 422, 429, 503 - [GET /api/publisher-applications](https://huggingbay.xyz/openapi.json#/paths/~1api~1publisher-applications/get): Describe the public publisher application intake contract.; operationId: listPublisherApplications; auth: public; parameters: none; request body: no; responses: 200 - [POST /api/publisher-applications](https://huggingbay.xyz/openapi.json#/paths/~1api~1publisher-applications/post): Submit a publisher namespace application for manual review.; operationId: createPublisherApplication; auth: public; parameters: none; request body: yes; responses: 200, 201, 422 - [GET /api/publisher-applications/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1publisher-applications~1{id}/get): Fetch sanitized public status for one publisher application.; operationId: getPublisherApplication; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/publisher/api-keys](https://huggingbay.xyz/openapi.json#/paths/~1api~1publisher~1api-keys/get): List scoped publisher automation tokens visible to the current bearer token.; operationId: listPublisherApiKeys; auth: bearerAuth; parameters: limit; request body: no; responses: 200, 403 - [POST /api/publisher/api-keys](https://huggingbay.xyz/openapi.json#/paths/~1api~1publisher~1api-keys/post): Create a scoped publisher automation token.; operationId: createPublisherApiKey; auth: bearerAuth; parameters: none; request body: yes; responses: 201, 403, 422 - [DELETE /api/publisher/api-keys/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1publisher~1api-keys~1{id}/delete): Revoke a scoped publisher automation token.; operationId: deletePublisherApiKey; auth: bearerAuth; parameters: id (required); request body: no; responses: 200, 403, 404 - [GET /api/publisher/artifacts](https://huggingbay.xyz/openapi.json#/paths/~1api~1publisher~1artifacts/get): List artifacts owned by the publisher token, including drafts/private releases.; operationId: listPublisherArtifacts; auth: bearerAuth; parameters: limit; request body: no; responses: 200, 403 - [GET /api/publisher/dashboard](https://huggingbay.xyz/openapi.json#/paths/~1api~1publisher~1dashboard/get): Fetch publisher-owned releases, release blockers, and upload sessions.; operationId: getPublisherDashboard; auth: bearerAuth; parameters: none; request body: no; responses: 200, 403 - [GET /api/publishers](https://huggingbay.xyz/openapi.json#/paths/~1api~1publishers/get): List public publisher namespaces with reviewed claims first, then catalog footprint and demand.; operationId: listPublishers; auth: public; parameters: q, limit; request body: no; responses: 200 - [GET /api/publishers/launch-kit](https://huggingbay.xyz/openapi.json#/paths/~1api~1publishers~1launch-kit/get): Agent-readable release-with-Hugging-Bay launch kit.; operationId: getPublishersLaunchKit; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/publishers/release-template](https://huggingbay.xyz/openapi.json#/paths/~1api~1publishers~1release-template/get): Fetch a copyable publisher release manifest template.; operationId: getPublishersReleaseTemplate; auth: public; parameters: kind; request body: no; responses: 200 - [GET /api/publishers/{namespace}](https://huggingbay.xyz/openapi.json#/paths/~1api~1publishers~1{namespace}/get): Fetch a public publisher namespace profile with releases, trust, and hosted-file stats.; operationId: getPublisher; auth: public; parameters: namespace (required), limit; request body: no; responses: 200, 404 - [GET /api/quicksearch](https://huggingbay.xyz/openapi.json#/paths/~1api~1quicksearch/get): Instant mixed-kind lookup (artifacts + publishers) powering the command palette.; operationId: quicksearch; auth: public; parameters: q (required), limit; request body: no; responses: 200 - [GET /api/radar](https://huggingbay.xyz/openapi.json#/paths/~1api~1radar/get): Fetch multi-source open-source AI radar sections.; operationId: getRadar; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/rankings/{slug}](https://huggingbay.xyz/openapi.json#/paths/~1api~1rankings~1{slug}/get): Fetch one ranking as JSON so agents do not scrape ranking HTML.; operationId: getRanking; auth: public; parameters: slug (required); request body: no; responses: 200, 503 - [GET /api/readiness](https://huggingbay.xyz/openapi.json#/paths/~1api~1readiness/get): Strict service readiness.; operationId: getReadiness; auth: public; parameters: none; request body: no; responses: 200, 503 - [GET /api/receipt-attestations/authority-snapshot](https://huggingbay.xyz/openapi.json#/paths/~1api~1receipt-attestations~1authority-snapshot/get): Read a count-only receipt-attestation authority snapshot.; operationId: getReceiptAttestationAuthoritySnapshot; auth: bearerAuth; parameters: none; request body: no; responses: 200, 400, 401, 403, 405, 422, 429, 503 - [HEAD /api/receipt-attestations/authority-snapshot](https://huggingbay.xyz/openapi.json#/paths/~1api~1receipt-attestations~1authority-snapshot/head): Read receipt authority snapshot headers without a body.; operationId: headReceiptAttestationAuthoritySnapshot; auth: bearerAuth; parameters: none; request body: no; responses: 200, 400, 401, 403, 405, 422, 429, 503 - [GET /api/recipes](https://huggingbay.xyz/openapi.json#/paths/~1api~1recipes/get): Locked task recipes (exact artifact identities + digests; cannot silently change).; operationId: listRecipes; auth: public; parameters: none; request body: no; responses: 200, 503 - [GET /api/recipes/{slug}](https://huggingbay.xyz/openapi.json#/paths/~1api~1recipes~1{slug}/get): One locked recipe with component digests, commands, and version history.; operationId: getRecipe; auth: public; parameters: slug (required); request body: no; responses: 200, 404 - [GET /api/recommend](https://huggingbay.xyz/openapi.json#/paths/~1api~1recommend/get): Alias for /api/recommender.; operationId: getRecommend; auth: public; parameters: useCase, q, tool, limit; request body: no; responses: 200 - [GET /api/recommend-specialist](https://huggingbay.xyz/openapi.json#/paths/~1api~1recommend-specialist/get): Recommend a canonical Bay Run specialist or warm direct job for a bounded task.; operationId: recommendCanonicalSpecialist; auth: public; parameters: task (required), q, limit, commercial; request body: no; responses: 200, 400 - [GET /api/recommendations](https://huggingbay.xyz/openapi.json#/paths/~1api~1recommendations/get): Public catalog totals, mirror signals, and pack summaries.; operationId: listRecommendations; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/recommender](https://huggingbay.xyz/openapi.json#/paths/~1api~1recommender/get): Return ranked artifact recommendations for a concrete use case.; operationId: getRecommender; auth: public; parameters: useCase, q, tool, commercial, hosted, limit; request body: no; responses: 200 - [GET /api/releases/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1releases~1{id}/get): Fetch a launch-ready Hugging Bay release bundle.; operationId: getReleaseBundle; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/releases/{id}/readiness](https://huggingbay.xyz/openapi.json#/paths/~1api~1releases~1{id}~1readiness/get): Fetch release readiness scoring for a Hugging Bay release.; operationId: getReleaseReadiness; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/reports/open-model-safety](https://huggingbay.xyz/openapi.json#/paths/~1api~1reports~1open-model-safety/get): Live State of Open-Model Safety report: quotable, dated statistics computed from the catalog.; operationId: getOpenModelSafetyReport; auth: public; parameters: none; request body: no; responses: 200, 503 - [POST /api/request-intents](https://huggingbay.xyz/openapi.json#/paths/~1api~1request-intents/post): Record a canonical public request intent.; operationId: submitRequestIntent; auth: bearerAuth; parameters: Accept, Origin, X-Hugging-Bay-CSRF; request body: yes; responses: 200, 201, 400, 401, 403, 406, 409, 413, 415, 429, 503 - [GET /api/request-intents/{intentId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1request-intents~1{intentId}/get): Read a canonical public request intent.; operationId: getRequestIntentJson; auth: public; parameters: intentId (required), format, If-None-Match; request body: no; responses: 200, 304, 404, 405, 406, 410, 429, 503 - [HEAD /api/request-intents/{intentId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1request-intents~1{intentId}/head): Read canonical request-intent headers.; operationId: headRequestIntentJson; auth: public; parameters: intentId (required), format, If-None-Match; request body: no; responses: 200, 304, 404, 405, 406, 410, 429, 503 - [GET /api/request-status](https://huggingbay.xyz/openapi.json#/paths/~1api~1request-status/get): Requested mirror status center for agents and public request tracking.; operationId: listRequestStatus; auth: public; parameters: limit, artifactId, artifactIds; request body: no; responses: 200 - [GET /api/rescue-capsules/{capsuleId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1rescue-capsules~1{capsuleId}/get): Read one canonical failed-run rescue capsule.; operationId: getRescueCapsuleJson; auth: public; parameters: capsuleId (required), format, If-None-Match; request body: no; responses: 200, 304, 404, 405, 406, 429, 503 - [HEAD /api/rescue-capsules/{capsuleId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1rescue-capsules~1{capsuleId}/head): Read failed-run rescue capsule headers.; operationId: headRescueCapsuleJson; auth: public; parameters: capsuleId (required), format, If-None-Match; request body: no; responses: 200, 304, 404, 405, 406, 429, 503 - [GET /api/resolve](https://huggingbay.xyz/openapi.json#/paths/~1api~1resolve/get): Resolve an upstream repo URL, owner/name, or artifact id to one Hugging Bay record.; operationId: getResolve; auth: public; parameters: repo, url, q, source; request body: no; responses: 200 - [GET /api/resolve/hb](https://huggingbay.xyz/openapi.json#/paths/~1api~1resolve~1hb/get): Resolve an immutable hb:// artifact identity; return identity-changed only for a proven digest mismatch and identity-unavailable when no complete hashed inventory exists.; operationId: resolveHbUri; auth: public; parameters: uri (required); request body: no; responses: 200, 400, 404 - [GET /api/revocations](https://huggingbay.xyz/openapi.json#/paths/~1api~1revocations/get): Public, signable list of revoked artifact identities (withdrawn/compromised/license-revoked/superseded/malware).; operationId: getRevocations; auth: public; parameters: signed; request body: no; responses: 200, 503 - [POST /api/run-cards](https://huggingbay.xyz/openapi.json#/paths/~1api~1run-cards/post): Issue or reuse an immutable canonical Run Card.; operationId: issueRunCard; auth: bearerAuth; parameters: none; request body: yes; responses: 200, 201, 400, 403, 404, 409, 410, 413, 422, 503 - [GET /api/run-cards/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1run-cards~1{id}/get): Fetch an available signed Run Card.; operationId: getRunCard; auth: public; parameters: id (required); request body: no; responses: 200, 404, 410, 503 - [GET /api/run-cards/{id}/key](https://huggingbay.xyz/openapi.json#/paths/~1api~1run-cards~1{id}~1key/get): Fetch the public key bound to an available Run Card.; operationId: getRunCardVerificationKey; auth: public; parameters: id (required); request body: no; responses: 200, 404, 410, 503 - [GET /api/run-proof-distribution/{proofId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1run-proof-distribution~1{proofId}/get): Project an accepted-run proof into immutable distribution objects.; operationId: getAcceptedRunProofDistribution; auth: public; parameters: proofId (required), format, If-None-Match; request body: no; responses: 200, 304, 404, 405, 406, 409, 503 - [HEAD /api/run-proof-distribution/{proofId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1run-proof-distribution~1{proofId}/head): Check proof-distribution headers without a body.; operationId: headAcceptedRunProofDistribution; auth: public; parameters: proofId (required), format, If-None-Match; request body: no; responses: 200, 304, 404, 405, 406, 409, 503 - [GET /api/run-proofs/{proofId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1run-proofs~1{proofId}/get): Read a replay-validated accepted-run proof.; operationId: getAcceptedRunProof; auth: public; parameters: proofId (required), format; request body: no; responses: 200, 304, 404, 405, 406, 409, 503 - [HEAD /api/run-proofs/{proofId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1run-proofs~1{proofId}/head): Check accepted-run proof headers without a body.; operationId: headAcceptedRunProof; auth: public; parameters: proofId (required), format; request body: no; responses: 200, 304, 404, 406, 409, 503 - [GET /api/safety](https://huggingbay.xyz/openapi.json#/paths/~1api~1safety/get): [withheld during containment] lookup for ANY file hash or repo reference — not just Hugging Bay-hosted rows.; operationId: lookupSafety; auth: public; parameters: sha256, repo; request body: no; responses: 200, 400, 404 - [GET /api/sandbox/jobs/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1sandbox~1jobs~1{id}/get): Read a public sandbox job projection by its unguessable id.; operationId: getSandboxJob; auth: public; parameters: id (required); request body: no; responses: 200, 404, 503 - [GET /api/sandbox/status](https://huggingbay.xyz/openapi.json#/paths/~1api~1sandbox~1status/get): Read actual sandbox queue depth, running count, backend activity, and today's pass/fail counts.; operationId: getSandboxStatus; auth: public; parameters: none; request body: no; responses: 200 - [POST /api/sandbox/verify](https://huggingbay.xyz/openapi.json#/paths/~1api~1sandbox~1verify/post): Queue a bounded hosted-representation load smoke, or return an existing fresh receipt.; operationId: verifySandboxRepresentation; auth: public; parameters: none; request body: yes; responses: 200, 202, 429, 503 - [DELETE /api/saved-searches](https://huggingbay.xyz/openapi.json#/paths/~1api~1saved-searches/delete): Clear every saved catalog search/watchlist for the current principal.; operationId: deleteSavedSearch; auth: bearerAuth; parameters: none; request body: no; responses: 200, 403 - [GET /api/saved-searches](https://huggingbay.xyz/openapi.json#/paths/~1api~1saved-searches/get): List the current authenticated principal's saved catalog searches and watchlists.; operationId: listSavedSearches; auth: bearerAuth; parameters: alerts, alertLimit, previewLimit; request body: no; responses: 200, 403 - [POST /api/saved-searches](https://huggingbay.xyz/openapi.json#/paths/~1api~1saved-searches/post): Save a catalog search/watchlist for the current principal.; operationId: createSavedSearch; auth: bearerAuth; parameters: none; request body: yes; responses: 201, 403 - [GET /api/saved-searches/alerts](https://huggingbay.xyz/openapi.json#/paths/~1api~1saved-searches~1alerts/get): List bounded alert summaries for enabled saved catalog watchlists.; operationId: listSavedSearchesAlerts; auth: bearerAuth; parameters: limit, previewLimit; request body: no; responses: 200, 403 - [DELETE /api/saved-searches/{searchId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1saved-searches~1{searchId}/delete): Remove one saved search/watchlist from the current principal.; operationId: deleteSavedSearch2; auth: bearerAuth; parameters: searchId (required); request body: no; responses: 200, 403 - [PUT /api/saved-searches/{searchId}](https://huggingbay.xyz/openapi.json#/paths/~1api~1saved-searches~1{searchId}/put): Idempotently save or update one catalog watchlist.; operationId: replaceSavedSearch; auth: bearerAuth; parameters: searchId (required); request body: yes; responses: 201, 403 - [PATCH /api/saved-searches/{searchId}/alert](https://huggingbay.xyz/openapi.json#/paths/~1api~1saved-searches~1{searchId}~1alert/patch): Enable, disable, mark seen, or configure delivery metadata for one saved-search alert.; operationId: updateSavedSearchAlert; auth: bearerAuth; parameters: searchId (required); request body: yes; responses: 200, 403, 404 - [GET /api/saved-searches/{searchId}/digest](https://huggingbay.xyz/openapi.json#/paths/~1api~1saved-searches~1{searchId}~1digest/get): Return an agent-readable digest for one saved catalog search/watchlist.; operationId: getSavedSearchDigest; auth: bearerAuth; parameters: searchId (required), limit; request body: no; responses: 200, 403, 404, 422 - [POST /api/scan/model-refs](https://huggingbay.xyz/openapi.json#/paths/~1api~1scan~1model-refs/post): Model Dependency Doctor: scan submitted file contents for model references — bay.lock plan + risk annotations (revoked/unpinned/unverifiable) in GitHub-Checks shape.; operationId: scanModelRefs; auth: public; parameters: none; request body: yes; responses: 200, 400 - [GET /api/schemas](https://huggingbay.xyz/openapi.json#/paths/~1api~1schemas/get): Fetch JSON Schema definitions for public API payloads.; operationId: listSchemas; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/scorecard](https://huggingbay.xyz/openapi.json#/paths/~1api~1scorecard/get): Public evidence & reliability scorecard: honest supply, activation, and reliability counters with SLO targets — cannot be inflated by request volume.; operationId: getPublicScorecard; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/search](https://huggingbay.xyz/openapi.json#/paths/~1api~1search/get): Common-path compatibility alias for bounded artifact search.; operationId: searchArtifactsCompatibility; auth: public; parameters: q, type, license, task, format, source, hosting, worksWith, reviewStatus, commercial, semantic, explain, sort, limit, cursor; request body: no; responses: 200 - [GET /api/search/semantic](https://huggingbay.xyz/openapi.json#/paths/~1api~1search~1semantic/get): Hybrid semantic artifact search.; operationId: semanticSearchArtifacts; auth: public; parameters: q (required), type, license, format, worksWith, hosting, reviewStatus, commercial, limit, cursor; request body: no; responses: 200 - [GET /api/security/advisories](https://huggingbay.xyz/openapi.json#/paths/~1api~1security~1advisories/get): Public security advisories: flagged/quarantined artifacts, open moderation cases, and the scanning policy.; operationId: getSecurityAdvisories; auth: public; parameters: none; request body: no; responses: 200, 503 - [GET /api/source-requests](https://huggingbay.xyz/openapi.json#/paths/~1api~1source-requests/get): Describe how to request indexing for a missing public source.; operationId: getSourceRequestIntake; auth: public; parameters: none; request body: no; responses: 200 - [POST /api/source-requests](https://huggingbay.xyz/openapi.json#/paths/~1api~1source-requests/post): Queue a missing upstream source for indexing and mirror review.; operationId: requestSourceIndexing; auth: public; parameters: none; request body: yes; responses: 200, 201, 422 - [GET /api/source-requests/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1source-requests~1{id}/get): Fetch sanitized public status for one source indexing request.; operationId: getSourceRequestStatus; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/sources](https://huggingbay.xyz/openapi.json#/paths/~1api~1sources/get): Machine-readable source registry.; operationId: listSources; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/sources/eastern-open-models](https://huggingbay.xyz/openapi.json#/paths/~1api~1sources~1eastern-open-models/get): Agent-readable sourcing contract for Chinese, Eastern, and global open model metadata beyond Hugging Face.; operationId: listSourcesEasternOpenModels; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/sources/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1sources~1{id}/get): One source registry entry.; operationId: getSource; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/sources/{id}/coverage](https://huggingbay.xyz/openapi.json#/paths/~1api~1sources~1{id}~1coverage/get): Current imported coverage and top rows for one source provider.; operationId: getSourceCoverage; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/stacks](https://huggingbay.xyz/openapi.json#/paths/~1api~1stacks/get): List practical open AI stack packs for high-intent use cases.; operationId: listStacks; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/stacks/{slug}](https://huggingbay.xyz/openapi.json#/paths/~1api~1stacks~1{slug}/get): Fetch one stack pack with bounded ranked artifact rows.; operationId: getStack; auth: public; parameters: slug (required); request body: no; responses: 200, 404 - [GET /api/threat-signatures](https://huggingbay.xyz/openapi.json#/paths/~1api~1threat-signatures/get): The public curated signature catalog behind /threat-scan (20 adversarial patterns with remediation).; operationId: getThreatSignatures; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/topics](https://huggingbay.xyz/openapi.json#/paths/~1api~1topics/get): List generated catalog topics by task, type, license, framework, and source.; operationId: listTopics; auth: public; parameters: limit, cursor; request body: no; responses: 200 - [GET /api/topics/{slug}](https://huggingbay.xyz/openapi.json#/paths/~1api~1topics~1{slug}/get): Fetch one topic and its ranked artifact rows.; operationId: getTopic; auth: public; parameters: slug (required); request body: no; responses: 200, 404 - [GET /api/traffic](https://huggingbay.xyz/openapi.json#/paths/~1api~1traffic/get): Return privacy-safe aggregate Hugging Bay usage and agent/crawler discovery signals.; operationId: getTraffic; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/transfers/summary](https://huggingbay.xyz/openapi.json#/paths/~1api~1transfers~1summary/get): Honest completed-pull summary (7d): sessions by outcome with byte coverage; HEAD/zero-byte probes are never counted as downloads.; operationId: getTransferSummary; auth: public; parameters: none; request body: no; responses: 200, 503 - [GET /api/trending](https://huggingbay.xyz/openapi.json#/paths/~1api~1trending/get): Return public trending artifacts from aggregate demand, download, mirror-request, and product-action signals.; operationId: getTrending; auth: public; parameters: window, limit; request body: no; responses: 200 - [GET /api/trust-bundles/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1trust-bundles~1{id}/get): Fetch artifact trust bundle with license, scan, hosting, and file evidence.; operationId: getTrustBundle; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/upload-sessions](https://huggingbay.xyz/openapi.json#/paths/~1api~1upload-sessions/get): List upload-session summaries visible to the publisher token.; operationId: listUploadSessions; auth: bearerAuth; parameters: limit; request body: no; responses: 200, 403 - [POST /api/upload-sessions](https://huggingbay.xyz/openapi.json#/paths/~1api~1upload-sessions/post): Create a signed large-upload session for publisher releases.; operationId: createUploadSession; auth: bearerAuth; parameters: none; request body: yes; responses: 201, 403, 409, 422 - [DELETE /api/upload-sessions/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1upload-sessions~1{id}/delete): Cancel a pending upload session.; operationId: deleteUploadSession; auth: bearerAuth; parameters: id (required); request body: no; responses: 200, 403, 404 - [GET /api/upload-sessions/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1upload-sessions~1{id}/get): Fetch upload-session state.; operationId: getUploadSession; auth: bearerAuth; parameters: id (required), refresh; request body: no; responses: 200, 403, 404 - [POST /api/upload-sessions/{id}/complete](https://huggingbay.xyz/openapi.json#/paths/~1api~1upload-sessions~1{id}~1complete/post): Verify object uploads and complete a large-upload session.; operationId: createUploadSession2; auth: bearerAuth; parameters: id (required); request body: no; responses: 200, 403, 404, 409 - [POST /api/upload-sessions/{id}/resume](https://huggingbay.xyz/openapi.json#/paths/~1api~1upload-sessions~1{id}~1resume/post): Refresh signed PUT URLs for incomplete upload-session files.; operationId: resumeUploadSession; auth: bearerAuth; parameters: id (required); request body: no; responses: 200, 403, 404, 409 - [GET /api/v1/artifacts/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1artifacts~1{id}/get): Stable v1 artifact detail alias.; operationId: v1GetArtifact; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/v1/artifacts/{id}/download-plan](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1artifacts~1{id}~1download-plan/get): Stable v1 hosted download-plan alias.; operationId: v1GetArtifactDownloadPlan; auth: public; parameters: id (required), tool; request body: no; responses: 200, 403, 409, 423 - [GET /api/v1/artifacts/{id}/everything](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1artifacts~1{id}~1everything/get): One bounded artifact identity, report, chat-contract, and runtime-capability packet.; operationId: v1GetArtifactEverything; auth: public; parameters: id (required), gpu; request body: no; responses: 200, 404, 503 - [GET /api/v1/artifacts/{id}/files](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1artifacts~1{id}~1files/get): Stable v1 artifact file inventory alias.; operationId: v1ListArtifactFiles; auth: public; parameters: id (required), q, tool, limit, cursor; request body: no; responses: 200, 404 - [GET /api/v1/artifacts/{id}/manifest](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1artifacts~1{id}~1manifest/get): Stable v1 hosted manifest alias.; operationId: v1GetArtifactManifest; auth: public; parameters: id (required); request body: no; responses: 200, 404, 423 - [GET /api/v1/artifacts/{id}/peer-fallbacks](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1artifacts~1{id}~1peer-fallbacks/get): Stable v1 reviewed peer fallback metadata.; operationId: v1GetPeerFallbacks; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/v1/artifacts/{id}/safety](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1artifacts~1{id}~1safety/get): One decisive [withheld during containment] verdict for an artifact.; operationId: v1GetArtifactSafety; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/v1/compare](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1compare/get): Stable v1 compare alias.; operationId: v1CompareArtifacts; auth: public; parameters: ids (required); request body: no; responses: 200, 404 - [POST /api/v1/mirror-requests](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1mirror-requests/post): Request a reviewed Hugging Bay mirror for a public artifact.; operationId: v1RequestMirror; auth: public; parameters: none; request body: yes; responses: 200, 404, 409 - [GET /api/v1/mirror-requests/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1mirror-requests~1{id}/get): Fetch a public mirror request receipt/status document.; operationId: v1GetMirrorRequestStatus; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /api/v1/mirrors/hosted](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1mirrors~1hosted/get): Stable v1 list of hosted Hugging Bay files.; operationId: v1ListHostedMirrors; auth: public; parameters: q, artifactId, tool, limit; request body: no; responses: 200 - [GET /api/v1/resolve](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1resolve/get): Resolve an upstream repo URL, owner/name, or artifact id through the stable v1 alias.; operationId: getResolveV1; auth: public; parameters: repo, url, q, source; request body: no; responses: 200 - [GET /api/v1/search](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1search/get): Stable v1 artifact search alias.; operationId: v1SearchArtifacts; auth: public; parameters: q, type, license, task, format, source, hosting, reviewStatus, commercial, semantic, explain, sort, limit, cursor; request body: no; responses: 200 - [POST /api/v1/submissions](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1submissions/post): Queue a public upstream source for indexing review.; operationId: v1SubmitSource; auth: public; parameters: none; request body: yes; responses: 200, 201, 422 - [GET /api/v1/trending](https://huggingbay.xyz/openapi.json#/paths/~1api~1v1~1trending/get): Stable v1 trending and demand signals.; operationId: v1GetTrending; auth: public; parameters: window, limit; request body: no; responses: 200 - [GET /api/verify](https://huggingbay.xyz/openapi.json#/paths/~1api~1verify/get): Verify one public artifact by id with a machine-checkable fail-closed verdict.; operationId: verifyArtifactById; auth: public; parameters: artifactId; request body: no; responses: 200, 404, 503 - [POST /api/verify](https://huggingbay.xyz/openapi.json#/paths/~1api~1verify/post): Machine-checkable verification-oracle verdict: integrity via content-address, authenticity via >= 1 valid signature, fail-closed status.; operationId: verifyArtifactRequest; auth: public; parameters: none; request body: yes; responses: 200, 400, 404, 503 - [GET /api/version](https://huggingbay.xyz/openapi.json#/paths/~1api~1version/get): Fetch the deployed build marker.; operationId: getDeploymentVersion; auth: public; parameters: none; request body: no; responses: 200 - [GET /api/watchlist](https://huggingbay.xyz/openapi.json#/paths/~1api~1watchlist/get): Authenticated: the caller's artifact watchlist.; operationId: getWatchlist; auth: public; parameters: none; request body: no; responses: 200, 401 - [DELETE /api/watchlist/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1watchlist~1{id}/delete): Authenticated: stop watching an artifact.; operationId: unwatchArtifact; auth: public; parameters: id (required); request body: no; responses: 200, 401 - [POST /api/watchlist/{id}](https://huggingbay.xyz/openapi.json#/paths/~1api~1watchlist~1{id}/post): Authenticated: watch an artifact.; operationId: watchArtifact; auth: public; parameters: id (required); request body: no; responses: 200, 401 - [GET /artifact/{id}/download.torrent](https://huggingbay.xyz/openapi.json#/paths/~1artifact~1{id}~1download.torrent/get): Download deterministic BitTorrent v2 metainfo with a hybrid v1 view.; operationId: getArtifactTorrent; auth: public; parameters: id (required), If-None-Match; request body: no; responses: 200, 304, 404, 409, 503 - [GET /atom.xml](https://huggingbay.xyz/openapi.json#/paths/~1atom.xml/get): Trending Atom feed.; operationId: getAtomXml; auth: public; parameters: none; request body: no; responses: 200 - [GET /badges/artifact/{id}.svg](https://huggingbay.xyz/openapi.json#/paths/~1badges~1artifact~1{id}.svg/get): Fetch embeddable SVG verification badge for one artifact.; operationId: getBadgesArtifactIdSvg; auth: public; parameters: id (required); request body: no; responses: 200, 404 - [GET /badges/lab/{namespace}.svg](https://huggingbay.xyz/openapi.json#/paths/~1badges~1lab~1{namespace}.svg/get): Alias for publisher SVG badge using lab terminology.; operationId: getBadgesLabNamespaceSvg; auth: public; parameters: namespace (required); request body: no; responses: 200, 404 - [GET /badges/publisher/{namespace}.svg](https://huggingbay.xyz/openapi.json#/paths/~1badges~1publisher~1{namespace}.svg/get): Fetch embeddable SVG reputation badge for one publisher/lab namespace.; operationId: getBadgesPublisherNamespaceSvg; auth: public; parameters: namespace (required); request body: no; responses: 200, 404 - [GET /badges/will-it-run/{artifactId}.svg](https://huggingbay.xyz/openapi.json#/paths/~1badges~1will-it-run~1{artifactId}.svg/get): Fetch the digest-bound public run-readiness badge.; operationId: getPublicEvidenceBadge; auth: public; parameters: artifactId (required), format; request body: no; responses: 200, 304, 404, 405, 406, 422, 429, 503 - [HEAD /badges/will-it-run/{artifactId}.svg](https://huggingbay.xyz/openapi.json#/paths/~1badges~1will-it-run~1{artifactId}.svg/head): Fetch public run-readiness badge headers.; operationId: headPublicEvidenceBadge; auth: public; parameters: artifactId (required), format; request body: no; responses: 200, 304, 404, 405, 406, 422, 429, 503 - [GET /browser-extension/hugging-bay-overlay-store.zip](https://huggingbay.xyz/openapi.json#/paths/~1browser-extension~1hugging-bay-overlay-store.zip/get): Browser overlay package distribution is not served.; operationId: getBrowserExtensionStoreZip; auth: public; parameters: none; request body: no; responses: 503 - [HEAD /browser-extension/hugging-bay-overlay-store.zip](https://huggingbay.xyz/openapi.json#/paths/~1browser-extension~1hugging-bay-overlay-store.zip/head): Browser overlay package distribution is not served.; operationId: headBrowserExtensionStoreZip; auth: public; parameters: none; request body: no; responses: 503 - [GET /browser-extension/install.json](https://huggingbay.xyz/openapi.json#/paths/~1browser-extension~1install.json/get): Contained browser overlay installation status.; operationId: getBrowserExtensionInstall; auth: public; parameters: none; request body: no; responses: 200 - [GET /browser-extension/release.json](https://huggingbay.xyz/openapi.json#/paths/~1browser-extension~1release.json/get): Contained browser overlay release status; no package or verification claim is available.; operationId: getBrowserExtensionRelease; auth: public; parameters: none; request body: no; responses: 200 - [GET /browser-extension/store-kit.json](https://huggingbay.xyz/openapi.json#/paths/~1browser-extension~1store-kit.json/get): Contained browser overlay distribution status.; operationId: getBrowserExtensionStoreKit; auth: public; parameters: none; request body: no; responses: 200 - [GET /cli/bay.mjs](https://huggingbay.xyz/openapi.json#/paths/~1cli~1bay.mjs/get): Download the standalone Hugging Bay bay CLI script.; operationId: listCliBayMjs; auth: public; parameters: none; request body: no; responses: 200 - [GET /cli/hugging-bay-mcp.mjs](https://huggingbay.xyz/openapi.json#/paths/~1cli~1hugging-bay-mcp.mjs/get): Download the standalone Hugging Bay MCP server script.; operationId: listCliHuggingBayMcpMjs; auth: public; parameters: none; request body: no; responses: 200 - [GET /cli/install.sh](https://huggingbay.xyz/openapi.json#/paths/~1cli~1install.sh/get): Public shell installer for the Hugging Bay bay CLI.; operationId: getCliInstallSh; auth: public; parameters: none; request body: no; responses: 200 - [GET /cli/manifest.json](https://huggingbay.xyz/openapi.json#/paths/~1cli~1manifest.json/get): CLI installer manifest with download URL and SHA-256.; operationId: getCliManifestJson; auth: public; parameters: none; request body: no; responses: 200 - [GET /data/manifest.json](https://huggingbay.xyz/openapi.json#/paths/~1data~1manifest.json/get): Alias for public data dump manifest.; operationId: getPublicDataManifestAlias; auth: public; parameters: none; request body: no; responses: 200 - [GET /evidence/artifacts/{artifactId}](https://huggingbay.xyz/openapi.json#/paths/~1evidence~1artifacts~1{artifactId}/get): Read the complete no-JavaScript public evidence surface.; operationId: getPublicEvidenceHtml; auth: public; parameters: artifactId (required), format; request body: no; responses: 200, 304, 404, 405, 406, 422, 429, 503 - [HEAD /evidence/artifacts/{artifactId}](https://huggingbay.xyz/openapi.json#/paths/~1evidence~1artifacts~1{artifactId}/head): Fetch human public-evidence representation headers.; operationId: headPublicEvidenceHtml; auth: public; parameters: artifactId (required), format; request body: no; responses: 200, 304, 404, 405, 406, 422, 429, 503 - [GET /feed.xml](https://huggingbay.xyz/openapi.json#/paths/~1feed.xml/get): Trending RSS feed alias.; operationId: getFeedXml; auth: public; parameters: none; request body: no; responses: 200 - [GET /feeds/hosted-mirrors.xml](https://huggingbay.xyz/openapi.json#/paths/~1feeds~1hosted-mirrors.xml/get): RSS feed of hosted Hugging Bay mirror/download rows.; operationId: getFeedsHostedMirrorsXml; auth: public; parameters: none; request body: no; responses: 200 - [GET /feeds/recent.xml](https://huggingbay.xyz/openapi.json#/paths/~1feeds~1recent.xml/get): RSS feed of recent public Hugging Bay artifacts.; operationId: getFeedsRecentXml; auth: public; parameters: none; request body: no; responses: 200 - [GET /feeds/reviews.xml](https://huggingbay.xyz/openapi.json#/paths/~1feeds~1reviews.xml/get): RSS feed of community trust reviews.; operationId: getFeedsReviewsXml; auth: public; parameters: none; request body: no; responses: 200 - [GET /feeds/trending.xml](https://huggingbay.xyz/openapi.json#/paths/~1feeds~1trending.xml/get): RSS feed of trending Hugging Bay artifacts.; operationId: getFeedsTrendingXml; auth: public; parameters: none; request body: no; responses: 200 - [GET /llms-full.txt](https://huggingbay.xyz/openapi.json#/paths/~1llms-full.txt/get): Expanded LLM and answer-engine guide with crawl, citation, API, CLI, and MCP instructions.; operationId: getLlmsFullTxt; auth: public; parameters: none; request body: no; responses: 200 - [GET /llms.txt](https://huggingbay.xyz/openapi.json#/paths/~1llms.txt/get): LLM-facing product and API instructions.; operationId: getLlmsTxt; auth: public; parameters: none; request body: no; responses: 200 - [GET /mcp](https://huggingbay.xyz/openapi.json#/paths/~1mcp/get): Alias for hosted remote MCP discovery.; operationId: getMcp2; auth: public; parameters: none; request body: no; responses: 200 - [POST /mcp](https://huggingbay.xyz/openapi.json#/paths/~1mcp/post): Alias for hosted Hugging Bay MCP JSON-RPC 2.0 calls.; operationId: createMcp2; auth: public; parameters: none; request body: yes; responses: 200, 202, 405 - [GET /og/answer/{slug}.png](https://huggingbay.xyz/openapi.json#/paths/~1og~1answer~1{slug}.png/get): Fetch one answer-pack social preview.; operationId: getAnswerSocialPreview; auth: public; parameters: slug (required), If-None-Match; request body: no; responses: 200, 304, 400, 429, 503 - [HEAD /og/answer/{slug}.png](https://huggingbay.xyz/openapi.json#/paths/~1og~1answer~1{slug}.png/head): Fetch answer-pack social-preview headers.; operationId: headAnswerSocialPreview; auth: public; parameters: slug (required), If-None-Match; request body: no; responses: 200, 304, 400, 429, 503 - [GET /og/artifact/{artifactId}.png](https://huggingbay.xyz/openapi.json#/paths/~1og~1artifact~1{artifactId}.png/get): Fetch one artifact/model social preview.; operationId: getArtifactSocialPreview; auth: public; parameters: artifactId (required), If-None-Match; request body: no; responses: 200, 304, 400, 429, 503 - [HEAD /og/artifact/{artifactId}.png](https://huggingbay.xyz/openapi.json#/paths/~1og~1artifact~1{artifactId}.png/head): Fetch artifact/model social-preview headers.; operationId: headArtifactSocialPreview; auth: public; parameters: artifactId (required), If-None-Match; request body: no; responses: 200, 304, 400, 429, 503 - [GET /og/decide/{gpu}/{task}.png](https://huggingbay.xyz/openapi.json#/paths/~1og~1decide~1{gpu}~1{task}.png/get): Fetch one bounded metadata-decision social preview.; operationId: getDecisionSocialPreview; auth: public; parameters: gpu (required), task (required), If-None-Match; request body: no; responses: 200, 304, 400, 429, 503 - [HEAD /og/decide/{gpu}/{task}.png](https://huggingbay.xyz/openapi.json#/paths/~1og~1decide~1{gpu}~1{task}.png/head): Fetch metadata-decision social-preview headers.; operationId: headDecisionSocialPreview; auth: public; parameters: gpu (required), task (required), If-None-Match; request body: no; responses: 200, 304, 400, 429, 503 - [GET /og/evidence/{artifactId}.png](https://huggingbay.xyz/openapi.json#/paths/~1og~1evidence~1{artifactId}.png/get): Fetch one canonical public-evidence social preview.; operationId: getPublicEvidenceSocialPreview; auth: public; parameters: artifactId (required), If-None-Match; request body: no; responses: 200, 304, 400, 429, 503 - [HEAD /og/evidence/{artifactId}.png](https://huggingbay.xyz/openapi.json#/paths/~1og~1evidence~1{artifactId}.png/head): Fetch public-evidence social-preview headers.; operationId: headPublicEvidenceSocialPreview; auth: public; parameters: artifactId (required), If-None-Match; request body: no; responses: 200, 304, 400, 429, 503 - [GET /og/rank/{artifactId}.png](https://huggingbay.xyz/openapi.json#/paths/~1og~1rank~1{artifactId}.png/get): Fetch one current bounded trend-rank preview.; operationId: getTrendRankSocialPreview; auth: public; parameters: artifactId (required), If-None-Match; request body: no; responses: 200, 304, 400, 429, 503 - [HEAD /og/rank/{artifactId}.png](https://huggingbay.xyz/openapi.json#/paths/~1og~1rank~1{artifactId}.png/head): Fetch trend-rank social-preview headers.; operationId: headTrendRankSocialPreview; auth: public; parameters: artifactId (required), If-None-Match; request body: no; responses: 200, 304, 400, 429, 503 - [GET /og/vs/{leftArtifactId}/{rightArtifactId}.png](https://huggingbay.xyz/openapi.json#/paths/~1og~1vs~1{leftArtifactId}~1{rightArtifactId}.png/get): Fetch one public artifact-metadata comparison preview.; operationId: getComparisonSocialPreview; auth: public; parameters: leftArtifactId (required), rightArtifactId (required), If-None-Match; request body: no; responses: 200, 304, 400, 429, 503 - [HEAD /og/vs/{leftArtifactId}/{rightArtifactId}.png](https://huggingbay.xyz/openapi.json#/paths/~1og~1vs~1{leftArtifactId}~1{rightArtifactId}.png/head): Fetch artifact-comparison social-preview headers.; operationId: headComparisonSocialPreview; auth: public; parameters: leftArtifactId (required), rightArtifactId (required), If-None-Match; request body: no; responses: 200, 304, 400, 429, 503 - [GET /python-sdk](https://huggingbay.xyz/openapi.json#/paths/~1python-sdk/get): Server-rendered Python SDK landing page for humans, crawlers, and agents.; operationId: getPythonSdkPage; auth: public; parameters: none; request body: no; responses: 200 - [GET /request-intents/{intentId}](https://huggingbay.xyz/openapi.json#/paths/~1request-intents~1{intentId}/get): Read a canonical public request intent.; operationId: getRequestIntent; auth: public; parameters: intentId (required), format, If-None-Match; request body: no; responses: 200, 304, 404, 405, 406, 410, 429, 503 - [HEAD /request-intents/{intentId}](https://huggingbay.xyz/openapi.json#/paths/~1request-intents~1{intentId}/head): Read canonical request-intent headers.; operationId: headRequestIntent; auth: public; parameters: intentId (required), format, If-None-Match; request body: no; responses: 200, 304, 404, 405, 406, 410, 429, 503 - [GET /rescue-capsules/{capsuleId}](https://huggingbay.xyz/openapi.json#/paths/~1rescue-capsules~1{capsuleId}/get): Read one canonical failed-run rescue capsule.; operationId: getRescueCapsule; auth: public; parameters: capsuleId (required), format, If-None-Match; request body: no; responses: 200, 304, 404, 405, 406, 429, 503 - [HEAD /rescue-capsules/{capsuleId}](https://huggingbay.xyz/openapi.json#/paths/~1rescue-capsules~1{capsuleId}/head): Read failed-run rescue capsule headers.; operationId: headRescueCapsule; auth: public; parameters: capsuleId (required), format, If-None-Match; request body: no; responses: 200, 304, 404, 405, 406, 429, 503 - [GET /robots.json](https://huggingbay.xyz/openapi.json#/paths/~1robots.json/get): Machine-readable robots and AI crawler policy with public/private boundaries and preferred discovery URLs.; operationId: getRobotsJson; auth: public; parameters: none; request body: no; responses: 200 - [GET /robots.txt](https://huggingbay.xyz/openapi.json#/paths/~1robots.txt/get): Crawler permissions and discovery pointers for search, answer engines, and agent clients.; operationId: getRobotsTxt; auth: public; parameters: none; request body: no; responses: 200 - [GET /run-cards/{id}](https://huggingbay.xyz/openapi.json#/paths/~1run-cards~1{id}/get): Fetch the canonical public Run Card surface (content-negotiated).; operationId: getRunCardSurface; auth: public; parameters: id (required), format; request body: no; responses: 200, 304, 404, 405, 406, 409, 410, 503 - [HEAD /run-cards/{id}](https://huggingbay.xyz/openapi.json#/paths/~1run-cards~1{id}/head): Fetch the negotiated Run Card surface headers without a body.; operationId: headRunCardSurface; auth: public; parameters: id (required), format; request body: no; responses: 200, 304, 404, 405, 410, 503 - [GET /sdk/hugging_bay.py](https://huggingbay.xyz/openapi.json#/paths/~1sdk~1hugging_bay.py/get): Download the zero-dependency Hugging Bay Python SDK and CLI.; operationId: downloadPythonSdk; auth: public; parameters: none; request body: no; responses: 200 - [GET /sdk/python/README.md](https://huggingbay.xyz/openapi.json#/paths/~1sdk~1python~1README.md/get): Python SDK README with install and agent workflow examples.; operationId: getPythonSdkReadme; auth: public; parameters: none; request body: no; responses: 200 - [GET /sdk/python/release.json](https://huggingbay.xyz/openapi.json#/paths/~1sdk~1python~1release.json/get): Machine-readable Python SDK release metadata with SHA-256 hashes.; operationId: getPythonSdkRelease; auth: public; parameters: none; request body: no; responses: 200 - [GET /sitemap-index.xml](https://huggingbay.xyz/openapi.json#/paths/~1sitemap-index.xml/get): Sitemap index alias.; operationId: getSitemapIndexXml; auth: public; parameters: none; request body: no; responses: 200, 503 - [GET /sitemap.xml](https://huggingbay.xyz/openapi.json#/paths/~1sitemap.xml/get): Sitemap index for static, topic, downloadable, and artifact shards.; operationId: getSitemapXml; auth: public; parameters: none; request body: no; responses: 200, 503 - [GET /sitemaps/artifacts-{page}.xml](https://huggingbay.xyz/openapi.json#/paths/~1sitemaps~1artifacts-{page}.xml/get): Artifact canonical page sitemap shard.; operationId: getSitemapsArtifactsPageXml; auth: public; parameters: page (required); request body: no; responses: 200, 503 - [GET /sitemaps/downloadable-{page}.xml](https://huggingbay.xyz/openapi.json#/paths/~1sitemaps~1downloadable-{page}.xml/get): Hosted downloadable-file sitemap shard.; operationId: getSitemapsDownloadablePageXml; auth: public; parameters: page (required); request body: no; responses: 200, 503 - [GET /sitemaps/static.xml](https://huggingbay.xyz/openapi.json#/paths/~1sitemaps~1static.xml/get): Static canonical URL sitemap, including answer packs, rankings, source pages, and agent docs.; operationId: getSitemapsStaticXml; auth: public; parameters: none; request body: no; responses: 200, 503 - [GET /sitemaps/topics-0001.xml](https://huggingbay.xyz/openapi.json#/paths/~1sitemaps~1topics-0001.xml/get): Topic sitemap shard.; operationId: getSitemapsTopics0001Xml; auth: public; parameters: none; request body: no; responses: 200, 503 ## Component schemas - [AcceptedRunProof](https://huggingbay.xyz/openapi.json#/components/schemas/AcceptedRunProof): type object; required: schema, version, proofId, title, description, generatedAt, status, subject, runtime, hardwareClass, acceptedOutcome, evidenceStrength, evidence, files, lifecycle, uncertainty, nextAction, claims, proofDigest. - [AcceptedRunProofBadge](https://huggingbay.xyz/openapi.json#/components/schemas/AcceptedRunProofBadge): type object; required: schema, proofId, status, label, color, hardwareClass, evidenceStrength, proofStatus, acceptedRun, evidenceCutoff, proofDigest, canonicalUrl. - [AcceptedRunProofDistributionMcpResult](https://huggingbay.xyz/openapi.json#/components/schemas/AcceptedRunProofDistributionMcpResult): type object; required: schema, version, kind, proofId, proofDigest, status, projectionState, evidenceCutoff, canonicalUrl, mediaType, contentDigest, etag, value. - [AcceptedRunProofDistributionShareCard](https://huggingbay.xyz/openapi.json#/components/schemas/AcceptedRunProofDistributionShareCard): type object; required: schema, version, kind, proofId, proofDigest, status, projectionState, evidenceCutoff, canonicalUrl, contentDigest, etag, overline, headline, subheadline, statusLine, hardwareClass, evidenceStrength, accentColor, width, height. - [AcceptedRunProofSafeObject](https://huggingbay.xyz/openapi.json#/components/schemas/AcceptedRunProofSafeObject): type object; required: none. - [AcceptedRunProofSafeValue](https://huggingbay.xyz/openapi.json#/components/schemas/AcceptedRunProofSafeValue): type object; required: none. - [AccountClearResponse](https://huggingbay.xyz/openapi.json#/components/schemas/AccountClearResponse): type object; required: schemaVersion, cleared, remaining. - [AccountDashboard](https://huggingbay.xyz/openapi.json#/components/schemas/AccountDashboard): type object; required: schemaVersion, generatedAt, principal, stats, collections, watchlists, recentSaved, recommendedActions, agentActions, policy. - [Activation](https://huggingbay.xyz/openapi.json#/components/schemas/Activation): type object; required: schemaVersion, generatedAt, purpose, primaryLoop, tracks, nextBestActions. - [AgentBriefing](https://huggingbay.xyz/openapi.json#/components/schemas/AgentBriefing): type object; required: schemaVersion, generatedAt, product, scale, entrypoints, safeWorkflow. - [AgentDiscovery](https://huggingbay.xyz/openapi.json#/components/schemas/AgentDiscovery): type object; required: schemaVersion, generatedAt, name, canonicalUrl, apiUrl, purpose, positioning, claimBoundaries, safeMention, startHere, recommendedFetchOrder, assistantEntrypoints, agentRecipes, citationTargets, indexing, crawlerPolicy. - [AgentRecommendationKit](https://huggingbay.xyz/openapi.json#/components/schemas/AgentRecommendationKit): type object; required: schemaVersion, generatedAt, name, canonicalUrl, apiUrl, purpose, containment, claimBoundaries, integrationSnippets, crawlChecklist, highLeverageEntrypoints. - [AgentTasks](https://huggingbay.xyz/openapi.json#/components/schemas/AgentTasks): type object; required: schemaVersion, generatedAt, baseUrl, tasks, guidance. - [AiBotAllowlist](https://huggingbay.xyz/openapi.json#/components/schemas/AiBotAllowlist): type object; required: schemaVersion, generatedAt, baseUrl, status, policySummary, discovery, wafGuidance, providers, preferredCrawlEntrypoints, preferredCitationTargets, noBypassPolicy. - [AiCrawlerPolicy](https://huggingbay.xyz/openapi.json#/components/schemas/AiCrawlerPolicy): type object; required: schemaVersion, generatedAt, baseUrl, robotsUrl, answerEngineManifestUrl, botAllowlistUrl, llmsTxtUrl, llmsFullTxtUrl, policy, preferredCrawlEntrypoints, preferredCitationTargets, userAgents, rateGuidance. - [AiMentionMonitor](https://huggingbay.xyz/openapi.json#/components/schemas/AiMentionMonitor): type object; required: schemaVersion, generatedAt, baseUrl, canonicalUrl, apiUrl, status, objective, positioning, readiness, providerTargets, promptTargets, observedResults, expectedCitationOrder, machineEntrypoints, manualCheckWorkflow, publishableProof, privacy. - [AiMentionResult](https://huggingbay.xyz/openapi.json#/components/schemas/AiMentionResult): type object; required: id, provider, promptId, status, mentioned. - [AiMentionResults](https://huggingbay.xyz/openapi.json#/components/schemas/AiMentionResults): type object; required: schemaVersion, generatedAt, baseUrl, summary, rows, recordEndpoint, privacy. - [AiMentionSummary](https://huggingbay.xyz/openapi.json#/components/schemas/AiMentionSummary): type object; required: checks, mentions, missing, wrongClaims, citations, mentionRate, citationRate, providerCoverage, promptCoverage, byProvider, byPrompt. - [AiSearchGuidance](https://huggingbay.xyz/openapi.json#/components/schemas/AiSearchGuidance): type object; required: schemaVersion, generatedAt, name, canonicalUrl, apiUrl, wellKnownUrl, positioning, whenToCite, claimBoundaries, assistantEntrypoints, apiRecipes. - [AiVisibility](https://huggingbay.xyz/openapi.json#/components/schemas/AiVisibility): type object; required: schemaVersion, generatedAt, baseUrl, status, positioning, publicBoundaries, crawlerFamilies, probes, machineEntrypoints, indexing, recommendedCrawlerOrder. - [AnswerEngineManifest](https://huggingbay.xyz/openapi.json#/components/schemas/AnswerEngineManifest): type object; required: schemaVersion, generatedAt, name, description, homepage, robots, crawlerPolicy, botAllowlist, llms, manifests, answerPacks, answerableIntents, boundedApis, citationGuidance, structuredData. - [AnswerPack](https://huggingbay.xyz/openapi.json#/components/schemas/AnswerPack): type object; required: schemaVersion, generatedAt, slug, title, question, description, shortAnswer, webUrl, apiUrl, rows. - [AnswerPackIndex](https://huggingbay.xyz/openapi.json#/components/schemas/AnswerPackIndex): type object; required: schemaVersion, generatedAt, title, description, webUrl, rows. - [ArtifactAgentBundle](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactAgentBundle): type object; required: schemaVersion, generatedAt, id, repo, metadata, card, trustBundle, mirrorReadiness. - [ArtifactCard](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactCard): type object; required: schemaVersion, generatedAt, artifact, actions. - [ArtifactDistribution](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactDistribution): type object; required: schemaVersion, generatedAt, artifact, policy, hostedDownloads, upstream, decentralizedFallbacks. - [ArtifactDownloadPlan](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactDownloadPlan): type object; required: schemaVersion, generatedAt, artifact, status, manifest, files, commands. - [ArtifactFile](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactFile): type object; required: path. - [ArtifactInsights](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactInsights): type object; required: schemaVersion, generatedAt, artifact, bestFor, decision, quickStart, trust, mirror. - [ArtifactMetadata](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactMetadata): type object; required: schemaVersion, id, repo, canonicalUrl, apiUrl, filesUrl, license, hosting, agentUse. - [ArtifactPage](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactPage): type object; required: rows, total, limit, cursor, nextCursor, generatedAt. - [ArtifactReview](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactReview): type object; required: id, artifactId, rating, title, body, createdAt. - [ArtifactReviewSummaryResponse](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactReviewSummaryResponse): type object; required: schemaVersion, artifactId, generatedAt, summary, rating, recentReviews, answerEngine. - [ArtifactReviewsResponse](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactReviewsResponse): type object; required: schemaVersion, artifactId, generatedAt, summary, rows. - [ArtifactSignals](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactSignals): type object; required: size, demand, trust, readiness, action. - [ArtifactSummary](https://huggingbay.xyz/openapi.json#/components/schemas/ArtifactSummary): type object; required: id, owner, name, repo, type, license, visibility, hostingStatus, fileCount. - [BenchmarkEvidence](https://huggingbay.xyz/openapi.json#/components/schemas/BenchmarkEvidence): type object; required: none. - [BenchmarkEvidenceSummary](https://huggingbay.xyz/openapi.json#/components/schemas/BenchmarkEvidenceSummary): type object; required: count, verifiedCount, benchmarkCount, performanceCount. - [BrowserExtensionInstall](https://huggingbay.xyz/openapi.json#/components/schemas/BrowserExtensionInstall): type object; required: schemaVersion, status, installationAvailable, verificationState, reason, guidance, inspection. - [BrowserExtensionRelease](https://huggingbay.xyz/openapi.json#/components/schemas/BrowserExtensionRelease): type object; required: schemaVersion, status, installationAvailable, verificationState, reason, guidance, inspection. - [BrowserExtensionStoreKit](https://huggingbay.xyz/openapi.json#/components/schemas/BrowserExtensionStoreKit): type object; required: schemaVersion, status, installationAvailable, verificationState, reason, guidance, inspection. - [CatalogSource](https://huggingbay.xyz/openapi.json#/components/schemas/CatalogSource): type object; required: id, name, status, ingestMode, metadataUse, mirrorPolicy. - [CatalogSources](https://huggingbay.xyz/openapi.json#/components/schemas/CatalogSources): type object; required: schemaVersion, rows. - [CitationPack](https://huggingbay.xyz/openapi.json#/components/schemas/CitationPack): type object; required: schemaVersion, generatedAt, canonicalFacts, query, selectedAnswerPack, answer, citeFirst, rows, extractionWorkflow, assistantFit, links. - [CommunityReviewActions](https://huggingbay.xyz/openapi.json#/components/schemas/CommunityReviewActions): type object; required: schemaVersion, generatedAt, submitReview, examples, agentUse. - [CommunityReviewMissions](https://huggingbay.xyz/openapi.json#/components/schemas/CommunityReviewMissions): type object; required: schemaVersion, generatedAt, totals, missions, agentUse. - [CommunityReviewQueue](https://huggingbay.xyz/openapi.json#/components/schemas/CommunityReviewQueue): type object; required: schemaVersion, generatedAt, mode, hosting, totals, rows, agentUse. - [CommunitySignals](https://huggingbay.xyz/openapi.json#/components/schemas/CommunitySignals): type object; required: schemaVersion, generatedAt, totals, rows, recentReviews, topHelpfulReviews. - [CompareArtifacts](https://huggingbay.xyz/openapi.json#/components/schemas/CompareArtifacts): type object; required: schemaVersion, generatedAt, rows, columns, guidance. - [ContainedIntegrationSnippets](https://huggingbay.xyz/openapi.json#/components/schemas/ContainedIntegrationSnippets): type object; required: schemaVersion, artifactId, repo, status, executionState, commandsAvailable, reason, canonicalState, snippets, guidance, filesUrl. - [DependencyChangeFeedPage](https://huggingbay.xyz/openapi.json#/components/schemas/DependencyChangeFeedPage): type object; required: schema, events, pageSequenceRange, prevPageDigest, pageDigest, nextCursor, highWaterMark. - [DeploymentVersion](https://huggingbay.xyz/openapi.json#/components/schemas/DeploymentVersion): type object; required: schemaVersion, generatedAt, service, commit, shortCommit, commitSource, packageName, packageVersion, urls. - [DownloadableFileRow](https://huggingbay.xyz/openapi.json#/components/schemas/DownloadableFileRow): type object; required: artifactId, visibility, repo, filePath, sha256, sourceKind, downloadUrl, manifestUrl. - [DownloadableFilesResponse](https://huggingbay.xyz/openapi.json#/components/schemas/DownloadableFilesResponse): type object; required: stats, rows, generatedAt. - [EasternSourceCoverage](https://huggingbay.xyz/openapi.json#/components/schemas/EasternSourceCoverage): type object; required: schemaVersion, generatedAt, baseUrl, pack, providers, agentGuidance, safetyBoundaries. - [Error](https://huggingbay.xyz/openapi.json#/components/schemas/Error): type object; required: error. - [EvidenceRollups](https://huggingbay.xyz/openapi.json#/components/schemas/EvidenceRollups): type object; required: schemaVersion, generatedAt, totals, rollups, rows. - [ExactDecision](https://huggingbay.xyz/openapi.json#/components/schemas/ExactDecision): type object; required: schemaVersion, intent, recommendations, exclusions, citationPacket, decisionDigest. - [ExactDecisionRequest](https://huggingbay.xyz/openapi.json#/components/schemas/ExactDecisionRequest): type object; required: runCardIds, intent. - [FacetCounts](https://huggingbay.xyz/openapi.json#/components/schemas/FacetCounts): type object; required: none. - [FilePreview](https://huggingbay.xyz/openapi.json#/components/schemas/FilePreview): type object; required: schemaVersion, artifactId, repo, filePath, renderHint, text, truncated. - [FindModelResponse](https://huggingbay.xyz/openapi.json#/components/schemas/FindModelResponse): type object; required: schemaVersion, generatedAt, input, resultContract, candidates, guidance. - [Health](https://huggingbay.xyz/openapi.json#/components/schemas/Health): type object; required: schemaVersion, ok, ready, liveness, service, verifiedDownloads. - [HfDetailExpansion](https://huggingbay.xyz/openapi.json#/components/schemas/HfDetailExpansion): type object; required: schemaVersion, generatedAt, dryRun, targetCount, rows. - [HostedLocalModels](https://huggingbay.xyz/openapi.json#/components/schemas/HostedLocalModels): type object; required: schemaVersion, generatedAt, criteria, filters, stats, rows, agentUse. - [IndexingStatus](https://huggingbay.xyz/openapi.json#/components/schemas/IndexingStatus): type object; required: schemaVersion, generatedAt, baseUrl, sitemapIndexUrl, totals, sitemaps, urlKinds. - [IndexingUrl](https://huggingbay.xyz/openapi.json#/components/schemas/IndexingUrl): type object; required: kind, id, url. - [IndexingUrlBatch](https://huggingbay.xyz/openapi.json#/components/schemas/IndexingUrlBatch): type object; required: schemaVersion, generatedAt, kind, rows, total, limit, cursor, nextCursor. - [IndexingUrlOnlyBatch](https://huggingbay.xyz/openapi.json#/components/schemas/IndexingUrlOnlyBatch): type object; required: schemaVersion, projection, kind, rows, total, limit, cursor, nextCursor. - [LibraryResponse](https://huggingbay.xyz/openapi.json#/components/schemas/LibraryResponse): type object; required: schemaVersion, generatedAt, total, rows. - [ManifestSigningKey](https://huggingbay.xyz/openapi.json#/components/schemas/ManifestSigningKey): type object; required: algorithm, keyId. - [McpDiscovery](https://huggingbay.xyz/openapi.json#/components/schemas/McpDiscovery): type object; required: schemaVersion, name, description, apiBase, transports, package, docs, publicRemoteTools, publicRemoteToolCount, authenticatedStdioTools, authenticatedStdioToolCount, tools, toolCount. - [McpServerCard](https://huggingbay.xyz/openapi.json#/components/schemas/McpServerCard): type object; required: schemaVersion, generatedAt, name, version, description, website, serverCardUrl, mcpManifestUrl, remoteMcp, restApi, crawlability, safety. - [McpToolSummary](https://huggingbay.xyz/openapi.json#/components/schemas/McpToolSummary): type object; required: name, description. - [MirrorDemandRow](https://huggingbay.xyz/openapi.json#/components/schemas/MirrorDemandRow): type object; required: id, repo, type, license, status, eligible, requestCount, tractionScore. - [MirrorLimits](https://huggingbay.xyz/openapi.json#/components/schemas/MirrorLimits): type object; required: none. - [MirrorNode](https://huggingbay.xyz/openapi.json#/components/schemas/MirrorNode): type object; required: id, name, region, endpoint, health, publicOnly, freshnessMinutes, artifactCount, bandwidthTb. - [MirrorPackDetail](https://huggingbay.xyz/openapi.json#/components/schemas/MirrorPackDetail): type object; required: slug, title, description, artifactCount, hostedArtifacts, rows. - [MirrorPackSummary](https://huggingbay.xyz/openapi.json#/components/schemas/MirrorPackSummary): type object; required: slug, title, description, artifactCount, hostedArtifacts. - [MirrorReadiness](https://huggingbay.xyz/openapi.json#/components/schemas/MirrorReadiness): type object; required: score, level, action, recommendedFiles, blockers. - [MirrorReadinessResponse](https://huggingbay.xyz/openapi.json#/components/schemas/MirrorReadinessResponse): type object; required: schemaVersion, generatedAt, summary, rows. - [MirrorRequestStatus](https://huggingbay.xyz/openapi.json#/components/schemas/MirrorRequestStatus): type object; required: schemaVersion, requestId, status, storedStatus, terminalDecision, canonicalState, outcomes. - [MirrorScalePlan](https://huggingbay.xyz/openapi.json#/components/schemas/MirrorScalePlan): type object; required: schemaVersion, generatedAt, summary, rows, policy. - [ModelCardFacts](https://huggingbay.xyz/openapi.json#/components/schemas/ModelCardFacts): type object; required: facts, languages, datasets, metrics, evalResults, coverage. - [OpenSourceRadar](https://huggingbay.xyz/openapi.json#/components/schemas/OpenSourceRadar): type object; required: schemaVersion, generatedAt, webUrl, apiUrl, totals, sourceBreakdown, sections, policy. - [PeerFallbacksResponse](https://huggingbay.xyz/openapi.json#/components/schemas/PeerFallbacksResponse): type object; required: schemaVersion, generatedAt, artifact, policy, summary, readiness, verifiedFallbacks, files, actions, commands, guidance. - [Principal](https://huggingbay.xyz/openapi.json#/components/schemas/Principal): type object; required: id, role, allowedOwners. - [PublicDataManifest](https://huggingbay.xyz/openapi.json#/components/schemas/PublicDataManifest): type object; required: schemaVersion, generatedAt, baseUrl, license, privacy, boundaries, counts, dumps, feeds, checksums, schemas. - [PublicDatasetInspection](https://huggingbay.xyz/openapi.json#/components/schemas/PublicDatasetInspection): type object; required: schemaVersion, artifactId, state, source, license, structure, files, claims, hosting, evidence, crossSourceEquality, blockers, uncertainties, inspectionCommand, action, safety. - [PublicEvidenceClaim](https://huggingbay.xyz/openapi.json#/components/schemas/PublicEvidenceClaim): type object; required: id, label, value, evidenceSource, evidenceDigest, timestamp, canonicalVerificationUrl, citationId, digest. - [PublicEvidenceSurface](https://huggingbay.xyz/openapi.json#/components/schemas/PublicEvidenceSurface): type object; required: schema, artifactId, canonicalUrl, apiUrl, generatedAt, selection, readiness, canonicalState, runCard, proof, rescue, requests, claims, evidenceContext, distribution, snippets, surfaceDigest. - [PublicReadError](https://huggingbay.xyz/openapi.json#/components/schemas/PublicReadError): type object; required: schemaVersion, error, retryable, retryAfterSeconds. - [PublicTraffic](https://huggingbay.xyz/openapi.json#/components/schemas/PublicTraffic): type object; required: schemaVersion, generatedAt, available, totals, windows, privacy. - [PublicTrending](https://huggingbay.xyz/openapi.json#/components/schemas/PublicTrending): type object; required: schemaVersion, generatedAt, available, window, totals, rows. - [PublishDraft](https://huggingbay.xyz/openapi.json#/components/schemas/PublishDraft): type object; required: owner, name, type, summary, sourceUrl, license, visibility, provenance. - [PublisherApiKey](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherApiKey): type object; required: id, principalId, role, allowedOwners, status, tokenPrefix, createdAt. - [PublisherApiKeyIssue](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherApiKeyIssue): type object; required: schemaVersion, generatedAt, principal, apiKey, next. - [PublisherApiKeyRevocation](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherApiKeyRevocation): type object; required: schemaVersion, generatedAt, apiKey, actions. - [PublisherApiKeysResponse](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherApiKeysResponse): type object; required: schemaVersion, generatedAt, principal, rows, stats, actions. - [PublisherApplication](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherApplication): type object; required: namespace, displayName, contact, sourceUrl, artifactTypes, intendedUse, provenancePlan, acceptedTerms. - [PublisherApplicationStatus](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherApplicationStatus): type object; required: schemaVersion, generatedAt, case, namespace, status, claimStatus, tokenIssued, next. - [PublisherArtifactsResponse](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherArtifactsResponse): type object; required: schemaVersion, rows. - [PublisherDashboard](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherDashboard): type object; required: schemaVersion, generatedAt, principal, stats, artifacts, uploadSessions, releaseBlockers, actions. - [PublisherIndex](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherIndex): type object; required: schemaVersion, generatedAt, total, rows. - [PublisherKeyIssue](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherKeyIssue): type object; required: schemaVersion, case, principal, apiKey, next. - [PublisherLaunchKit](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherLaunchKit): type object; required: schemaVersion, generatedAt, baseUrl, title, description, humanUrl, apiUrl, requiredFlow, manifestRequirements, reviewedFallbackPolicy. - [PublisherProfile](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherProfile): type object; required: none. - [PublisherReleaseTemplate](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherReleaseTemplate): type object; required: schemaVersion, generatedAt, baseUrl, kind, title, description, humanUrl, apiUrl, draft, validationChecklist, commands. - [PublisherSummary](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherSummary): type object; required: namespace, displayName, claimStatus, stats, links. - [PublisherWorkflow](https://huggingbay.xyz/openapi.json#/components/schemas/PublisherWorkflow): type object; required: schemaVersion, generatedAt, baseUrl, access, apiFlow, cliFlow, mcpTools, draftRequirements, safety. - [PythonSdkRelease](https://huggingbay.xyz/openapi.json#/components/schemas/PythonSdkRelease): type object; required: schemaVersion, name, version, runtime, install, files, capabilities, agentUse. - [Ranking](https://huggingbay.xyz/openapi.json#/components/schemas/Ranking): type object; required: schemaVersion, generatedAt, slug, title, description, webUrl, rows. - [ReaderApiKey](https://huggingbay.xyz/openapi.json#/components/schemas/ReaderApiKey): type object; required: id, principalId, role, status, tokenPrefix, createdAt. - [ReaderApiKeyRevocation](https://huggingbay.xyz/openapi.json#/components/schemas/ReaderApiKeyRevocation): type object; required: schemaVersion, generatedAt, apiKey, actions. - [ReaderApiKeysResponse](https://huggingbay.xyz/openapi.json#/components/schemas/ReaderApiKeysResponse): type object; required: schemaVersion, generatedAt, principal, rows, stats, actions. - [ReaderRecoveryKit](https://huggingbay.xyz/openapi.json#/components/schemas/ReaderRecoveryKit): type object; required: schemaVersion, generatedAt, principal, summary, recoverySteps, endpoints, copyPaste, policy. - [ReceiptAttestationAuthoritySnapshot](https://huggingbay.xyz/openapi.json#/components/schemas/ReceiptAttestationAuthoritySnapshot): type object; required: schemaVersion, queryVersion, authority, readOnly, noStateChange, relations, snapshotDigest. - [RecommendationSummary](https://huggingbay.xyz/openapi.json#/components/schemas/RecommendationSummary): type object; required: generatedAt, thesis, totals, packs. - [ReleaseBundle](https://huggingbay.xyz/openapi.json#/components/schemas/ReleaseBundle): type object; required: schemaVersion, generatedAt, canonicalUrl, artifact, publisher, verification, localUse, hostedDownloads, distribution, trustBundle, urls, recommendedActions. - [ReleaseReadiness](https://huggingbay.xyz/openapi.json#/components/schemas/ReleaseReadiness): type object; required: schemaVersion, generatedAt, artifactId, repo, canonicalUrl, apiUrl, score, maxScore, level, label, checks, launchGateSummary, machineReadableUrls. - [RemoteMcpDiscovery](https://huggingbay.xyz/openapi.json#/components/schemas/RemoteMcpDiscovery): type object; required: schemaVersion, generatedAt, name, version, endpoint, alias, protocol, supportedProtocolVersions, auth, methods, toolNames, tools, examples, discovery. - [RequestIntentPublicState](https://huggingbay.xyz/openapi.json#/components/schemas/RequestIntentPublicState): type object; required: schema, intentId, intentKey, kind, title, description, canonicalUrl, jsonUrl, generatedAt, identity, lifecycle, fulfillment, authorityRefs, nextAction, license, supersededBy, blockers, uncertainty, claims, surfaceDigest, etag. - [RequestIntentSubmission](https://huggingbay.xyz/openapi.json#/components/schemas/RequestIntentSubmission): type object; required: idempotencyKey, kind, subject. - [RequestIntentSubmissionResult](https://huggingbay.xyz/openapi.json#/components/schemas/RequestIntentSubmissionResult): type object; required: schema, outcome, receipt, statusUrl, nextAction. - [RequestIntentSurface](https://huggingbay.xyz/openapi.json#/components/schemas/RequestIntentSurface): type object; required: schema, intentId, intentKey, kind, title, description, canonicalUrl, jsonUrl, generatedAt, identity, lifecycle, fulfillment, authorityRefs, nextAction, license, supersededBy, blockers, uncertainty, claims, surfaceDigest, etag. - [ResolveArtifact](https://huggingbay.xyz/openapi.json#/components/schemas/ResolveArtifact): type object; required: schemaVersion, generatedAt, input, normalized, status, actions, guidance. - [ReviewedPeerFallback](https://huggingbay.xyz/openapi.json#/components/schemas/ReviewedPeerFallback): type object; required: id, type, protocol, status, verified, publiclyDownloadable. - [RobotsJson](https://huggingbay.xyz/openapi.json#/components/schemas/RobotsJson): type object; required: schemaVersion, generatedAt, baseUrl, textRobotsUrl, status, publicPolicy, discovery, userAgents, providerGroups, preferredCrawlEntrypoints, preferredCitationTargets, expectedHeaders, rateGuidance. - [RunCard](https://huggingbay.xyz/openapi.json#/components/schemas/RunCard): type object; required: schema, contractVersion, id, decisionId, agentHandoffId, signingKeyId, task, constraints, rig, representation, runtime, fit, smoke, recovery, policy, evidenceCutoff, executableState, authority, authorization, use, runCardDigest, signature. - [RunCardDiscovery](https://huggingbay.xyz/openapi.json#/components/schemas/RunCardDiscovery): type object; required: schemaVersion, artifactId, state, matchClaim, note, cards. - [RunCardIssueRequest](https://huggingbay.xyz/openapi.json#/components/schemas/RunCardIssueRequest): type object; required: preflightId. - [RunCardUnavailable](https://huggingbay.xyz/openapi.json#/components/schemas/RunCardUnavailable): type object; required: error. - [SandboxJobResponse](https://huggingbay.xyz/openapi.json#/components/schemas/SandboxJobResponse): type object; required: schemaVersion, id, status. - [SandboxRefusalResponse](https://huggingbay.xyz/openapi.json#/components/schemas/SandboxRefusalResponse): type object; required: schemaVersion, status, refusalReason. - [SandboxStatusResponse](https://huggingbay.xyz/openapi.json#/components/schemas/SandboxStatusResponse): type object; required: schemaVersion, available. - [SavedArtifact](https://huggingbay.xyz/openapi.json#/components/schemas/SavedArtifact): type object; required: id, repo, owner, name, type, license, summary, hostingStatus, sourceUrl, savedAt. - [SavedSearch](https://huggingbay.xyz/openapi.json#/components/schemas/SavedSearch): type object; required: id, label, filters, sortKey, route, browserPath, apiPath, resultCount, savedAt. - [SavedSearchAlert](https://huggingbay.xyz/openapi.json#/components/schemas/SavedSearchAlert): type object; required: enabled, lastResultIds. - [SavedSearchAlertState](https://huggingbay.xyz/openapi.json#/components/schemas/SavedSearchAlertState): type object; required: enabled, status. - [SavedSearchAlertsResponse](https://huggingbay.xyz/openapi.json#/components/schemas/SavedSearchAlertsResponse): type object; required: schemaVersion, generatedAt, total, rows. - [SavedSearchDigest](https://huggingbay.xyz/openapi.json#/components/schemas/SavedSearchDigest): type object; required: schemaVersion, generatedAt, search, browserUrl, apiUrl, digestUrl, summary, rows, newOrUpdated, hosted, requestable. - [SavedSearchDigestRow](https://huggingbay.xyz/openapi.json#/components/schemas/SavedSearchDigestRow): type object; required: id, repo, type, license, hostingStatus, hostedFileCount, externalFileCount, downloads, stars, updatedAt, urls. - [SavedSearchesResponse](https://huggingbay.xyz/openapi.json#/components/schemas/SavedSearchesResponse): type object; required: schemaVersion, generatedAt, total, rows. - [SourceCoverage](https://huggingbay.xyz/openapi.json#/components/schemas/SourceCoverage): type object; required: schemaVersion, generatedAt, source, sourceId, counts, rollups, topArtifacts, policy. - [SourceRequest](https://huggingbay.xyz/openapi.json#/components/schemas/SourceRequest): type object; required: repo. - [SourceRequestStatus](https://huggingbay.xyz/openapi.json#/components/schemas/SourceRequestStatus): type object; required: schemaVersion, generatedAt, id, status, request, actions, guidance. - [StackIndex](https://huggingbay.xyz/openapi.json#/components/schemas/StackIndex): type object; required: schemaVersion, generatedAt, webUrl, stacks. - [StackPack](https://huggingbay.xyz/openapi.json#/components/schemas/StackPack): type object; required: schemaVersion, generatedAt, slug, title, audience, description, webUrl, apiUrl, searchUrl, rows. - [ToolCommand](https://huggingbay.xyz/openapi.json#/components/schemas/ToolCommand): type object; required: id, label, command. - [Topic](https://huggingbay.xyz/openapi.json#/components/schemas/Topic): type object; required: slug, label, artifactCount. - [TopicPage](https://huggingbay.xyz/openapi.json#/components/schemas/TopicPage): type object; required: schemaVersion, rows, total, limit, cursor, nextCursor. - [TrafficSummary](https://huggingbay.xyz/openapi.json#/components/schemas/TrafficSummary): type object; required: schemaVersion, generatedAt, available, windows. - [TrustBundle](https://huggingbay.xyz/openapi.json#/components/schemas/TrustBundle): type object; required: bundle_version, artifact, trust, files, generated_at. - [UploadSession](https://huggingbay.xyz/openapi.json#/components/schemas/UploadSession): type object; required: schemaVersion, id, owner, name, status, files, draftPatch. - [UploadSessionFile](https://huggingbay.xyz/openapi.json#/components/schemas/UploadSessionFile): type object; required: path, sizeBytes, sha256. - [UploadSessionListResponse](https://huggingbay.xyz/openapi.json#/components/schemas/UploadSessionListResponse): type object; required: schemaVersion, rows. - [UploadedSourceFile](https://huggingbay.xyz/openapi.json#/components/schemas/UploadedSourceFile): type object; required: path, sizeBytes, contentType, contentBase64. - [UseCaseRecommendationRow](https://huggingbay.xyz/openapi.json#/components/schemas/UseCaseRecommendationRow): type object; required: id, repo, type, license, fitScore, fitReasons, recommendedAction, actionLabel, urls. - [UseCaseRecommender](https://huggingbay.xyz/openapi.json#/components/schemas/UseCaseRecommender): type object; required: schemaVersion, generatedAt, useCase, profile, search, rows, guidance. ## Security schemes - [bearerAuth](https://huggingbay.xyz/openapi.json#/components/securitySchemes/bearerAuth): http; scheme: bearer.