Get post
Returns one social post with per-account results, diagnostics, and resolved destination metadata.
Authorization
AuthorizationBearer <token>In header
Workspace API key.
Path Params
post_idstring
UniPost post ID such as post_abc123.
Response Body
200
idstring
UniPost post ID.
captionstring | null
Top-level caption when one exists.
statusstring
Derived lifecycle status. For multi-platform posts, this is the aggregate parent status.
Valuesdraft | scheduled | publishing | published | partial | failed | cancelled
sourcestring
Origin of the post.
Valuesapi | ui
profile_idsstring[]
Distinct profile IDs targeted by the post.
resultsarray
Per-account publish results.
results[].idstring
Result row ID used for retries and diagnostics.
results[].social_account_idstring
Destination account ID.
results[].platformstring
Destination platform.
Valuestwitter | linkedin | instagram | facebook | threads | youtube | tiktok | bluesky | pinterest
results[].account_namestring
Resolved handle or account display name when available.
results[].statusstring
Per-account publish status.
Valuesqueued | publishing | processing | published | failed
results[].urlstring | null
Canonical public post URL when available.
results[].error_codestring | null
Normalized publish failure code for failed rows, such as platform_request_invalid, media_error, or account_reconnect_required.
results[].failure_stagestring | null
Stage where the failure occurred, such as validation, publish, status_check, or worker_status_check.
results[].platform_error_codestring | null
Provider-specific error code when UniPost can safely extract one, such as TikTok invalid_params.
results[].is_retriableboolean | null
Whether retrying this result is expected to help.
results[].next_actionstring | null
Stable action enum for UI and automation, such as review_platform_options, reconnect_account, or wait_and_retry.
results[].error_sourcestring | null
Where the failure originated.
Valuesunipost | platform | worker | unknown
results[].error_temporalitystring | null
Whether the condition is temporary, permanent, or unknown.
Valuestemporary | permanent | unknown
results[].provider_errorobject | null
Sanitized provider detail object. May include provider, http_status, code, subcode, type, reason, domain, quota_limit, quota_location, and is_transient.
results[].retry_policyobject | null
Best-effort queue snapshot with is_retriable, will_retry, retry_state, next_run_at, attempts_made, max_attempts, attempts_remaining, manual_retry_allowed, and reason.
results[].debug_curlstring | null
Redacted failing curl trace for debugging, only on failed results.
401
error.codestring
Usually "UNAUTHORIZED" or "NOT_FOUND".
error.normalized_codestring
Lowercase alias such as "unauthorized" or "not_found".
error.messagestring
Human-readable error message.
request_idstring
Request identifier for debugging and support.
404
error.codestring
Usually "UNAUTHORIZED" or "NOT_FOUND".
error.normalized_codestring
Lowercase alias such as "unauthorized" or "not_found".
error.messagestring
Human-readable error message.
request_idstring
Request identifier for debugging and support.
500
error.codestring
Usually "UNAUTHORIZED" or "NOT_FOUND".
error.normalized_codestring
Lowercase alias such as "unauthorized" or "not_found".
error.messagestring
Human-readable error message.
request_idstring
Request identifier for debugging and support.
Polling examples users can compare against
Rule of thumb
Single-platform posts: the parent post status usually matches the only result row.
Multi-platform posts: read the parent post status as the aggregate outcome, then read
results[] to know what happened on each destination account.