What if your app could instantly tell you exactly what happened after every action?
Why 200 OK and 201 Created in Rest API? - Purpose & Use Cases
Imagine you are building a website where users can add new items to a list. Without clear messages, you have to guess if the item was added or if something went wrong.
Without proper status codes, you might refresh the page multiple times or get confused if the item was really saved. This wastes time and causes mistakes.
Using 200 OK and 201 Created status codes tells you exactly what happened: 200 means the request worked and data is returned, 201 means a new item was successfully created. This clear feedback saves time and avoids errors.
response = send_request() if response: print('Success') else: print('Fail')
response = send_request() if response.status_code == 200: print('Data received') elif response.status_code == 201: print('New item created')
Clear communication between client and server, making apps reliable and user-friendly.
When you post a photo on social media, the server replies with 201 Created to confirm your photo was saved, so you see it instantly in your feed.
200 OK means the request succeeded and data is returned.
201 Created means a new resource was successfully made.
Using these codes helps apps work smoothly and clearly.
Practice
200 OK indicate in a REST API response?Solution
Step 1: Understand the meaning of 200 OK
The status code 200 OK means the request was successful and the server is sending back the requested data or confirmation.Step 2: Compare with other codes
201 Created means a new resource was created, which is different from 200 OK.Final Answer:
The request was successful and the server is returning the requested data or confirmation. -> Option BQuick Check:
200 OK = Success with data [OK]
- Confusing 200 OK with 201 Created
- Thinking 200 means resource creation
- Mixing 200 with client or server error codes
Solution
Step 1: Identify the status code for resource creation
The status code 201 Created is used when a new resource is successfully created on the server.Step 2: Eliminate incorrect options
200 OK means success but not necessarily creation; 404 and 500 are error codes.Final Answer:
HTTP/1.1 201 Created -> Option AQuick Check:
201 Created = New resource created [OK]
- Using 200 OK instead of 201 for creation
- Confusing 404 Not Found as success
- Mixing error codes with success codes
HTTP/1.1 201 Created
Location: /users/123
{"id":123,"name":"Alice"}What does this response tell the client?
Solution
Step 1: Analyze the status code 201 Created
This code means a new resource was successfully created on the server.Step 2: Interpret the Location header and response body
The Location header shows where the new resource is located (/users/123), and the body contains the new user's data.Final Answer:
A new user resource was created with ID 123, and its location is provided. -> Option DQuick Check:
201 Created + Location header = New resource created [OK]
- Ignoring the Location header
- Thinking 201 means failure
- Confusing 201 with 200 OK
200 OK instead of 201 Created. What is the likely issue?Solution
Step 1: Understand the difference between 200 OK and 201 Created
200 OK means success but not necessarily resource creation; 201 Created explicitly means a new resource was created.Step 2: Analyze the server behavior
If the resource was created but 200 OK was returned, the server likely forgot to set the correct status code.Final Answer:
The server successfully created the resource but forgot to set the correct status code. -> Option CQuick Check:
201 Created must be set on resource creation [OK]
- Assuming 200 OK means creation
- Ignoring status code importance
- Confusing client errors with server response codes
Solution
Step 1: Identify the correct status code for resource creation
201 Created is the standard code to indicate a new resource was successfully created.Step 2: Use the Location header to provide the new resource URL
Including the Location header with the new post URL helps clients find the resource easily.Final Answer:
Return 201 Created with the Location header set to the new post URL and the post data in the body. -> Option AQuick Check:
201 Created + Location header = Best practice for new resource [OK]
- Returning 200 OK without Location header
- Using error codes for successful creation
- Not including the new resource URL
Ready to prove it?
Pass the test and this pattern moves unknown
