Skip to Content
⚠️Active Development Notice: TimeTiles is under active development. Information may be placeholder content or not up-to-date.

web


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?

optional code: string

Optional error code for programmatic handling (e.g., “INVALID_BOUNDS”, “UNAUTHORIZED”)

details?

optional details: 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

Last updated on