Skip to main content
GET
/
automation
/
get-post-details
Get Post Details
curl --request GET \
  --url https://public.reap.video/api/v1/automation/get-post-details \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://public.reap.video/api/v1/automation/get-post-details"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://public.reap.video/api/v1/automation/get-post-details', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://public.reap.video/api/v1/automation/get-post-details",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://public.reap.video/api/v1/automation/get-post-details"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://public.reap.video/api/v1/automation/get-post-details")
.header("Authorization", "Bearer <token>")
.asString();
{
  "id": "<string>",
  "projectId": "<string>",
  "clipId": "<string>",
  "platforms": [
    "<string>"
  ],
  "successPlatforms": [
    "<string>"
  ],
  "failedPlatforms": [
    "<string>"
  ],
  "integrations": [
    "<string>"
  ],
  "title": "<string>",
  "description": "<string>",
  "tags": [
    "<string>"
  ],
  "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
}
For AI agents: a documentation index is at /llms.txt. Every page is also available as markdown, just append .md to the URL.

Overview

Retrieve the full details of a specific publisher post, including its current status, platform URLs, and configuration.

Rate Limiting

This endpoint is rate limited to 10 requests per minute per API key.

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
  • processing - Post is being published
  • draft - Post is saved as draft
  • scheduled - Post is scheduled for future publishing
  • completed - Published successfully
  • failed - Publishing failed
  • cancelled - Post was cancelled
  • unresolved - Partial success (some platforms failed)
scheduleType
string
Type of scheduling (immediate or scheduled)
scheduleDate
integer
Scheduled publish date as Unix timestamp (null for immediate)
publishDate
integer
Actual publish date as Unix timestamp
urls
object
Published URLs per platform (populated after successful publishing)
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 GET "https://public.reap.video/api/v1/automation/get-post-details?postId=67b1c2d3e4f5a6b7c8d9e0f1" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
const postId = '67b1c2d3e4f5a6b7c8d9e0f1';
const response = await fetch(`https://public.reap.video/api/v1/automation/get-post-details?postId=${postId}`, {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
});

const post = await response.json();
console.log(`Post ${post.id}: ${post.status}`);
import requests

headers = {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
}

post_id = '67b1c2d3e4f5a6b7c8d9e0f1'
response = requests.get(
    f'https://public.reap.video/api/v1/automation/get-post-details?postId={post_id}',
    headers=headers
)

post = response.json()
print(f"Post {post['id']}: {post['status']}")
<?php
$postId = '67b1c2d3e4f5a6b7c8d9e0f1';
$ch = curl_init('https://public.reap.video/api/v1/automation/get-post-details?postId=' . $postId);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_KEY',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$post = json_decode($response, true);
echo 'Post ' . $post['id'] . ': ' . $post['status'] . "\n";
?>
package main
import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
)
type Post struct {
    ID     string `json:"id"`
    Status string `json:"status"`
}
func main() {
    postId := "67b1c2d3e4f5a6b7c8d9e0f1"
    url := fmt.Sprintf("https://public.reap.video/api/v1/automation/get-post-details?postId=%s", postId)
    req, _ := http.NewRequest("GET", url, nil)
    req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")
    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()
    body, _ := ioutil.ReadAll(resp.Body)
    var post Post
    json.Unmarshal(body, &post)
    fmt.Printf("Post %s: %s\n", post.ID, post.Status)
}
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetPostDetailsExample {
    public static void main(String[] args) throws Exception {
        String postId = "67b1c2d3e4f5a6b7c8d9e0f1";
        URL url = new URL("https://public.reap.video/api/v1/automation/get-post-details?postId=" + postId);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Authorization", "Bearer YOUR_API_KEY");
        conn.setRequestProperty("Content-Type", "application/json");
        BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
        StringBuilder response = new StringBuilder();
        String responseLine;
        while ((responseLine = br.readLine()) != null) {
            response.append(responseLine.trim());
        }
        System.out.println(response.toString());
    }
}

Example Response

Authorizations

Authorization
string
header
required

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

Query Parameters

postId
string
required

Unique identifier of the post

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