Какое время ответа сервиса должно быть при разработке api?
В старой книжке по юзабилити было сказано примерно так: 
0,1 s (или 100 ms) - предел, до которого пользователю кажется, что система работает мгновенно и никаких прогресс баров не требуется.
1 s (или 1000 ms) - предел, до которого пользователь замечает небольшую задержку, но в целом ему кажется, что все работает нормально. 
10 s (или 10 000 ms) - пользователь перестает следить за процессом и ему кажется что система подвисла. 
В целом логика проста: меньше - лучше. Думаю, что предел когда все можно считать OK - до 1 секунды, лучше 500 ms (если конечно речь не про вызов API в цикле - тогда надо чтобы все запросы уложились в этот предел). Если отклик больше имеет смысл для той системы (обычно некий пользоваельский интерфейс), которая использует API - добавить какую-то анимацию вроде индикатора загрузки - в этом случае пользователь спокойней переносит б0льшие интервалы отклика, так как видит что система что-то делает. Обычно в веб приложении, которое лезет за данными (особенно если это не по одному элементу а обработка пакетом) в какие-то внешние системы делают индикатор. Можно довольно просто навесить какую-то анимацию на все AJAX вызовы с помощью api.jquery.com/category/ajax/global-ajax-event-handlers - на старт показывать на завершение скрывать. Есть много готовых решений.
Смотря что за сервис и с чем его едят. 
У меня есть несколько сервисов, которые забирают данные по крону. Вот, там мне в целом все равно 100мс или 10с отдается запрос (утрировано). 
Если вы, делаете что-то, что требует оперативного обмена информацией, то до секунды вполне рабочий вариант. Но опять же, отдавать какой-нибудь json с списком 10 новостей для сайта визитки в течение секунды не айс. Тут надо разбираться.
Если же вы не можете повлиять на сервис отдающий (1с, sap и т.д.), железо там плохое, данные сложные, то есть куча вариантов как и тут избавиться от беды. Начиная от сервера прокладки, до раннего запроса информации.
Тут надо плясать от ситуации.