Your task
Challenge 09
Keep Restaurant Orders Moving
Recover every valid restaurant order from a paginated APIA service that divides a large result into numbered pages and tells the workflow whether another page exists. – a service that returns a large result in numbered pages – even when it rate-limits requests or fails unexpectedly.
Your bonus task
Process valid orders one by one and calculate their combined total price. Exclude rejected orders from the total. Record useful diagnostics if the API still fails after every retry.
Example use cases
- A delivery platform must import orders even when its restaurant API is temporarily unreliable.
- An operations team needs valid orders to continue processing without losing rejected records.
- A nightly synchronization must recover from rate limitsTemporary refusals sent when a service receives too many requests; this fixture uses HTTP status 429. – temporary refusals caused by too many requests – without creating incomplete results.
Before you start
- 01
Sign up for n8n Cloud or open an existing n8n workspace, then create a new workflow.
- 02
Use the Unstable Restaurant Orders API built for this challenge. This normal URL randomly returns a successful page, a 429 rate-limit response, or a retryable 500 server error; do not add a scenario parameter while building.
- 03
Create a Data Table named rescued_orders for valid orders, another named rejected_orders for rejected data together with its rejection reason, and – for the bonus – api_failure_diagnostics for exhausted-retry details.
- 04
No external account, API key, or other credential is required. When your workflow is finished, add `&scenario=success`, `&scenario=rate_limit`, or `&scenario=server_error` to the URL to force each response, then remove it again. A forced failure repeats on every attempt, so it also shows what happens when all retries run out.
Nodes you'll use
What the workflow must do
- 01
Follow the API’s pagination information and retrieve all 25 orders without manually creating a separate request for each page.
- 02
Retry temporary 429 and 500 responses, save all 24 valid orders, and do not lose orders that succeeded before another request failed.
- 03
Reject ORD-1013, record a clear validationChecks that required fields exist and use safe data types before a record is saved. reason, and demonstrate the workflow against successful, rate-limited, and exhausted-retry responses.
Tip
Need a tip?
Reveal up to five tips, one at a time.
Still stuck? Ask on the n8n community forum
Solution
See the workflow challenge answer
Reveal the completed workflow only when you are ready to compare it with your own.
Submit as solved
Ready to submit?
Submit when your team has a working workflow to demonstrate.