• Поддерживается версионность
  • Методы и параметры именуются согласно единым правилам
  • Параметры с одинаковыми названиями в разных эндпоинтах играют одну и ту же роль
  • Структуры ответов едины для всего API
  • Формат ответов с ошибками одинаковый для всего API
  • Каждый API-метод задокументирован: есть описание формата запроса с описанием полей, есть пример ответа
  • Написана документация по всем возможным ошибкам
  • Каждый метод API является предсказуемым
  • В ответах возвращаются только те данные, которые нужны клиентам, которые используют ваш API
  • Большие списки объектов отдаются "постранично"
  • При отдаче списка объектов также отдается или общее количество объектов или признак есть ли следующая "страница"
  • Во всем сервисе используется единый формат авторизации и передачи авторизационных данных
  • Все операции атомарны
  • API покрыто тестами
  • Если API публичный - используется SSL
  • Метрики производительности собираются и анализируются
  • Методы для получения данных используют GET, для остальных действий - специальные методы (POST, DELETE, PUT)