API Reference

Errors

Error shape and status codes

Every error response in the OpenPost API uses a simple JSON shape with the failing HTTP status code. Status codes follow standard HTTP semantics.

Error shape

json
{ "error": "content is required" }
FieldTypeDescription
errorstringHuman-readable failure message. Safe to log; not intended for direct display to end users.

Status codes

FieldTypeDescription
400bad requestMalformed request — missing required field, invalid value, or failed validation (e.g. schedule_at more than 180 days in the future, editing a published post).
401unauthorizedMissing or invalid API key.
404not foundNo resource with that ID in this workspace.
413payload too largeUpload exceeds the 1 GB video or 30 MB image cap.
415unsupported media typeContent type is not accepted by any platform.
429rate limitedToo many requests. Back off and retry.
500server errorUnexpected server failure. Retry with backoff.

Retry policy

FieldTypeDescription
4xx (except 429)do not retryThe request is wrong. Fix it before retrying.
429retryBack off with jitter before retrying.
5xxretry with backoffExponential backoff + jitter. A few attempts over a minute or two is usually enough.
Network / timeoutretry carefullyIf the request was a write (POST/PATCH/DELETE), first GET the resource to check whether the write succeeded before retrying.
Never retry a 4xx mutation without fixing the request. The server will return the same error, and your backoff loop is just burning budget.

Getting help

If you hit an error you can’t explain, email contact@infina.so with the full request URL, body (minus secrets), and the response.

Last updated April 2026 Edit this page