# Favorited REST API

Favorited (fav.com) for AI agents and developers: act as a signed-in Favorited user — read their profile today, more of the product as it ships — over an MCP server or a versioned REST API. Every call sees only that user’s data.

- MCP server: `https://mcp.fav.com/mcp` (Streamable HTTP; protocol 2026-07-28, 2025-11-25, 2025-06-18) — [docs](https://mcp.fav.com/docs)
- REST API: `https://api.fav.com` — [guide](https://api.fav.com/docs) · [reference](https://api.fav.com/docs/reference) · [OpenAPI](https://api.fav.com/openapi.json)
- Authentication: a first-party fav.com session token (OAuth for third-party clients is not open yet) — [auth.md](https://api.fav.com/auth.md)
- Machine-readable: [llms.txt](https://api.fav.com/llms.txt) · [server card](https://mcp.fav.com/.well-known/mcp/server-card.json) · [skills](https://api.fav.com/.well-known/agent-skills/index.json) · [AI catalog](https://api.fav.com/.well-known/ai-catalog.json)

## Quick start

```sh
curl https://api.fav.com/me -H "Authorization: Bearer $TOKEN" -H "Fav-Version: 2026-09-24.albus"
```

## Conventions

- Routes are unprefixed (`https://api.fav.com/me`). The response shape is chosen by a dated version: send `Fav-Version`; every response echoes the version it was rendered in.
- Every object carries `object` (its type) and `id`; fields are snake_case and always present; times are RFC 3339; lists are `{ object: "list", data, has_more, next_cursor }`.
- Errors are `{ error: { type, code, message, param?, request_id } }` — branch on `code`.

## Operations

| Operation | REST | Scopes | What it does |
| --- | --- | --- | --- |
| `me.get` | `GET /me` | `user:read` | Retrieve the authenticated user |

Resource scopes: `user:read`.