List the creators you can act for
API reference

List the creators you can act for

Every account your key can act for with /api/external/v1/creators/{creatorId}/…: the creators and AI personas your agency manages, and the accounts your app onboarded.

View as MarkdownUpdated Nov 1, 2026
GET/api/external/v1/creatorsalso served at /api/external/creatorsNew

Every account your key can act for with /api/external/v1/creators/{creatorId}/…: the creators and AI personas your agency manages, and the accounts your app onboarded.

An agency’s own key sees its accepted creators (managed) and its personas (ai_persona). Your app owner’s own key sees the accounts your app created with POST /accounts (onboarded). A key that is both sees both; an account on both lists shows once, as the agency relationship.

active: false means a creator-scoped call would be refused right now (403 account_not_managed). For an onboarded account that happens when it is restricted, or when it no longer holds a key bound to your app — the creator revoked your access by deleting it.

Authentication

Send the creator's API key as a bearer token: Authorization: Bearer dpfn_…. See Authentication & API keys.

Query parameters

NameTypeRequiredDescription
relationshipstringOptionalOnly this relationship.
One of: managed, ai_persona, onboarded
activestringOptionalOnly accounts that are (true) or are not (false) usable right now.
One of: true, false
limitintegerOptionalPage size.
Default: 50
Min: 1
Max: 100
cursorstringOptionalnextCursor from the previous page.

Responses

200One page, sorted by id.
NameTypeDescription
dataRosterCreator[]The accounts.
Show child attributes
idstringAccount id — the {creatorId} of /api/external/v1/creators/{creatorId}/….
usernamestring | nullPublic @handle, without the @.
namestring | nullDisplay name.
imagestring | nullProfile image URL.
Format: uri
relationshipstringmanaged = a creator who accepted your agency; ai_persona = a persona your agency runs; onboarded = an account your app created with POST /accounts.
One of: managed, ai_persona, onboarded
activebooleanWhether creator-scoped calls are accepted right now. False when the account is suspended, banned or deleted — or, for onboarded, when it no longer holds a key bound to your app (the creator revoked your access).
permissionsAgencyPermissionsWhat you may do on the account. onboarded accounts get everything except co-performers.
Show child attributes
canEditProfilebooleanProfile, timezone, subscription tier and Telegram notification settings.
canManageDropsbooleanDrops, orders and posts.
canManageVaultbooleanVault media, folders, tags and video uploads.
canViewStatsbooleanEarnings, tips, balance and subscription reads.
canManageCoPerformersbooleanCo-performer management (dashboard only — no API endpoint uses it yet).
creatorPathstringPrefix for creator-scoped calls, e.g. ${creatorPath}/drops.
profileUrlstring | nullPublic profile URL, null until the account has a username.
Format: uri
sincestring | nullWhen the management was accepted, or when your app created the account.
Format: date-time
nextCursorstring | nullPass as cursor for the next page; null on the last page.
Example response
{
  "data": [
    {
      "id": "cmh4v2q8k0003xy9z7w6v5u4t",
      "username": "valeria",
      "name": "Valeria",
      "image": null,
      "relationship": "ai_persona",
      "active": true,
      "permissions": {
        "canEditProfile": true,
        "canManageDrops": true,
        "canManageVault": true,
        "canViewStats": true,
        "canManageCoPerformers": true
      },
      "creatorPath": "/api/external/v1/creators/cmh4v2q8k0003xy9z7w6v5u4t",
      "profileUrl": "https://www.dropfans.io/u/valeria",
      "since": "2026-10-20T09:00:00.000Z"
    }
  ],
  "nextCursor": null
}

Errors

StatusBodyWhen
401{"error":"Unauthorized","code":"unauthorized"}Missing or invalid API key.
403{"error":"This endpoint needs a verified agency's own key or your app owner's own key.","code":"roster_key_required"}Neither a verified agency’s own key nor the key of your app’s owner — e.g. a creator’s key, or a key an agency minted for one of its creators.
400{"error":"This endpoint only acts as the key’s own account — send it without X-Dropfans-Account.","code":"account_header_not_allowed"}The request carried `X-Dropfans-Account`.
400{"error":"limit must be 1–100","code":"invalid_limit"}Bad `limit` (also `invalid_relationship`, `invalid_active`).

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/v1/creators" \
  -H "Authorization: Bearer $DROPFANS_API_KEY"

Questions? [email protected]