Для контраста с другими ответами и расширения кругозора, API также может быть совсем и не RESTful.
К примеру, RPC-style API на основе SOAP, XML-RPC или JSON-RPC.
Отличия RESTful и RPC-style:
- С точки зрения REST - приложение представляет собой набор ресурсов, доступных по URI и залинкованых между собой. Для понятности, это грубо аналог - WWW, гипертекстовых страниц, форм и т.п. А клиент - браузер. Браузер мало что знает об устройстве каждого конретного сайта, но понимает общие принципы устройства сети, поэтому все и работает.
- RPC-style, наборот, предполагает, знание клиента об устройстве приложения. Приложение в свою очередь - просто набор функий, доступных через контракт (документацию) и API.
Что конкретно использовать - решать вам. Сейчас модно делать RESTful сервисы, так как зачастую эта архитектура хорошо ложится в парадигму CRUD.