code is machine-readable and stable. message is written for a human and may
change. details carries extra context when there is any. For a
VALIDATION_ERROR it holds issues, one { path, code, message } entry per
field that failed.
Codes
Branch on
code, not only on the HTTP status. A few codes, including
PAYLOAD_TOO_LARGE, UNPROCESSABLE_CONTENT and TIMEOUT, currently arrive with
HTTP 400.Upstream platform failures
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 an error with the platform’s
reason in
message, and the post moves tostatus: "failed". - Asynchronously: a scheduled post moves to
status: "failed"with the reason inerrorMessage. Poll Get post status, and retry by calling Publish post immediately.