Every 4xx and 5xx response uses the same envelope:
code is machine-readable and stable. message is written for a human and may
change. details carries field-level validation errors when there are any.
Codes
Publishing talks to Meta, TikTok, YouTube and Google. When one of those rejects
a post, the failure surfaces two ways depending on when it happens:
- Synchronously — the publish call returns
502 BAD_GATEWAY with the
platform’s reason in message.
- Asynchronously — a scheduled post moves to
status: "failed" with the
reason in errorMessage. Poll
Get post status, and retry by
calling Publish post immediately.
Retrying a failed post re-runs delivery. Retrying a post that actually
succeeded upstream but failed to record can double-post. Check permalink on
the post before retrying.