api-patterns

Standardize Nuxt API routes with custom validation helpers and direct data returns.

1|Updated Jan 12, 2026
One-click install
npx skills add https://github.com/JosephAnson/claude-plugin --skill api-patterns-josephanson
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-patterns
Source: https://github.com/JosephAnson/claude-plugin/tree/main/skills/api-patterns
Command: npx skills add https://github.com/JosephAnson/claude-plugin --skill api-patterns-josephanson

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Standardizes API route patterns and validation practices for building secure, maintainable server endpoints.

Core Features & Use Cases

  • Separation of concerns: All database logic MUST be in /server/database/queries/. Never use useDB() directly in API routes.
  • Return Data Directly: Don't wrap successful responses in { success: true, data: ... }.
  • Custom Validation: Always use validation helpers from server/utils/bodyValidation.ts instead of Nuxt's built-in functions.
  • Authentication: Use requireUserSession for authentication and to access user context.
  • Request Validation: Use validateBody, validateParams, validateQuery for input validation.
  • Pattern & References: Follows the documented API route structure and provides examples for common CRUD patterns and nested resources.
  • Reference Filebase: Includes references/bodyValidation.ts to centralize validation utilities.

Quick Start

Create a new route following the patterns and validation helpers described above, then test with a simple authenticated request.

Frequently Asked Questions about api-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure Nuxt server routes for secure API endpoints?

Standardize secure Nuxt server API routes by enforcing separation of concerns: place all database logic in /server/database/queries/ and never call useDB() directly in route handlers. This pattern maintains secure, scalable endpoints.

What is the best way to validate API request body and parameters in Nuxt?

Validate API request inputs using custom validation helpers from server/utils/bodyValidation.ts instead of Nuxt's built-in functions. Apply validateBody, validateParams, and validateQuery to standardize input checks across server routes.

How should API routes return data without response wrappers?

Return data directly from API routes without wrapping successful responses in { success: true, data: ... } structures. This direct return approach simplifies endpoint responses and standardizes data access across server routes.

How do I add authentication to Nuxt server routes?

Add authentication to Nuxt server routes by using requireUserSession to verify user identity and access user context. This standardizes authentication flows and secures CRUD scenarios including nested resources.

Does this API pattern support nested resources and CRUD operations?

Yes, the API pattern provides documented route structure examples for common CRUD operations and nested resources. It standardizes secure, scalable server endpoints using consistent validation and database separation.

Why avoid using useDB() directly inside Nuxt API routes?

Avoid using useDB() directly in API routes because it breaks separation of concerns. All database logic must reside in /server/database/queries/ to keep server endpoints maintainable, secure, and standardized.