A REST API is a stable contract between interfaces, mobile applications, and external systems. I build TypeScript/Node.js backends with validation, authorisation, data migrations, and useful errors.
Scope covers the API, database, background jobs, OpenAPI documentation, and logs; a user interface or full historical migration is estimated separately. Acceptance tests more than 200 responses: denied roles, invalid payloads, repeated commands, version conflicts, unavailable dependencies, and restart recovery. Migrations must work on a clean database, and critical routes must be callable from the documentation.



