Skip to content
Protocol primitive

Warm device feed

Calibrate a provisioned guest device context toward a niche with organic feed pulls and AppLog telemetry.

POSTapi.tikultra.com/v1/devices/{id}/warmHeavy · 10 credits
Upstream/aweme/v1/feed//service/2/app_log/Growth and up

Parameters

NameTypeDescription
idrequiredstringThe device ID.
e.g. 7392011847562901234
nicherequiredstringTopic or keyword cluster to calibrate toward.
e.g. mechanical keyboards
duration_secintegerWarming window in seconds.
e.g. 45

Pricing

PlanPer callPer 1,000 calls
Starter10 credits$1.16
Growth10 credits$0.79
Scale10 credits$0.58

Growth and up.

Response fields

FieldTypeDescription
statusstringCurrent lifecycle or health status.
context_idstringIsolated device/proxy context identifier in LeanPool or FullPool.
device_idstringProvisioned mobile device identifier.
regionstringTwo-letter ISO 3166-1 country code associated with the item or context.
citystringCity-level egress or location identifier.
nichestringDecoded niche value.
feed_pullsintegerDecoded feed pulls value.
videos_dwelledintegerDecoded videos dwelled value.
applog_batches_flushedintegerDecoded applog batches flushed value.
warm_tierstringInterest-graph calibration state (cold, warming, calibrated_warm).
took_msintegerGateway execution or signing latency in milliseconds.

Responses

A 200 returns JSON with stable field names. Every response carries x-credits-cost, x-credits-tier and x-credits-remaining. Errors return a JSON body with a stable code and cost 0 credits. Error codes

import os
from tikultra import TikUltra

with TikUltra(api_key=os.environ["TIKULTRA_KEY"]) as client:
    res = client.request(
        "POST",
        "/v1/devices/7392011847562901234/warm",
        json_body={
            "niche": "mechanical keyboards",
            "duration_sec": 45,
        },
    )
    print(res.credits_cost, res.data)
{
  "status": "warmed",
  "context_id": "ctx_9mK4vP2x",
  "device_id": "7392011847562901234",
  "region": "US",
  "city": "miami",
  "niche": "mechanical keyboards",
  "feed_pulls": 3,
  "videos_dwelled": 8,
  "applog_batches_flushed": 2,
  "warm_tier": "calibrated_warm",
  "took_ms": 42810
}
Try it in the playgroundFull reference in the docs

More in Devices, signing & primitives

Ready to build?

Start with 2,500 free credits and test every public endpoint, then pick a plan.