API reference
Social accounts
Social accounts belong to a character. Connecting uses the platform’s own OAuth screen: create a connect link, send the account owner to it, and they return to your redirect_url. Platforms: Instagram, TikTok, YouTube, Threads and X (twitter).
Plans include 5 (Influencer) or 15 (Agency) connected accounts across the workspace. Each account connected through the API beyond that costs 50 credits per 30 days.
Returns an OAuth URL valid for 30 minutes. monthly_fee_credits tells you up front whether the account will carry the monthly fee.
Body
- character_idstringrequired
Character that will own the account.
- platformstringrequired
instagram,tiktok,youtube,threadsortwitter. - redirect_urlstring
https URL to return to. Receives
status=connected|failed,character_id,platformand, on failure,error. Without it, Orior shows a confirmation page.
Notes
- If the first monthly fee cannot be charged when the owner finishes, the account is disconnected again and the redirect carries
status=failed&error=INSUFFICIENT_CREDITS.
Request
curl -X POST https://api.oriorai.com/v1/social/connect-links \
-H "Authorization: Bearer $ORIOR_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"character_id": "Qx8p2LmN4vRt",
"platform": "tiktok",
"redirect_url": "https://example.com/settings/social"
}'const response = await fetch('https://api.oriorai.com/v1/social/connect-links', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.ORIOR_API_KEY}`,
'Idempotency-Key': crypto.randomUUID(),
'Content-Type': 'application/json',
},
body: JSON.stringify({
"character_id": "Qx8p2LmN4vRt",
"platform": "tiktok",
"redirect_url": "https://example.com/settings/social"
}),
})
const data = await response.json()
if (!response.ok) throw new Error(`${data.error.code}: ${data.error.message}`)import os, uuid
import requests
response = requests.post(
"https://api.oriorai.com/v1/social/connect-links",
headers={"Authorization": f"Bearer {os.environ['ORIOR_API_KEY']}", "Idempotency-Key": str(uuid.uuid4())},
json={
"character_id": "Qx8p2LmN4vRt",
"platform": "tiktok",
"redirect_url": "https://example.com/settings/social",
},
timeout=60,
)
response.raise_for_status()
data = response.json()Response · 201
{
"object": "social_connect_link",
"url": "https://…/oauth/authorize?…",
"character_id": "Qx8p2LmN4vRt",
"platform": "tiktok",
"expires_at": 1758621800000,
"monthly_fee_credits": 0
}