v0 api

Next.js API Route Returns 404 on POST Request

Your Next.js API route returns 404 when making POST, PUT, DELETE requests, even though the route file exists. GET requests might work but other methods don't.

API routes fail when the handler function doesn't export HTTP method handlers, file structure doesn't match App Router conventions, or HTTP method routing is incorrect.

Error Messages You Might See

404 Not Found Method Not Allowed [api] Route not found POST handler not exported
404 Not FoundMethod Not Allowed[api] Route not foundPOST handler not exported

Common Causes

  1. Using page.ts instead of route.ts in API route directory
  2. Default export instead of named exports for HTTP methods (GET, POST, etc)
  3. Route file in pages directory (Pages Router) instead of app directory (App Router)
  4. Incorrect URL path matching route.ts file structure
  5. Missing HttpResponse wrapper in Vercel's Request/Response types

How to Fix It

Use route.ts: API routes must be named route.ts (not page.ts or api.ts) in app/api/your-route/ directory.

Export handlers: Export named async functions for each method:
export async function GET(request: Request) { ... }
export async function POST(request: Request) { ... }

App Router pattern: For /api/users endpoint, create app/api/users/route.ts file.

Test with correct method: Verify fetch call uses correct method: fetch(url, { method: 'POST' })

Real developers can help you.

zipking zipking I am a technologist and product builder dedicated to creating high-impact solutions at the intersection of AI and specialized markets. Currently, I am focused on PropScan (EstateGuard), an AI-driven SaaS platform tailored for the Japanese real estate industry, and exploring the potential of Archify. As an INFJ-T, I approach development with a "systems-thinking" mindset—balancing technical precision with a deep understanding of user needs. I particularly enjoy the challenge of architecting Vertical AI SaaS and optimizing Small Language Models (SLMs) to solve specific, real-world business problems. Whether I'm in a CTO-level leadership role or hands-on with the code, I thrive on building tools that turn complex data into actionable value. Matthew Jordan Matthew Jordan I've been working at a large software company named Kainos for 2 years, and mainly specialise in Platform Engineering. I regularly enjoy working on software products outside of work, and I'm a huge fan of game development using Unity. I personally enjoy Python & C# in my spare time, but I also specialise in multiple different platform-related technologies from my day job. Kingsley Omage Kingsley Omage Fullstack software engineer passionate about AI Agents, blockchain, LLMs. Stanislav Prigodich Stanislav Prigodich 15+ years building iOS and web apps at startups and enterprise companies. I want to use that experience to help builders ship real products - when something breaks, I'm here to fix it. David Olverson David Olverson Solo dev shipping production apps with AI-assisted development. I specialize in rescuing broken Lovable/Bolt/Cursor builds and taking them to production. 10+ apps shipped including SaaS CRMs, gaming platforms, real estate tools, and Discord bots. Stack: Next.js 16, TypeScript, Tailwind CSS, FastAPI, PostgreSQL, Prisma. I use Claude Code with 50+ custom skills for rapid delivery. Average turnaround: 2-4 weeks from broken prototype to production. Bastien Labelle Bastien Labelle Full stack dev w/ 20+ years of experience Anthony Akpan Anthony Akpan Developer with 8 years of experience building softwares fro startups prajwalfullstack prajwalfullstack Hi Im a full stack developer, a vibe coded MVP to Market ready product, I'm here to help rayush33 rayush33 JavaScript (React.js, React Native, Node.js) Developer with demonstrated industry experience of 4+ years, actively looking for opportunities to hone my skills as well as help small-scale business owners with solutions to technical problems Matt Butler Matt Butler Software Engineer @ AWS

You don't need to be technical. Just describe what's wrong and a verified developer will handle the rest.

Get Help

Frequently Asked Questions

What's the difference between route.ts and page.ts?

page.ts renders UI components. route.ts handles HTTP requests and exports GET/POST/etc handlers.

How do I handle multiple HTTP methods?

Export named functions in route.ts: export async function GET() {...} export async function POST() {...}

Why does my POST work in Postman but not fetch?

Check fetch headers include 'Content-Type': 'application/json' and body is JSON.stringify(data).

Related v0 Issues

Can't fix it yourself?
Real developers can help.

You don't need to be technical. Just describe what's wrong and a verified developer will handle the rest.

Get Help