API design and integration
REST and OpenAPI design
REST and OpenAPI design
Errors and status codes
HTTP status codes and error bodies
- Choosing HTTP Status Codes for an Agent-Facing API
- Error Bodies a Model Can Parse and Act On
- Writing API Error Responses That Clients Can Act On
- Writing Error Messages That Point to a Fix
- A Registry for Error Codes: Names and Deprecation
- Adding a Support ID to Every Error and Tracing It End to End
- Error Codes You Can Route On: A Taxonomy for Retries and Alerts
- Error Codes You Can Route On: Retries, Alerts, Escalations
- All of Errors and status codes
Pagination and cursors
Pagination and cursor design
- A Link Header and Cursor Contract Your SDK Can Generate
- Keeping Cursor Tokens Small: Compression, Encoding, Length Limits
- Paging APIs: Keyset vs Offset and How to Change Your Mind Later
- Reading a 431 or 414 in Logs: When a Cursor Busts a Limit
- A Cursor Contract: Keyset Pagination for Agent Tools
- Cursor URLs Behind a CDN: Cache Keys, ETags and Redirect Chains
- Cursor URLs Behind a CDN: Cache Keys, ETags and Redirects
- Keyset Pagination Against a Composite Key: Sorting Ties and Nulls
- All of Pagination and cursors
Webhooks
Webhook reliability and signing
- Webhooks: Design and Reliability
- Building a Webhook Retry System with a DLQ
- Idempotency Keys for Webhook Receivers: Design and Verification
- Signing Webhook Payloads: HMAC, Timestamps, and Replay Defense
- Compression Before Encryption: What a Format Choice Costs
- Designing a Payment State Machine That Survives a Provider Outage
- Designing an Outbox Table So Events Survive a Failed Publish
- Logging Webhook Failures So a Replay Is Possible
- All of Webhooks
Contracts and versioning
API contracts and versioning
- A Contract Test That Catches an Undocumented Error Code
- Contract Tests Between a Spec and a Running Service
- Contract Tests for Tool Schemas: Catching Silent Drift
- Contract Tests for Webhook Payloads
- Versioning an API Without Breaking Its Clients
- Writing a Contract Test That Catches an Undocumented Error Code
SDKs and developer docs