<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/api-from-hell-shows-your-api-client-is-lying-to-you-ecjmkhtc3" -->

---
title: API From Hell Shows Your API Client is Lying to you
description: The 'API From Hell' is a stress-testing API with 70+ endpoints designed to expose limitations and blind spots in REST API clients. Every tested client —...
canonical: https://daily.dev/posts/api-from-hell-shows-your-api-client-is-lying-to-you-ecjmkhtc3
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: API From Hell Shows Your API Client is Lying to you | daily.dev
og:description: The 'API From Hell' is a stress-testing API with 70+ endpoints designed to expose limitations and blind spots in REST API clients. Every tested client —...
og:url: https://daily.dev/posts/api-from-hell-shows-your-api-client-is-lying-to-you-ecjmkhtc3
og:image: https://api.daily.dev/og/posts/eCjMKHtC3.png
og:image:alt: API From Hell Shows Your API Client is Lying to you
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# API From Hell Shows Your API Client is Lying to you

**[Evil Tester](https://daily.dev/sources/eviltester)** · 7 min read · 0 upvotes · 0 comments

## Summary

The 'API From Hell' is a stress-testing API with 70+ endpoints designed to expose limitations and blind spots in REST API clients. Every tested client — commercial and open source — failed in some way, hiding or misrepresenting malformed responses, bad headers, or invalid HTTP semantics. A key finding is that HTTP infrastructure itself often strips out erroneous conditions before clients even see them (e.g., body content on a 204 response), making a local setup plus an HTTP proxy the most reliable way to observe true behavior. The project aims to help testers understand that REST clients are request-making tools, not true test tools, and should not be blindly trusted.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.eviltester.com/blog/eviltester/apichallenges/api-from-hell-overview>

## Questions this post answers

### Why does my REST client show an empty body for a 204 No Content response even when the server sent content?

HTTP server libraries and infrastructure typically strip content from a 204 response automatically, and REST client tools often return an empty string for the body regardless of what was actually sent. Running the API locally via a jar or Docker image avoids this stripping, since it removes the intermediate HTTP layer that discards the content; hosted environments like Railway still strip it while leaving the content-length header intact.

_Developers debugging odd 204 responses can compare notes on REST client quirks via daily.dev._

### How can I verify what my REST client is actually sending and receiving instead of trusting its displayed request and response?

Route REST client traffic through an HTTP proxy to inspect the raw request and response, since tools frequently 'fix' malformed XML, hide header issues, or suppress bodies without indicating a problem occurred. Even cURL failed to show a stripped body from a 204 response until run in verbose mode, which revealed excess bytes being discarded.

_daily.dev helps testers compare proxy-based verification techniques when REST clients can't be trusted._

## Similar posts on daily.dev

- [How to write an API From Hell or how to send a bad HTTP Response](https://daily.dev/posts/how-to-write-an-api-from-hell-or-how-to-send-a-bad-http-response-oktparg5a) · Evil Tester · 0 upvotes · 0 comments
- [You Cannot See Your Own API From The Outside](https://daily.dev/posts/you-cannot-see-your-own-api-from-the-outside-nrrrutyea) · API Evangelist · 0 upvotes · 0 comments
- [What Is REST API Fuzz Testing?](https://daily.dev/posts/what-is-rest-api-fuzz-testing--kpwfzhwcq) · Nordic APIs · 0 upvotes · 0 comments
- [REST API Monitoring Beyond Status Codes](https://daily.dev/posts/rest-api-monitoring-beyond-status-codes-4cgbpbtn4) · SitePoint · 0 upvotes · 0 comments
- [How to Test an API Without a Frontend](https://daily.dev/posts/how-to-test-an-api-without-a-frontend-5phbkfhlw) · Bruno Blog · 16 upvotes · 3 comments

---

Tags: [#testing](https://daily.dev/tags/testing), [#rest-api](https://daily.dev/tags/rest-api)

[View this post on daily.dev](https://daily.dev/posts/api-from-hell-shows-your-api-client-is-lying-to-you-ecjmkhtc3)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"API From Hell Shows Your API Client is Lying to you","url":"https://daily.dev/posts/api-from-hell-shows-your-api-client-is-lying-to-you-ecjmkhtc3","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/api-from-hell-shows-your-api-client-is-lying-to-you-ecjmkhtc3"},"datePublished":"2026-07-27T11:00:35.848Z","dateModified":"2026-09-14T06:27:43.665Z","description":"The 'API From Hell' is a stress-testing API with 70+ endpoints designed to expose limitations and blind spots in REST API clients. Every tested client —...","image":"https://media.daily.dev/image/upload/s--58gMhC4P--/f_auto/v1722860399/public/Placeholder%2012","thumbnailUrl":"https://media.daily.dev/image/upload/s--58gMhC4P--/f_auto/v1722860399/public/Placeholder%2012","isAccessibleForFree":true,"articleSection":"Evil Tester","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Evil Tester","logo":"https://media.daily.dev/image/upload/s--2ssxwmPY--/f_auto,q_auto/v1780213666/logos/eviltester?_a=BAMAMiWQ0","url":"https://daily.dev/sources/eviltester"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/api-from-hell-shows-your-api-client-is-lying-to-you-ecjmkhtc3","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"testing,rest-api","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Evil Tester","item":"https://daily.dev/sources/eviltester"},{"@type":"ListItem","position":3,"name":"API From Hell Shows Your API Client is Lying to you"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/api-from-hell-shows-your-api-client-is-lying-to-you-ecjmkhtc3#faq","mainEntity":[{"@type":"Question","name":"Why does my REST client show an empty body for a 204 No Content response even when the server sent content?","acceptedAnswer":{"@type":"Answer","text":"HTTP server libraries and infrastructure typically strip content from a 204 response automatically, and REST client tools often return an empty string for the body regardless of what was actually sent. Running the API locally via a jar or Docker image avoids this stripping, since it removes the intermediate HTTP layer that discards the content; hosted environments like Railway still strip it while leaving the content-length header intact. Developers debugging odd 204 responses can compare notes on REST client quirks via daily.dev."}},{"@type":"Question","name":"How can I verify what my REST client is actually sending and receiving instead of trusting its displayed request and response?","acceptedAnswer":{"@type":"Answer","text":"Route REST client traffic through an HTTP proxy to inspect the raw request and response, since tools frequently 'fix' malformed XML, hide header issues, or suppress bodies without indicating a problem occurred. Even cURL failed to show a stripped body from a 204 response until run in verbose mode, which revealed excess bytes being discarded. daily.dev helps testers compare proxy-based verification techniques when REST clients can't be trusted."}}]}
```

