JS API и REST API — это разные понятия?
Вы путаете теплое с мягким.REST - это методология, работа с таким апи может быть реализована на любых технологиях (включая js), реализация на стороне сервера - тоже.
JS API - это уже конкретная реализация клиентской библиотеки. На сервере, с которым работает эта библиотека, при этом может быть REST апи.
1. REST не имеет ни какого отношения к CURL.
2. Устоявшегося понятия JS API не существует, оно сложилось исключительно у Вас в голове.
3. Противоположностью REST (и STATEless) есть STATEful, т.е. связь без состояния и с состоянием. Без состояния каждый запрос отдельный и не переводит сервер в другое состояние, не переводит само соединение (или сессию) в состояние и не переводит клиента в другое состояние. На самом деле, практически все, что называется REST им не является, см. мою статью habrahabr.ru/post/204958
4. Скорее всего Вы хотите спросить про противопоставление HTTP API и RPC API. В отличие от HTTP API (которое обычно называют по незнанию или запудрпенности мозгов REST API) удаленный вызов процедур (RPC API) для можно делать на базе TCP, UDP, TLS или эмулировать для веба на WebSocket или HTTP+SSE или других протоколах.