---
title: "Fetch the single-call agent discovery contract."
method: GET
path: "/api/agent-discovery"
tags: ["Agent Docs"]
---

# Fetch the single-call agent discovery contract.

`GET /api/agent-discovery`

## Request

- Base URL: `https://huggingbay.xyz`
- URL: `https://huggingbay.xyz/api/agent-discovery`
- Auth: none declared

Compact machine-readable entrypoint map for answer engines, browser agents, coding agents, OpenClaw, Hermes, MCP clients, crawlers, and humans using AI assistants to find or use Hugging Bay.

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

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

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

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

## Query parameters

- `compat` 'containment'

## Response `200`

Agent discovery contract

- AgentDiscovery
  - `schemaVersion` 'hugging-bay.agent-discovery.v1', required
  - `generatedAt` string, required
  - `status` object: D5-C1 honest status contract (hugging-bay.api-status.v1): what each advertised surface can actually do today. Closed vocabulary working|degraded|down|beta|parked; every non-working row names the working alternative in `instead`; every row carries lastChecked.
    - `schemaVersion` 'hugging-bay.api-status.v1', required
    - `generatedAt` string, required
    - `lastChecked` string, required
    - `notice` string
    - `surfaces` object[], required
      - `surface` string, required
      - `state` 'working' | 'degraded' | 'down' | 'beta' | 'parked', required
      - `note` string, required
      - `instead` string, nullable, required
      - `lastChecked` string, required
  - `name` string, required
  - `canonicalUrl` string, required
  - `apiUrl` string, required
  - `aliases` string[]
  - `routeRecovery` object
  - `purpose` string, required
  - `positioning` object, required
  - `whoShouldUseThis` string[]
  - `claimBoundaries` string[], required
  - `safeMention` object, required
  - `startHere` object[], required
  - `recommendedFetchOrder` string[], required
  - `assistantEntrypoints` object, required
  - `agentRecipes` object[], required
  - `endpoints` object
  - `citationTargets` object, required
  - `indexing` object, required
  - `crawlerPolicy` object, required
  - `monitoring` object
  - `publisherAndLabs` object
  - `localTooling` object
  - `freshness` object

---

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