एक संसाधन वह चीज है जिसके साथ आप काम कर रहे हैं। उदाहरण के लिए, यदि आपके पास एक निश्चित दीपक स्विच करने के लिए एपीआई है, तो संसाधन स्वयं दीपक है। एक संसाधन भौतिक हो सकता है (जैसे दीपक, व्यक्ति) या गैर भौतिक (जैसे लेख, भूमिका, डेटाबेस में एक पंक्ति), एक संसाधन प्राथमिक हो सकता है (उदा। शेष) या व्युत्पन्न (जैसे लेनदेन)। एक संसाधन एक विशिष्ट इकाई (उदाहरण के लिए इस लैंप सॉकेट में स्थापित पांचवें दीपक) का उल्लेख कर सकता है, या यह एक भूमिका का उल्लेख कर सकता है जो अलग-अलग समय में अलग-अलग इकाई में मैप करता है (उदाहरण के लिए वर्तमान में स्थापित दीपक, 5 अगस्त 2008 को स्थापित दीपक) या यह कई संस्थाओं के लिए मैप कर सकता है (उदाहरण के लिए घर के सभी लैंप)।
एक संसाधन का प्रतिनिधित्व वह तरीका है जिससे आपकी सेवा संसाधन की स्थिति को बताती है, जैसे XML, JSON जो दीपक की स्थिति का प्रतिनिधित्व करता है।
REST API में, एक संसाधन की पहचान एक समान पहचानकर्ता (जैसे URI) द्वारा की जाती है। एक एकल संसाधन में कई प्रतिनिधित्व हो सकते हैं, HTTP REST API में आप सामान्य रूप से उस प्रतिनिधित्व को इंगित करेंगे जिसका उपयोग आप HTTP सामग्री-प्रकार और स्वीकारकर्ताओं में करना चाहते हैं।
क्लाइंट सर्वर आर्किटेक्चर में एक प्रमुख वास्तविकता यह है कि आप ग्राहक को संसाधन नहीं ला सकते हैं, और आपको इसे वैसा बनाने की कोशिश नहीं करनी चाहिए जैसी आप करते हैं। इसके बजाय, REST API में, आप संसाधन के अभ्यावेदन को स्थानांतरित करके किसी संसाधन को दूरस्थ रूप से हेरफेर करते हैं। इस तरह से सोचें, आप दीपक को FedEx नहीं करते हैं ताकि ग्राहक सीधे दीपक को हेरफेर कर सके, बल्कि सेवा एक XML / JSON / protobuf / CSV का प्रतिनिधित्व करता है जो दीपक का प्रतिनिधित्व करता है और ग्राहक इच्छित जोड़तोड़ों का प्रतिनिधित्व करता है। सेवा तब क्लाइंट की ओर से दीपक की वास्तविक स्थिति में हेरफेर करती है, या अनुरोध को अस्वीकार करती है, कहती है कि क्या क्लाइंट दीपक पर संचालन करने के लिए अधिकृत नहीं है। यह स्पष्ट / विभाजित बाल लग सकता है, लेकिन ध्यान देने योग्य बात यह है कि चूंकि प्रतिनिधित्व स्वयं संसाधन नहीं है,