Which creator this API key belongs to
Returns the creator account behind the key, plus metadata about the key itself.
/api/external/meReturns the creator account behind the key, plus metadata about the key itself.
Call it once at startup to confirm the key works and to learn the creator's id, username and accountType — posting to the For You feed needs CREATOR or AGENCY, and every link surface needs a username. The key block tells you which integration the key was minted for and its rate-limit tier, matching the X-RateLimit-Tier header.
With an agency's own key and X-Dropfans-Account, it describes the managed account instead: key.viaAgency is true and key.managedBy names the agency — a cheap way to check the header points where you think. isAgency: true on the agency's own key means it can use the agency endpoints.
Authentication
Send the creator's API key as a bearer token: Authorization: Bearer dpfn_…. See Authentication & API keys.
An agency's own key can call this for a creator it manages by adding X-Dropfans-Account: <account id>. See Agencies.
Responses
| Name | Type | Description | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string | The Dropfans user id of the account this request acted on — the key’s own account, or the managed account named in X-Dropfans-Account. Stable — safe to key your own records on. | ||||||||||||||||||||||||||||||
username | string | null | The creator’s public @handle, without the @. Null until the creator picks one — several link surfaces (GET /api/external/links, the post url) need it. | ||||||||||||||||||||||||||||||
name | string | null | Display name. Null when unset. | ||||||||||||||||||||||||||||||
image | string | null | Profile image URL. Null when the creator has no avatar. Format: uri | ||||||||||||||||||||||||||||||
accountType | string | Account class of the account acted on. Posting to the For You feed requires CREATOR or AGENCY. One of: CONSUMER, CREATOR, AGENCY | ||||||||||||||||||||||||||||||
sellerStatus | string | Internal seller state, for support (PENDING_KYC, KYC_IN_REVIEW, KYC_REJECTED, VERIFIED_CREATOR, VERIFIED_AGENCY). Added 2026-10-15. | ||||||||||||||||||||||||||||||
isAgency | boolean | True when the account is a verified agency (sellerStatus VERIFIED_AGENCY) — its own key can use the /api/external/agency endpoints and X-Dropfans-Account. Added 2026-10-15. | ||||||||||||||||||||||||||||||
kycStatus | string | Coarse ID-check state. covered_by_agency = an AI persona whose verification rides on its agency’s. Added 2026-10-15.One of: not_started, session_created, in_review, processing, approved, rejected, covered_by_agency | ||||||||||||||||||||||||||||||
key | object | Metadata about the API key used on this request (added 2026-08-19).Show child attributes
|
{
"id": "clx2f8a1b0001qw3k",
"username": "valeria",
"name": "Valeria",
"image": "https://cdn.dropfans.io/valeria/profile.jpg",
"accountType": "CREATOR",
"sellerStatus": "VERIFIED_CREATOR",
"isAgency": false,
"kycStatus": "approved",
"key": {
"name": "KVIQA",
"app": {
"slug": "kviqa",
"name": "KVIQA"
},
"tier": "app",
"managedBy": null,
"viaAgency": false
}
}Errors
| Status | Body | When |
|---|---|---|
| 401 | {"error":"Unauthorized","code":"unauthorized"} | Missing or invalid API key. |
| 400 | {"error":"X-Dropfans-Account must be an account id (from GET /api/external/agency/creators), not a username.","code":"invalid_account_header"} | `X-Dropfans-Account` is not an account id. |
| 403 | {"error":"This key cannot act for that account.","code":"account_not_managed"} | `X-Dropfans-Account` names an account this key cannot act for: not an agency’s own key, no ACCEPTED management, or the agency or account is suspended, banned or deleted (an unknown id gets the same answer). |
Rate limiting
Every response carries the X-RateLimit-Tier header and, on limited tiers, the per-minute and per-day trios — read X-RateLimit-Remaining and X-RateLimit-Reset instead of hardcoding limits. Details in Rate limits.
Code samples
curl "https://www.dropfans.io/api/external/me" \
-H "Authorization: Bearer $DROPFANS_API_KEY"const res = await fetch(`https://www.dropfans.io/api/external/me`, {
headers: {
Authorization: `Bearer ${process.env.DROPFANS_API_KEY}`,
},
});
console.log(await res.json());import os
import requests
res = requests.get(
"https://www.dropfans.io/api/external/me",
headers={"Authorization": f"Bearer {os.environ['DROPFANS_API_KEY']}"},
)
print(res.json())Notes
The accountType and key fields were added with the public launch (2026-08-19); sellerStatus, isAgency, kycStatus and key.managedBy on 2026-10-15; key.viaAgency on 2026-10-26. id, username, name and image are unchanged from the original response.
Questions? [email protected]
