RealComposer
Data & Payload Slimming

Problem Details for HTTP APIs

Direct Definition

Problem Details (RFC 7807) standardize HTTP error bodies as application/problem+json objects with type, title, status, detail, and optional instance fields. Clients parse one predictable shape across services instead of guessing whether errors live in message, error, or errors arrays.

Technical Architecture & Deep-Dive

A 422 response might return { "type": "https://api.example.com/problems/validation", "title": "Validation failed", "status": 422, "detail": "email is invalid" }. Extensions add field-specific issues under a stable namespace.

BFF layers map chaotic upstream errors into Problem Details before they reach mobile apps. That keeps error payloads small, localizable, and easy to log while hiding provider stack traces and verbose debug blobs.

Key Architectural Benefits

One JSON error contract across microservices and BFFs.
Machine-readable type URIs for client branching logic.
Keeps error payloads focused without mystery string fields.

RFC 7807 Problem

json
{
  "type": "https://api.example.com/problems/not-found",
  "title": "Resource not found",
  "status": 404,
  "detail": "User u_123 does not exist."
}
REALCOMPOSER EDGE WORKSPACE

Implement Problem Details for HTTP APIs at the Edge

Deploy lightweight API aggregation, edge caching, and secret injection in minutes without Docker containers or complex servers.

START BUILDING FREE

Frequently Asked Questions

Q:Should Problem Details replace GraphQL errors?

GraphQL keeps its errors array for query failures. REST and BFF HTTP layers use Problem Details for transport-level failures.