input — специальный тип для сложных аргументов мутаций/фильтров; поля только входные, нельзя смешивать с output object types.
Разбор
CreateUserInput { name: String! } — типичный паттерн.
- Input не может содержать поля-резолверы как output.
- Переиспользование input через вложенность.
- Отделяйте input от entity type даже при похожих полях.
Итог
Input types структурируют сложные аргументы операций.