# Feeblo Public API

> The versioned HTTP and MCP surface for one Feeblo workspace: posts, comments,
> votes, tags, boards, changelog entries, companies, and end users. Every
> response is JSON and every request carries a workspace API key.

- Base URL: https://api.feeblo.com/api/v1
- OpenAPI 3.1 document: https://api.feeblo.com/api/v1/openapi.json
- Reference page: https://api.feeblo.com/api/v1/docs (readable without a key)
- MCP endpoint: https://api.feeblo.com/mcp (streamable HTTP)
- Authentication guide: https://api.feeblo.com/auth.md
- API catalog: https://api.feeblo.com/.well-known/api-catalog
- MCP server card: https://api.feeblo.com/.well-known/mcp/server-card.json
- MCP server list: https://api.feeblo.com/.well-known/mcp.json
- Capability manifest: https://api.feeblo.com/.well-known/ai-catalog.json
- Crawler rules: https://api.feeblo.com/robots.txt
- Sitemap: https://api.feeblo.com/sitemap.xml

## Authenticate

Send a workspace API key in the `x-api-key` header:

```sh
curl https://api.feeblo.com/api/v1/boards \
  -H "x-api-key: fbk_..."
```

A workspace admin or owner creates keys in the dashboard under
**Settings → Developers**. The plaintext key is shown once, starts with
`fbk_`, and is bound to the workspace that owns it. The Public API is included
in the Starter and Professional plans.

A key is created with a fixed scope set and cannot be widened. A missing scope
answers `403 FORBIDDEN_SCOPE`; a missing or invalid key answers `401`; a
workspace plan without the Public API answers `403 PLAN_REQUIRES_UPGRADE`. The
per-key budget is 300 requests per minute and is reported in
`X-RateLimit-*` headers. Switch on the error `_tag`, never on `message`.

## Use MCP

Point a streamable-HTTP MCP client at https://api.feeblo.com/mcp and send
the same key in the `x-api-key` header. Every operation in the
OpenAPI document is one tool with the same input schema, result, and scope. A
key that lacks a scope still lists the tool and receives a tool error naming the
missing scope when it calls it. The transport refuses requests carrying an
`Origin` header; a browser client needs a same-origin proxy.

## Read the docs

- Public API guide: https://docs.feeblo.com/developers/public-api
- MCP guide: https://docs.feeblo.com/developers/mcp
- Documentation index: https://docs.feeblo.com/llms.txt
- Documentation MCP server, no key required: https://docs.feeblo.com/mcp
- Agent authentication guide: https://feeblo.com/auth.md

## Safety

Reads are safe. Creating, updating, deleting, merging, voting, or publishing
changes a real workspace. Show the person the exact request and the affected
records, then wait for approval before a write. Publishing a changelog entry
emails every subscriber.
