System design interview question

Design an Email Service API service

 


 

Requirements

 

Who is the end consumer of the API ?

  • Internal developers
  • Third party developers

Security

  • Authentication
  • Authorization
  • Auditing

Database

  • Max storage per company based on the plans
  • Max storage per user based on the plans

Server Geo Locations

  • North America : US East, US West
  • Asia pacific: India, China
  • Europe : London, Frankfaurt
  • South America

Error codes

HTTP Status —> Message

Bad Request (400) —> One of the HTTP headers or query param in the request is not present or incorrect.
Forbidden (403) —> Authorization error. Please enter valid credentials.
Not Found (404) —> The resource does not found.
Internal error (500) —> Server is not responsive. Please try again later.


 

API Design with semantic meaning
action —> verb – URI
create —> POST – {uri}/api/v1/emails
update —> PUT – {uri}/api/v1/emails/{email_id}
retrive –> GET – {uri}/api/v1/emails/{email_id}
delete —> DELETE – {uri}/api/v1/emails/{email_id}
search —> GET – {uri}/api/v1/emails?user_id={…}&order_by={…}&search_by={…}&per_page={…}

 


 

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

Show Buttons
Hide Buttons