Create Video Post
Overview
The Create Video Post endpoint allows you to schedule and publish video-based posts to one or multiple connected social accounts under a specific category. You can set the post content, attach a video URL, assign it to a category, and define the date and time for scheduling.
Base URL:
https://www.oneupapp.io
Endpoint
POST /api/schedulevideopost
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. |
social_network_id | Yes | A JSON array of social network IDs where the post will be published. 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. |
title | No | The title of your post (for YouTube, Reddit, and Threads posts). |
content | Yes | The text content of your post. |
video_url | Yes | The URL to the video you want to attach to the post. You can also upload videos via the Upload Media endpoint and use the returned file_path as the video_url. |
thumbnail_url | No | The URL of the thumbnail image for video posts (optional and only for video posts). |
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_ONLINE, BUY |
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 |
Platform-Specific Parameters
Some social networks support additional parameters for specific video post types:
Instagram:
instagram: A JSON object with the following options:isStory(boolean): Set totrueto publish as an Instagram Story. Default:falsecollaborator(string): A comma-separated string of Instagram usernames (e.g.,"nike,adidas"). When adding collaborators, use the Instagram @username exactly as it appears without the '@' symbol. You can add up to 5 collaborators on a post. Note that the tagged account cannot be private, otherwise the post will not publish.addToFeed:1-> The reel will appear on the Posts tab (Feed)0-> The reel will only appear in the Reels tab
isTrialReel(optional):1-> The trial reel can be manually graduated in the Instagram app2-> The trial reel will be automatically graduated if the trial reel performs well
locationId(number): The Instagram location ID for tagging a location on the post. For help finding a location ID, see How to find your location ID.
Facebook:
facebook: A JSON object with the following options:isStory(boolean): Set totrueto publish as a Facebook Story. Default:falseisFBReel(boolean): Set totrueto publish as a Facebook Reel. Default:falselocationId(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.
Snapchat:
snapchat: A JSON object with the following option:isSpotLight(boolean): Set totrueto publish as a Snapchat Spotlight. Default:false
YouTube:
youtube: A JSON object with the following fields:playlist_name(string, required): The name of the YouTube playlist.playlist_id(string, required): The ID of the YouTube playlist.- You can fetch available playlists using the Fetch YouTube Playlists endpoint.
Video posts to YouTube in portrait orientation that are 3 minutes or less will automatically be posted as Shorts.
Pinterest:
pinterest: A JSON object with the following fields (required when posting to a Pinterest account):board_name(string, required): The name of the Pinterest board.board_id(string, required): The ID of the Pinterest board.destination_link(string, optional): The URL of the destination link for the Pin.- Both
board_nameandboard_idare mandatory fields. You can fetch available boards using the Fetch Pinterest Boards endpoint.
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_ONLINE,BUYcta_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_ONLINE,BUYcta_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
Example with platform-specific parameters:
curl --location --request POST \
"https://www.oneupapp.io/api/schedulevideopost" \
--data-urlencode "apiKey=621544d93ffe2db52b01" \
--data-urlencode "category_id=49839" \
--data-urlencode 'social_network_id=["17841408823790514"]' \
--data-urlencode "scheduled_date_time=2026-12-12 13:13" \
--data-urlencode "title=My Video Post" \
--data-urlencode "content=Video post from API" \
--data-urlencode "video_url=https://cdn.filestackcontent.com/tpVlPE0qT7u4TwyPoA1M" \
--data-urlencode 'instagram={"isStory":true, "isTrialReel":1}'
Example with Instagram location:
curl --location --request POST \
"https://www.oneupapp.io/api/schedulevideopost" \
--data-urlencode "apiKey=621544d93ffe2db52b01" \
--data-urlencode "category_id=49839" \
--data-urlencode 'social_network_id=["17841408823790514"]' \
--data-urlencode "scheduled_date_time=2026-12-12 13:13" \
--data-urlencode "content=Video post with location" \
--data-urlencode "video_url=https://cdn.filestackcontent.com/tpVlPE0qT7u4TwyPoA1M" \
--data-urlencode 'instagram={"locationId":992739747256078}'
Example with YouTube playlist:
curl --location --request POST \
"https://www.oneupapp.io/api/schedulevideopost" \
--data-urlencode "apiKey=621544d93ffe2db52b01" \
--data-urlencode "category_id=49839" \
--data-urlencode 'social_network_id=["UC2tfTuFO9diTgaaeozmDLKg"]' \
--data-urlencode "scheduled_date_time=2026-12-12 13:13" \
--data-urlencode "title=My Video Title" \
--data-urlencode "content=Video post to YouTube playlist" \
--data-urlencode "video_url=https://cdn.filestackcontent.com/tpVlPE0qT7u4TwyPoA1M" \
--data-urlencode 'youtube={"playlist_name":"ijhwofejifow","playlist_id":"PLsmRfwpAUptdmOY0mHWCZaS-466bvZQcZ"}'
Example with Pinterest board:
curl --location --request POST \
"https://www.oneupapp.io/api/schedulevideopost" \
--data-urlencode "apiKey=621544d93ffe2db52b01" \
--data-urlencode "category_id=49839" \
--data-urlencode 'social_network_id=["pin_oneupapp"]' \
--data-urlencode "scheduled_date_time=2026-12-12 13:13" \
--data-urlencode "content=Video post to Pinterest" \
--data-urlencode "video_url=https://cdn.filestackcontent.com/tpVlPE0qT7u4TwyPoA1M" \
--data-urlencode 'pinterest={"board_name":"OneUp","board_id":"635641003596046298"}'
GBP Examples
Google Business Profile - Update type:
curl --location --request POST \
"https://www.oneupapp.io/api/schedulevideopost" \
--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 "video_url=https://cdn.filestackcontent.com/tpVlPE0qT7u4TwyPoA1M" \
--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/schedulevideopost" \
--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 "video_url=https://cdn.filestackcontent.com/tpVlPE0qT7u4TwyPoA1M" \
--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/schedulevideopost" \
--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 "video_url=https://cdn.filestackcontent.com/tpVlPE0qT7u4TwyPoA1M" \
--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 video post has been successfully scheduled! The message confirms that the post is queued for publishing at the specified date and time.
Tips & Notes
- Ensure 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. - The
video_urlmust be publicly accessible and point directly to a video file. - For immediate publishing, set
scheduled_date_timeto the current timestamp. - Avoid overloading with too many simultaneous posts to prevent API rate limiting.
- When using platform-specific parameters, ensure the JSON is properly formatted and URL-encoded in the request.
✅ Next Step: Combine this with your category and account lookups to automate the video posting workflow end-to-end.