web / lib/utils/api-response
lib/utils/api-response
Provides standardized API response utilities for consistent error handling.
This module defines a standard error response format used across all API routes, ensuring consistent error handling and making it easier for clients to parse and handle errors uniformly.
Interfaces
ErrorResponse
Standard error response format for all API routes.
Properties
error
error:
string
Human-readable error message
code?
optionalcode:string
Optional error code for programmatic handling (e.g., “INVALID_BOUNDS”, “UNAUTHORIZED”)
details?
optionaldetails:unknown
Optional additional error context or details
Functions
apiError()
apiError(
message,status,code?,details?):Response
Create a standardized error response.
Parameters
message
string
Human-readable error message
status
number
HTTP status code
code?
string
Optional error code for programmatic handling
details?
unknown
Optional additional error context
Returns
Response
Response with standardized error format
badRequest()
badRequest(
message,code?):Response
Create a 400 Bad Request error response.
Parameters
message
string
Error message describing what was invalid
code?
string
Optional error code
Returns
Response
Response with 400 status
unauthorized()
unauthorized(
message?,code?):Response
Create a 401 Unauthorized error response.
Parameters
message?
string = "Unauthorized"
Error message describing the authorization failure
code?
string
Optional error code
Returns
Response
Response with 401 status
forbidden()
forbidden(
message?,code?):Response
Create a 403 Forbidden error response.
Parameters
message?
string = "Forbidden"
Error message describing the authorization failure
code?
string
Optional error code
Returns
Response
Response with 403 status
notFound()
notFound(
message?,code?):Response
Create a 404 Not Found error response.
Parameters
message?
string = "Resource not found"
Error message describing what was not found
code?
string
Optional error code
Returns
Response
Response with 404 status
methodNotAllowed()
methodNotAllowed(
message,code?):Response
Create a 405 Method Not Allowed error response.
Parameters
message
string
Error message describing allowed methods
code?
string
Optional error code
Returns
Response
Response with 405 status
conflict()
conflict(
message,code?,details?):Response
Create a 409 Conflict error response.
Parameters
message
string
Error message describing the conflict
code?
string
Optional error code
details?
unknown
Optional conflict context (e.g., existing resource ID)
Returns
Response
Response with 409 status
rateLimited()
rateLimited(
message?,code?):Response
Create a 429 Rate Limited error response.
Parameters
message?
string = "Too many requests"
Error message describing the rate limit
code?
string
Optional error code
Returns
Response
Response with 429 status
gone()
gone(
message,code?):Response
Create a 410 Gone error response.
Parameters
message
string
Error message describing the expired resource
code?
string
Optional error code
Returns
Response
Response with 410 status
internalError()
internalError(
message?,code?,details?):Response
Create a 500 Internal Server Error response.
Parameters
message?
string = "Internal server error"
Error message (should be generic, not expose internal details)
code?
string
Optional error code
details?
unknown
Optional error details (use cautiously, may expose internals)
Returns
Response
Response with 500 status
apiSuccess()
apiSuccess(
data,status?):Response
Create a success JSON response with a non-200 status code (e.g., 202 Accepted).
For standard 200 responses, return a plain object from apiRoute handlers instead.
Parameters
data
Record<string, unknown>
status?
number = 200
Returns
Response