📖 Scenario: You are building a REST API that processes multiple user requests in one call. Sometimes, some requests succeed while others fail. You want to handle this partial success properly and return a clear response.
🎯 Goal: Create a REST API endpoint that accepts a list of user IDs to fetch. The API should process each ID, return data for successful fetches, and report errors for failures in a single JSON response.
📋 What You'll Learn
Create a list of user IDs to fetch
Create a threshold or config variable to simulate failure for certain IDs
Use a loop to process each user ID and collect success or error results
Return a JSON response showing which user data was fetched and which failed
💡 Why This Matters
🌍 Real World
APIs often need to handle multiple requests at once and report which succeeded or failed without stopping the whole process.
💼 Career
Understanding partial success handling is important for backend developers building robust APIs that communicate clearly with clients.
Progress0 / 4 steps
1
DATA SETUP: Create a list of user IDs
Create a list called user_ids with these exact values: [101, 102, 103, 104, 105]
Rest API
Hint
Use square brackets to create a list and separate values with commas.
2
CONFIGURATION: Set failure threshold
Create a variable called fail_threshold and set it to 103. This will simulate failure for user IDs greater than this value.
Rest API
Hint
Just assign the number 103 to the variable fail_threshold.
3
CORE LOGIC: Process user IDs with partial success handling
Create an empty dictionary called results. Use a for loop with variable user_id to iterate over user_ids. For each user_id, if it is less than or equal to fail_threshold, add an entry to results with key user_id and value {'status': 'success', 'data': f'UserData{user_id}'}. Otherwise, add an entry with value {'status': 'error', 'message': 'User not found'}.
Rest API
Hint
Use an empty dictionary and a for loop. Use an if-else to decide success or error for each user_id.
4
OUTPUT: Print the JSON response showing partial success
Print the results dictionary.
Rest API
Hint
Use print(results) to show the final dictionary.
Practice
(1/5)
1. What does HTTP 207 Multi-Status indicate in REST API partial success handling?
easy
A. Some parts of the request succeeded while others failed
B. The entire request failed due to server error
C. The request was redirected to another URL
D. The request was successful with no errors
Solution
Step 1: Understand HTTP 207 Multi-Status meaning
HTTP 207 is used to report multiple status codes for different parts of a single request.
Step 2: Relate to partial success handling
This status code indicates that some parts succeeded and others failed, providing detailed results.
Final Answer:
Some parts of the request succeeded while others failed -> Option A
Quick Check:
HTTP 207 = Partial success [OK]
Hint: 207 means mixed results, not full success or failure [OK]
Common Mistakes:
Confusing 207 with 200 OK
Thinking 207 means full failure
Assuming 207 is a redirect status
2. Which of the following is the correct way to represent partial success in a REST API response?
easy
A. HTTP 404 with error message
B. HTTP 200 with empty body
C. HTTP 207 with JSON detailing success and failure
D. HTTP 500 with stack trace
Solution
Step 1: Identify correct HTTP status for partial success
HTTP 207 Multi-Status is designed to show multiple results in one response.
Step 2: Confirm response format
Using JSON to detail which parts succeeded or failed is the standard approach.
Final Answer:
HTTP 207 with JSON detailing success and failure -> Option C
Quick Check:
207 + JSON = Partial success response [OK]
Hint: Use 207 with JSON for partial success, not 200 or errors [OK]
Common Mistakes:
Using 200 OK without details
Returning 404 for partial success
Sending server error 500 instead of partial status
3. Given this partial success JSON response, what is the status of item with ID 3?
D. The status value "fail" should be "failure" or "error"
Solution
Step 1: Check HTTP status code usage
HTTP 207 Multi-Status is correct for partial success.
Step 2: Verify status field values
Common practice uses "success" and "failure" or "error"; "fail" is inconsistent and may cause confusion.
Final Answer:
The status value "fail" should be "failure" or "error" -> Option D
Quick Check:
Status values must be consistent and clear [OK]
Hint: Use standard status words like 'success' and 'failure' [OK]
Common Mistakes:
Thinking 207 is wrong here
Ignoring inconsistent status wording
Assuming JSON is invalid without checking
5. You design a REST API endpoint that processes a list of user updates. Some updates succeed, others fail due to validation errors. How should you structure the response to clearly communicate partial success?
hard
A. Return HTTP 207 with a JSON array showing each user's update status and error if any
B. Return HTTP 400 with a generic error message for all failures
C. Return HTTP 200 with a simple success message ignoring failures
D. Return HTTP 500 with server error details
Solution
Step 1: Identify the need for partial success reporting
Since some updates succeed and others fail, the response must show both results clearly.
Step 2: Choose appropriate HTTP status and response format
HTTP 207 Multi-Status with detailed JSON per user update is the best practice to communicate partial success.
Final Answer:
Return HTTP 207 with a JSON array showing each user's update status and error if any -> Option A
Quick Check:
207 + detailed JSON = clear partial success [OK]
Hint: Use 207 and detailed JSON for mixed success/failure results [OK]
Common Mistakes:
Ignoring failed updates in response
Using 200 OK without details
Returning generic errors instead of per-item status
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.