Create Text Post
Overview
The Create Text Post endpoint allows you to schedule and publish text-based posts to one or multiple connected social accounts under a specific category. You can set the post content, assign it to a category, and define the date and time for scheduling.
Base URL:
https://www.oneupapp.io
Endpoint
POST /api/scheduletextpost
Request Parameters
| Parameter | Required | Description |
|---|---|---|
apiKey | Yes | Your personal API key generated from the API Access page. |
category_id | Yes | The ID of the category that groups your target social accounts. You can find your category IDs using the List Categories endpoint. |
social_network_id | Yes | A JSON array of social network IDs where the post will be published. You can find the social network IDs for accounts in a category using the List Category Accounts endpoint. You can also set the value to ALL to publish the post across all accounts enabled for the selected category. |
scheduled_date_time | Yes | The date and time (in YYYY-MM-DD HH:MM format) when the post should be published. Alternatively, you can pass timeslot to use your predefined time slots (requires Intermediate, Growth, or Business plan). |
title | No | The title of your post. For YouTube and Reddit, it serves as the post title. For Threads, it's used as the topic. |
content | Yes | The text content of your post. |
first_comment | No | The first comment to be added to the post (optional and only for Facebook, Instagram, LinkedIn, and YouTube). |
google_post_type | No | Google Business Profile post type. Values: update, event, offer, none. Required when posting to a GBP account. When set to none, the image will only be added to the Photos section of GBP. It will not publish as a GBP Post. |
cta_button | No | CTA button for GBP update and event types. Values: CALL, LEARN_MORE, BOOK, SIGN_UP, ORDER, SHOP |
cta_button_url | No | URL for the CTA button. Optional when cta_button is CALL, required for all other button types. |
event_title | No | Required for GBP event type. The title of the event. |
event_start_date | No | Required for GBP event type. Format: YYYY-MM-DD HH:MM am/pm (e.g., 2026-04-14 08:50 am) |
event_end_date | No | Required for GBP event type. Format: YYYY-MM-DD HH:MM am/pm (e.g., 2026-04-21 08:50 am) |
offer_title | No | Required for GBP offer type. The title of the offer. |
offer_start_date | No | Required for GBP offer type. Format: YYYY-MM-DD HH:MM am/pm (e.g., 2026-04-14 08:50 am) |
offer_end_date | No | Required for GBP offer type. Format: YYYY-MM-DD HH:MM am/pm (e.g., 2026-04-21 08:50 am) |
coupon_code | No | Optional for GBP offer type. A coupon code for the offer. |
link_to_redeem_url | No | Optional for GBP offer type. A link to redeem the offer. |
subreddit | No | The target location for your Reddit post. - To publish to a Subreddit: Use the subreddit name (e.g., vishal2947world). - To publish to your Profile: Prefix your username with u_ (e.g., u_daviswbaer). |
isDraftPost | No | Set to true to save the post as a draft instead of scheduling it. Default: false |
The timeslot feature is not available on the Basic plan. Upgrade to Intermediate, Growth or Business plan to use timeslot scheduling.
Platform-Specific Parameters
Some social networks support additional parameters for specific post types:
Facebook:
facebook: A JSON object with the following option:locationId(number): The Facebook location ID for tagging a location on the post. For help finding a location ID, see How to find your location ID.
Google Business Profile:
Google Business Profile supports three post types via the google_post_type parameter. These parameters are passed as individual fields (not as a JSON object).
Update type (google_post_type=update):
cta_button(optional):CALL,LEARN_MORE,BOOK,SIGN_UP,ORDER,SHOPcta_button_url(optional ifcta_buttonisCALL, required otherwise): The URL for the CTA button
Event type (google_post_type=event):
event_title(required): The title of the eventevent_start_date(required): FormatYYYY-MM-DD HH:MM am/pm(e.g.,2026-04-14 08:50 am)event_end_date(required): FormatYYYY-MM-DD HH:MM am/pm(e.g.,2026-04-21 08:50 am)cta_button(optional):CALL,LEARN_MORE,BOOK,SIGN_UP,ORDER,SHOPcta_button_url(optional ifcta_buttonisCALL, required otherwise): The URL for the CTA button
Offer type (google_post_type=offer):
offer_title(required): The title of the offeroffer_start_date(required): FormatYYYY-MM-DD HH:MM am/pm(e.g.,2026-04-14 08:50 am)offer_end_date(required): FormatYYYY-MM-DD HH:MM am/pm(e.g.,2026-04-21 08:50 am)coupon_code(optional): A coupon code for the offerlink_to_redeem_url(optional): A link to redeem the offer
Sample Request
curl --location --request POST \
"https://www.oneupapp.io/api/scheduletextpost" \
--data-urlencode "apiKey=621544d93ffe2db52b01" \
--data-urlencode "category_id=49839" \
--data-urlencode 'social_network_id=["pin_kumarvishi","accounts/116185162672310389659/locations/1366069594757511498"]' \
--data-urlencode "scheduled_date_time=2025-10-23 14:00" \
--data-urlencode "title=Hello World Title" \
--data-urlencode "content=Hello World! This is a scheduled post."
Example with timeslot scheduling:
curl --location --request POST \
"https://www.oneupapp.io/api/scheduletextpost" \
--data-urlencode "apiKey=621544d93ffe2db52b01" \
--data-urlencode "category_id=49839" \
--data-urlencode 'social_network_id=["pin_kumarvishi","accounts/116185162672310389659/locations/1366069594757511498"]' \
--data-urlencode "scheduled_date_time=timeslot" \
--data-urlencode "title=Hello World Title" \
--data-urlencode "content=Hello World! This is a scheduled post using timeslot."
Example with Facebook location:
curl --location --request POST \
"https://www.oneupapp.io/api/scheduletextpost" \
--data-urlencode "apiKey=621544d93ffe2db52b01" \
--data-urlencode "category_id=49839" \
--data-urlencode 'social_network_id=["113024478527731"]' \
--data-urlencode "scheduled_date_time=2026-12-12 13:13" \
--data-urlencode "content=Hello from this location!" \
--data-urlencode 'facebook={"locationId":992739747256078}'
GBP Examples
Google Business Profile - Update type:
curl --location --request POST \
"https://www.oneupapp.io/api/scheduletextpost" \
--data-urlencode "apiKey=621544d93ffe2db52b01" \
--data-urlencode "category_id=49839" \
--data-urlencode 'social_network_id=["accounts/116185162672310389659/locations/1366069594757511498"]' \
--data-urlencode "scheduled_date_time=2026-12-12 13:13" \
--data-urlencode "content=Check out our new products!" \
--data-urlencode "google_post_type=update" \
--data-urlencode "cta_button=LEARN_MORE" \
--data-urlencode "cta_button_url=https://example.com"
Google Business Profile - Event type:
curl --location --request POST \
"https://www.oneupapp.io/api/scheduletextpost" \
--data-urlencode "apiKey=621544d93ffe2db52b01" \
--data-urlencode "category_id=49839" \
--data-urlencode 'social_network_id=["accounts/116185162672310389659/locations/1366069594757511498"]' \
--data-urlencode "scheduled_date_time=2026-12-12 13:13" \
--data-urlencode "content=Join us for our annual sale event!" \
--data-urlencode "google_post_type=event" \
--data-urlencode "event_title=Annual Sale" \
--data-urlencode "event_start_date=2026-04-14 08:50 am" \
--data-urlencode "event_end_date=2026-04-21 08:50 am" \
--data-urlencode "cta_button=LEARN_MORE" \
--data-urlencode "cta_button_url=https://example.com"
Google Business Profile - Offer type:
curl --location --request POST \
"https://www.oneupapp.io/api/scheduletextpost" \
--data-urlencode "apiKey=621544d93ffe2db52b01" \
--data-urlencode "category_id=49839" \
--data-urlencode 'social_network_id=["accounts/116185162672310389659/locations/1366069594757511498"]' \
--data-urlencode "scheduled_date_time=2026-12-12 13:13" \
--data-urlencode "content=Get 20% off your next order!" \
--data-urlencode "google_post_type=offer" \
--data-urlencode "offer_title=20% Off Sale" \
--data-urlencode "offer_start_date=2026-04-14 08:50 am" \
--data-urlencode "offer_end_date=2026-04-21 08:50 am" \
--data-urlencode "coupon_code=SAVE20" \
--data-urlencode "link_to_redeem_url=https://example.com/redeem"
Sample Response
{
"message": "1 new Posts Scheduled.",
"error": false,
"data": []
}
✅ Result: Your post has been successfully scheduled! The message confirms that the post is queued for publishing at the specified date and time.
Platform Support & Limitations
| Network | Character Limit | Notes |
|---|---|---|
| 10,000 | Full text supported with formatting | |
| X(Twitter) | 280 | 25,000 for premium accounts |
| 3,000 | Supports formatting like bold, italic | |
| 2,200 | For feed post captions | |
| Google Business | 1,500 | For business updates |
| 500 | For pin descriptions | |
| Threads | 500 | Maximum length |
| Bluesky | 300 | Maximum length |
| 40,000 | Maximum length |
Tips & Notes
- Make sure your target social accounts are active and not expired before scheduling.
- The
social_network_idmust exactly match the account IDs retrieved from the List Category Accounts or List Social Accounts endpoints. - For immediate publishing, you can set the
scheduled_date_timeto the current timestamp. - Avoid overloading with too many simultaneous posts to prevent API rate limiting.
✅ Next Step: Combine this with your category and account lookups to automate the posting workflow end-to-end.