Sumber daya adalah hal yang Anda kerjakan. Misalnya, jika Anda memiliki API untuk mengganti lampu tertentu, maka sumber daya adalah lampu itu sendiri. Sumber daya dapat berupa fisik (misalnya lampu, orang) atau non fisik (misalnya artikel, peran, baris dalam basis data), sumber daya dapat berupa primer (misalnya saldo) atau berasal (misalnya transaksi). Sumber daya dapat merujuk ke entitas tertentu (misalnya lampu kelima yang dipasang pada soket lampu ini), atau dapat merujuk ke peran yang memetakan ke entitas yang berbeda pada waktu yang berbeda (mis. Lampu yang saat ini dipasang, lampu yang dipasang pada 5 Agustus 2008) atau dapat memetakan ke beberapa entitas (mis. semua lampu di rumah).
Representasi sumber daya adalah cara layanan Anda mengkomunikasikan keadaan sumber daya, misalnya XML, JSON yang mewakili kondisi lampu.
Dalam REST API, sumber daya diidentifikasi oleh pengidentifikasi seragam (mis. URI). Sumber daya tunggal dapat memiliki banyak representasi, dalam HTTP REST API Anda biasanya akan menunjukkan representasi yang ingin Anda gunakan dalam HTTP Content-Type dan Header Terima.
Satu realisasi kunci dalam arsitektur server klien adalah bahwa Anda tidak dapat membawa sumber daya ke klien, dan Anda tidak boleh mencoba membuatnya seperti yang Anda lakukan. Sebaliknya, di REST API, Anda memanipulasi sumber daya dari jarak jauh dengan mentransfer representasi sumber daya tersebut. Pikirkan seperti ini, Anda tidak FedEx lampu sehingga klien dapat memanipulasi lampu secara langsung, tetapi layanan membuat representasi XML / JSON / protobuf / CSV lampu dan klien mengirim representasi dari manipulasi yang dimaksud. Layanan kemudian memanipulasi keadaan lampu yang sebenarnya atas nama klien, atau menolak permintaan, mengatakan jika klien tidak berwenang untuk melakukan operasi pada lampu. Ini mungkin tampak jelas / membelah rambut, tetapi yang penting untuk dicatat adalah bahwa karena representasi bukan sumber daya itu sendiri,