# Let your AI set it up

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.

Paste this into Claude Code, Codex, Cursor or any agent that can run commands:

```text
Set me up on the 2fans API (formerly Dropfans API). Read https://2fans.dev/docs/ai/agent-setup.md and follow it. Do every step you can yourself. When a step needs me, open the page in my browser, tell me exactly what to do there, and wait until I confirm. Never ask me to paste my API key into this chat.
```

The rest of this page is written for that agent. A person has to do the ID check, because it verifies their face and document.

## 1. Agent: open the sign-up page

Open https://2fans.io/signup in the person's browser. Tell them to create an account, verify their email and go through onboarding, which ends with the ID check (a government ID and a live selfie). The dashboard opens once the check is submitted. Ask them to tell you when they reach it.

macOS:

```bash
open "https://2fans.io/signup"
```

Linux:

```bash
xdg-open "https://2fans.io/signup"
```

Windows:

```bash
start "" "https://2fans.io/signup"
```

## 2. Agent: get the key without seeing it in chat

Open the key screen and tell the person to press **Generate new key**, pick **Other** and copy the key. Then have them add it to a local env file that is in `.gitignore`. Never ask them to paste it into the conversation, and never print it.

macOS:

```bash
open "https://2fans.io/dashboard/vault?apiConnect=1"

# The person runs this themselves, so the key stays out of the chat:
printf "DROPFANS_API_KEY=" >> .env.local && pbpaste >> .env.local && echo >> .env.local
grep -q "^.env.local$" .gitignore || echo ".env.local" >> .gitignore
```

## 3. Agent: check the key and watch the ID check

Read the key from the env file and call `GET /me`. Show the person the `username` so they can confirm it is the right account. On a `401`, ask them to generate the key again.

The response also has `kycStatus`: `session_created`, `in_review`, `processing`, `approved` or `rejected`. Poll about once a minute until it says `approved`, because uploads are refused before that. You no longer need the person for this step.

Shell:

```bash
set -a; . ./.env.local; set +a
curl -s "https://www.dropfans.io/api/external/v1/me" \
  -H "Authorization: Bearer $DROPFANS_API_KEY" | grep -o '"kycStatus":"[a-z_]*"'
```

## 4. Agent: build the integration

Fetch the [quickstart](https://2fans.dev/docs/build/quickstart.md) and the [OpenAPI spec](https://2fans.io/developers/openapi.json), then write the code. Upload test media through the API, wait for it to clear moderation, and test with `"price": 0` drops. There is no sandbox or test card, so don't buy paid drops unless the person says so.

## 5. Agent: prepare the app application

Only needed if other people's creators will connect, or if the app needs webhooks. Draft answers from what you built: app name, website, contact email, short description, what the app does, which API categories it uses, how many creators are expected, and how keys are stored. Then open the form at https://2fans.io/developers/apply and give the person the answers to submit. If you have a browser tool and the person is logged in, you may fill in the form for them, but let them press submit.

Shell:

```bash
open "https://2fans.io/developers/apply"
```

## 6. Agent: finish after approval

A person reviews the application, usually within a few business days, and the decision comes by email. After that, have the person generate a key for the app under Vault → API Connect, then set the webhook endpoint with [PUT /webhooks](https://2fans.dev/docs/build/webhooks.md).

## What only a person can do

- Pass the ID check.
- Press **Generate new key**.
- Submit the app application.

Everything else can run from the agent.

## Next

- [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.
- [Files for agents](https://2fans.dev/docs/ai/machine-files.md): 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.

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.