Skip to main content
Postsiva uses standard HTTP status codes for request-level failures and structured error objects for platform-specific issues.

Two layers of errors

LayerWhereExample
HTTP statusResponse status line401, 422, 403
Application errorResponse body error fieldNOT_CONNECTED, plan_required
Multi-platform posts often return HTTP 200 with mixed per-platform results — one platform succeeds while another fails.

HTTP status codes

See HTTP errors for full reference:
CodeMeaning
400Bad request — invalid platform, missing required field
401Missing or invalid API key
403Forbidden — plan gate, scope mismatch, workspace mismatch
404Resource not found
422Validation — character limits, invalid body
500Server error

Postsiva error codes

See Postsiva errors for application codes:
CodeMeaning
NOT_CONNECTEDPlatform not linked to workspace
plan_requiredFeature not on current plan
APIKEY_INVALIDInvalid or malformed API key
Scope restrictionKey not allowed for requested platform

Multi-platform response shape

{
  "results": [
    {
      "platform": "linkedin",
      "success": true,
      "post_id": "urn:li:share:123"
    },
    {
      "platform": "instagram",
      "success": false,
      "error": "NOT_CONNECTED",
      "message": "Instagram not connected for this workspace."
    }
  ]
}
Always iterate results and check success per platform.

MCP errors

MCP returns errors in-band as tool results (not separate HTTP auth endpoints):
Invalid or expired API key
Plan upgrade required for: mcp_enabled
Same underlying checks as REST.

Debugging checklist

  1. 401? — Verify X-API-Key header and key not revoked
  2. 403 plan? — Check plan feature (drafts, scheduling, MCP, API keys)
  3. 403 scope? — Key scope must include target platform
  4. 422? — Check character limits
  5. NOT_CONNECTED? — Run GET /unified/oauth/token
  6. Partial failure? — Inspect each item in results

HTTP errors

Status code reference

Postsiva errors

Application error codes

Authentication

Keys and scopes