Skip to content
← NOTES

DEVELOPMENT · 7 MIN · 2026-05-18

API Contracts Are UX for Developers

Consistent errors, pagination, and versioning — the boring stuff users never see but always feel.

Non-negotiables

  • One error envelope everywhere: `{ message, errors, trace_id }`.
  • Pagination: cursor for feeds, offset for admin tables — documented.
  • Validation messages a human can act on.

Versioning without drama

Never break a field. Add, deprecate with sunset header, then remove. Your future self says thanks.

I spent two hours debugging this site's CSS once. The bug was a missing semicolon. I am not proud.

← ALL NOTES