curl --request PATCH \
--url https://api.social-api.ai/v1/posts/{pid} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"first_comment": "<string>",
"hidden": false,
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"platform_data": {},
"queue_id": "que_01J9Z8Y7X6W5V4T3S2R1Q0P9N8",
"scheduled_at": "2026-04-02T14:00:00Z",
"segments": [
{
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"text": "And here's the second post in the thread."
}
],
"skip_validation": false,
"targets": [
{
"account_id": "acc_01HZ9X3Q4R5M6N7P8V2K0W1J",
"board_id": "8828",
"first_comment": "<string>",
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"page_id": "sapi_page_01JRQX...",
"platform_data": {},
"scheduled_at": "2026-04-01T10:00:00Z",
"text": "Platform-specific version of the post",
"title": "Custom title for LinkedIn",
"visibility": "public"
}
],
"text": "Updated post content",
"title": "Updated Title",
"visibility": "public"
}
EOFconst options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
first_comment: '<string>',
hidden: false,
media: [
{
source: '550e8400-e29b-41d4-a716-446655440000',
source_type: 'media_id',
type: 'image'
}
],
media_ids: ['<string>'],
platform_data: {},
queue_id: 'que_01J9Z8Y7X6W5V4T3S2R1Q0P9N8',
scheduled_at: '2026-04-02T14:00:00Z',
segments: [
{
media: [
{
source: '550e8400-e29b-41d4-a716-446655440000',
source_type: 'media_id',
type: 'image'
}
],
media_ids: ['<string>'],
text: 'And here\'s the second post in the thread.'
}
],
skip_validation: false,
targets: [
{
account_id: 'acc_01HZ9X3Q4R5M6N7P8V2K0W1J',
board_id: '8828',
first_comment: '<string>',
media: [
{
source: '550e8400-e29b-41d4-a716-446655440000',
source_type: 'media_id',
type: 'image'
}
],
media_ids: ['<string>'],
page_id: 'sapi_page_01JRQX...',
platform_data: {},
scheduled_at: '2026-04-01T10:00:00Z',
text: 'Platform-specific version of the post',
title: 'Custom title for LinkedIn',
visibility: 'public'
}
],
text: 'Updated post content',
title: 'Updated Title',
visibility: 'public'
})
};
fetch('https://api.social-api.ai/v1/posts/{pid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.social-api.ai/v1/posts/{pid}"
payload = {
"first_comment": "<string>",
"hidden": False,
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": ["<string>"],
"platform_data": {},
"queue_id": "que_01J9Z8Y7X6W5V4T3S2R1Q0P9N8",
"scheduled_at": "2026-04-02T14:00:00Z",
"segments": [
{
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": ["<string>"],
"text": "And here's the second post in the thread."
}
],
"skip_validation": False,
"targets": [
{
"account_id": "acc_01HZ9X3Q4R5M6N7P8V2K0W1J",
"board_id": "8828",
"first_comment": "<string>",
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": ["<string>"],
"page_id": "sapi_page_01JRQX...",
"platform_data": {},
"scheduled_at": "2026-04-01T10:00:00Z",
"text": "Platform-specific version of the post",
"title": "Custom title for LinkedIn",
"visibility": "public"
}
],
"text": "Updated post content",
"title": "Updated Title",
"visibility": "public"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"created_at": "2026-03-14T09:00:00Z",
"hidden": false,
"id": "p_01HZ9X3Q4R5M6N7P8V2K0W1J",
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"published_at": "2026-04-01T10:00:05Z",
"queue_id": "que_01J9Z8Y7X6W5V4T3S2R1Q0P9N8",
"retry_count": 0,
"scheduled_at": "2026-04-01T10:00:00Z",
"status": "published",
"targets": [
{
"account_id": "acc_01HZ9X3Q4R5M6N7P8V2K0W1J",
"board_id": "8828",
"error": {
"category": "validation",
"caused_by": "user",
"code": "platform.tiktok.media_required",
"message": "Video posts require at least one media URL"
},
"first_comment": "<string>",
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"media_type": "reel",
"metadata": {},
"metrics": {
"avg_watch_time_ms": 7400,
"calls": 2,
"comments": 23,
"crossposted_views": 310,
"directions": 1,
"emails": 2,
"extra": {},
"follows": 12,
"interactions": 204,
"likes": 142,
"profile_actions": 15,
"profile_visits": 48,
"reach": 3870,
"reposts": 6,
"saves": 31,
"shares": 8,
"skip_rate": 42.5,
"texts": 1,
"total_watch_time_ms": 37888000,
"views": 5120,
"website_clicks": 9
},
"metrics_synced_at": "2026-04-01T12:00:00Z",
"page_id": "sapi_page_01HZ9X3Q4R5M6N7P8V2K0W1J",
"permalink": "https://www.instagram.com/p/ABC123/",
"platform": "instagram",
"platform_data": {},
"platform_media": [
{
"thumbnail_url": "https://scontent.cdninstagram.com/v/t51.29350-15/456_n.jpg",
"type": "image",
"url": "https://scontent.cdninstagram.com/v/t51.29350-15/123_n.jpg"
}
],
"platform_post_id": "17895695668004550",
"published_at": "2026-04-01T10:00:05Z",
"scheduled_at": "2026-04-01T10:00:00Z",
"settings": {
"alt_text": "<string>",
"audio_type": "MUSIC",
"child_attachments": [
{
"description": "<string>",
"link": "<string>",
"name": "<string>",
"picture": "<string>"
}
],
"comments_enabled": true,
"countries": [
"FR",
"BE"
],
"cta_link": "<string>",
"cta_type": "SHOP_NOW",
"is_ai_generated": true,
"max_age": 65,
"min_age": 18,
"multi_share_end_card": true,
"multi_share_optimized": true,
"place": {
"id": "<string>",
"name": "<string>"
},
"product_type": "FEED",
"share_to_feed": true
},
"status": "published",
"text": "<string>",
"title": "<string>",
"visibility": "public"
}
],
"text": "Check out our new product launch!",
"title": "Exciting News",
"updated_at": "2026-03-14T09:00:00Z",
"visibility": "public"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}Update a post
Updates the text, media, schedule time, targets, or hidden status of a pending post.
Only posts in draft, scheduled, or failed status can be updated.
queue_id moves the post to another Queue, and queue_id: null takes it out of its Queue and keeps its time.
Omit targets to keep the current ones. Sending targets replaces them all.
scheduled_at must be in the future, and a scheduled post must keep at least one target.
curl --request PATCH \
--url https://api.social-api.ai/v1/posts/{pid} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"first_comment": "<string>",
"hidden": false,
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"platform_data": {},
"queue_id": "que_01J9Z8Y7X6W5V4T3S2R1Q0P9N8",
"scheduled_at": "2026-04-02T14:00:00Z",
"segments": [
{
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"text": "And here's the second post in the thread."
}
],
"skip_validation": false,
"targets": [
{
"account_id": "acc_01HZ9X3Q4R5M6N7P8V2K0W1J",
"board_id": "8828",
"first_comment": "<string>",
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"page_id": "sapi_page_01JRQX...",
"platform_data": {},
"scheduled_at": "2026-04-01T10:00:00Z",
"text": "Platform-specific version of the post",
"title": "Custom title for LinkedIn",
"visibility": "public"
}
],
"text": "Updated post content",
"title": "Updated Title",
"visibility": "public"
}
EOFconst options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
first_comment: '<string>',
hidden: false,
media: [
{
source: '550e8400-e29b-41d4-a716-446655440000',
source_type: 'media_id',
type: 'image'
}
],
media_ids: ['<string>'],
platform_data: {},
queue_id: 'que_01J9Z8Y7X6W5V4T3S2R1Q0P9N8',
scheduled_at: '2026-04-02T14:00:00Z',
segments: [
{
media: [
{
source: '550e8400-e29b-41d4-a716-446655440000',
source_type: 'media_id',
type: 'image'
}
],
media_ids: ['<string>'],
text: 'And here\'s the second post in the thread.'
}
],
skip_validation: false,
targets: [
{
account_id: 'acc_01HZ9X3Q4R5M6N7P8V2K0W1J',
board_id: '8828',
first_comment: '<string>',
media: [
{
source: '550e8400-e29b-41d4-a716-446655440000',
source_type: 'media_id',
type: 'image'
}
],
media_ids: ['<string>'],
page_id: 'sapi_page_01JRQX...',
platform_data: {},
scheduled_at: '2026-04-01T10:00:00Z',
text: 'Platform-specific version of the post',
title: 'Custom title for LinkedIn',
visibility: 'public'
}
],
text: 'Updated post content',
title: 'Updated Title',
visibility: 'public'
})
};
fetch('https://api.social-api.ai/v1/posts/{pid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.social-api.ai/v1/posts/{pid}"
payload = {
"first_comment": "<string>",
"hidden": False,
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": ["<string>"],
"platform_data": {},
"queue_id": "que_01J9Z8Y7X6W5V4T3S2R1Q0P9N8",
"scheduled_at": "2026-04-02T14:00:00Z",
"segments": [
{
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": ["<string>"],
"text": "And here's the second post in the thread."
}
],
"skip_validation": False,
"targets": [
{
"account_id": "acc_01HZ9X3Q4R5M6N7P8V2K0W1J",
"board_id": "8828",
"first_comment": "<string>",
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": ["<string>"],
"page_id": "sapi_page_01JRQX...",
"platform_data": {},
"scheduled_at": "2026-04-01T10:00:00Z",
"text": "Platform-specific version of the post",
"title": "Custom title for LinkedIn",
"visibility": "public"
}
],
"text": "Updated post content",
"title": "Updated Title",
"visibility": "public"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"created_at": "2026-03-14T09:00:00Z",
"hidden": false,
"id": "p_01HZ9X3Q4R5M6N7P8V2K0W1J",
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"published_at": "2026-04-01T10:00:05Z",
"queue_id": "que_01J9Z8Y7X6W5V4T3S2R1Q0P9N8",
"retry_count": 0,
"scheduled_at": "2026-04-01T10:00:00Z",
"status": "published",
"targets": [
{
"account_id": "acc_01HZ9X3Q4R5M6N7P8V2K0W1J",
"board_id": "8828",
"error": {
"category": "validation",
"caused_by": "user",
"code": "platform.tiktok.media_required",
"message": "Video posts require at least one media URL"
},
"first_comment": "<string>",
"media": [
{
"source": "550e8400-e29b-41d4-a716-446655440000",
"source_type": "media_id",
"type": "image"
}
],
"media_ids": [
"<string>"
],
"media_type": "reel",
"metadata": {},
"metrics": {
"avg_watch_time_ms": 7400,
"calls": 2,
"comments": 23,
"crossposted_views": 310,
"directions": 1,
"emails": 2,
"extra": {},
"follows": 12,
"interactions": 204,
"likes": 142,
"profile_actions": 15,
"profile_visits": 48,
"reach": 3870,
"reposts": 6,
"saves": 31,
"shares": 8,
"skip_rate": 42.5,
"texts": 1,
"total_watch_time_ms": 37888000,
"views": 5120,
"website_clicks": 9
},
"metrics_synced_at": "2026-04-01T12:00:00Z",
"page_id": "sapi_page_01HZ9X3Q4R5M6N7P8V2K0W1J",
"permalink": "https://www.instagram.com/p/ABC123/",
"platform": "instagram",
"platform_data": {},
"platform_media": [
{
"thumbnail_url": "https://scontent.cdninstagram.com/v/t51.29350-15/456_n.jpg",
"type": "image",
"url": "https://scontent.cdninstagram.com/v/t51.29350-15/123_n.jpg"
}
],
"platform_post_id": "17895695668004550",
"published_at": "2026-04-01T10:00:05Z",
"scheduled_at": "2026-04-01T10:00:00Z",
"settings": {
"alt_text": "<string>",
"audio_type": "MUSIC",
"child_attachments": [
{
"description": "<string>",
"link": "<string>",
"name": "<string>",
"picture": "<string>"
}
],
"comments_enabled": true,
"countries": [
"FR",
"BE"
],
"cta_link": "<string>",
"cta_type": "SHOP_NOW",
"is_ai_generated": true,
"max_age": 65,
"min_age": 18,
"multi_share_end_card": true,
"multi_share_optimized": true,
"place": {
"id": "<string>",
"name": "<string>"
},
"product_type": "FEED",
"share_to_feed": true
},
"status": "published",
"text": "<string>",
"title": "<string>",
"visibility": "public"
}
],
"text": "Check out our new product launch!",
"title": "Exciting News",
"updated_at": "2026-03-14T09:00:00Z",
"visibility": "public"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
},
"request_id": "01HZ9X3Q4R5M6N7P8V2K0W1J"
}Authorizations
Prefix your API key with "Bearer ". Example: Authorization: Bearer sapi_key_...
Path Parameters
Post ID
Body
Updated content
FirstComment replaces the auto-first-comment.
Hidden archives the post from default list views when true.
false
Media is the ordered, agnostic media list. Each item is a url, a media_id, or a platform_attachment_id; order and mixing are preserved. Supersedes media_ids.
Show child attributes
Show child attributes
MediaIDs replaces the attached media files.
Deprecated: use Media with source_type "media_id". Ignored when media is set.
PlatformData passes platform-specific fields keyed by platform name (e.g. {"instagram": {"content_type": "feed"}}). Folded into each matching target; a target's own platform_data wins on conflicts.
Show child attributes
Show child attributes
QueueID moves the post to another Queue, which gives it that Queue's earliest free time and frees its old one. Send null to take the post out of its Queue and keep its time. Send "default" for the Brand's default Queue.
"que_01J9Z8Y7X6W5V4T3S2R1Q0P9N8"
ScheduledAt changes the scheduled publication time (RFC3339).
"2026-04-02T14:00:00Z"
Segments are continuation posts that publish as a native thread on X. Threads chaining is temporarily unavailable.
Show child attributes
Show child attributes
SkipValidation bypasses pre-publish validation. The post is scheduled/published as-is and may fail at the platform.
false
Targets replaces or updates per-platform target configuration.
Show child attributes
Show child attributes
Text replaces the post body. Only for draft/scheduled/failed posts.
"Updated post content"
Title replaces the post title.
"Updated Title"
Visibility changes who can see the post.
public, private, connections_only, logged_in "public"
Response
Post updated
"2026-03-14T09:00:00Z"
false
"p_01HZ9X3Q4R5M6N7P8V2K0W1J"
Show child attributes
Show child attributes
Deprecated: use media.
"2026-04-01T10:00:05Z"
ID of the Queue the post is in. null when the post is not queued.
"que_01J9Z8Y7X6W5V4T3S2R1Q0P9N8"
0
"2026-04-01T10:00:00Z"
draft, scheduled, publishing, published, partial, failed, cancelled "published"
Show child attributes
Show child attributes
"Check out our new product launch!"
"Exciting News"
"2026-03-14T09:00:00Z"
public, private, connections_only, logged_in "public"