Skip to main content

Errors

post.buzz uses standard HTTP status codes and a consistent JSON error shape. Every error response includes an error message; validation errors also include a details array.

Error shape

{
"error": "Invalid request",
"details": [
{
"code": "invalid_type",
"expected": "array",
"received": "undefined",
"path": ["accountIds"],
"message": "Required"
}
]
}

Non-validation errors omit details:

{ "error": "Post not found" }

Status codes

StatusMeaningWhen
200OKSuccessful GET, DELETE
201CreatedSuccessful POST /v1/posts
400Bad RequestInvalid input (missing/invalid fields) or a platform-limit violation
401UnauthorizedMissing, invalid, or expired API key
403ForbiddenReferenced accountIds or mediaIds not owned by you
404Not FoundResource doesn't exist or isn't owned by you
500Server ErrorUnexpected failure (post creation failed, etc.)

Common errors

Authentication

Statuserror
401Missing API key
401Invalid API key
401API key expired

Posts

Statuserror
400Invalid request (+ details)
400(platform-limit message, e.g. "Instagram carousel allows 1–10 files")
400Cannot delete published post
403(ownership failure on accountIds/mediaIds)
404Post not found

System

Statuserror
503Database not available / Auth not initialized

Handling errors

  • On 401, check that your API key is present, active, and unexpired.
  • On 400 with details, the path tells you exactly which field failed.
  • On 400 without details but with a platform-limit message, adjust the offending media or text and retry. See Limits.
  • On 403, the account or media IDs you referenced don't belong to the authenticated user — verify them with GET /v1/accounts.
  • On 5xx, the failure is on our side; retry with backoff. These are rare.
  • REST API — request/response conventions.
  • Limits — what triggers a limit 400.