Генерация API-эндпоинта (роль backend). Use when нужно создать НОВЫЙ REST-эндпоинт/роут с нуля — слои, валидация, Swagger; для правки существующего кода бери $backend-refactor/$backend-optimize.
Installs into .claude/skills of the current project.
Are you the author of Backend Create Api?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vitammiin-backend-create-api)
---
name: backend-create-api
description: Генерация API-эндпоинта (роль backend). Use when нужно создать НОВЫЙ REST-эндпоинт/роут с нуля — слои, валидация, Swagger; для правки существующего кода бери $backend-refactor/$backend-optimize.
---
# Задача: создание API-эндпоинта
Сгенерируй REST-эндпоинт по спецификации, которую дал пользователь.
Размести код по модульной архитектуре из `$backend-architecture`: модуль `src/modules/<module>/` (auth, users, ai, billing, notifications или новый), слои `schemas → dto/types → repository → service → controller → routes`, экспорт через `index.ts`. Дай типы (вывод из zod-схем), валидацию входа, обработку ошибок и тесты эндпоинта. Роут сразу **полностью** покрой OpenAPI/Swagger по `$swagger-coverage` (для дефолт-стека плагина — Fastify + zod): полная `schema` (`summary`/`description`/`tags`/`operationId`, `response` по всем статусам, включая ошибки через общий `ErrorSchema`, `security` для защищённых) — те же zod-схемы дают и валидацию, и OpenAPI.
Два обязательных требования к результату:
1. **Материализация.** Код сохраняй файлами в рабочем каталоге проекта по его конвенциям (реальные пути, а не сниппеты в ответе); в конце перечисли все созданные/изменённые пути.
2. **Валидация перед выдачей.** Типизация (`tsc --noEmit`) и линт без ошибок; тесты эндпоинта прогнаны и зелёные — либо живая curl-проверка на поднятом сервере с ожидаемыми ответами (успех + ошибка валидации). Только зелёный результат = готово; «должно работать» не принимается.
Если спецификация не указана — спроси метод, путь и контракт (вход/выход) одной репликой. Если проект не на дефолт-стеке (не Fastify/Node) — скажи честно и адаптируй слои под фактический фреймворк, не навязывая чужие конвенции.
Опирайся на `$nodejs`, `$typescript`, `$backend-architecture`, `$swagger-coverage`.