This is just a guide to help you decide. Ask yourself these questions:

To Read Entities

  1. Can your client code (JavaScript) work with the standard JSON format?
    1. AND do you only need standard REST commands like GetAll and GetOneById  ➡ Entity REST APIs
    2. AND do you need special predefined queries like Sort By XXX or Get Top 20 From Category ABC  ➡ Query REST APIs
  2. If you can't use the standard JSON format but need something custom ➡ Custom WebAPIs
  3. If you need very special queries ➡ Custom WebAPIs

To Create/Update Entities

In most cases you should use ➡ Entity REST APIs

Special cases like the following will need ➡ Custom WebAPIs

  • Custom logic before saving the data like:
    • Custom validation
    • Generate additional values on the server like special titles or time stamps
    • Look-Up additional values like User-IDs, data from SQL etc.
  • Also save files / attachments / images? 
  • Also send e-mails? 
  • Also change other data like SQL 
  • Perform custom security checks beyond the features of 2sxc/EAV
  • Make an item a Metadata for something else
  • Use other keys than the normal id/guid keys

To Delete Entities

In most cases you can use the ➡ Entity REST APIs

Special cases like the following will need ➡ Custom WebAPIs

  • Special security checks
  • Special validation checks