Register the creator’s personal notification chat
API reference

Register the creator’s personal notification chat

Stores a Telegram chat id as the creator's **personal** notification target — the DM their sale notifications go to.

View as MarkdownUpdated Aug 19, 2026
POST/api/external/v1/register-telegram-chatalso served at /api/external/register-telegram-chat

Stores a Telegram chat id as the creator's personal notification target — the DM their sale notifications go to.

Unlike add-group, the id is not verified against Telegram — a wrong id silently breaks the creator's notifications until corrected. Prefer letting the creator connect through the Dropfans dashboard; use this only when your app already knows the correct chat id (e.g. the creator is talking to your bot).

This rewrites the creator's live notification settings

The same fields power the creator's own Dropfans → Telegram sale notifications. Changing them here changes where the creator's notifications go — including notifications your app has nothing to do with. Only call this when the creator explicitly asked for it.

Authentication

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

For a creator you manage or onboarded

POST /api/external/v1/creators/{creatorId}/register-telegram-chat — an agency's own key for a creator or AI persona it manages (needs canEditProfile), or your app owner's own key for an account your app onboarded. The X-Dropfans-Account header still works but is deprecated. See Acting for a creator.

Request body

Content type: application/json

NameTypeRequiredDescription
telegramChatIdstringRequiredThe Telegram chat id of the creator’s DM with the notification bot. Stored as-is, unverified.
Register a personal chat
{
  "telegramChatId": "123456789"
}

Responses

200Stored.
NameTypeDescription
successbooleanAlways true.
Example response
{
  "success": true
}

Errors

StatusBodyWhen
400{"error":"Invalid JSON body"}The body is not valid JSON.
400{"error":"telegramChatId is required and must be a string"}Missing or non-string chat id.
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.
400{"error":"X-Dropfans-Account names a different account than the path — send one or the other.","code":"account_mismatch"}Called under /v1/creators/{creatorId}/ with an `X-Dropfans-Account` naming another account.
403{"error":"This key cannot act for that account.","code":"account_not_managed"}The creator in the path (or `X-Dropfans-Account`) is one this key cannot act for: no ACCEPTED management by your agency and not an account your app onboarded (or it no longer holds a key bound to your app), a key minted for one creator, or someone is suspended, banned or deleted. An unknown id gets the same answer.
403{"error":"The agency does not have permission for this on that account.","code":"permission_denied","permission":"canEditProfile"}For a managed creator: the agency lacks `canEditProfile` on that account.
403{"error":"This app does not have the notifications API category enabled. Contact support to enable it.","code":"api_category_disabled","category":"notifications"}Your app has the Telegram notifications [API category](/developers/concepts/api-categories) switched off.

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 -X POST "https://www.dropfans.io/api/external/v1/register-telegram-chat" \
  -H "Authorization: Bearer $DROPFANS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "telegramChatId": "123456789"
}'

Questions? support@dropfans.io