Channels
How an agent publishes to a Facebook Page through uplika: feed posts, link posts, reels and stories, and what the API does not offer.
Quick reference
| Name | Type | Description |
|---|---|---|
characters | text | 63,206 |
images | media | up to 10 per post; more than that and the first 10 go out with a warning |
carousel | media | 2-10 items |
video | media | 1 per post |
text alone | media | allowed |
posts / 24h | limit | 100 |
deletes / 24h | limit | 50 |
status | state | live |
These numbers come from the same file the server validates against. Text alone publishes. A link post (options.facebook.link) gets a preview card and cannot carry media alongside.
Feed, reel or story?
options.facebook.contentType picks it. A single video becomes a reel by default (3 to 90 seconds). A story takes exactly one image or video and is rejected if you send any text: publish the story with no content and put the words in a feed post.
How do I publish my first post?
Call publish with text, or with a media id. Nothing else is required.
curl -X POST https://api.uplika.com/v1/posts \
-H "Authorization: Bearer $UPLIKA_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Read the full story",
"accountIds": ["conn_..."],
"options": { "facebook": { "link": "https://uplika.com" } }
}'What options.facebook takes
| Name | Type | Description |
|---|---|---|
contentType | feed | story | reel | What kind of post. Defaults to reel for a single video and feed otherwise. A Facebook story is rejected if you send any text: publish the story with no content, and put the words in a feed post instead. A story also takes exactly one image or video and no first comment. |
link | string | Makes a link post with a preview card. Cannot be combined with media. |
title | string | Reel title, separate from the caption. |
scheduledPublishTime | string | ISO 8601 time to publish a feed post later, 10 minutes to 28 days from now. Feed posts only, not reels or stories. Cannot be combined with firstComment (a scheduled post is not live yet, so nothing to comment on). This is Facebook's own scheduling; for scheduling across channels use scheduledAt on the post. (API only; the dashboard does not draw it.) |
firstComment | string | A comment we post right after publishing. Not on stories, and not on scheduled posts. If it fails the post still goes up, with a warning. |
content | string | Text for this channel only. When set it replaces the shared content for this channel, and the length and media checks use it. Leave it out to use the shared content. |
Generated from the same schema the server validates with. GET /v1/platforms returns it too. scheduledPublishTime is Facebook's own scheduling for feed posts; for a post going to several channels use scheduledAt on the post instead.
What is not available?
Personal profiles (Pages only), editing a published post, and deleting posts that were not published through this app. Comments left by others on your post come through list_replies.
Frequently asked
Can I post to my personal profile?
No. Meta's API publishes to Pages only, and that is what uplika connects. A profile has no equivalent permission.
Why was my story rejected?
Because it carried text, or more than one media item, or a first comment. A Facebook story is exactly one image or video and nothing else.
Can I schedule a Facebook post?
Yes, two ways. scheduledAt on the post is uplika's scheduling and works with any other channel in the same call. options.facebook.scheduledPublishTime is Facebook's own, feed posts only, 10 minutes to 28 days out.