400 | Invalid request | Malformed body, a channel’s content failing validation, or an invalid status value |
401 | Missing or invalid credential | No Authorization header, an unknown key, an expired OAuth token, or no subscription row for the organization |
402 | Plan limit reached | Channel cap, monthly post quota, team seats, webhook count, or AI action limit exceeded; also returned when a plan does not include public API access |
403 | Forbidden | The caller’s role does not allow the operation; note that the API remaps 403 to 401 in some flows |
404 | Not found | Unknown post, channel, or endpoint |
409 | Conflict | Idempotency-Key replay mismatch |
413 | Payload too large | Upload exceeds the configured file-size limit |
429 | Rate limited | More than 60 requests per minute for the organization; honor Retry-After |
500 | Server error | Unexpected failure; retry, then check the logs |