Whiteboard Error Codes
Generated from the public whiteboard error-code definition: stable error codes, HTTP statuses and handling guidance.
Error Codes and Handling
This table is generated at build time from the public whiteboard error-code definition. Errors always return `{ code, message, reason, sdkCode, details }`; `code` is the stable machine code and is safe for retry and alert classification.
| code | HTTP status | Meaning | Retry guidance |
|---|---|---|---|
invalid_parameter | 400 | A request parameter is missing or malformed. | Fix the request first |
whiteboard_invalid_operation | 400 | The requested operation is not valid in the current room state. | Fix the request first |
whiteboard_invalid_scene_path | 400 | The scene path must start with `/`, must not contain `//` or `..`, and names must be 1..64 characters without `/`. | Fix the request first |
invalid_credentials | 401 | The project secret does not match the customer id. | Fix the request first |
invalid_token | 401 | The whiteboard token is malformed, unsigned or unknown. | Fix the request first |
missing_authorization | 401 | Neither Basic project credentials nor a whiteboard token were supplied. | Fix the request first |
token_expired | 401 | The whiteboard token has expired; mint a new one. | Fix the request first |
whiteboard_token_room_mismatch | 401 | The room token is bound to a different room UUID. | Fix the request first |
unauthorized | 403 | The credential is valid but not allowed to perform this operation. | Fix the request first |
whiteboard_room_banned | 403 | The room is banned; unban it before writing or minting tokens. | Fix the request first |
whiteboard_token_role_forbidden | 403 | The token role is insufficient for this operation (reader cannot write; only admin can ban/close). | Fix the request first |
whiteboard_room_not_found | 404 | The room UUID does not exist for the authenticated project. | Fix the request first |
whiteboard_scene_not_found | 404 | The requested scene path does not exist in the room. | Fix the request first |
whiteboard_stroke_not_found | 404 | The stroke id does not exist or was already erased. | Fix the request first |
whiteboard_redo_empty | 409 | This member has nothing to redo, or a newer stroke invalidated the redo stack. | Fix the request first |
whiteboard_room_closed | 409 | The room is closed permanently; it stays readable for audit and replay only. | Fix the request first |
whiteboard_undo_empty | 409 | This member has nothing to undo in the current scene (undo is per member). | Fix the request first |
whiteboard_version_conflict | 409 | The mutation conflicts with the current room state (duplicate scene or writer limit reached). | Fix the request first |
rate_limited | 429 | The project request budget was exceeded; retry after `details.retryAfterSeconds`. | Retry with backoff |
internal_error | 500 | Unexpected server failure; keep the `x-request-id` for support. | Retry with backoff |