API
Bearer authentication, the /api/v1 paths, and why the extension token is a different credential.
Authentication
Send Authorization: Bearer <token>. The token is either an API key, which starts with apr_ and is created on Preferences, Keys (shown once), or an OAuth access token from https://appearsin.com/o/ with the mentions scope. Missing or bad credentials return 401 with {"error": "..."}.
The browser extension's token is a different credential. /api/extension/ rejects apr_ keys, and /api/v1/ rejects extension tokens.
Paths
List endpoints take limit (default 20, max 100) and offset. Everything is scoped to your organization.
| Method | Path | Purpose |
|---|---|---|
| GET | /api/v1/account | Email, organization, plan, status |
| GET | /api/v1/projects | Your projects |
| GET | /api/v1/projects/<id> | One project |
| GET | /api/v1/threads?status= | Drafts: open, ready, sent, passed, or removed |
| GET | /api/v1/threads/<id> | One draft with its thread |
| POST | /api/v1/threads/<id>/approve | Same as Use this, including the karma hold |
| POST | /api/v1/threads/<id>/unqueue | Ready back to open |
| POST | /api/v1/threads/<id>/skip | Passed |
| POST | /api/v1/threads/<id>/copy | Sent as a manual post. Returns body and permalink |
| GET | /api/v1/questions | Your questions |
| GET | /api/v1/communities | Saved communities |
| GET | /api/v1/score | Today's score, or null before the first scan |
curl -H "Authorization: Bearer apr_..." https://appearsin.com/api/v1/account