- Consist of api endpoint with defined routes - Make APIs flexible for scaling (learn how to make flexible) - Auth and JWT setup on swagger docs as well - signin/login endpoints - Rbac - Write templates for openai, gemini, openrouter calls (being used most of the time) - Write api in a way that every process results in a Job Id and then we get end result - basic error handling and logging - write basic tests