Bird
Raised Fist0
Rest APIprogramming~20 mins

Why status codes communicate outcomes in Rest API - Challenge Your Understanding

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Status Code Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
1:00remaining
What is the HTTP status code returned for a successful GET request?

Consider a REST API where a client requests data with a GET method. The server successfully finds and returns the requested resource.

What HTTP status code should the server send back to communicate this successful outcome?

A301
B404
C200
D500
Attempts:
2 left
💡 Hint

Think about the standard code that means 'OK' or 'Success'.

❓ Predict Output
intermediate
1:00remaining
What status code indicates a resource was not found?

A client requests a resource that does not exist on the server. What HTTP status code should the server return to communicate this?

A404
B200
C403
D201
Attempts:
2 left
💡 Hint

This code means 'Not Found'.

❓ Predict Output
advanced
1:30remaining
What status code does the server return after successfully creating a resource?

A client sends a POST request to create a new resource. The server creates it successfully. What HTTP status code should the server return?

A200
B201
C204
D400
Attempts:
2 left
💡 Hint

This code means 'Created'.

❓ Predict Output
advanced
1:30remaining
What status code indicates the client sent a bad request?

If a client sends a request with invalid syntax or missing required data, what HTTP status code should the server return?

A400
B401
C403
D500
Attempts:
2 left
💡 Hint

This code means 'Bad Request'.

❓ Predict Output
expert
2:00remaining
What status code indicates the server encountered an unexpected error?

When a server fails unexpectedly while processing a valid request, what HTTP status code should it return to communicate this server error?

A400
B503
C502
D500
Attempts:
2 left
💡 Hint

This code means 'Internal Server Error'.

Practice

(1/5)
1. What is the main purpose of HTTP status codes in REST APIs?
easy
A. To style the webpage content
B. To communicate the outcome of a server request
C. To store user data on the server
D. To encrypt the data sent between client and server

Solution

  1. Step 1: Understand the role of status codes

    Status codes are 3-digit numbers sent by the server to tell the client if the request was successful or if there was an error.
  2. Step 2: Identify the correct purpose

    They do not style content, store data, or encrypt data; their main job is to communicate the outcome of the request.
  3. Final Answer:

    To communicate the outcome of a server request -> Option B
  4. Quick Check:

    Status codes = communicate outcome [OK]
Hint: Status codes show if request worked or failed [OK]
Common Mistakes:
  • Thinking status codes style pages
  • Confusing status codes with data storage
  • Assuming status codes encrypt data
2. Which of the following is the correct syntax to send a 404 status code in a REST API response?
easy
A. response.status(404).send('Not Found')
B. response.code(404).send('Not Found')
C. response.sendStatus(200)
D. response.statusCode(500).send('Error')

Solution

  1. Step 1: Recall correct method to set status code

    In many REST frameworks, the method to set status code is status(), not code() or statusCode().
  2. Step 2: Match status code and message

    404 means 'Not Found', so response.status(404).send('Not Found') is correct syntax.
  3. Final Answer:

    response.status(404).send('Not Found') -> Option A
  4. Quick Check:

    Use status() to set code [OK]
Hint: Use response.status(code) to set HTTP status [OK]
Common Mistakes:
  • Using response.code() instead of response.status()
  • Sending wrong status code for error
  • Mixing status code and message methods
3. Consider this code snippet in a REST API handler:
if (userFound) {
  res.status(200).json({ message: 'User found' });
} else {
  res.status(404).json({ error: 'User not found' });
}

What will be the HTTP status code if the user is not found?
medium
A. 500
B. 200
C. 404
D. 400

Solution

  1. Step 1: Analyze the condition when user is not found

    If userFound is false, the else block runs, sending status 404.
  2. Step 2: Identify the status code sent in else block

    The else block uses res.status(404), which means 'Not Found'.
  3. Final Answer:

    404 -> Option C
  4. Quick Check:

    User missing = 404 status [OK]
Hint: 404 means resource not found [OK]
Common Mistakes:
  • Confusing 404 with 200 success
  • Assuming 500 server error instead
  • Mixing 400 bad request with 404
4. This REST API code tries to send a 201 status but has a bug:
res.sendStatus(201).json({ message: 'Created' });

What is the error and how to fix it?
medium
A. Change 201 to 200 to fix the bug
B. Use res.send(201).json(...) to fix it
C. No error; code works fine
D. sendStatus ends response; use res.status(201).json(...) instead

Solution

  1. Step 1: Understand sendStatus behavior

    sendStatus(201) sends the status and ends the response immediately, so chaining .json() after it causes an error.
  2. Step 2: Correct way to send status with JSON

    Use res.status(201).json(...) to set status and send JSON in one response.
  3. Final Answer:

    sendStatus ends response; use res.status(201).json(...) instead -> Option D
  4. Quick Check:

    sendStatus ends response; use status() + json() [OK]
Hint: sendStatus ends response; use status() before json() [OK]
Common Mistakes:
  • Chaining json() after sendStatus()
  • Using send(201) instead of status(201)
  • Changing status code instead of fixing method
5. You want your REST API to return a 204 status code when a DELETE request succeeds but with no content in the response body. Which code snippet correctly implements this?
hard
A. res.status(204).send();
B. res.status(204).json({ message: 'Deleted' });
C. res.sendStatus(204).json({ message: 'Deleted' });
D. res.status(200).send('Deleted');

Solution

  1. Step 1: Understand 204 status meaning

    204 means 'No Content', so the response must not include a body.
  2. Step 2: Choose code that sends 204 with no body

    res.status(204).send(); sends status 204 with empty body, which is correct. Sending JSON or message body breaks 204 rules.
  3. Final Answer:

    res.status(204).send(); -> Option A
  4. Quick Check:

    204 = no content, so send empty response [OK]
Hint: 204 means no content; send empty response [OK]
Common Mistakes:
  • Sending JSON body with 204 status
  • Using 200 instead of 204 for delete success
  • Chaining json() after sendStatus(204)
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard