Skip to main content

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

ParameterRequiredDescription
apiKeyYesYour personal API key generated from the API Access page.
category_idYesThe ID of the category that groups your target social accounts.
social_network_idYesA 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_timeYesThe date and time (in YYYY-MM-DD HH:MM format) when the post should be published.
titleNoThe title of your post (for YouTube, Reddit, and Threads posts).
contentYesThe text content of your post.
video_urlYesThe 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_urlNoThe URL of the thumbnail image for video posts (optional and only for video posts).
first_commentNoThe first comment to be added to the post (optional and only for Facebook, Instagram, LinkedIn, and YouTube).
google_post_typeNoGoogle 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_buttonNoCTA button for GBP update and event types. Values: CALL, LEARN_MORE, BOOK, SIGN_UP, ORDER_ONLINE, BUY
cta_button_urlNoURL for the CTA button. Optional when cta_button is CALL, required for all other button types.
event_titleNoRequired for GBP event type. The title of the event.
event_start_dateNoRequired for GBP event type. Format: YYYY-MM-DD HH:MM am/pm (e.g., 2026-04-14 08:50 am)
event_end_dateNoRequired for GBP event type. Format: YYYY-MM-DD HH:MM am/pm (e.g., 2026-04-21 08:50 am)
offer_titleNoRequired for GBP offer type. The title of the offer.
offer_start_dateNoRequired for GBP offer type. Format: YYYY-MM-DD HH:MM am/pm (e.g., 2026-04-14 08:50 am)
offer_end_dateNoRequired for GBP offer type. Format: YYYY-MM-DD HH:MM am/pm (e.g., 2026-04-21 08:50 am)
coupon_codeNoOptional for GBP offer type. A coupon code for the offer.
link_to_redeem_urlNoOptional for GBP offer type. A link to redeem the offer.
subredditNoThe 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).
isDraftPostNoSet 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 to true to publish as an Instagram Story. Default: false
    • collaborator (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 app
      • 2 -> 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 to true to publish as a Facebook Story. Default: false
    • isFBReel (boolean): Set to true to publish as a Facebook Reel. Default: false
    • 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.

Snapchat:

  • snapchat: A JSON object with the following option:
    • isSpotLight (boolean): Set to true to 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.
YouTube Shorts

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_name and board_id are 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, BUY
  • cta_button_url (optional if cta_button is CALL, required otherwise): The URL for the CTA button

Event type (google_post_type=event):

  • event_title (required): The title of the event
  • event_start_date (required): Format YYYY-MM-DD HH:MM am/pm (e.g., 2026-04-14 08:50 am)
  • event_end_date (required): Format YYYY-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, BUY
  • cta_button_url (optional if cta_button is CALL, required otherwise): The URL for the CTA button

Offer type (google_post_type=offer):

  • offer_title (required): The title of the offer
  • offer_start_date (required): Format YYYY-MM-DD HH:MM am/pm (e.g., 2026-04-14 08:50 am)
  • offer_end_date (required): Format YYYY-MM-DD HH:MM am/pm (e.g., 2026-04-21 08:50 am)
  • coupon_code (optional): A coupon code for the offer
  • link_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_id must exactly match the account IDs retrieved from the List Category Accounts or List Social Accounts endpoints.
  • The video_url must be publicly accessible and point directly to a video file.
  • For immediate publishing, set scheduled_date_time to 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.