Advanced Niche Warming – Recorded, Verified Account Warming
Advanced Niche Warming via the TokPortal API: buy niche targets at bundle creation, configure them on the bundle, and get screen-recorded, AI-verified warming with a data report.
Advanced Niche Warming
Advanced Niche Warming is TokPortal's recorded, verified warming product for TikTok and Instagram accounts. For each niche target (a search term that matches your niche), the account manager:
- Starts a screen recording on the account profile (the account's @handle visible — identity proof),
- searches the target on the platform,
- watches videos from the results,
- likes and saves several of them,
- leaves a comment.
One recording per target, dispatched over the 3 warming days. Every recording is verified before it counts, and each verified target produces a client report (videos watched, likes, saves, comments, keywords seen, sample videos, proof recording link). When all targets are verified you receive an aggregated session report.
Price: 3 credits per target. Targets are bought in counts of 3 to 30, in multiples of 3.
The flow: buy a count, configure the targets, warming starts
1. Buy the target count at bundle creation
Pass wants_advanced_warming: true and advanced_warming_terms_count on
POST /bundles (or
POST /bundles/bulk — the count is per account):
curl -X POST https://app.tokportal.com/api/ext/bundles \
-H "X-API-Key: sk_xxx" \
-H "Content-Type: application/json" \
-d '{
"bundle_type": "account_only",
"platform": "tiktok",
"country": "US",
"wants_advanced_warming": true,
"advanced_warming_terms_count": 9
}'
The 27 credits (9 × 3) are charged at creation. You don't need the actual targets yet.
Prefer to send the targets immediately? Pass
advanced_warming_termsinstead of the count — that is a one-shot configuration and skips step 2.
2. Configure the targets on the bundle
Write the niche targets with
PUT /bundles/{id}/account using advanced_warming_terms — like
niche warming instructions, but exact:
Configure at any time:
PUT /bundles/{id}/warming-termswith{"advanced_warming_terms": [...]}sets the targets at ANY account status — use it when the manager has already accepted the mission or submitted the account (the warming session then starts immediately). The configure-account route only works while the account profile is still editable.
curl -X PUT https://app.tokportal.com/api/ext/bundles/bnd_abc123/account \
-H "X-API-Key: sk_xxx" \
-H "Content-Type: application/json" \
-d '{
"username": "fitfuel.daily",
"visible_name": "FitFuel Daily",
"biography": "Daily fitness meals.",
"profile_picture_url": "https://cdn.example.com/logo.jpg",
"advanced_warming_terms": [
"healthy meal prep", "high protein recipes", "quick healthy dinner",
"gym meal ideas", "macro friendly meals", "protein snacks",
"meal prep sunday", "fitness breakfast", "low calorie desserts"
]
}'
Rules:
- The array must sanitize to exactly the purchased count (targets are
trimmed, deduplicated case-insensitively, entries of 2-50 characters).
Otherwise:
400 ADVANCED_WARMING_TERMS. - Configuration is one-shot per purchase — afterwards you get
409 WARMING_TERMS_ALREADY_SET. - No targets in mind? Generate them from a niche description with
POST /warming/generate-terms(free).
3. Warming starts
- If the account/order is already active (existing-account bundle with an
assigned manager, or a new account already submitted), warming starts the
moment the targets are configured — the
warming.session_startedwebhook fires. - Otherwise it starts automatically when the manager submits the new account (or accepts the order for existing-account bundles).
Track progress via GET /warming-sessions/{id},
GET /accounts/{id}/warming-sessions, the advanced_warming summary on the
bundle account payload (status, terms_total, terms_verified,
terms_configured, started_at, completed_at), and the
warming.term_verified / warming.session_completed webhooks.
14-day auto-refund
If you buy a target count but never configure the targets, the purchase does not linger: 14 days after creation the warming session is automatically cancelled and the full warming cost is refunded to your credit balance. The rest of the bundle is unaffected.
(Separately, once a session has started, targets not completed within 5 days expire with a per-target refund.)
Rewarm a delivered account
Advanced Niche Warming can also be ordered later on an account you already
own via POST /accounts/{id}/rewarm — there the search_terms are required
in the request (no deferred configuration), and the session starts
immediately. It requires an active order with an assigned manager.
Error codes
| Status | Code | Meaning |
|---|---|---|
400 | ADVANCED_WARMING_TERMS | Invalid targets/count: provide advanced_warming_terms (3-30, multiple of 3, entries 2-50 chars) or advanced_warming_terms_count (3-30, multiple of 3); at configuration time the targets must match the purchased count exactly. |
400 | ADVANCED_WARMING_PLATFORM | TikTok and Instagram only. |
400 | WARMING_CONFLICT | Mutually exclusive with wants_niche_warming. |
400 | DEEP_WARMING_DEPRECATED | Deep warming is discontinued — use Advanced Niche Warming. |
404 | WARMING_SESSION_NOT_FOUND | No warming session to configure on this bundle. |
409 | WARMING_TERMS_ALREADY_SET | Targets already configured (or session already started) — one-shot per purchase. |
409 | REWARM_ALREADY_ACTIVE | A warming session is already active for this account. |
409 | REWARM_NO_ACTIVE_ORDER | Rewarm requires an active order with an assigned manager. |