Skip to main content
POST
/
automation
/
update-post
Update Post
curl --request POST \
  --url https://public.reap.video/api/v1/automation/update-post \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "postId": "<string>",
  "title": "<string>",
  "description": "<string>",
  "tags": [
    "<string>"
  ],
  "scheduleDate": 123,
  "platformSettings": {
    "youtube": {
      "privacy": "public",
      "embeddable": true,
      "publicStats": true,
      "madeForKids": false
    },
    "tiktok": {
      "privacy": "public",
      "disableComments": false,
      "disableDuet": false,
      "disableStitch": false,
      "brandContent": false,
      "brandOrganic": false
    },
    "instagram": {
      "shareToFeed": false
    },
    "linkedin": {
      "privacy": "public"
    }
  }
}
'
{
  "id": "<string>",
  "projectId": "<string>",
  "clipId": "<string>",
  "platforms": [
    "<string>"
  ],
  "successPlatforms": [
    "<string>"
  ],
  "failedPlatforms": [
    "<string>"
  ],
  "integrations": [
    "<string>"
  ],
  "title": "<string>",
  "description": "<string>",
  "tags": [
    "<string>"
  ],
  "status": "processing",
  "scheduleType": "scheduled",
  "scheduleDate": 123,
  "publishDate": 123,
  "urls": {},
  "platformSettings": {
    "youtube": {
      "privacy": "public",
      "embeddable": true,
      "publicStats": true,
      "madeForKids": false
    },
    "tiktok": {
      "privacy": "public",
      "disableComments": false,
      "disableDuet": false,
      "disableStitch": false,
      "brandContent": false,
      "brandOrganic": false
    },
    "instagram": {
      "shareToFeed": false
    },
    "linkedin": {
      "privacy": "public"
    }
  },
  "createdAt": 123,
  "updatedAt": 123
}

Overview

Update the details of a scheduled or draft post. You can modify the title, description, tags, schedule date, and platform settings. Only the fields you provide will be updated — other fields remain unchanged.

Rate Limiting

This endpoint is rate limited to 10 requests per minute per API key.
Cannot update posts that are already completed or currently processing. Schedule date must be at least 50 minutes in the future. Only fields you provide will be updated — other fields remain unchanged.

Response

id
string
Unique post identifier
projectId
string
ID of the parent project
clipId
string
ID of the published clip
platforms
array
Array of target platform names
successPlatforms
array
Platforms where publishing succeeded
failedPlatforms
array
Platforms where publishing failed
integrations
array
Array of integration IDs used for publishing
title
string
Post title
description
string
Post description
tags
array
Array of tags applied to the post
status
string
Current post status
scheduleType
string
Type of scheduling (immediate or scheduled)
scheduleDate
integer
Scheduled publish date as Unix timestamp
publishDate
integer
Actual publish date as Unix timestamp (null if not yet published)
urls
object
Published URLs per platform
platformSettings
object
Per-platform configuration
createdAt
integer
Unix timestamp when the post was created
updatedAt
integer
Unix timestamp when the post was last updated

Example Request

curl -X POST "https://public.reap.video/api/v1/automation/update-post" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "postId": "67b1c2d3e4f5a6b7c8d9e0f1",
    "title": "Updated: The Future of AI",
    "scheduleDate": 1710200000,
    "platformSettings": {
      "youtube": {
        "privacy": "unlisted"
      }
    }
  }'

Example Response

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
postId
string
required

ID of the post to update

title
string | null

New post title (max 250 characters)

description
string | null

New post description (max 1000 characters)

tags
string[] | null

New post tags (max 10)

scheduleDate
integer | null

New schedule date (Unix timestamp, min 50 min in future)

platformSettings
object

Updated platform settings

Response

200 - application/json

Successful response

id
string
projectId
string | null
clipId
string | null
platforms
string[]
successPlatforms
string[]
failedPlatforms
string[]
integrations
string[]
title
string | null
description
string | null
tags
string[] | null
status
enum<string>
Available options:
processing,
draft,
completed,
failed,
cancelled,
unresolved
scheduleType
enum<string>
Available options:
scheduled,
immediate
scheduleDate
integer
publishDate
integer
urls
object

Social media URLs keyed by integration ID

platformSettings
object
createdAt
integer
updatedAt
integer