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