Skip to content

Edit a scheduled post

PATCH
/v1/social/posts/{id}

Edits a post that has not gone out yet. Only pending posts are editable; anything published, in flight, failed or cancelled returns 404, matching the panel. Requires scope posts:write.

id
required
integer

Supply at least one of content, scheduledAt or mediaUrls.

object
content
string
scheduledAt

New publish instant

string format: date-time
mediaUrls
Array<string>
<= 10 items
timeZone

IANA zone that scheduledAt is expressed in when it carries no offset.

string

Updated post.

One scheduled or published post on a single account.

object
id
integer
accountId

Connected account id

integer
nullable
externalAccountId
string
platform
string
Example
linkedin
content
string
mediaUrls
Array<string>
nullable
scheduledAt

Publish instant

string format: date-time
status
string
Allowed values: pending processing published failed cancelled partiallypublished
externalPostId

The network’s post id

string
nullable
publishedUrl
string
nullable
errorMessage
string
nullable
retryCount
integer
createdAt
string format: date-time
updatedAt
string format: date-time
nullable
publishedAt
string format: date-time
nullable

The request body or parameters failed validation.

Standard error envelope for all v1 error responses.

object
error

Machine-readable error code.

string
Allowed values: bad_request not_found conflict unauthorized forbidden payment_required provider_rejected rate_limited internal_error
message

Human-readable explanation of the error.

string
details

Optional structured context (field-level validation errors, etc.).

nullable
Example
{
"error": "bad_request",
"message": "at least one of name, username, phone is required"
}

Missing or invalid bearer token.

Standard error envelope for all v1 error responses.

object
error

Machine-readable error code.

string
Allowed values: bad_request not_found conflict unauthorized forbidden payment_required provider_rejected rate_limited internal_error
message

Human-readable explanation of the error.

string
details

Optional structured context (field-level validation errors, etc.).

nullable
Example
{
"error": "unauthorized",
"message": "Invalid bearer principal"
}

The workspace’s plan does not include this module. The social inbox needs channel_social_inbox and the post scheduler needs marketing_social_scheduler; details.FeatureKey names the one that is missing. Upgrading unlocks it, there is nothing to retry.

Standard error envelope for all v1 error responses.

object
error

Machine-readable error code.

string
Allowed values: bad_request not_found conflict unauthorized forbidden payment_required provider_rejected rate_limited internal_error
message

Human-readable explanation of the error.

string
details

Optional structured context (field-level validation errors, etc.).

nullable
Example
{
"error": "payment_required",
"message": "your plan does not include this feature; upgrade to unlock it",
"details": {
"FeatureKey": "marketing_social_scheduler",
"UpgradeRequired": true
}
}

The API key does not have the required scope for this operation.

Standard error envelope for all v1 error responses.

object
error

Machine-readable error code.

string
Allowed values: bad_request not_found conflict unauthorized forbidden payment_required provider_rejected rate_limited internal_error
message

Human-readable explanation of the error.

string
details

Optional structured context (field-level validation errors, etc.).

nullable
Example
{
"error": "forbidden",
"message": "scope contacts:write is required"
}

The requested resource does not exist or is not owned by the caller.

Standard error envelope for all v1 error responses.

object
error

Machine-readable error code.

string
Allowed values: bad_request not_found conflict unauthorized forbidden payment_required provider_rejected rate_limited internal_error
message

Human-readable explanation of the error.

string
details

Optional structured context (field-level validation errors, etc.).

nullable
Example
{
"error": "not_found",
"message": "contact not found"
}