API Design
How APIs outgrow the design they shipped with, and what to fix first.
43 articles · 436 minutes of reading
Most APIs are not badly built. They were built once, correctly, for a product that then changed underneath them. The endpoint everyone complains about is rarely slow because of the code inside it. It is slow because it is still answering a question nobody asks any more, and three clients now depend on the shape of that answer.
Which is why I do not open with a rewrite. I find the call that is actually costing you, which is almost never the one the dashboard is shouting about, and stabilise that one first. Contracts before code. Get the shape wrong and faster only means wrong sooner.
What is here: versioning that does not need a v2, validating data you did not design and cannot trust, rate limiting that survives a real client, and what to do when CRUD runs out of room. Written from APIs in production, including the ones that broke.
Start here
Accepting Data You Don't Control
Webhooks and callbacks you did not design. An ingest server in Laravel 13 that owns the envelope, stores the payload whole, and validates where failure means a retry, not data loss.
Aug 2026 · 14 min read
When CRUD Isn't Enough: How Real APIs Outgrow Their Design
Most Laravel APIs start as clean CRUD systems. This article walks through why that breaks down, and how an action-based design fixes the mess.
May 2026 · 10 min read
Building Bulletproof Laravel APIs using Schema-First Contract Validation
Stop letting undocumented fields into your Laravel API. Write the JSON Schema first, then enforce it in middleware, DTOs, and your Pest test suite.
Jul 2026 · 10 min read
The Tips Behind API Artisan: Building Laravel APIs Developers Actually Want to Use
Practical tips for building Laravel APIs developers trust: contract-first design, versioning, RFC 9457 errors, idempotency and more. Free book inside.
Jun 2026 · 13 min read
Everything in API Design
Accepting Data You Don't Control
Webhooks and callbacks you did not design. An ingest server in Laravel 13 that owns the envelope, stores the payload whole, and validates where failure means a retry, not data loss.
Building Bulletproof Laravel APIs using Schema-First Contract Validation
Stop letting undocumented fields into your Laravel API. Write the JSON Schema first, then enforce it in middleware, DTOs, and your Pest test suite.
The Tips Behind API Artisan: Building Laravel APIs Developers Actually Want to Use
Practical tips for building Laravel APIs developers trust: contract-first design, versioning, RFC 9457 errors, idempotency and more. Free book inside.
Server-Side Rate Limiting in Laravel with Fingerprint.dev
Learn how to build device-based rate limiting in Laravel with Fingerprint.dev, Redis caching, and custom middleware to avoid the limits of IP-based throttling.
The Reason I Love Tempest for APIs
Tempest makes API development feel lightweight by combining typed request objects, attribute-based validation, discovery-driven routing, and built-in mapping with minimal ceremony.
When CRUD Isn't Enough: How Real APIs Outgrow Their Design
Most Laravel APIs start as clean CRUD systems. This article walks through why that breaks down, and how an action-based design fixes the mess.
Building Modern Laravel APIs: Lead Scoring and Prioritisation
Building a configurable lead scoring engine in Laravel 13 - config-driven weights, query objects for prioritised retrieval, rescoring commands, and a top leads endpoint.
Building Modern Laravel APIs: The Action Pattern
Building a lead enrichment and scoring pipeline in Laravel 13 using the AI SDK, structured agents, composable Action classes, and PHP enums for type-safe status management.
Building Modern Laravel APIs: Authentication with JWT
Add JWT auth to a Laravel API with register, login, refresh, and logout flows using Form Request DTOs, Action classes, and auth:api middleware.
Building Modern Laravel APIs: Foundations and Project Structure
Start the Modern Laravel APIs series by structuring Pulse-Link for production with clear layers, ULIDs, action classes, DTO requests, and versioning.
Building Modern Laravel APIs: Ingesting Leads
Implement lead ingestion in Laravel with Form Request validation, typed DTO payloads, Action classes, and JSON:API responses for POST /v1/leads.
Building Modern Laravel APIs: Routing, Versioning, and API Contracts
Learn how to version Laravel API routes, signal deprecations with Sunset headers, and keep API contracts aligned with your implementation.