◆ Developers
API documentation
Postena exposes a small HTTP API so you can publish or schedule videos from your own scripts and workflows. Every request is authenticated.
Authentication
Programmatic requests must include your secret key in the X-API-Key header. Requests without a valid key (or an active dashboard session) are rejected with 401. You can find your key in your Postena configuration; keep it private.
X-API-Key: your_api_key_here
Publish a video now
POST/api/publish
Publishes a video to your connected TikTok account immediately.
| Field | Type | Description |
|---|---|---|
videoPath | string | Absolute path to the MP4 on the host (or send a video file with multipart). |
caption | string | Caption and hashtags. |
coverMs | number | Cover-frame timestamp in milliseconds (the thumbnail). |
curl -X POST https://your-domain/api/publish \ -H "X-API-Key: your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "videoPath": "/videos/clip.mp4", "caption": "New drop #video", "coverMs": 1000 }' → { "ok": true, "publish_id": "v2.123..." }
Schedule a video
POST/api/schedule
Same fields as publish, plus an at timestamp. Postena stores the video and publishes it automatically at that time.
| Field | Type | Description |
|---|---|---|
at | string (ISO 8601) | When to publish, e.g. 2026-09-01T18:00:00Z. |
curl -X POST https://your-domain/api/schedule \ -H "X-API-Key: your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "videoPath": "/videos/clip.mp4", "caption": "Tomorrow", "coverMs": 800, "at": "2026-09-01T18:00:00Z" }' → { "ok": true, "id": "6304...", "at": "2026-09-01T18:00:00.000Z" }
Check publish status
GET/api/publish/status?publish_id=…
curl "https://your-domain/api/publish/status?publish_id=v2.123..."
→ { "status": "PUBLISH_COMPLETE" }
The dashboard at
/app does the same thing with a visual interface — connect your account, drop a video, pick the cover, and publish or schedule. Both the dashboard and the API act only on the TikTok account you have authorized.