Skip to main content
Postsiva follows standard HTTP semantics. The response body is JSON with a detail field (FastAPI format) or structured error object.

Status code reference


400 Bad Request

Common causes: Fix: Validate platform slugs, post types, and required platform fields before calling. See Platforms overview.

401 Unauthorized

Common causes: Fix:
Regenerate key in Settings → API Keys if compromised or revoked.

403 Forbidden

Three distinct 403 cases:

Plan feature blocked

Also 402 Payment Required for insufficient post or AI credits.

API key scope mismatch

Fix: Create a key with broader scope (e.g. linkedin,instagram or full).

Workspace mismatch

When using JWT + X-Workspace-Id, or when optional X-Workspace-Id with API key doesn’t match the key’s workspace:
Fix: Omit X-Workspace-Id with API keys (workspace inferred from key).

404 Not Found

Fix: Verify IDs from list endpoints before update/delete.

422 Unprocessable Entity

Validation errors before the request reaches platform APIs.

Character limits

See Character limits.

YouTube title

TikTok photo title

Pydantic schema

Malformed JSON types, wrong field types — FastAPI returns field-level loc and msg arrays.

500 Internal Server Error

Unexpected failures — OAuth URL generation, storage upload, worker errors. Fix:
  • Retry with backoff
  • Check request payload for edge cases
  • Contact support if persistent
OAuth routes may trigger internal error notification emails for debugging.

Rate limiting

Heavy API key usage may return rate limit errors (implementation-specific status, often 429 or wrapped in 403 with APIKEY_RATE_LIMIT). Include retry-after logic in production integrations.

Postsiva errors

NOT_CONNECTED, plan codes

Authentication

Keys and scopes