200 OK | Request succeeded. |
201 Created | Resource created. The response body contains the new resource. |
204 No Content | Successful preflight (CORS) only. |
302 Found | OAuth callback redirect. Only returned by GET /api/auth/notion/callback. |
400 Bad Request | Validation failed, or the request requires organization context the caller does not have. |
401 Unauthorized | The Authorization header is missing, malformed, or references a revoked credential. |
403 Forbidden | The credential is valid but the role attached to it is insufficient for the operation. |
404 Not Found | The resource does not exist, or is not visible to the caller. Some endpoints return 404 instead of 403 to avoid disclosing existence. |
409 Conflict | The operation conflicts with current state — typically a duplicate identifier on create, or a referenced role on delete. |
502 Bad Gateway | An upstream service (currently only Notion) returned an unexpected error. |
503 Service Unavailable | A feature is not configured for the caller’s organization (currently only the Notion integration). |
500 Internal Server Error | Unhandled exception. Includes a request identifier in the response body for support follow-up. |