# Files for agents

Every page here and in the API docs comes in Markdown, with llms.txt indexes and an OpenAPI 3.1 spec for agents and client generators.

## On this site

| What | Where |
| --- | --- |
| Index of every page | [/llms.txt](https://2fans.dev/llms.txt) |
| Every page in one file | [/llms-full.txt](https://2fans.dev/llms-full.txt) |
| Markdown copy of a page | Add `.md` to its URL, or send `Accept: text/markdown` |

The Markdown copies include every step and every code sample.

## Full API reference on 2fans.io

| What | Where |
| --- | --- |
| Docs index | [developers/llms.txt](https://2fans.io/developers/llms.txt) |
| Complete docs | [developers/llms-full.txt](https://2fans.io/developers/llms-full.txt) |
| OpenAPI 3.1 spec | [developers/openapi.json](https://2fans.io/developers/openapi.json) |

## Rules for agents writing integrations

- **Auth:** send `Authorization: Bearer dpfn_…`. Keys start with `dpfn_` because 2fans was called Dropfans until October 2026.
- **Base URL:** `https://www.dropfans.io/api/external/v1`.
- **Money:** drop prices are in USD dollars; amounts in responses are in cents.
- **Moderation:** `PENDING` is a normal response, not an error. Poll every 30 to 60 seconds.
- **Word filter:** a caught drop name returns `400` with `matchedWord`. Rewrite it and retry once.
- **Rate limits:** read the `X-RateLimit-*` headers. On `429`, wait for `Retry-After` and never retry in a loop.
- **Retries:** `POST /drops` has no idempotency key, so check before you retry a failed create. Payout requests require an `Idempotency-Key` header.
- **Secrets:** keep keys in the environment. Never log them, echo them or send them to a frontend.
- **Refunds:** `check-status` still reports a refunded sale as paid. Use `GET /earnings` or `drop.refunded` for money.

## Next

- [Let your AI set it up](https://2fans.dev/docs/ai/agent-setup.md): A coding agent opens each page, you do the sign-up and ID check, and it continues with your key, your first drop and your app application.
- [Quickstart: your first pay-per-view link](https://2fans.dev/docs/build/quickstart.md): Get a key, check it, pick content from the vault, create a drop and find out when it sells.

2fans was called Dropfans until October 2026, so the API host is still www.dropfans.io and keys still start with dpfn_.

Last updated 2026-11-02. All pages: https://2fans.dev/llms.txt.