What is the difference between Base- and Quote asset?

The baseAsset of an order or signal is the asset that will be bought or sold. The quoteAsset is the asset that will be paid (when buying the base asset) or received (when selling the base asset). So, the below order body describes an order to buy BTC with a limit price of 47000 USDT. Selling BTC for USDT only requires the side of the order to be changed; no switching of base- and quoteAsset is required.

"signalProvider": "MyBot", 
"signalProviderKey": "MyKey", 
"extId": "MyExtId", 
"exchange": "binance", 
"baseAsset": "BTC", 
"quoteAsset": "USDT", 
"limitPrice": "47000", 
"qtyPct": "40", 
"side": "buy", 
"ttlType": "secs", 
"ttlSecs": "30", 
"type": "limit", 
"responseType": "ACK"

What is the role of extId?

The extId is a unique id that the bot provides with every order and signal. It allows the bot (creator) to uniquely identify/track/monitor orders and signals, even if the BEM generated id is not available.
It is important to note that every order or signal needs a unique id. For example, if an asset position has been created with a buy order with extId “MyExtId1” and the bot wants to sell this positon, the sell order should have it’s own unique extId; it can not be “MyExtId1”. There is no relation between the two orders. If an order is added with an extId that has already been used, the order will not be accepted by BEM.

Why do I get a ‘Forbidden’ response?

In general, a ‘forbidden’ response results from making a call with an unknown signalProvider and/or signalProviderKey. Bot names and keys are case sensitive, so check it carefully.
Also make sure you’re using the right url:
When developing/testing your bots, you should use: https://signal.revenyou.io/paper/api/signal/v2
Once your bot comes out of quarantine use: https://signal.revenyou.io/production/api/signal/v2