API разрабатывает бэк, но не по дизайну, а по аналитике от ТЗ.
Если есть только дизайн, то всё равно надо посадить аналитика который по пунктам распишет весь функционал. Иначе будет сказка про лебедя, рака и щуку. Страшная.
Далее разработка выглядит примерно так:
Параллельно:
Фронт начинает пилить визуальную часть без привязки к бэку.
Бэк исходя из аналитики думает архитектуру и кидает примерный json(а не точный свагер, лишняя трата времени).
Совместно:
Фронт смотрит этот json и если видит, что чего-то не хватает - запускает обсуждение с бэком.
Параллельно:
Бэк пилит по очереди сервисы\эндпоинты с автогенерацией свагера из кода.
Фронт пилит на основе простых json-моков из предыдущего шага и по готовности подключает эндпоинты с автогенерацией клиента из свагера.
Заранее руками разрабатывать свагер - это абсолютно бессмысленно. Требования всегда меняются на лету, а свагер достаточно сложен, чтоб потратить много лишних часов на мартышкин труд.
P.S. Привязывать API к UI - безумие. UI - это мимолётная штука, как сумочка у дамы. Сегодня одна, завтра другая. API же опирается на архитектуру приложения, от которой зависит всё: и бизнес-логика, и тупо скорость работы, и многое другое.