> Markdown version of [/videos/100208-rest-api-antipatterns?t=1811](https://www.wearedevelopers.com/videos/100208-rest-api-antipatterns?t=1811). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Rest API Antipatterns Are your REST API design choices secretly sabotaging performance? Discover why CRUD obsession, deeply nested URLs, and tight frontend coupling are insidious anti-patterns you must avoid. - **Speakers:** [Wekoslav Stefanovski](https://www.wearedevelopers.com/@wekoslav-stefanovski) - **Event:** World Congress 2026 Europe - **Published:** July 10, 2026 - **Duration:** 30:58 - **URL:** https://www.wearedevelopers.com/videos/100208-rest-api-antipatterns ## Summary This presentation delves into REST API anti-patterns, drawing a crucial distinction between outright errors (like always returning 200 OK for failures or leveraging POST for all operations) and true anti-patterns—design choices that seem smart initially but ultimately backfire. Exploring the spectrum of API granularity, the speaker contrasts the "Chatty Kathy" anti-pattern, where overly fine-grained endpoints force clients to orchestrate numerous network calls, against the "Kitchen Sink" approach, which returns massive payloads containing unnecessary nested data, degrading client and server performance while introducing potential security risks. At the architectural level, the talk warns against the "Front-End Fusion Fallacy," where backend APIs become tightly coupled to specific UI layouts (like a specific dashboard screen). While an intermediate Backend-for-Frontend (BFF) layer is a valid pattern for UI-specific routing, core domain APIs should remain agnostic and stateless. Similarly, "CRUD Obsession" directly maps database tables to API endpoints, stripping away domain meaning and forcing the frontend to manage complex, multi-table transactions. Further pitfalls involve routing and protocol misuse, such as the "Russian Doll Scheme." Deeply nesting URL resources (e.g., `/library/floor/section/shelf/book`) quickly creates authorization and security nightmares at each hierarchy level. The speaker also addresses the "Sticky Server Situation," which breaks RESTful idempotency and caching by introducing stateful server sessions, and the "Header Neglect Defect," which crams excessive parameters into URLs instead of utilizing HTTP headers for content types, versioning, and metadata. Ultimately, designing robust APIs requires a firm grasp of stateless communication, a clear domain model, and the foresight to decouple backend capabilities from transient interface demands. **Keywords:** rest api anti-patterns, chatty api endpoints, kitchen sink over-fetching, front-end fusion fallacy, backend-for-frontend, api crud obsession, russian doll url nesting, stateless backend architecture, rest api idempotency, http header neglect, http status code misuse, domain model exposure, network payload optimization, api authorization checks, database-driven api design ## Chapters 1. **Defining REST APIs and software development anti-patterns** (00:03) — How anti-patterns differ from outright errors by originating as seemingly good solutions to recurring problems. 1. **Common errors in REST API design and documentation** (06:01) — Why misusing HTTP methods, returning incorrect status codes, and skipping documentation hinder API consumption. 1. **Addressing the Chatty Kathy API design anti-pattern** (09:57) — How overly fine-grained endpoints increase frontend orchestration complexity and server load. 1. **Avoiding the kitchen sink API design anti-pattern** (13:45) — Why returning comprehensive resource representations for simple requests causes severe performance and security impacts. 1. **Preventing the front-end fusion fallacy in REST APIs** (17:25) — How creating endpoints specifically for individual frontend views violates stateless domain architecture. 1. **Overcoming CRUD obsession in REST API development** (21:10) — Why directly exposing database tables as REST endpoints pushes complex transactional logic to the client. 1. **Simplifying the Russian doll URL nesting architecture** (24:06) — Why deeply nested URL paths overcomplicate API security and create redundant authorization checks. 1. **Recognizing the sticky server situation in REST APIs** (27:05) — How storing temporary session state on the backend destroys caching capabilities and idempotency. 1. **Utilizing HTTP headers for client and server negotiation** (28:57) — How leveraging headers instead of URL parameters streamlines content policies and custom request tracking. 1. **Establishing a concrete vision for REST API development** (30:11) — Why balancing domain models and user needs ensures maintainable and resilient software architecture. ## Related Moments - [Evaluating benefits and drawbacks of common API formats](https://www.wearedevelopers.com/videos/1195-the-great-api-debate-rest-graphql-or-grpc) (from "The Great API Debate: REST, GraphQL, or gRPC?") - [The danger of adopting default REST APIs](https://www.wearedevelopers.com/videos/218-seven-myths-three-reasons-one-goal) (from "Seven Myths, Three Reasons, One Goal") - [Summarizing key engineering lessons for platform API development](https://www.wearedevelopers.com/videos/942-insights-from-building-the-canva-developers-platform-to-empower-185-million-designers) (from "Insights from building the Canva Developers Platform to empower 185 million designers") - [Understanding the core concepts of API design](https://www.wearedevelopers.com/videos/33-api-design-getting-started) (from "API Design - Getting Started") - [Navigating complexity and anti-patterns in modern software architecture](https://www.wearedevelopers.com/videos/874-system-resilience-surviving-the-software-storm) (from "System Resilience: Surviving the Software Storm") - [The enduring legacy of REST APIs](https://www.wearedevelopers.com/videos/1683-rest-in-peace-what-does-the-api-protocol-of-the-future-look-like-or-do-we-have-it-already) (from "REST in Peace? What does the API protocol of the future look like? Or do we have it already?") ## Related Articles - [Dev Digest 139 - Soft and hard queries](https://www.wearedevelopers.com/magazine/487-dev-digest-139-soft-and-hard-queries) - [The Web We Broke (And Why AI Agents Are Paying the Price) - AgentCon Berlin](https://www.wearedevelopers.com/magazine/735-the-web-we-broke-and-why-ai-agents-are-paying-the-price-agentcon-berlin) - [How to Avoid Over-Engineering](https://www.wearedevelopers.com/magazine/546-how-to-avoid-over-engineering) - [Dev Digest 126 - * yells at cloud](https://www.wearedevelopers.com/magazine/463-dev-digest-126-yells-at-cloud) ## Related Jobs - [Staff Software Engineer](https://www.wearedevelopers.com/jobs/ext/1425755-staff-software-engineer) at **GitHub** - [Backend Engineer, Python (Web3)](https://www.wearedevelopers.com/jobs/ext/1934515-backend-engineer-python-web3) at **Bitpanda** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/115163-principal-software-engineer) at **Twilio** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/267591-principal-software-engineer) at **Twilio** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/146806-principal-software-engineer) at **Twilio** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/267587-principal-software-engineer) at **Twilio**