Warm device feed
Calibrate a provisioned guest device context toward a niche with organic feed pulls and AppLog telemetry.
Upstream
/aweme/v1/feed//service/2/app_log/Growth and upParameters
| Name | Type | Description |
|---|---|---|
idrequired | string | The device ID. e.g. 7392011847562901234 |
nicherequired | string | Topic or keyword cluster to calibrate toward. e.g. mechanical keyboards |
duration_sec | integer | Warming window in seconds. e.g. 45 |
Pricing
| Plan | Per call | Per 1,000 calls |
|---|---|---|
| Starter | 10 credits | $1.16 |
| Growth | 10 credits | $0.79 |
| Scale | 10 credits | $0.58 |
Growth and up.
Response fields
| Field | Type | Description |
|---|---|---|
status | string | Current lifecycle or health status. |
context_id | string | Isolated device/proxy context identifier in LeanPool or FullPool. |
device_id | string | Provisioned mobile device identifier. |
region | string | Two-letter ISO 3166-1 country code associated with the item or context. |
city | string | City-level egress or location identifier. |
niche | string | Decoded niche value. |
feed_pulls | integer | Decoded feed pulls value. |
videos_dwelled | integer | Decoded videos dwelled value. |
applog_batches_flushed | integer | Decoded applog batches flushed value. |
warm_tier | string | Interest-graph calibration state (cold, warming, calibrated_warm). |
took_ms | integer | Gateway 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
}More in Devices, signing & primitives
GET/v1/resolveResolve2 crPOST/v1/resolveResolve (POST)2 crGET/v1/id-converterID converter2 crPOST/v1/crypto/protobuf/decodeProtobuf decode2 crPOST/v1/crypto/protobuf/encodeProtobuf encode2 crPOST/v1/jobs/submitSubmit batch jobper taskGET/v1/jobs/{id}Get jobFreeGET/v1/devicesList devicesFreePOST/v1/devices/provisionGrowth+Provision device10 crGET/v1/devices/templatesHardware templatesFreeGET/v1/apps/versionsApp versionsFreeGET/v1/devices/{id}Get deviceFreePOST/v1/devices/{id}/bootstrapGrowth+Bootstrap device10 crPOST/v1/devices/{id}/reportGrowth+Device security report10 crPOST/v1/crypto/signSign request2 crPOST/v1/crypto/x-cylonsX-Cylons token2 crPOST/v1/crypto/x-argus/decryptX-Argus decrypt2 crPOST/v1/crypto/x-ladon/decryptX-Ladon decrypt2 crPOST/v1/crypto/x-gorgon/decryptX-Gorgon decrypt2 crPOST/v1/crypto/ttencrypt/encryptTTEncrypt encode2 crPOST/v1/crypto/ttencrypt/decryptTTEncrypt decode2 crPOST/v1/crypto/zstd/compresszstd compress2 crPOST/v1/crypto/zstd/decompresszstd decompress2 crPOST/v1/crypto/passport-hashPassport identifier hash2 cr
Ready to build?
Start with 2,500 free credits and test every public endpoint, then pick a plan.