API Error Handling

SkillMonitoring & ops

This skill teaches your AI how to handle API errors well, so the apps it builds stay resilient when things go wrong. It can add standardized error responses, logging, monitoring, retry logic, and validation patterns while you are building or fixing an API.

Available today. Use it from your connected AI after setup.

After adding it, ask your AI to review the error handling in an API you are working on or to debug a failing request. It will apply the relevant patterns where they help.

Then ask your AI: use the API Error Handling skill

What your AI can do with it

  • Write standardized error responses for an API
  • Add logging and monitoring so failures are visible
  • Retry failed requests instead of giving up
  • Handle HTTP error codes correctly
  • Manage API timeouts
  • Validate requests before they are processed

What this skill tells your AI

The instructions your AI receives, as published by aj-geddes/useful-ai-prompts in skills/api-error-handling/SKILL.md and read by ahel’s review.

Table of Contents

  • Overview
  • When to Use
  • Quick Start
  • Reference Guides
  • Best Practices

Overview

Build robust error handling systems with standardized error responses, detailed logging, error categorization, and user-friendly error messages. This skill covers the full lifecycle from throwing typed errors through logging, monitoring, and client-facing response formatting.

When to Use

  • Handling API errors consistently across endpoints
  • Debugging production issues with request tracing
  • Implementing error recovery strategies (retry, circuit breaker)
  • Monitoring and alerting on error rates
  • Providing meaningful, actionable error messages to clients
  • Validating request inputs before processing
  • Tracking error patterns over time

Quick Start

Minimal standardized error response format:

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Input validation failed",
    "statusCode": 422,
    "requestId": "req_abc123xyz789",
    "timestamp": "2025-01-15T10:30:00Z",
    "details": [
      { "field": "email", "message": "Invalid email format", "code": "INVALID_EMAIL" }
    ]
  }
}

Custom error class (Node.js):

class ApiError extends Error {
  constructor(code, message, statusCode = null, details = null) {
    super(message);
    this.code = code;
    this.statusCode = statusCode || ERROR_CODES[code]?.status || 500;
    this.details = details;
    this.timestamp = new Date().toISOString();
  }
}

// Usage
throw new ApiError("NOT_FOUND", "User not found", 404);
throw new ApiError("VALIDATION_ERROR", "Missing fields", 422, fieldErrors);

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Error Codes & Response FormatComplete ERROR_CODES map, response formatter, global middleware (Node.js + Python)
Retry Strategies & Circuit BreakerExponential backoff, jitter, circuit breaker pattern
Monitoring & TrackingSentry integration, error rate metrics, /metrics/errors endpoint
Validation PatternsInput validation, schema guards, detecting bad responses before errors occur

Best Practices

✅ DO

  • Use a consistent error response format across all endpoints
  • Include requestId and traceId in every error for observability
  • Log 5xx errors at ERROR level; log 4xx at WARN level
  • Provide actionable error messages — tell the client what to fix
  • Use standard HTTP status codes (4xx client errors, 5xx server errors)
  • Implement retry with exponential backoff for transient failures
  • Use circuit breakers to prevent cascade failures
  • Validate inputs early and return all field errors at once
  • Monitor error rates and alert on anomalous spikes

❌ DON'T

  • Expose stack traces or internal implementation details to clients
  • Return HTTP 200 for error responses
  • Silently swallow errors
  • Log sensitive data (passwords, tokens, PII)
  • Use vague messages like "Something went wrong"
  • Mix error handling logic with business logic
  • Retry non-idempotent operations or client errors (4xx)
  • Return different error shapes from different endpoints

Signals

GitHub stars
336
Forks
55
Last commit
Mar 2026
Advanced
Catalog kind
skill
Gateway key
api-error-handling
Source
github.com/aj-geddes/useful-ai-prompts