# PlainError auth.md

This page is for AI agents and automated clients that want to use PlainError.

PlainError has no user accounts, OAuth, or API keys. You do not need to register, sign in, or present credentials to read public pages or to call the public endpoints below.

## Public endpoints

Machine-readable descriptions:

- OpenAPI: [https://plainerror.com/openapi.json](https://plainerror.com/openapi.json)
- API catalog (RFC 9727): [https://plainerror.com/.well-known/api-catalog](https://plainerror.com/.well-known/api-catalog)
- Human-readable API docs: [https://plainerror.com/api](https://plainerror.com/api)
- Page index for language models: [https://plainerror.com/llms.txt](https://plainerror.com/llms.txt) and the full text at [https://plainerror.com/llms-full.txt](https://plainerror.com/llms-full.txt)

You can also request any public HTML page as Markdown by sending `Accept: text/markdown` (see the docs).

A public, no-auth [MCP server](https://plainerror.com/mcp) is available over Streamable HTTP. Connect any MCP client to that URL; no registration or credentials are needed. Tools: `search_fixes`, `get_fix`, and `explain_error` (the last one shares the new-answer limits below). Setup instructions: [https://plainerror.com/mcp-server](https://plainerror.com/mcp-server). Server card: [https://plainerror.com/.well-known/mcp/server-card.json](https://plainerror.com/.well-known/mcp/server-card.json).

## Rate limits and fair use

These are the limits the site actually enforces:

- **New answers** (`POST /explain`): at most 10 new answers per IP address per day. After that, the endpoint returns HTTP 429. Existing and cached pages still work. A site-wide daily AI spend cap can also temporarily stop new answers (HTTP 429); cached answers still work. Pastes longer than 20,000 characters are rejected.
- **Newsletter signup** (`POST /subscribe`): at most 5 attempts per IP per hour (per Worker isolate), plus the newsletter provider's own limits. Signups use confirmed (double) opt-in and are meant for humans.
- **Votes and problem reports** are for human readers of a page, not a general-purpose API.
- Please be gentle with crawl volume. Public pages are cacheable; `/llms.txt` and `/llms-full.txt` are the preferred way to read many answers at once.

Private paths (`/admin`, paid `/session/…`, and form endpoints listed as Disallow in [robots.txt](https://plainerror.com/robots.txt)) are not for agents.

## Paid Guided Fix sessions

A "Guided Fix" session is a paid, private chat for a stuck human reader. Checkout is US$7 through Stripe in a browser, refunded if the problem is not fixed, and is limited to 45 minutes or 40 messages. It is not an agent API. Agents should not try to check out, pay, or open a paid session.

## Contact

Questions: [hello@plainerror.com](mailto:hello@plainerror.com)
