Post and schedule content to your connected accounts from one REST API. Use it from scripts, cron jobs, or AI agents.
Building an AI agent? Give it llms.txt for the full doc
index, or install our agent skill. It works with
OpenClaw, Claude Code, Codex, Hermes, and other agent runtimes.
Full page content in one file: llms-full.txt.
Base URL
https://www.genviral.io/api/partner/v1
Authentication
- Sign in at genviral.io and open API Keys.
- Create a Personal or Workspace key and store the token (shown once).
- Send it on every request:
Authorization: Bearer <public_id>.<secret>
Keys are single-scope. Workspace keys only see that workspace; personal keys only see personal
accounts. Requests never fall through to unscoped data.
Partner API access requires an active Creator, Professional, or Business plan.
Quick start
# 1. List accounts in your key scope
curl -s https://www.genviral.io/api/partner/v1/accounts \
-H "Authorization: Bearer $GENVIRAL_TOKEN"
# 2. Create a post
curl -X POST https://www.genviral.io/api/partner/v1/posts \
-H "Authorization: Bearer $GENVIRAL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"caption": "Hello from the Partner API",
"media": {
"type": "video",
"url": "https://cdn.example.com/clip.mp4"
},
"accounts": [{ "id": "YOUR_ACCOUNT_ID" }]
}'
Before posting, call GET /accounts and read each account’s
capabilities — they tell you whether the account supports text-only posts, video, slideshows,
and provider-specific settings.
Typical workflow
- Discover accounts —
GET /accounts
- Create posts —
POST /posts with caption, optional media, and settings.<provider>
- Track status —
GET /posts or GET /posts/{id}
- Update or retry —
PATCH /posts/{id} or POST /posts/retry
Details live on the endpoint pages below. Start with Create Post and
Response Pattern.
| Platform | Posting | Analytics |
|---|
| TikTok | Yes | Yes |
| Instagram | Yes | Yes |
| YouTube | Yes | Yes |
| Facebook | Yes | - |
| Pinterest | Yes | - |
| LinkedIn | Yes | - |
| X/Twitter | Yes | - |
| Bluesky | Yes | - |
Not every account supports every content type. Always check capabilities from /accounts.
Postman
Import the collection and set base_url plus partner_api_token:
Next steps