[{"code":"missing_api_key","status":401,"type":"authentication","message":"No API key provided."},{"code":"invalid_api_key","status":401,"type":"authentication","message":"API key is invalid or revoked."},{"code":"malformed_api_key","status":401,"type":"authentication","message":"API key is malformed."},{"code":"insufficient_scope","status":403,"type":"permission","message":"API key lacks the required scope."},{"code":"session_not_permitted","status":403,"type":"permission","message":"This API key is scoped to a different session."},{"code":"console_session_required","status":403,"type":"permission","message":"This action requires signing in to the dashboard. API keys cannot manage API keys."},{"code":"tenant_suspended","status":403,"type":"permission","message":"This account is suspended."},{"code":"validation_failed","status":400,"type":"invalid_request","message":"Request body failed validation."},{"code":"invalid_phone_number","status":400,"type":"invalid_request","message":"Phone number must be in E.164 format without a leading +."},{"code":"unsupported_message_type","status":400,"type":"invalid_request","message":"That message type is not supported by this session engine."},{"code":"media_too_large","status":413,"type":"invalid_request","message":"Media exceeds the maximum allowed size."},{"code":"unsupported_media_type","status":415,"type":"invalid_request","message":"That media MIME type is not supported by WhatsApp."},{"code":"session_not_found","status":404,"type":"not_found","message":"No session with that id."},{"code":"message_not_found","status":404,"type":"not_found","message":"No message with that id."},{"code":"webhook_not_found","status":404,"type":"not_found","message":"No webhook with that id."},{"code":"api_key_not_found","status":404,"type":"not_found","message":"No API key with that id."},{"code":"media_not_found","status":404,"type":"not_found","message":"No media with that id."},{"code":"chat_not_found","status":404,"type":"not_found","message":"No chat with that id."},{"code":"group_not_found","status":404,"type":"not_found","message":"No group with that id."},{"code":"recipient_not_on_whatsapp","status":404,"type":"not_found","message":"That number is not registered on WhatsApp."},{"code":"session_already_exists","status":409,"type":"conflict","message":"A session already exists for that phone number."},{"code":"idempotency_key_reused","status":409,"type":"conflict","message":"This Idempotency-Key was used with a different request body."},{"code":"idempotency_in_progress","status":409,"type":"conflict","message":"A request with this Idempotency-Key is still in flight."},{"code":"session_not_connected","status":409,"type":"session","message":"Session is not connected. Connect it and scan the QR code first."},{"code":"session_connecting","status":409,"type":"session","message":"Session is still connecting. Retry shortly."},{"code":"session_logged_out","status":409,"type":"session","message":"Session was logged out on the phone and must be re-linked."},{"code":"session_wrong_number","status":409,"type":"session","message":"The linked number does not match the number this session was provisioned for."},{"code":"session_banned","status":409,"type":"session","message":"This number appears to be banned by WhatsApp."},{"code":"qr_not_available","status":409,"type":"session","message":"No QR code is currently pending for this session."},{"code":"rate_limit_exceeded","status":429,"type":"rate_limit","message":"Too many API requests. Slow down."},{"code":"send_rate_limit_exceeded","status":429,"type":"rate_limit","message":"Per-session send rate limit reached. This limit protects the number from being banned."},{"code":"engine_unavailable","status":503,"type":"upstream","message":"The WhatsApp engine is unreachable."},{"code":"whatsapp_error","status":502,"type":"upstream","message":"WhatsApp rejected the request."},{"code":"send_failed","status":502,"type":"upstream","message":"The message could not be delivered to WhatsApp."},{"code":"internal_error","status":500,"type":"internal","message":"Something went wrong on our side."}]