name: formatting-api-responses
description: Standardizes the structure of internal function results. Use when writing Services or Server Actions.
API Response Formatting
When to use this skill
- Writing any function that fetches or mutates data and is called by the frontend.
- Ensuring the UI knows exactly how to read a "Success" or "Failure".
Standard Structure
{
success: boolean;
data?: T; // The resulting object(s)
error?: string; // User-friendly error message
code?: number; // Optional status code (404, 401, etc.)
}
Example Usage
export async function deleteBooking(id: string) {
try {
await BookingService.delete(id);
return { success: true };
} catch (e) {
return { success: false, error: "Could not delete booking. Please try again." };
}
}
Instructions
- Consistency: Never return raw error objects to the component; always parse them into a
success: false structure.