REST API Design
OpenAPI 3.1 spec as the source of truth, with RFC 7807 problem-detail error responses, cursor-based pagination, idempotency-key support, per-route rate limiting, and CORS allow-listing. Scalar try-it docs + Postman/Insomnia collection generation. Versioned with /v1/ from day one.
Projects
- CodeIgniter → Laravel strangler (PTIprint API)2024-08-01
Strangler-pattern migration of a CodeIgniter API to Laravel — new routes in Laravel, legacy routes proxied until cut-over.
Industry: saas - QuickBooks integration layer2025-10-15
QuickBooks Online integration — invoice sync, customer sync, payment reconciliation with conflict resolution.
Industry: accounting - Throughline — Headless WordPressactive
Next.js dashboard reading from a WordPress backend via REST + GraphQL — the headless CMS shape.
- Docgen — Document Generation API2026-06-07
PDF/DOCX/HTML generation from versioned templates with format conversion and a try-it docs site.
- Inkwell — Form Submission API2026-06-09
HTML form ingestion API with spam scoring, multi-destination fan-out (email/Slack/HubSpot/etc), and a 3 KB JS widget.
- Pennant — Feature Flags2026-06-08
Feature-flag API with real-time SSE broadcasts, two SDKs, and a Filament admin where the buyer actually wants to live.
- Webhook Relay2026-06-07
Production-shaped webhook delivery API with HMAC signing, exponential backoff retries, dead-letter queue, and 4 language SDKs.
Packages (27)
- @philiprehberger/dart-api-clientdart
Declarative API client with typed responses, retries, and interceptors
- @philiprehberger/dotnet-api-error-standardizerdotnet
Middleware for consistent, structured JSON API error responses.
- @philiprehberger/dotnet-glob-matcherdotnet
Match file paths against glob patterns — supports *, **, ?, character classes, brace expansion, and negation.
- @philiprehberger/dotnet-http-debug-handlerdotnet
DelegatingHandler that logs and times every outgoing HttpClient request.
- @philiprehberger/dotnet-url-builderdotnet
Fluent, immutable URL construction with path segments, query parameters, and proper encoding.
- @philiprehberger/dotnet-url-cleanerdotnet
Remove tracking parameters from URLs — strip UTM tags, fbclid, gclid, and more.
- @philiprehberger/go-middlewarego
Composable HTTP middleware collection for Go's `net/http`. No framework required
- @philiprehberger/kt-http-clientkotlin
Lightweight HTTP client DSL with retry, timeout, and JSON support.
- @philiprehberger/http-retry-clientphp
HTTP client wrapper with automatic retries, exponential backoff, and jitter
- @philiprehberger/laravel-api-versioningphp
Laravel middleware for API versioning with multi-source resolution from headers, Accept vendor types, and URL path segments
- @philiprehberger/laravel-response-macrosphp
Response macros for consistent, standardized API responses in Laravel
- @philiprehberger/php-api-responsephp
Standardized API response builder for consistent JSON APIs
- @philiprehberger/py-http-retrypython
Resilient HTTP client with automatic retries and backoff.
- @philiprehberger/py-url-cleanpython
Remove tracking parameters from URLs
- @philiprehberger/rb-http-clientruby
Lightweight HTTP client wrapper with retries and interceptors
- @philiprehberger/rb-http-mockruby
Lightweight HTTP request stubbing for tests
- @philiprehberger/rb-middlewareruby
Generic middleware stack for composing processing pipelines with conditional execution, hooks, error handling, profiling, and stack composition
- @philiprehberger/swift-net-kitswift
Declarative networking client with retry, caching, plugins, and automatic Codable decoding
- @philiprehberger/api-error-kittypescript
Standardized typed HTTP error classes for APIs
- @philiprehberger/http-clienttypescript
Type-safe fetch wrapper with interceptors, retries, and base URL support
- @philiprehberger/http-statustypescript
Typed HTTP status codes, reason phrases, and classification
- @philiprehberger/middleware-tstypescript
Framework-agnostic middleware composition engine
- @philiprehberger/next-api-middlewaretypescript
Next.js API route middleware: compose, validation, CSRF protection, and security headers
- @philiprehberger/path-patterntypescript
URL path pattern matching and parameter extraction
- @philiprehberger/retry-fetchtypescript
Fetch wrapper with retries, timeout, and interceptors — zero abstraction leak
- @philiprehberger/ts-glob-matchtypescript
Glob pattern matching — minimatch alternative for runtime use
- @philiprehberger/typed-routertypescript
Framework-agnostic typed URL routing with path parameter extraction