API

Send videos to OLO from your own tools.

For studios and agencies that edit in other software. The API puts the video into OLO; posting to TikTok is always approved by a person.

How it works

The video comes in, a person approves

  1. Create an API key in OLO under Settings → API key. You see it once; we keep only a hash.
  2. Upload the video in chunks from your tool, with the key in the Authorization header.
  3. Create the post with the caption and, optionally, a suggested account and time. It lands in “To review”.
  4. A person on your team opens it in OLO, chooses the TikTok settings and the time, and approves it.
  5. Read the status through the API: scheduled, posted, failed, with the TikTok link.
Why the API does not post directly

TikTok requires the person posting to see the account, choose who can view the video, the interactions and the commercial disclosure, and consent for every video. The OLO API respects that: it puts the video into OLO, but the decision stays with a person.

Reference

Endpoints

RequestWhat it does
POST /api/v1/videosStarts an upload: {"name","size","mime"} → {"id","chunk_size"}
PUT /api/v1/videos/{id}/chunk?offset=NSends a chunk (raw bytes). Responds with received.
POST /api/v1/videos/{id}/completeFinishes the upload; optional {"duration_ms"}.
POST /api/v1/postsCreates a post to review: {"video_id","caption","account_id?","scheduled_at?","mode?"}
GET /api/v1/posts/{id}The post status and the TikTok link.
GET /api/v1/accountsConnected TikTok accounts (id, name).
GET /api/v1/meThe key’s account.

Example

curl -X POST https://olo.ro/api/v1/posts \
  -H "Authorization: Bearer olo_…" \
  -H "Content-Type: application/json" \
  -d '{"video_id":"…","caption":"Lunch menu #lunch","account_id":3}'
→ 201 {"id":42,"status":"needs_review","review_url":"https://olo.ro/app/new?post=42"}

Limit: 240 requests per minute per key. Videos up to 1 GB, 8 MB chunks. Statuses: needs_review, scheduled, publishing, processing, published, sent_to_inbox, failed, canceled.

Need help with the integration?

Write to contact@olo.ro.

Create a free account