To be restful, an interface must obey these architectural principles. They’re designed to ensure that an application can be scaled in a cloud environment: Use of a uniform interface (UI). Resources should be uniquely identifiable through a single URL, and only by using the underlying methods of the network protocol, such as DELETE, PUT and GET with HTTP, should it be possible to manipulate a resource. Client-server based. There should be a clear delineation between the client and server. UI and request-gathering concerns are the client's domain. Data access, workload management and security are the server's domain. This loose coupling of the client and server enables each to be developed and enhanced independent of the other. Stateless operations. All client-server operations should be stateless, and any state management that is required should take place on the client, not the server. RESTful resource caching. All resources should allow caching unless explicitly indicated that caching is not possible. Layered system. REST allows for an architecture composed of multiple layers of servers. Code on demand. Most of the time, a server will send back static representations of resources in the form of XML or JSON. However, when necessary, servers can send executable code to the client. Answer from ratttertintattertins on reddit.com
🌐
RestfulAPI
restfulapi.net › home
What is REST?: REST API Tutorial
April 1, 2025 - In simpler words, REST defines a consistent and uniform interface for interactions between clients and servers. For example, the HTTP-based REST APIs make use of the standard HTTP methods (GET, POST, PUT, DELETE, etc.) and the URIs (Uniform Resource Identifiers) to identify resources.
🌐
Red Hat
redhat.com › en › topics › api › what-is-a-rest-api
What is a REST API?
May 8, 2020 - A REST API (also known as RESTful API) is an application programming interface that conforms to the constraints of REST architecture. REST stands for representational state transfer.
Discussions

what actually is a REST api? Can someone provide an example it, and an example that isn't it?
On July 1st, a change to Reddit's API pricing will come into effect. Several developers of commercial third-party apps have announced that this change will compel them to shut down their apps. At least one accessibility-focused non-commercial third party app will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: Limiting your involvement with Reddit, or Temporarily refraining from using Reddit Cancelling your subscription of Reddit Premium as a way to voice your protest. I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns. More on reddit.com
🌐 r/learnprogramming
57
139
October 31, 2023
Can someone please explain like Im 5.....what a REST API is?

First of all you should be familiar with some HTTP methods, and basic terminology. API stands for Application Programming Interface. This may not tell you much on it’s own if you can’t solidify what application and programming interface means.

Well, defining application is easy and you can probably refer it yourself. Any one or many “programs” or functionality coming together to be used by an end-user towards a need or a purpose is an application.

The word interface in software is used as “an endpoint of an application that an end-user can interact with”, it’s short for human - software interaction. But there’s more to it when you generalize from a real example.

Say that you have loaded the search engine, Google’s homepage. You are met with an interface. So far, this interface has already served you a resource, the search form, logo and all. On it you notice it can possibly do more than just showing you a single page. There’s an input area, and a button. You type in your favorite network, Reddit, and click search. Conguratulations, you have just interacted with the interface, you’ve sent data to it. Now it returns you new resources, web pages that are listed based on your search term. You have now defined that “an interface helps you interact with resources by certain actions.”

You might have felt a bit constrained while using Google. Why the hell can’t you change some of the results or add your own into them? Well, that’s because you’re not authorized to do so. But worry not, an interface will also enable that, as long as you have the correct “passport” for it. You were interacting on Google’s interface at the public level, what you can do, anyone can.

A programming interface is only different at one end-point, you. It’s for different programs to interact with each other, not humans. To make this interaction process more universal, HTTP methods were introduced into web APIs. That “universal” behavior made what’s now called REST API. These API ends are usually token-authenticated, especially if they also allow operations besides retrieving data.

Now for the HTTP methods used in REST APIs. These are:

GET: Our good old, classic way to ask for a resource. This is what you did by loading Google’s homepage, and you didn’t notice it but when you searched with a keyword, you also did this to get the listings! (Like: GET /user/1 or GET /users)

PUT: This is like, exchanging your Pepsi for your friend’s Coca Cola (Sometimes it’s too late for your friend to notice that you don’t have a Pepsi).

In context, PUT replaces a resource completely, even if it doesn’t exist. So it also has a way of saying “replace that empty resource with a not-so-empty one”, meaning it can also create! But usually you’ll see POST being used for creation, PUT for updating. (PUT /user/1 or PUT /user if it’s an insert)

PATCH: You posted a comment on a regex replace question on r/learnpython, being silly you used “$1” for match replacement instead of “\1”. In quick shame, before people notice your Perl-syntax you edited and updated your comment, it was only a partial error you had to correct.

While PUT is for replacing a resource completely, PATCH is usually used to replace partial data. It is valid for existent resources, meaning unlike PUT it won’t create if there’s no such resource. This sad little thing is not as often used, due to POST/PUT preference over PUT/PATCH. (PATCH /user/1)

POST: You posted this thread, whee!~ It wasn’t here before, you created it, now you have a URL for it to reference as well, whether you want to see it again, edit it, or... (POST /user)

DELETE: ... delete it. You want this post gone? Sure, the post probably feels the same way! (DELETE /user/1)

In general, created resources return an id (resource identifier) for you, update and delete operations require such an id, for listing it can be optional. You can GET a specific resource with it’s identifier or refer to it’s container to get all the resources within it. REST APIs commonly communicate with either JSON or XML, mostly JSON nowadays.

If the word resource is too vague, it’s because it’s meant to be. A resource can literally be anything, but in general, it’s a/group of a data.

If you have any other questions, feel free to ask, I’ll be happy to answer them!

More on reddit.com
🌐 r/learnprogramming
20
22
February 12, 2019
REST APIs are obsolete
You've massively misunderstood the complexities that current REST models (with all overheads) solve. You claim to have been in the game long enough to have a decent top-down view on the situation, but you evidently weren't there (at a complex enough level) when CORS etc was brought in during the early days of REST patterns. It was a simple evolution of problems and solutions, one by one as problems and vulnerabilities in the design were discovered.....and it's still currently unmatched for that base communications model. Websockets and REST API solve different problems.... or occasionally different solutions to the same problem. Websockets are fine for a temporary connected session. REST is - by design - stateless. Because most APIs eventually require a stateless solution, it makes sense to implement a REST API in almost every case. Once you've done that, a websocket solution becomes an unnecessary additional duplication of functionality for a minor performance improvement. If you build a compatibility/requirement matrix between required functionality for your Web app and the website itself and the various other connected mobile apps and syndicated data operations talking to your backend....REST solves them all.....websockets solves a handful. More on reddit.com
🌐 r/webdev
42
0
September 21, 2023
ELI5: What is RESTful API?
Imagine you're at a library looking for a specific book. Unfortunately for you, this library is huge and the designers decided to give each book a number and lock all them all in a back room that you can't go in. So in order to get a book, you have to go to the front desk and ask the librarian for what you want. To make it easier to find what you're looking for, the librarian has a few different forms you can fill out to request what you're looking for. There's a form to get all the books by a specific author and there's a form to get a specific book, among others. So you go to the librarian and fill out the form for the book list by author. The librarian comes back with the list and you see the book you're looking for, it has a number of 123. So you grab a book form and write the number and give it to the librarian, and they come back with the book. That's an API. REST refers to the fact that you need to use forms to tell the librarian what you want, and each form is an entirely new process for the librarian. The librarian won't remember you were just asking for books by author xyz, they won't be able to do anything not on a form, and they can only let you give them one form at a time. Other kinds of APIs might let you have more interactive dialogue with the librarian, or allow you to call the librarian and ask them to send the book to your house whenever they find it, or give you access to the back room, and so on. More on reddit.com
🌐 r/explainlikeimfive
78
322
August 25, 2025
People also ask

What is REST?
REST, short for representational state transfer, is a set of architectural constraints, not a protocol or a standard. When a client request is made via a RESTful API, it transfers a representation of the state of the resource to the requester or endpoint. This information is delivered in one of several formats including JSON (Javascript Object Notation), HTML, XLT, Python, PHP, or plain text. JSON is used most often because, despite its name, it’s language-agnostic and can be read by both humans and machines.
🌐
redhat.com
redhat.com › en › topics › api › what-is-a-rest-api
What is a REST API?
What is an API?
An API is a set of definitions and protocols for building and integrating application software. API is short for application programming interface, and an API gives software applications a known and agreed upon way to communicate with each other.
🌐
redhat.com
redhat.com › en › topics › api › what-is-a-rest-api
What is a REST API?
🌐
IBM
ibm.com › think › topics › rest-apis
What Is a REST API (RESTful API)? | IBM
April 24, 2025 - A REST API is an application programming interface (API) that conforms to the design principles of the representational state transfer (REST) architectural style, a style used to connect distributed hypermedia systems.
🌐
AWS
aws.amazon.com › what is cloud computing? › cloud computing concepts hub › application integration › networking & content delivery
What is RESTful API? - RESTful API Explained - AWS
1 week ago - RESTful API is an interface that two computer systems use to exchange information securely over the internet. Most business applications have to communicate with other internal and third-party applications to perform various tasks.
🌐
Google Cloud
cloud.google.com › discover › what-is-rest-api
REST API basics and implementation | Google Cloud
A REST API, or representational state transfer application programming interface, is an architectural style that’s commonly seen as the standard for designing and building the networked applications that power the web.
🌐
Postman
blog.postman.com › home › what is a rest api? examples, uses, and challenges
What Is a REST API? Examples, Uses, and Challenges
December 16, 2025 - A REST API, also known as a RESTful API, is a simple, uniform interface that is used to make data, content, algorithms, media, and other digital resources available through web URLs.
Find elsewhere
🌐
GeeksforGeeks
geeksforgeeks.org › node.js › rest-api-introduction
REST API Introduction - GeeksforGeeks
A REST API (Representational State Transfer API) enables communication between client and server over HTTP.
Published   2 weeks ago
🌐
Reddit
reddit.com › r/learnprogramming › what actually is a rest api? can someone provide an example it, and an example that isn't it?
r/learnprogramming on Reddit: what actually is a REST api? Can someone provide an example it, and an example that isn't it?
October 31, 2023 -

I've heard what a REST api is, I know what REST stands for, and I'm pretty sure I've worked with them before. But I can't say I understand at a deep level what it actually means, and I couldn't look at a given api and say "yep this is REST because XYZ" or "nope, this isn't REST because XYZ".

Can someone give me a concrete example of both an api that is considered REST and an api that isn't? I want to be able to pinpoint the defining characteristics

Top answer
1 of 16
103
To be restful, an interface must obey these architectural principles. They’re designed to ensure that an application can be scaled in a cloud environment: Use of a uniform interface (UI). Resources should be uniquely identifiable through a single URL, and only by using the underlying methods of the network protocol, such as DELETE, PUT and GET with HTTP, should it be possible to manipulate a resource. Client-server based. There should be a clear delineation between the client and server. UI and request-gathering concerns are the client's domain. Data access, workload management and security are the server's domain. This loose coupling of the client and server enables each to be developed and enhanced independent of the other. Stateless operations. All client-server operations should be stateless, and any state management that is required should take place on the client, not the server. RESTful resource caching. All resources should allow caching unless explicitly indicated that caching is not possible. Layered system. REST allows for an architecture composed of multiple layers of servers. Code on demand. Most of the time, a server will send back static representations of resources in the form of XML or JSON. However, when necessary, servers can send executable code to the client.
2 of 16
60
The waters are a little muddy here because REST is an architectural style and a set of guiding principles. There are even levels to how pure a REST API is based on how it's structured. But basically REST is a stateless, decoupled protocol that allows you to make requests off of a server using HTTP verbs like PUT, POST, GET etc. There are additional notions like how navigable your results are and how discoverable your endpoints are but those by themselves don't pin down REST. I believe it's also standard to get JSON back but in some implementations the client would be able to specify desired media payloads like XML. A typical REST query (against a well-defined implementation) will have verbs available against different resources -- the path might look something like a GET on localhost:8080/teams that sends back a list of all the teams the database knows about and the designer might augment with a query string that defines search terms or an HTTP payload that has additional information encoded in the request. The requirements, sample input and responses will be in the documentation, but no matter if it's a GET, PUT, POST or DELETE and the requests are all formatted differently, the endpoints may or may not be consistent, they're all still basically REST because it's interacting with the server, on an endpoint, through a resource, using HTTP verbs. For a non-REST API there's GraphQL. When you make a GraphQL query there's no question you're not using REST. Here an interactive playground you can use to build and test GraphQL queries. It might take a couple minutes with some tutorials to understand how to format the query but you'll see it's really flexible and powerful and it is not REST.
🌐
Mannhowie
mannhowie.com › rest-api
REST API Basics - 4 Things you Need to Know
A REST API is the most common standard used between Clients (a person or application) who want to access information from the web from Servers (application or database) who have access to that information.
🌐
TechTarget
techtarget.com › searchapparchitecture › definition › RESTful-API
What is a REST API? Benefits, uses, examples
The API's design spells out the proper way for a developer to write a program, or client, that uses the API to request services from another application, or the server. APIs are a vital mechanism for software interoperability. REST APIs are also referred to as RESTful web services and RESTful APIs.
Published   September 30, 2025
🌐
BrowserStack
browserstack.com › home › guide › what is a rest api? examples, use cases, and best practices
What is a REST API? Examples, Use Cases, and Best Practices | BrowserStack
October 6, 2025 - A REST API (Representational State Transfer API) is an interface that allows applications to communicate over HTTP by treating everything as a resource. These resources are identified by URIs and manipulated using standard HTTP methods such ...
🌐
DNS Made Easy
dnsmadeeasy.com › home › rest apis explained: how they work and why they’re essential
REST APIs Explained: How They Work and Why They’re Essential
May 6, 2025 - REST APIs (sometimes also called RESTful APIs) enable client-server interactions where the client makes requests to access or manipulate data on the server. A REST API uses HTTP methods to perform operations on resources identified by Uniform ...
🌐
Wikipedia
en.wikipedia.org › wiki › REST
REST - Wikipedia
March 26, 2026 - REST (Representational State Transfer) is a software architectural style that was created to describe the design and guide the development of the architecture for the World Wide Web. REST defines a set of constraints for how the architecture of a distributed, Internet-scale hypermedia system, ...
🌐
W3Schools
w3schools.com › nodejs › nodejs_rest_api.asp
Node.js REST API
RESTful APIs use HTTP requests to perform CRUD operations (Create, Read, Update, Delete) on resources, which are represented as URLs.
🌐
REST API Tutorial
restapitutorial.com
REST API Tutorial
REST (Representational State Transfer) APIs have revolutionized the way developers build and integrate web services, enabling seamless communication between systems and applications.
🌐
Visual Paradigm
visual-paradigm.com › guide › development › what-is-rest-api
What is REST API?
Once a developer becomes familiar with one of your APIs, he should be able to follow a similar approach for other APIs. In REST, information on the server-side is considered a resource, which developers can access in a uniform way using web URIs (Uniform Resource Identifiers) and HTTP.
🌐
Document360
document360.com › home › blog › how does a rest api work with examples and challenges
How Does a REST API Work with Examples and Challenges
March 27, 2025 - REST APIs are a very common and important type of API that uses HTTP protocol for data transmission. Since this HTTP protocol is used, a REST API is considered a “web service” that deals with the interaction between client applications and ...
🌐
Kong Inc.
konghq.com › home › blog › learning center › what is a rest api? a comprehensive guide
What is a REST API? A Comprehensive Guide | Kong Inc.
October 1, 2025 - In an API, everything you can use or reach is displayed as an HTTP resource. This resource is found at a URI endpoint. URIs help to name groups, single items, attributes, and more. REST uses familiar HTTP methods to work with resources. GET is for getting data.
🌐
MDN Web Docs
developer.mozilla.org › en-US › docs › Glossary › REST
REST - Glossary - MDN Web Docs
July 11, 2025 - Beginners can assume a REST API means an HTTP service that can be called using standard web libraries and tools.
🌐
ReqRes
reqres.in
ReqRes | Free REST API for developers | ReqRes
ReqRes is a hosted REST API with real endpoints, persistent data, and request logs. Use the free public API for testing - or sign up to create your own backend with custom collections, auth, and logs. Your team's test suites work in 30 seconds.