With the current v1 JS API you can only send cart (cartview, checkout, purchase) and cartaction (add, remove, update) events that would go straight to the appropriate table in the data model without the need for a rule in the UI.
With the new v2 JS API (you will need to load the ot-all.min.js tag to get access) you have you can send any event (except a business process step) directly from the API. That even includes explicit load events in case you are running an SPA. These events will show up in the appropriate tables and will also be available for task targeting, metrics or be streamed to an on-prem agent.
See https://go.documentation.sas.com/?cdcId=cintcdc&cdcVersion=production.a&docsetId=cintag&docsetTarget...
To receive these API events in the appropriate tables and to be able to use them in Engage tasks you have to declare them in the UI. There you can also declare any additional custom attributes that you like to send along. Something the v1 API didn't support.
This is a functionality that we are planing to release in our upcoming March release.
Whilst you can already use the v2 API today to send click, submit or the new load events you will have to wait for the March release to take full advantage of it and be able to consume the additional API events like custom, internal search, promotion, product view, etc.
See also this community announcement: https://communities.sas.com/t5/SAS-Customer-Intelligence/Preview-of-CI360-March-2020-release-20-03/m...