Connect Facebook Page first
- 01
Open Accounts in 1Post and choose Connect.
- 02
Pick Facebook.
- 03
Sign in with Facebook and approve access for the Page you want to post to.
- 04
Choose the Page in 1Post. It is ready to pick in the composer.
Then GET /v1/accounts returns the id of the Facebook Page Page to use in the request.
Facebook Page posts go into one of the account's Pages; GET /v1/accounts/{id}/targets lists them.
Send a post to Facebook Page
curl https://api.get1post.com/v1/posts \
-H "Authorization: Bearer $ONEPOST_API_KEY" \
-H "Idempotency-Key: facebook-page-first-post" \
-d '{"accounts":["ACCOUNT_ID"],"text":"Saturday market: fresh bread from 8am.","schedule_at":"2026-11-02T15:00:00Z"}'The reply is 202 with the post (status scheduled) and one destination for Facebook Page, which moves from queued to published or failed.
What you can send to Facebook Page
- Text
- Link
- Photos
- Video
- Reels
- Stories
- First comment
What Facebook Page publishes
- A scheduled Page post needs a publish date between 10 minutes and 30 days after the request, with the post set as unpublished.
Facebook Page rules the request is checked against
| Rule | What 1Post checks |
|---|---|
| Text limit | 63,206 characters, counted by code points |
| Media accepted | Images, Video |
| Videos per post | 1 |
| Images and video together | Not in one post |
| Video length | 3 seconds to 90 seconds |
| Threads | No |
| First comment | Yes, up to 8,000 characters |
| Posts per day, per connected account (1Post) | 25 |
The same table with sources is on the Facebook Page specs page.
Facebook Page options in the request
- First comment: add first_comment with text (up to 8,000 characters) to an account object, and delay_min if it should wait.
Check the post before it is queued
Add "dry_run": true to test a post: nothing is kept, a valid one answers 200 and a broken one answers 422 naming the rule.
{
"error": {
"code": "invalid_for_platform",
"message": "facebook_page refuses this post: Facebook Page counts 63,238 of 63,206 characters in part 1. (text_too_long).",
"fix": "Fix the rule named in the message and send the post again.",
"retryable": false,
"request_id": "REQUEST_ID"
}
}An assistant connected to the MCP server sends the same fields to create_post; set one up.