Bird
Raised Fist0
Rest APIprogramming~3 mins

Why Error codes for machine consumption in Rest API? - Purpose & Use Cases

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
The Big Idea

What if your program could instantly understand and fix errors without human help?

The Scenario

Imagine you build a web service that sends back error messages as long paragraphs of text to explain what went wrong.

Now, another program tries to understand these messages to fix problems automatically.

It struggles because the messages are written for humans, not machines.

The Problem

Reading long text messages is slow and confusing for machines.

Different messages might mean the same error, or the same message might mean different things.

This causes mistakes and wastes time when programs try to react.

The Solution

Using error codes gives each problem a simple number or short code.

Machines can quickly check these codes and know exactly what happened.

This makes automatic handling fast, clear, and reliable.

Before vs After
Before
return {"error": "User not found in the database, please check the user ID and try again."}
After
return {"error_code": 404, "message": "User not found"}
What It Enables

It enables programs to understand and respond to errors automatically and consistently.

Real Life Example

A payment system uses error codes to know if a card is expired or if funds are low, so it can tell the user exactly what to fix.

Key Takeaways

Manual error messages are hard for machines to understand.

Error codes give clear, simple signals for programs.

This improves automation and reduces mistakes.

Practice

(1/5)
1.

What is the main purpose of using error codes in a REST API?

easy
A. To tell machines what happened during a request
B. To make the API run faster
C. To change the API's URL
D. To store user data securely

Solution

  1. Step 1: Understand the role of error codes

    Error codes are used to communicate the result of a request to the client or machine.
  2. Step 2: Identify the correct purpose

    The main purpose is to inform machines about success or failure of requests, enabling automated handling.
  3. Final Answer:

    To tell machines what happened during a request -> Option A
  4. Quick Check:

    Error codes = communicate request status [OK]
Hint: Error codes explain request results to machines [OK]
Common Mistakes:
  • Thinking error codes speed up the API
  • Confusing error codes with data storage
  • Believing error codes change URLs
2.

Which HTTP status code correctly indicates a successful request in a REST API?

Choose the correct code:

easy
A. 404
B. 500
C. 200
D. 301

Solution

  1. Step 1: Recall common HTTP status codes

    200 means OK (success), 404 means Not Found, 500 means Server Error, 301 means Redirect.
  2. Step 2: Identify success code

    200 is the standard code for a successful HTTP request.
  3. Final Answer:

    200 -> Option C
  4. Quick Check:

    Success code = 200 [OK]
Hint: 200 means success in HTTP status codes [OK]
Common Mistakes:
  • Choosing 404 thinking it means success
  • Confusing 500 with success
  • Selecting 301 which is a redirect
3.

Given this JSON error response from a REST API:

{
  "status": 404,
  "error": "Resource not found"
}

What does the 404 status code mean?

medium
A. The request was successful
B. The requested resource does not exist
C. The server encountered an error
D. The client is not authorized

Solution

  1. Step 1: Understand HTTP 404 status code meaning

    404 means the requested resource was not found on the server.
  2. Step 2: Match the error message with the code

    The message "Resource not found" confirms the meaning of 404.
  3. Final Answer:

    The requested resource does not exist -> Option B
  4. Quick Check:

    404 = resource missing [OK]
Hint: 404 means resource missing or not found [OK]
Common Mistakes:
  • Thinking 404 means success
  • Confusing 404 with server error
  • Assuming 404 means unauthorized
4.

Look at this REST API error response snippet:

{
  "status": 200,
  "error": "Invalid input data"
}

What is wrong with this error code usage?

medium
A. Status 200 should not be used with an error message
B. The error message is missing a code
C. Status 200 means server error
D. The JSON format is incorrect

Solution

  1. Step 1: Analyze the status code and message

    Status 200 means success, but the message says "Invalid input data" which is an error.
  2. Step 2: Identify the mismatch

    Using 200 with an error message is incorrect; error codes like 400 should be used for invalid input.
  3. Final Answer:

    Status 200 should not be used with an error message -> Option A
  4. Quick Check:

    Status 200 = success, not error [OK]
Hint: Match error messages with proper error status codes [OK]
Common Mistakes:
  • Ignoring mismatch between status and message
  • Thinking 200 can mean error
  • Assuming JSON format is wrong
5.

You want to design a REST API that returns error codes machines can easily understand and act on. Which approach is best?

Choose the best practice:

hard
A. Return random status codes to confuse attackers
B. Return only HTTP status codes without any message body
C. Return success status codes even when errors happen, but include error details in HTML
D. Return HTTP status codes with clear JSON error messages explaining the problem

Solution

  1. Step 1: Understand best practices for machine-readable errors

    Machines need both status codes and clear JSON messages to understand errors and automate responses.
  2. Step 2: Evaluate options

    Return HTTP status codes with clear JSON error messages explaining the problem provides both HTTP status codes and JSON messages, which is the recommended approach.
  3. Final Answer:

    Return HTTP status codes with clear JSON error messages explaining the problem -> Option D
  4. Quick Check:

    Status + JSON error message = best practice [OK]
Hint: Use status codes plus JSON messages for clear machine errors [OK]
Common Mistakes:
  • Sending no message body with status codes
  • Using success codes for errors
  • Returning HTML instead of JSON for errors