0
0
Rest APIprogramming~10 mins

200 OK and 201 Created in Rest API - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - 200 OK and 201 Created
Client sends HTTP request
Server processes request
Check if resource created?
YesRespond with 201 Created
No
Respond with 200 OK
Client receives response
The server checks if a new resource was created. If yes, it sends 201 Created; otherwise, it sends 200 OK.
Execution Sample
Rest API
POST /items HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "name": "New Item"
}
Client sends a POST request to create a new item on the server.
Execution Table
StepActionConditionResponse CodeResponse Meaning
1Client sends POST request to /itemsN/AN/AN/A
2Server receives requestN/AN/AN/A
3Server checks if new item createdItem created successfully201Created - new resource made
4Server sends responseN/A201Client knows item was created
5Client receives responseN/A201Client confirms creation
6Client sends GET request to /items/123N/AN/AN/A
7Server processes GET requestResource exists200OK - resource found
8Server sends responseN/A200Client receives resource data
9Client receives responseN/A200Client confirms success
💡 Execution stops after client receives the server response.
Variable Tracker
VariableStartAfter Step 3After Step 7Final
Request TypeNonePOSTGETGET
Resource CreatedFalseTrueTrueTrue
Response CodeNone201200200
Key Moments - 3 Insights
Why does the server send 201 Created instead of 200 OK after a POST?
Because the server successfully created a new resource, it sends 201 Created to tell the client a new item was made (see execution_table row 3).
When does the server send 200 OK instead of 201 Created?
When the client requests existing data (like a GET), the server sends 200 OK to show the request succeeded without creating anything new (see execution_table row 7).
Can 201 Created be used for GET requests?
No, 201 Created is only for successful creation actions like POST. GET requests use 200 OK to indicate success (see execution_table rows 6-9).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what response code does the server send after successfully creating a new item?
A404
B200
C201
D500
💡 Hint
Check row 3 in the execution_table where the server confirms creation.
At which step does the server respond with 200 OK?
AStep 7
BStep 4
CStep 3
DStep 1
💡 Hint
Look at the response codes in the execution_table rows for GET requests.
If the server did not create a new resource after POST, which response code would it most likely send?
A201 Created
B200 OK
C404 Not Found
D400 Bad Request
💡 Hint
Refer to the concept_flow where no creation leads to 200 OK response.
Concept Snapshot
200 OK means the request succeeded and the server returned data.
201 Created means the request succeeded and a new resource was made.
Use 201 after POST creates something new.
Use 200 for successful GET or other requests without creation.
Clients use these codes to understand server actions.
Full Transcript
When a client sends a request to a server, the server processes it and decides what response code to send back. If the client asks to create something new, like with a POST request, and the server successfully creates it, the server sends back 201 Created. This tells the client a new resource was made. If the client asks for existing data, like with a GET request, the server sends 200 OK to show the request succeeded and data is returned. These codes help the client understand what happened on the server side.